공감하기
본문 바로가기
  • [!] Manual from the past has just arrived

TIL5

[TIL] 2024-09-19 1. 새로운 지식JVMJVM 구성요소 블록 다이어그램(JVM Spec)각각의 구성요소는 언제까지나 추상적인 spec임. 이걸 어떻게 구현할지는 구현하는 사람이 결정할 문제어떤 구현체던지 상관없이, 표준 스펙에 따르면 JVM에는 다음과 같은 추상적인 구성요소를 가짐class loader subsystemruntime data areasexecution engineJNI (Java Native Interface)-> 다이어그램에는 native method interface라고 적혀있다.Native Method LibrariesJVM에서 프로그램을 실행하게 되면, 바이트코드를 포함해서 메소드의 파라미터, 리턴값, 연산의 중간값과 같은 데이터를 저장할 공간이 필요하다. JVM은 이런 데이터를 저장할 공간을 조직.. 2024. 9. 19.
[TIL] 2024-09-12 1. 새로운 지식Java란 무엇인가Java 표준 스펙과 구현체 graph BT spec["`**자바 표준 스펙** * 컴파일러 * 자바 실행 라이브러리 * JVM`"]; oracle["`**오라클 자바 구현체** * 컴파일러 * 자바 실행 라이브러리 * JVM`"]; adoptium["`**Adoptium 자바 구현체** * 컴파일러 * 자바 실행 라이브러리 * JVM`"]; amazon["`**Amazon Corretto 자바 구현체** * 컴파일러 * 자바 실행 라이브러리 * JVM`"]; oracle --> spec; adoptium --.. 2024. 9. 12.
[TIL] 2024-09-11 1. 새로운 지식Java의 특징플랫폼 독립성JVMJava 프로그램을 실행하기 위한 가상 컴퓨터라고 생각하면 쉽다Java로 프로그램을 만들면 컴파일러(JVM이 아니다!)가 프로그램을 Java 바이트 코드로 변환한다.JVM은 이 바이트코드를 읽어 해당 컴퓨터의 운영체제가 이해할 수 있는 기계어로 번역하고 실행한다.Java 바이트 코드는 JVM을 지원하는 모든 시스템에서 별도의 수정 과정 없이 실행되므로, 어디에서나 Java 코드를 실행할 수 있게 된다. → 이러한 특징을 플랫폼 독립성이라고 함플랫폼 독립성은 Java의 철학과도 연관이 있음 (Write Once, Run Everywhere)2. 내일의 목표추가 학습Java의 동작 원리 이해하기(https://bgpark.tistory.com/141)Java .. 2024. 9. 11.
[내일배움캠프] 스타터 노트 내가 내일배움캠프에 참여한 계기는 무엇인가요?전공자로 졸업을 하고 스스로 독학을 하며 취업을 준비하고 있었지만, 좀처럼 진도가 잘 나가지지 않아서 몰입해서 단기간에 효율적으로 공부를 하고 싶다고 생각한 것이 첫 번째 계기였습니다. 두 번째는 협업 경험을 좀 더 쌓고 싶은데 팀원을 구하는 것이 쉽지 않아 팀 빌딩부터 최종 프로젝트까지 진행할 수 있는 코스를 선택하고자 했습니다.내가 이해한 개발자는 어떤 역할을 하는 사람인가요?일상에서 마주치는 여러가지 크고 작은 문제를 코드로 해결하는 사람프로그래밍을 경험해보셨나요? 해보셨다면 어떤 경험을 하셨는지를 작성해주시고, 아니라면 프로그래밍에 대해 찾아본 것을 작성해주세요.웹 어플리케이션을 만들어본 경험이 있습니다. (프론트엔드, 백엔드 모두 경험)대부분 Rest.. 2024. 9. 11.
[Socket.IO] ws과 socket.io의 차이점 최근에 NestJS로 프로젝트를 진행하면서 socket.io를 이용할 일이 있었다. 이 때 배웠던 것을 짤막하게 정리해보려 한다. NestJS에서 지원하는 소켓의 플랫폼으로 ws와 socket.io 두 가지가 있다. 그리고 나는 이전에 웹 소켓이 독자적인 프로토콜(ws://)를 사용한 다는 것을 경험을 통해 알았기 때문에 socket.io를 사용한 웹 소켓 서버에도 무리 없이 클라이언트가 접속될 것이라고 생각하였다. 이전에 웹 소켓을 사용한 프로젝트에서 유용하게 쓴 툴이 있는데 WebSocket King Client이다 (크롬의 확장 프로그램이다) 그런데 웬걸, 연결이 되지 않는다 gateway와 모듈 설정에 문제가 없는지 확인해보았다. // chat.gateway.ts import { Connected.. 2024. 2. 1.