CS공부31 기본기 닦기(2) - 빌드/컴파일, 웹서버/내장서버 ㅇ 빌드 프로젝트를 만들고 개발하는 과정에서 빌드라는걸 들어보거나 해봤을것이다. 근데 이걸 왜 해야하고 빌드가 대체 뭐하는 걸까? 빌드란 소스코드 파일을 실행 가능한 산출물로 변환하는 것이다. 정말 잘 정리해두신 블로그가 있어 거기서 발췌 해 봤다. 빌드? 프로그래머가 작성한 소스 코드를 실행할 수 있는 독립적인 형태(.war, .jar)로 변환하는 과정 및 결과를 말한다. 변환하는 과정에는 컴파일 과정도 포함이 된다. 예를 들어 개발자가 이클립스나 인텔리제이와 같은 IDE로 java코드를 작성하면 개발자는 '실행'버튼을 눌러서 코드의 결과물을 볼 수 있다. 그런데 개발자가 아닌 사용자가 코드의 결과물을 보려면? 사용자가 자바를 설치하고 IDE를 설치하고 해당 코드를 가져와서 실행을 눌러야 하는가? 아니.. 2023. 12. 22. 기본기 닦기(1) - 스레드, 동기/비동기, JVM ㅇ 스레드(Thread) 자바는 일반적으로 멀티 스레드 환경에 적합한 언어로 알고있다. 그런데 여기서 의문? 스레드가 뭔가? 나는 그저 작업의 한 단위 정도라고 생각을 했다. 자세히 알아보았다. 먼저 정의부터 알아보자면, 내가 아는 것처럼 프로그램 실행의 기본 단위이고, 하나의 프로세스 안에서 독립적으로 실행되는 명령어 집합이라고 한다. 여러 스레드가 하나의 프로세스 내에서 동시에 실행될 수 있으며, 각 스레드는 독립적으로 실행되는 코드의 흐름을 나타낸다. 스레드는 프로세스의 자원을 공유하며, 이를 통해 프로그램의 성능을 향상시키고 병렬 작업을 수행할 수 있다. 자바에서 스레드를 생성하려면, java.lang.Thread 클래스를 상속하거나, Runnable 인터페이스를 구현하는 클래스를 작성한다. cl.. 2023. 12. 21. Spring boot의 build.gradle 특히 dependencies의 타입 면접질문중 롬복은 왜 compileOnly 인가요? 라는 질문을 받았다. 사실 사용만 해봤지 왜 이건 컴파일온리로 되어있을까? 라는 생각은 한번도 해보지 못했었다. 그리고 다른 종류들의 런타임온리, 디벨롭먼트온리 등등 이런것들의 종류는 어떤것들이 있고 왜쓰는지를 알아보자. 더 나아가서 아예 build.gradle의 구성을 한번 알아보자. ㅇ 면접질문 롬복은 왜 컴파일온리 일까? compileOnly로 설정을 해놓으면 해당 라이브러리는 컴파일시에만 필요하며 런타임시에는 프로덕션 코드에 영향을 미치지 않기 때문이다. 이렇게 나눠 불필요한 라이브러리의 크기를 줄이고 런타임 환경에 불필요한 클래스들이 추가 되지 않게 할 수 있다. ㅇ 종류 - implementation : 구성은 주요 의존성을 나타냄. 이 의존.. 2023. 12. 18. 지난번 면접후 생일에 면접을 보고 왔다. 면접에서 질문하셨던거 몇가지 적어보자면 String buffer, String builder 컨트롤러에서 써야한다면 어떤걸 사용할건지? 쿼리를 어떻게 짤건지, @RestController, @Controller의 차이가 무엇인지 등 여러가지 질문을 했다. 내가 제대로 몰랐던부분들이 많아서 나의 부족함을 깨닫고 차근차근 기본기부터 공부해야겠다는 생각을 했다. 공부하고나서 설명을 할 수 있어야 면접때도 답을 할 수 있으니 설명을 할 수 있을때까지 제대로 알아봐야겠다. 면접을 보고 바로 A형 독감이 와서 며칠동안 공부를 할 수가 없었다. 오늘부터 다시 시작이다. 조금 오래걸릴지라도 차근차근하다보면 언젠간 취업도하고 더욱 성장할 수 있을거라고 생각한다. 다시 시작해보자. 2023. 12. 18. 이전 1 ··· 3 4 5 6 7 8 다음