분류 전체보기

· Java
📌 자바 컨테이너란 무엇인가? 자바 컨테이너는 객체를 저장하고 관리하는 클래스이다. 컨테이너는 객체를 추가, 제거, 검색 및 조작하는 기능을 제공하여 데이터 구조를 구성하고 관리하는데 사용된다. 자바에서는 다양한 종류의 컨테이너 클래스를 제공한다. ArrayList 크기가 가변적인 배열로 구현된 리스트 컨테이너이다 요소들을 순차적으로 저장하고 인덱스를 통해 접근할 수 있다 LinkedList 이중 연결 리스트로 구현된 리스트 컨테이너이다 각 요소는 이전 요소와 다음 요소를 가리키는 링크로 연결되어 있다 HashSet 중복을 허용하지 않는 요소들의 모임인 집합 컨테이너이다 해시 함수를 사용하여 요소를 저장하고 검색한다 HashMap 키(Key) - 값(Value) 쌍으로 이루어진 요소들을 저장하는 맵 컨테..
· Java
📌 문자열을 반전시키는 가장 좋은 방법은 무엇인가? 문자열을 반전시키는 좋은 방법 두 가지 StringBuilder 또는 StringBuffer 사용 이들 클래스는 가변(mutable)한 문자열을 다루는데 최적화되어 있으므로 문자열을 효율적으로 조작할 수 있다. reverse() 메서드를 사용하여 문자열을 반전시킬 수 있다. String str = "Hello, World!"; StringBuilder reversedStr = new StringBuilder(str).reverse(); System.out.println(reversedStr.toString()) // 출력 : !dlroW, olleH 문자열을 문자 배열로 변환 후 반전 String str = "Hello, World!"; char[] c..
· Java
📌 JDK와 JRE의 차이점은 무엇인가? JRE(Java Runtime Environment)는 자바 실행 환경이다. JVM(Java Virtual Machine)뿐만 아니라 Java binaries, Java 클래스 라이브러리 등을 포함하고 있어 자바 프로그램의 실행을 지원한다. 하지만 컴파일러나 디버거등의 도구는 포함하지 않는다. 자바 프로그램을 개발하는 것이 아니라 실행하기만 원한다면 JRE를 설치하면 된다. JDK(Java Development Kit)는 자바 개발 키트이다. JDK는 자바 애플리케이션을 개발하기 위한 환경을 지원한다. JDK는 JRE를 포함할 뿐 아니라 컴파일러(javac), javadoc, jar 등 개발에 유용한 도구를 포함하고 있다. 따라서 자바 프로그램을 개발하기 위해서는..
· Spring
Spring AOP AOP(Aspect Oriented Programming) AOP는 관점 지향 프로그래밍이라고 불린다. 관점 지향은 객체 지향, 절차 지향 과는 또 다른 패러다임으로 특정 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누고 그 관점을 기준으로 모듈화(어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것) 를 하겠다는 것이다. AOP에서 각 관점을 기준으로 로직을 모듈화한다는 것은 코드들을 부분적으로 나누어서 모듈화하겠다는 의미다. 이때 소스 코드상에서 다른 부분에 계속 반복해서 쓰는 코드들을 흩어진 관심사(Crosscutting Concerns)라 부른다. 위 그림에서 A,B,C의 클래스가 있다. 클래스 A에서는 주황, 파랑, 빨간색 블록으로 구성되어 있고 클래스 B에서는 빨강, ..
· Spring
[리팩터링 계기] 맡은 프로젝트에서 요청 데이터들은 암호화해서 들어오고, Header에 특정 값을 통해 복호화를 해서 비즈니스 로직을 실행한 다음 다시 암호화를 해서 응답한다. 따라서 암호화된 데이터이기 때문에 컨트롤러에서 @RequestBody를 사용하지 않고 HttpServeltRequest를 파라미터로 전달받아서 진행하는데, 파라미터에 대한 가독성이 떨어지고, 암/복호화에 쓰이는 코드들이 보일러 플레이트화 되어가고 있었다. 따라서 아래의 목표를 달성하기 위한 리팩토링을 진행하였다. 운영 중인 서비스이기 때문에 기존의 코드를 최대한 고치지 않는다. 컨트롤러 메서드에서 HttpServletRequest를 받고 Javadoc으로 파라미터를 작성하는 방법이 아닌 @RequestBody로 받는다. Heade..
· Spring
[Spring] Spring이란? 개발자들의 봄이 왔다! Spring이란 ? - Spring은 Java 기반의 어플리케이션 프레임워크로, Java EE의 스펙을 구현한 EJB가 복잡하고 성능이 느린것을 탈피하고자 만들어진 오픈 소스 프레임워크이다. - EJ dev-density.tistory.com Spring IoC IoC(Inversion of Control) IoC란 Inversion of Control의 약자로 "제어의 역전"이라는 의미다. 역전이라는 단어는 이해하기 쉬워도 제어라는 단어는 이해하기 어렵다. 따라서 코드와 함께 이해해보자. public class Person{ Calculator calculator = new Calculator(); calculator.add(3,4); calcu..
· Spring
개발자들의 봄이 왔다! Spring이란 ? - Spring은 Java 기반의 어플리케이션 프레임워크로, Java EE의 스펙을 구현한 EJB가 복잡하고 성능이 느린것을 탈피하고자 만들어진 오픈 소스 프레임워크이다. - EJB 시절을 겨울에 빗대어 겨울 후의 봄으로 새롭게 시작한다는 것을 의미하는 스프링(봄)이 되었다. - 한국 전자정부표준프레임워크의 기반 기술이며, 한국정보화진흥원에서는 공공기관의 웹 서비스 제공 시 스프링을 권장하고 있다. 프레임워크(Frame Work)란? - 목적에 필요한 것을 고민할 필요 없이 이용할 수 있도록 일괄로 가져다 쓰도록 만들어 놓은 '구조화된 틀'이다. - 더 간단히 말하자면 자주 쓰일 만한 기능들을 한데 모아 놓은 유틸(클래스)들의 모음이라고 정의할 수 있다. - 설..
개발의 밀도
'분류 전체보기' 카테고리의 글 목록 (6 Page)