728x90

전체 글 85

Gradle과 Maven의 차이를 알아보자!

이번 포스팅에서 다룰 주제는 Spring Project에서 사용하는 필수적인 관리 도구인 Gradle과 Maven에 대해 알아보며 Gradle과 Maven이 어떤 부분에서 차이점이 있는지 Gradle의 장점으로 인한 CI / CD 환경에 대해 알아보겠습니다. Maven과 Gradle 모두 빌드 관리 도구입니다. 빌드 관리 도구란??? 프로젝트에서 작성한 소스 코드와 프로젝트 내에 필요한 Xml, Properties, jar 등의 파일을 JVM 혹은 WAS가 인식할 수 있도록 도와주는 도구입니다. 프로젝트의 생성, 테스트 빌드 혹은 배포 등의 작업을 위한 전용 도구입니다. 애플리케이션을 개발하며 필요한 라이브러리들을 다운로드하고 사용할 때 번거롭게 일일이 다운로드할 필요 없이 빌드 도구 설정에 필요한 라이..

Backend/Spring 2022.01.26

[JavaScript] 호이스팅 ( hoisting ) 개념을 알아보자!

이번 포스팅에서 알아볼 내용은 자바스크립트의 중요한 개념 중 하나인 Hoisting입니다. JavaScript에서의 Hoisting이란?? *인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할 달 하는 것을 의미합니다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화합니다. 반면에 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않습니다. 그럼 호이스팅을 설명할때는 어떻게 하는지?? 호이스팅을 설명할 때는 변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는 현상 으로 해당 현상을 말할 수 있습니다. 따라서 변수를 정의하는 코드보다 사용하는 코드가 앞서 등장할 수 있습니다. 하지만 선언과 초기화를 동시에 수행하는 경우에 선언 코드까..

Frontend/JavaScript 2022.01.25

Java Servlet Class를 알아보자!

오늘 알아볼 포스팅 내용으로는 Java Servlet에 대해 알아보겠습니다. Java Servlet이란? Java를 사용하여 Web Page를 동적으로 사용하는 Server Side Program 혹은 그에 맞는 사양을 말하며 흔하게 Servlet( 서블릿 )이라고 불립니다. Java Servlet은 Web Server의 성능을 향상하기 위해 사용되는 Java Class의 종류 중 하나입니다. Servlet은 JSP와 비슷하지만 JSP( Java Server Pages )는 HTML 문서 안에 Java 코드를 포함하고 있는 반면에, Servlet은 Java 코드 안에 HTML을 포함하는 큰 차이점이 있습니다. Servlet은 Java를 사용하여 웹을 만들기 위해 필요한 기술입니다. 즉, 사용자의 요청에 ..

Backend/Java 2022.01.23

자주 사용되는 Spring 어노테이션에 대해 알아보자!

안녕하세요 이번 포스트에서 이야기할 내용은 Spring 어노테이션( 주석 )입니다!. Annotation이란? ( 주석 ) Annotation이란 Java 5부터 추가된 문법입니다. 사전적 의미는 주석이지만 자바에서 사용될 때의 Annotation은 코드 사이에 주석처럼 쓰여서 특별한 의미를 부여합니다. Spring AOP의 A, Aspect를 Annotation이라고도 할 수 있습니다. 특정 기능, 작동하는 것을 개별로 모듈로 만들어 필요한 곳에 @Annotation 형태로 넣을 수 있게 하는 것이 AOP의 편리한 점입니다. Spring Annotation 어노테이션 설명 @Controller 스프링 MVC의 C, Controller 객체임을 명시하는 어노테이션 @RequestMapping 특정 URI..

Backend/Spring 2022.01.21

Queue란? Java Queue Class에 대해 알아보자!

오늘 포스팅할 내용은 Queue의 정의 Java Queue Class 구현 Queue Class 사용 예제입니다. Queue란( 줄, 대기열 )? 선입선출( First In First Out )의 자료구조이며, 먼저 들어오는 Data가 먼저 나가게 됩니다. Data가 들어오는 가장 뒤 위치를 Back( or Rear )이라 하며, 입력 동작을 Enqueue라고 합니다. Data가 나가는 가장 앞의 위치를 Front라고 부르며, 출력 동작을 Dequeue라고 합니다. 일반적인 Queue는 유한 순서 리스트라고도 부릅니다. 원형 큐 Queue를 위해 배열을 지정하고 Queue를 사용하다 보면 배열의 앞부분이 빈다는 점을 활용하여 배열의 맨 마지막 부분을 쓰면 다시 맨 처음부터 다시 Queue를 채우기 시작하..

Algorithm/Linear 2022.01.19

Stack이란 ?, Java Stack class 사용법 & 예제

이번 포스팅에서 알아볼 내용은 Stack의 정의와 Java Stack Class 사용 예제를 알아보겠습니다. Stack 이란? ( 쌓다, 적재 ) 후입 선출 ( Last In First Out : LIFO ) 특성을 가지는 자료구조( Data Stucture )라고 말합니다. 입력 연산은 Push( 푸시 ), 출력 연산은 Pop( 팝 ), 조회 연산은 Peek( 픽 )이라고 부릅니다. 조회 연산시 데이터를 조회만 할 뿐, 순번( Index )은 변화시키지 않는 연산을 의미합니다. ( 선입선출 (First In First Out : FIFO)인 Queue와 비교되는 개념입니다. ) 우리가 흔히 알고 있는 Undo( Ctrl + z ) 영역이 바로 Stack입니다. 가장 최근에 실행한 명령어를 취소해야하기 ..

Algorithm/Linear 2022.01.19

[Java] ORM JPA란 무엇인지 알아보자!!

이번 포스팅에서 알아볼 내용은 JPA ( Java persistence API ) 란 무엇인가? JPA의 동작원리 JPA의 특징 Hibernate와의 관계 를 알아보겠습니다. JPA ( Java Persistence API ) 란? JAVA에서 제공하는 API로 JAVA ORM 기술에 대한 표준입니다. 자바 애플리케이션에서 RDBMS를 사용하는 방법을 정의한 Interface입니다. JPA는 스프링의 *PSA, 즉 POJO를 사용하면서 특정 기술을 사용하기 위해서 표준 Interface를 정해두었는데, 그중 ORM을 사용하기 위해 만든 인터페이스가 바로 JPA입니다. 기존 *EJB에서 제공되던 Entity Bean을 대체하는 기술입니다. *ORM이기 때문에 자바 클래스와 DB 테이블을 Mapping 합니..

[JavaScript] 업로드 이미지를 Base64로 변환하기

서버에 이미지를 올릴 때 이미지를 Base64로 변환하여 DB에 저장하고 웹에서 보여줄 때 다시 디코딩해서 보여주는 방법을 많이 사용합니다 변환하는 이유가 궁금했습니다. 이유 중 하나는 비동기 함수를 사용해 이미지를 업로드하고 바로 화면에 보여줄 로직이 있을 때 이미지 자체를 업로드 후 로딩시키게 되면 DB에 저장하는 시간 혹은 서버 파일에 저장하는 시간보다 View가 mount 되는 시간이 더 빨라 이미지가 보이지 않기 때문입니다. 처음에는 비동기 함수의 반환이나 reponse를 늦추는 방법을 사용했지만 옳지 않은 방법이어서 구글링 하던 도중 찾아낸 방법 중 하나가 JavaScript로 Base64 인코딩 디코딩입니다. 업로드 이미지를 Base64로 변환하는 방법은 다양합니다. Base64 인코딩, 디..

Frontend/JavaScript 2022.01.14

wsl 명령어, docker 명령어

https://docs.docker.com/desktop/windows/wsl/ 적용 중인 wsl버전 확인 ( window 프롬프트에서 ) wsl.exe -l -v , wsl -l -v 사용할 Linux distro의 wsl version 2로 세팅하기 wsl --set-version ( distro name ) 2 defualt로 wsl version 2로 세팅하기 wsl --set-default-version 2 문서를 찾아보니 wsl로 docker를 사용하려면 wsl 2 버전을 사용한다. The command 'docker' could not be found in this WSL 1 distro. We recommend to convert this distro to WSL 2 and activate..

Etc/일기장 2022.01.13
728x90