내가 참여한 스프링 부트 토이 팀프로젝트 분석 시작 2년전에 나는 휴학하는 동안 팀 프로젝트에 참여했었다.그 후 2년동안 국가의 부름을 받고 복무를 하는 동안 틈틈이 자바 스프링말고 다른 영역을 공부해봤다. 복무와 공부를 마치고 자바 스프링이 적성에 제일 맞다고 판단하였고 스프링에 대해 더 자세히 공부하고 싶어서 돌아왔다.공부할 순서 : 스프링 부트(현재) -> 스프링 프레임워크(최종테크트리) //(chatgpt 활용도 곁들여서)다른 언어에 비해 자바는 코드를 깊이있게 해석할 수 있어 안전성과 유지보수성이 뛰어났다. 그러한 매력적인 점 또한 날 끌어들인 요인이였다.따라서 2년이 지난 지금에서야 해당 팀프로젝트를 분석한다.이미 많은 시간이 지났으므로 디테일하게 분석하지는 못하지만기초부터 분석하여내가 무..
신경도 안쓰고 습관적으로 썼던 애플리케이션을 실행시켜주는 main 메서드를 분석한다. [자바 작동방식]자바 개발 키트(jdk)를 이용해자바 언어로된 소스코드(.java)를 작성하고그것을 JAVAC가 컴파일해준다.결과 자바 바이트 코드(.class파일)로 변환이 되는데이러한 바이트 코드를 JVM으로 로딩한후JVM의 Execution Engine을 통해각 CPU와 OS에서 실행가능하도록 해석해준다 main 메서드프로그램이 실행되는중자바 SE 공식 문서에 따르면https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.2/*(자바 공식 문서 모아놓으신 분이 계시다 감사하다) https://velog.io/@dev-mage/java-..
HTTP통신이란?Hyper Text Transfer Protocol 하이퍼_본문_전송_규약웹 서버와 웹 클라이언트 간의 통신을 위한TCP/IP 4계층중 4계층인 응용(application)계층의 프로토콜.[사용자가 웹브라우저를 통해 웹페이지를 요청하고웹브라우저는 해당 요청을 서버에 전송한다서버는 요청받은 웹페이지를 클라이언트에게 전송한다.]해당 프로토콜을 HTTP라 부른다.디폴트로 무상태 프로토콜이기 때문에연결을 계속 유지하지 않는다.(요청->응답->통신끊음)HTTP의 header에는 요청,응답,엔티티등 통신에 필요한 여러 정보를 담는다. TCP통신이란?한 컴퓨터와 다른 컴퓨터(클라이언트와 서버)사이에서양방형으로의 통신을 위한 프로토콜이다.해당 프로토콜은 4계층중 3계층인 전송(transport)계층에..
- MapReduce에 대해MapReduce는 대용량 데이터를 분산 처리하기위한 모델이다.Map+Reduce를 합쳐 부르는 것인데Mapping은 분산된 상태로 저장되어 있는 데이터들을관련있는 데이터로 묶어 임시적으로 변형이 되는 과정이다.Reducing는 Mapping에서 변형된 데이터에서 원하는 데이터를 추출하는 과정이다.MapReduce는 Map과 Reduce만으로 이루어져 있지 않다.(아래는 Word Counting 에서의 과정 설명)1.Splitting : 입력한 데이터를 line-by-line으로 읽어들여 (key,value)로 분할2.Mapping : Map함수를 사용해 문자를 분리하며 단어의 개수를 확인3.Shuffling : Mapping에서 메모리에 저장된 데이터들을 정렬4.Reducin..
-셸이란?컴퓨터는 [하드웨어]와 [소프트웨어]로 되어있고소프트웨어는 [응용프로그램]과 [운영체제]로 되어있다.응용프로그램은 웹브라우저 같은 프로그램들이다.운영체제는 [커널]과 [시스템프로그램]으로 되어있는데셸이 대표적인 시스템프로그램이다.터미널이나 cmd를 통해 셸로 커널에 명령어를 전달하여 처리하고결과를 알려준다.이러한 셸은 크게 CUI와 GUI로 나눌 수 있다.->>운영체제란?.....사용자의 하드웨어,시스템 자원을 관리하고응용 프로그램을 실행할 수 있도록 서비스를 제공하는 오퍼레이팅 시스템이다. -커널이란?위에서 나온것 처럼 운영체제는 커널과 시스템프로그램으로 나뉘는데커널은 셸에게 받은 명령으로 메모리 관리,프로세스 관리,장치 드라이버,시스템 호출 및 보안의 기능을 수행한다. -SSH란?네트워크상 ..
-가상환경이란?독립적인 파이썬 실행환경말그대로 가상의 환경을 따로 설정하여필요한 라이브러리만을 설치하여라이브러리 충동을 피할 수 있다. -pip란?파이썬 패키지(파일),모듈(라이브러리) 매니저pip로 파이썬에 가상환경을 설치할 수 있다. -가상환경 만들기(우분투에서)-1단계[pip로 가상환경 설치]우분투에서 가상환경을 설치하기 위해python3-pip를 사용해 install할 필요가 있다.원하는 파일로 들어가서python3 -m pip install --user -U virtualenv입력(가상환경 설치)pip설치 안되있다면 아마 오류뜨면서 설명나올텐데설명대로 pip설치하면 됨-2단계[가상환경 생성]python3 -m virtualenv 원하는환경이름입력(가상환경 생성)성공한후 ll이나 ls로 생성완..