본문 바로가기

전체 글

(100)
#02 ORM 이란? 내가 조금 오해했던 부분은 ORM관련 기술이 최근에 나온게 아니라는 사실이다. 또한 자바 에서만 사용하는 것도 아니고 C#, Ruby 등 다른 객체지향 언어 에서도 사용하고 있다. 이처럼 객체지향 언어와 관계형 DB와의 연결을 개발자가 모두 관여해서 한땀한땀 SQL 문을 작성했고 이러다 보니 비지니스 로직이 DB쪽으로 많이 넘어가고 SQL문이 변경되면 서버의 로직도 당연히 그에 따라서 변경이 되는게 현실이고 사실 내가 사용하고 있는 시스템도 그에 해당된다. 또한 테이블의 변경에 대한 여러 SQL문을 하나하나 확인하고 변경된 컬럼을 넣어준다... 그리고 끝?? 이 아니라 애플리케이션 쪽의 로직도 당연히 손봐야 한다... 객체지향은 우리가 잘 알듯이 SOLID를 잘 지쳐야 된다고 하는데 지금 이야기 한것 만..
#01 실습 정리! 1주차 과제 중 Spring Boot 실습에 대해서만 정리한다. 우리가 목표로 하는 부분은 JPA를 사용해서 클라이언트 요청으로 부터 JPA를 이용해서 데이터를 화면에 보여주는게 목표!!! 여기에서 데이터는 프로젝트가 올라갈 때 가 데이터를 넣어서 클라이언트 요청에 응답하는 예제!! (너무 간단한 셈플 프로젝트 생성 이지만 내부에서 사용 할 기술에 대한 배경과 개념을 #02부터 정리 하기 때문에 #01의 내용을 어느정도 안다고 생각된다면 바로 #02로 넘어가서 우리가 사용하는 기술의 등장배경과 간단한 개념에 대해서 알아보자 ) 툴은 각자 어느걸 사용해도 상관이 없다 ~ 이유는 정말 심플하게 만들 거라서... 나는 내가 자주쓰는 VSCode 로 진행 할 예정이다. 혹시라도 VSCode에서 Spring Bo..
1주차 스터디 실습 & 포스팅 목록 정리 1주차 포스팅 목록 1. 서버스터디에서 목표로 하는 실습 프로젝트를 수행한다. #01 실습 정리! 2. 실습 프로젝트에서 사용하는 기술에 대한 배경과 간단한 개념을 정리 한다. #02 ORM 이란? #03 JPA의 등장 3. H2DB 알아보기 #04 H2DB 알아보기 이렇게 총 5개를 포스팅 할 예정이다... 근데 ㅎㅎ 시간이 너무 부족해 ㅜ.ㅜ.ㅜ.ㅜ.ㅜ
2020 카카오 인턴십 - 키패드 누르기 난이도 level1 문제 programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 이 문제에서 나는 서로다른 위치의 키패드의 이동 거리를 계산 할 수 있다면 문제를 쉽게 풀 수 있을 것 같아서 패턴을 찾기 시작했고 아래와 같은 패턴을 찾게됐다. 숫자 5에서 상하좌우 로 이동시 상 : -3, 하 : +3 좌 : -1, 우 :..
게임 맵 최단거리 난이도 level2 문제 programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 제한사항 maps는 n x m 크기의 게임 맵의 상태가 들어있는 2차원 배열로, n과 m은 각각 1 이상 100 이하의 자연수입니다. n과 m은 서로 같을 수도, 다를 수도 있지만, n과 m이 모두 1인 경우는 입력으로 주어지지 않습니다. maps는 0과 1로만 이루어져 있으며, 0은 벽이 있는 자..
#03 Kubernetes 란? 이번 포스팅은 쿠버네티스라는 단어가 생소한 사람들을 위해서( 본인... ㅎ ) 무엇인지 간단하게 살펴보는 포스팅이 될 것 같다. 목록 서버관리 & 배포 방법의 변화 Container Orchestration 과 그 종류 왜 Kubernetes 인가? 서버관리 & 배포 방법의 변화 Traditional Deployment : 초기 조직은 애플리케이션을 물리 서버에서 실행했었다. 한 물리 서버에서 여러 애플리케이션의 리소스 한계를 정의할 방법이 없었기에, 리소스 할당의 문제가 발생했다. 예를 들어 물리 서버 하나에서 여러 애플리케이션을 실행하면, 리소스 전부를 차지하는 애플리케이션 인스턴스가 있을 수 있고, 결과적으로는 다른 애플리케이션의 성능이 저하될 수 있었다. 이에 대한 해결책은 서로 다른 여러 물리 ..
#02 Spring framework 장단점과 간단정리 오늘 주제는 Spring Framework 의 특징과 탄생 배경을 간단하게 정리한다. 1. CGI - Servlet - JSP 2. Java EE 3. EJB 4. framework 란? 5. Spring framework 의 탄생배경 6. Spring framework 간단히 알아보기 1. CGI - Servlet - JSP CGI (Common Gateway Interface) : 1990년 초창기 정적인 웹 에서 동적인 페이지를 만들기 위해 외부 프로그램과의 통신규약이다. (당연하지만 언어 종속적 이지 않다. ) Servlet (Server + Applet) : 은 Java 진영에서 나왔으며 applet의 사전적 의미는 "다른 프로그램 내에서 실행되는 프로그램" 이므로 Servlet은 Server ..
#01 Docker 개념 정리 이번 포스팅은 Docker의 간단한 개념만 정리한다. (자세한 내용은 추후 DevOps에서 정리 할 예정...) Docker란 Go언어로 작성 되었으며 리눅스의 응용 프로그램들을 프로세스 격리 기술을 사용해 컨테이너로 실행하고 관리하는 오픈소스 프로젝트 이다. 도커의 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 포함되기 때문에 환경에 관계 없이 언제나 동일하게 실행 될 것을 보증한다. 대부분 개발은 로컬 > 개발 > 을 거쳐서 운영에 올리는 순서로 진행이 되는데 의외로 여러 금융사 프로젝트를 하면서 개발환경이 각각 달라서 애를 먹기도 한다. 한번은 기존에..