Object-Oriented Programming(OOP) and Functional Programming(FP) Notes Object-Oriented Programming(OOP) 객체 지향적 프로그래밍은 프로그래밍 패러다임 중 하나로써 프로그래밍 하고자 하는 무언가(때때로 실세계의 사물)를 표현하기 위해서 객체를 사용하는 프로그래밍 방법이다. 이 객체들은 자료구조가 될 수 있다. 그 객체는 속성으로서 그들에 관한 데이터를 가지고 있다. 이 객체의 속성은 메서드나 함수... 2024/09/05 Programming
Programming Paradigm Notes 패러다임(paradigm)은 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 테두리로서의 인식의 체계, 또는 사물에 대한 이론적인 틀이나 체계를 의미한다. - From.wikipedia - 프로그래밍 패러다임은 어떤 프로그래밍 언어를 사용하여 문제를 해결하기위한 접근법이다. 혹은 우리들로 하여금 어떠한 접근방식을 따를수 있도록 해주는... 2024/09/05 Programming
Pure Function Notes 컴퓨터 프로그래밍에서 순수함수(pure function)란, 다음과 같은 속성을 갖는다. 함수가 같은 아규먼트(입력)에 대해서 항상 같은 리턴값(결과)을 낸다. 함수의 평가는 사이드 이펙트가 없다. 두 조건의 의미 첫 번째 조건은 결과가 인자 외의 것에 의존하지 않는다는 뜻이다. Wikipedia는 지역 static 변수, 비지역 ... 2024/09/05 Programming
Serialization and Deserialization Notes 직렬화(serialization)는 객체의 상태를 바이트 스트림으로 바꾸는 과정이고, 역직렬화(deserialization)는 그 바이트 스트림에서 객체를 다시 만드는 과정이다. 메모리 안에만 있던 객체를 파일에 저장하거나 네트워크로 보내려면 정해진 형식의 바이트로 바꿔야 하기 때문에 필요하다. 게임을 멈췄다가 다시 시작할 때 멈춘 지점부터 이어지는 ... 2024/09/05 Programming
Synchronous, Asynchronous, Blocking, Non-Blocking Notes 자바는 기본적으로 Sync/Block이고, 자바스크립트는 Async/NonBlock이다. 제어권의 반환과 결과값의 전달의 관점으로 실행흐름을 따라 Block과 Non-Block을 설명할 수 있다. function caller(){ functionA(); functionB(); functionC(); } function function... 2024/09/05 Programming
Thread Local Notes What is ThreadLocal? ThreadLocal은 JDK 1.2 부터 제공된 클래스이며, 이를 활용하면 스레드 단위로 로컬 변수를 사용할 수 있다. 즉, 일반적인 로컬 변수의 수명은 특정 코드 블록의 범위에 한정하여 유효하지만, ThreadLocal은 특정 스레드가 실행하는 모든 코드에서 사용 가능하다. ThreadLocal은 내부적으로 ... 2024/09/05 Programming
Authentication Notes 로그인 화면에 아이디와 비밀번호를 넣는 순간 서버가 하는 일은 “이 요청을 보낸 사람이 정말 그 사용자인가”를 확인하는 것이다. 이 확인 과정을 인증(authentication)이라고 한다. 이 글은 시리즈의 첫 글로, 인증이 무엇이고 HTTP에서 어떻게 표현되며 로그인 이후의 요청에서는 어떻게 이어지는지를 정리한다. 인증과 인가의 차이 인증과... 2024/09/05 Authentication Authentication Basics 1편
Authorization Notes Authorization 로그인에 성공한 사용자가 /orders/1024를 조회한다. 서버는 이 사용자가 누구인지 이미 알고 있다. 그래도 아직 답하지 않은 질문이 남는다. 이 사용자가 1024번 주문을 볼 수 있는가. 인증(Authentication)이 “누구인가”를 확인하는 과정이라면, 인가(Authorization)는 “이 요청을 허용할 것인... 2024/09/05 Authentication Authentication Basics 3편
2024-09-02-TIL TIL 2024-09-02-TIL Today I Learned 토큰의 발급 주체가 아닌 프로젝트에서의 인증 방식 토큰의 발급 주체가 아닌 서버를 구축하면서 토큰을 그대로 DB에 토큰 담고 스레드 로컬에서 (like caching) hit되는 토큰을 캐싱하는 방식으로 성능 향상을 하도록 구성하는게 일반적 인스타그램 처럼 글로벌한 서비스에서 1억개의 세... 2024/09/02 2024-TIL
2024-08-28-TIL TIL 2024-08-28-TIL Today I Learned Infinite Scroll vs Pagination https://velog.io/@eunoia/%EB%AC%B4%ED%95%9C-%EC%8A%A4%ED%81%AC%EB%A1%A4Infinite-scroll-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0 http... 2024/08/28 2024-TIL