리오의 개발일지
close
프로필 사진

리오의 개발일지

github: @dldydtjs2965

  • 분류 전체보기
    • 프로젝트
    • 데이터베이스
      • Redis
      • Elasticsearch
      • RDB · SQL
    • CS
      • 알고리즘
      • 설계 · 아키텍처
      • 컴퓨터구조 · OS
      • 네트워크
    • 인공지능
      • Claude
    • Language
      • Java · JVM
      • Python
      • JavaScript · TypeScript
    • 커리어 · 일상
      • 회고
      • 이직 · 커리어
      • 세미나 · 커뮤니티
    • devops
      • aws
      • Docker · K8s · 배포
    • Spring
      • SpringBoot
      • JPA
      • 토비의 스프링 시리즈
  • 홈
  • 태그
  • 방명록

JVM의 밑바닥까지 파헤치기 1장 후기

JVM의 1장의 주제는 JVM의 역사를 시작부터 차근차근 설명해주면서 JVM이 어떤 배경으로 발전을 해왔는지 어떤 문제를 해결하려고 했는지 등을 소개해주면서 회사와 단체와의 갈등, 오픈소스 커뮤니티와 회사와의 갈등 사례들을 소개해주면서 JVM이 생각보다 안정적으로 발전해온 것이 아니라 여러 고난과 혼돈 속에서 만들어진 기술이라는 것을 알 수 있었던 챕터였습니다. 자바의 버전의 역사의 변곡점1. 성능의 혁명: Java 1.3 (HotSpot VM 기본 탑재)핵심: JIT 컴파일러(HotSpot) 도입"자바는 느리다"는 꼬리표를 떼고, C++에 준하는 성능을 확보하여 기업용 서버 시장을 장악하기 시작한 시점입니다.JIT 컴파일러가 가진 강점핫스팟(중요): 모든 언어를 기계어로 바꾸는 건 비효율적이기 때문에 ..

  • format_list_bulleted Language/Java · JVM
  • · 2025. 12. 29.

타입스크립트 왜 이렇게 만들어졌을까?

타입스크립트는 왜 컴파일 레벨에서 강제하지 않을까?이펙티브 타입스크립트를 읽다가 문득 궁금했다.“왜 타입스크립트는 자바나 C#처럼 컴파일 레벨에서 타입을 완전히 강제하지 않을까?”이 질문의 답을 찾다 보니, 단순한 기술적 이유가 아니라 웹이라는 플랫폼의 철학과 자바스크립트의 역사적 맥락이 깊게 얽혀 있었다.1. 웹 브라우저 환경의 철학: “부분적 실패를 견딘다”자바스크립트를 해본 사람이라면 알겠지만, 자바스크립트는 그 어떤 실수에도 관대하다.undefined를 덧셈해도 죽지 않고, 엉뚱한 타입을 넘겨도 그냥 실행된다.이런 유연함(혹은 관대함) 은 단순한 결함이 아니라, 웹 환경의 생존 전략이었다.웹의 기본 철학은 “부분적 실패를 견딘다(Tolerate partial failure)”이다.이미지 하나가 깨..

  • format_list_bulleted Language/JavaScript · TypeScript
  • · 2025. 10. 26.

Spring Security vs Nest.js Guard: 인증/인가 메커니즘 비교 분석

개요회사에서 NestJS 기술을 활용하면서 Guard라는 기능을 접했을 때, 추상적으로 'Spring Security와 비슷하구나'라는 생각으로만 접근했습니다. 하지만 실제 동작 원리와 인가된 유저 주입 메커니즘을 깊이 이해하지 못한 채, AI가 생성한 코드를 검증 없이 사용하다가 기존 인증/인가 로직에 예기치 않은 영향을 주는 문제를 발생시켰습니다. 이로 인해 팀원들에게 불편을 끼치는 상황이 발생했고, 이는 근본적인 이해 부족에서 비롯된 것임을 깨달았습니다. 같은 실수를 반복하지 않기 위해, 그리고 Guard를 제대로 이해하기 위해 이 글을 작성합니다. 이 글을 읽으면 좋은 사람들Spring 백그라운드를 가진 개발자가 NestJS로 전환하는 경우두 프레임워크를 함께 사용하는 팀에서 일하는 개발자인증/인..

  • format_list_bulleted Language/JavaScript · TypeScript
  • · 2025. 10. 8.
백엔드 개발자의 리액트 입문: Quick Start React

백엔드 개발자의 리액트 입문: Quick Start React

시작하게 된 계기 이전에도 웹을 어느정도 개발 해왔기 때문에 jquery와 thymeleaf와 같은 도구를 활용하여 쉽게 개발을 해왔었지만 리액트나 vue와 같은 프론트 기술스택을 활용을 해야될 때에는 만들어진 프로젝트 위에 하드 코딩을 하거나 프론트 개발자를 구해 개발을 했어야 했다. 그래서 내 마음 한켠에서는 항상 불편함이 자리 잡고 있었고. 프론트 개발을 제대로 하지 못한다는 자책감을 가지게 되었다. 그리고 시시각각 변하는 프론트엔드의 시장에서의 나는 점점 프론트엔드 개발자들과의 소통이 더욱 어려워지기 시작했고 요구사항에 맞춰 소프트웨어를 함께 설계하고 개발해 나가는 과정 속에서 지속적인 커뮤니케이션의 어려움을 느끼며 큰 부담으로 다가오게 되었다. 그렇게 그런 생각이 희미해져 갈 때 쯤 회사에서 갑..

  • format_list_bulleted Language/JavaScript · TypeScript
  • · 2024. 3. 17.
자바(JAVA)에서 정확한 실수 처리하는 방법

자바(JAVA)에서 정확한 실수 처리하는 방법

자바에서 실수 표현 하는 방법 정수 제공하는 실수형 데이터 타입에는 float과 double이 있다. 정수형 int, long 타입과 동일하게 각 4, 8 바이트의 메모리 공간을 활용하지만 실수를 가수와 지수부분으로 나누어 표현하는 부동 소수점 방식을 기반으로 더 넓은 범위의 값을 표현 할 수 있습니다. 컴퓨터는 실수도 2진수로 표현하기 때문에 두가지 방법으로 상대적으로 꽤 복잡하게 동작하게 됩니다. 실수를 표현하는 방식으로는 고정 소수점 방식(Fixed-Point Number Representation)과 부동 소수점 방식(Floating-Point Number Representation)으로 나뉘어 사용이 됩니다. 고정 소수점 방식 고정 소수점 방식(Fixed-Point Number Represent..

  • format_list_bulleted Language/Java · JVM
  • · 2022. 3. 5.

자바스크립트에서 제너레이터(Generator)

자바스크립트에서 이터러블한 함수를 만들 때 사용되는 객체입니다. 좀 더 자세하게 알아보도록 하겠습니다. Generator function 제네레이터 함수는 function 앞에 *을 붙여서 정의하고 Generator로 선언한 함수는 Generator 객체를 반환합니다. function* generator(i) { yield i; yield i+1; } const get = generator(10); console.log(gen.next().value); // output: 10 console.log(gen.next().value); // output: 11 위 코드와 같이 첫 요청을 했을 때에는 값을 넣었을 때는 10을 리턴하지만 next() 후 다시 리턴을 해보니 11을 리턴합니다. 여기서 한번더 ne..

  • format_list_bulleted Language/JavaScript · TypeScript
  • · 2021. 12. 8.
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기
    • 프로젝트
    • 데이터베이스
      • Redis
      • Elasticsearch
      • RDB · SQL
    • CS
      • 알고리즘
      • 설계 · 아키텍처
      • 컴퓨터구조 · OS
      • 네트워크
    • 인공지능
      • Claude
    • Language
      • Java · JVM
      • Python
      • JavaScript · TypeScript
    • 커리어 · 일상
      • 회고
      • 이직 · 커리어
      • 세미나 · 커뮤니티
    • devops
      • aws
      • Docker · K8s · 배포
    • Spring
      • SpringBoot
      • JPA
      • 토비의 스프링 시리즈
인기 글
전체 방문자
오늘
어제
Copyright © ri5 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바