728x90
반응형
SMALL

전체 글 217

컬렉션 프레임워크 - LinkedList 직접 구현해보기

참고자료: 김영한의 실전 자바 - 중급 2편 | 김영한 - 인프런김영한 | 자바 제네릭과 컬렉션 프레임워크를 실무 중심으로 깊이있게 학습합니다. 자료 구조에 대한 기본기도 함께 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전www.inflearn.com 이전 포스팅에서 ArrayList를 직접 구현해봤다. 이 ArrayList는 내부에서 배열을 가지고 사용하는 자료구조이다. ArrayList를 사용해서 얻는 장점은 다음과 같다.조회가 순식간이라는 것. 인덱스를 통해 바로 그 값을 알아낼 수 있다. 조회는 O(1)의 시간복잡도를 가진다.그냥 배열만 사용하면 사이즈가 꽉 차면 더이상 자료를 담을 수 없지만 ArrayList를 사용해서 사이즈가 꽉차면 더 큰 사이즈를 가지는 새로운..

컬렉션 프레임워크 - ArrayList 직접 구현해보기

참고자료: 김영한의 실전 자바 - 중급 2편 | 김영한 - 인프런김영한 | 자바 제네릭과 컬렉션 프레임워크를 실무 중심으로 깊이있게 학습합니다. 자료 구조에 대한 기본기도 함께 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전www.inflearn.com지금까지 그저 사용하기만 했던 ArrayList를 직접 구현해 보고 어떤 원리로 동작하는지 자세히 이해해 보자.단계별로 밟아나가면서 점차 완성시켜 보자. ArrayList는 본인의 데이터를 결국 배열이라는 자료 구조로 관리하고 사용한다. 그래서 말 그대로 'Array'List이다. CustomArrayListpackage org.example.collection.array;public class CustomArrayList { ..

배열과 Big O 표기법

참고자료: 김영한의 실전 자바 - 중급 2편 | 김영한 - 인프런김영한 | 자바 제네릭과 컬렉션 프레임워크를 실무 중심으로 깊이있게 학습합니다. 자료 구조에 대한 기본기도 함께 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전www.inflearn.com 배열과 같이 여러 데이터(자료)를 구조화해서 다루는 것을 자료 구조라고 한다. 여러 형태의 자료 구조가 있지만 가장 기본이 되는 배열과 항상 이 자료구조하면 빼놓을 수 없는 Big O 표기법에 대해 다루고자 한다. 자바에서 배열을 선언할 땐 다음과 같이 선언한다.package org.example.collection.array;public class ArrayMain1 { public static void main(Str..

자료구조 2024.05.10

제네릭

참고자료: 김영한의 실전 자바 - 중급 2편 | 김영한 - 인프런김영한 | 자바 제네릭과 컬렉션 프레임워크를 실무 중심으로 깊이있게 학습합니다. 자료 구조에 대한 기본기도 함께 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전www.inflearn.com 제네릭은 왜 필요한지부터 들어가보자. 다음과 같은 코드가 있다고 가정해보자. IntegerBoxpackage org.example.generic;public class IntegerBox { private Integer value; public void set(Integer value) { this.value = value; } public Integer get() { return..

Spring MVC없이 Servlet, JSP로 MVC 구현해보기 - 3

참고자료: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 | 김영한 - 인프런김영한 | 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습www.inflearn.com MVC 패턴이란건 왜 나왔는가? 이전 포스팅까지 그 이유를 알아봤다.서블릿, JSP를 사용해보니 여러 불편한 점이 많았고 그 중 JSP는 서블릿보단 HTML을 만들어내기가 쉽지만 담당하고 있는게 너무 많아져버린다. 화면과 비즈니스 로직을 전부 담당하고 나니 지저분해지고 보기가 힘들어진다. 이는 곧 유지보수가 어려워진다.  그래서 화면은 딱 화면을 담당하는 쪽에서만, 비즈니스 로직은 비즈니스 로직을 담당하는..

Spring MVC 2024.05.07

Spring Security + JWT로 회원 인증, 인가 구현하기

우선, 이 페이지가 세션 기반 인증 방식이 아닌 이유를 먼저 설명해야 할 것 같다.왜 JWT를 사용했나?모바일 앱의 등장이 주 원인이라고 할 수 있다. 모바일 앱을 추후에 만든다고 해도 통합된 인증 체계로부터 얻는 이점이 분명히 있다고 생각했다. 모바일 앱을 사용할 땐 주로 토큰 기반 인증 방식을 사용한다. 그 이유는 다음과 같다.장기 세션 유지의 어려움: 모바일 디바이스는 종종 네트워크 연결 상태가 변할 수 있고, 앱이 백그라운드에서 종료되거나 장치가 재부팅될 수 있다. 세션은 이런 환경에서는 연결이 끊기기 쉬워 토큰 방식이 더 안정적인 경우가 많다.스케일러빌리티: 세션 정보를 서버에서 관리해야 할 경우, 사용자가 많아질수록 서버의 부담이 커질 수 있다. 반면 토큰은 클라이언트 측에서 관리되기 때문에 ..

Spring MVC없이 Servlet, JSP로 MVC 구현해보기 - 2

참고자료: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 | 김영한 - 인프런김영한 | 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습www.inflearn.com 회원 관리 애플리케이션을 서블릿을 사용해서 만들어보자. 간단하게만 일단 만들어보자. Memberpackage org.example.servlet.domain.member;import lombok.Data;@Datapublic class Member { private Long id; private String username; private int age; public Member(St..

Spring MVC 2024.04.26

Spring MVC없이 Servlet, JSP로 MVC 구현해보기 - 1

참고자료: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 | 김영한 - 인프런김영한 | 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습www.inflearn.com Spring MVC를 배우기 전에 어디서부터 시작되어 Spring MVC까지 도착했는지를 공부하고 싶어졌다. Spring MVC가 어떤 것을 나 대신해주고 어떤 것 때문에 사용하는지 좀 더 자세히 이해하기 위해 Servlet부터 시작해 보고자 한다.  프로젝트 만들기우선 프로젝트를 만들자. 만들 때 따로 톰캣을 설치하고 띄운 상태가 아니라면 스프링 부트의 도움을 받아서 바로 WAS 서버를 실행할 수 있게..

Spring MVC 2024.04.25

Appium, OpenCV를 활용한 Visual Testing

Appium을 이용해서 App Automation Testing을 할 때 가장 큰 난관 중 하나는 WebView에서 요소들을 가져올 수 없을 때다.Appium Inspector 도구를 사용해도 WebView에서 필요한 요소들을 가져올 수 없을 때가 종종 있는데 이걸 Visual Testing으로 극복해보자.  OpenCV 설치우선, 이미지 처리를 위해 거의 모든걸 다 가지고 있는 OpenCV가 필요하다. 우선 환경설정을 해줘야한다. (MacOS)export OPENCV4NODEJS_DISABLE_AUTOBUILD=1 나는 MacOS 유저이기 때문에 다음과 같이 Homebrew를 이용해 설치한다.brew updatebrew install opencv@4brew link --force opencv@4 이 두..

테스트 자동화 2024.04.25

자바의 백엔드 웹 기술 역사

참고자료: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 | 김영한 - 인프런김영한 | 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습www.inflearn.com 저번 포스팅에선 서블릿에 대해 알아봤다. 서블릿은 HTTP 프로토콜을 통해 클라이언트와 서버간 통신이 가능하게 해주는 것이었다. 개발자 대신 HTTP 요청정보와 응답정보를 만들어주고, 외부 요청이 들어오면 그 요청을 처리하는 서블릿을 서블릿 컨테이너에서 호출하면서 진행된다. 이제 서블릿으로 직접 웹 애플리케이션을 만들어 볼건데 그 전에 웹 기술의 역사와 HTML, HTTP API, CSR, SSR과 같은..

Spring MVC 2024.04.25
728x90
반응형
LIST