본문 바로가기

전체 글72

좋은 코드, 나쁜 코드 프로그래머의 코드 품질 개선법 좋은 코드, 나쁜 코드 프로그래머의 코드 품질 개선법 톰 롱 저/차건회 역 | 제이펍 | 2022년 05월 26일 | 원서 : Good Code, Bad Code 이 책 또한 후임자 분이 추천을 해준 책입니다. 이 책은 주로 어떻게 코드를 작성해야 가독성이 좋고 유지보수가 편한지 코드의 작성법에 대해 설명하고 있습니다. 이 책을 읽기 전에는 기능에 초점을 맞춰 코드를 작성했었는데 지금은 같은 코드를 작성하더라도 유지보수 측면, 가독성 측면에 대해 깊게 생각하며 코드를 작성하도록 노력하고 있습니다.문자열로 범벅이 되어 있는 코드, 코드 내용과 같지 않은 쓸데없는 주석 및 지나치게 상세한 주석, 한 눈에 파악할 수 없는 함수 및 메서드명, 변수 이러한 모든 것들이 리팩토링 대상이었습니다.현재 6년차 접어든 .. 2023. 9. 21.
개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴 개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴 최범균 저 | 인투북스 | 2013년 07월 05일 | 260쪽 프로젝트 철수 전에 들어오신 후임자 분이 추천을 해준 책입니다. 이 책을 읽기 전에 단순히 절차지향적으로만 코드를 작성했었고 그게 당연한 것인줄 알았습니다. 그리고 객체지향 프로그래밍에 대한 개념도 몰랐습니다. 하지만 이 책을 읽어보고 제 코드작성이 미흡했다고 생각했습니다. 이 책에서는 어떻게 하면 유지보수가 편하고 재사용을 할 수 있는 코드를 작성할 수 있을까에 대한 개념의 기초를 잡아준 책입니다. 절차지향적으로 코드를 작성하는 건 결코 나쁜 건 아니지만 우리가 일반적으로 새로운 시스템을 개발을 하게 되면 개발기간보다 유지보수기간이 몇 배는 길다고 생각합니다. 현재를 바라보는 단순한 개.. 2023. 6. 17.
Oracle 조인 방식(NLJ, SMJ, HJ) Oralce 조인에는 inner join, outer join과 같은 SQL 작성에 사용하는 조인을 떠올리기 쉽지만 이번 주제는 oracle의 optimizer가 어떤방식으로 조인을 실행을 하는지 다루어보겠습니다. SQL 조인 구문을 작성하더라도 조인 방식에 대해 알고 있다면 조금 더 좋은 query를 작성할 수 있다고 생각합니다. 1. Nested Loop Join 순차적 루프에 의한 접근 방식 Nested Loop Join(NL 조인)은 가장 흔하게 접할 수 있는 오라클 조인 방식입니다. OLTP(Online Transaction Processing) 쿼리에서 가장 일반적이고 흔한 조인 방식입니다. 소량의 데이터를 처리하거나 부분범위 처리에 적합합니다. NL 조인의 방식은 For문을 중첩으로 사용해 .. 2023. 4. 8.
tsconfig.json이 하는 역할 typescript로 프로젝트를 진행하면서 '도대체 내가 뭘 하고 있는지 모르겠다'는 생각이 들기 시작했습니다. 여러가지 설정이 있는데 공식 사이트에서 해주는 가이드대로 하기 바빴고 실제로 tsconfig.json 파일이 하는 역할을 제대로 알지 못했습니다. 그래서 tsconfig.json 파일이 어떤 역할을 하는지 알아보게 되었습니다. 일단 tsconfig.json을 만들지 않아도 tsc를 그냥 사용할 수 있습니다. tsc를 통해서 원하는 .ts파일을 .js로 컴파일 할 수 있습니다. $ tsc hello.ts 위와 같이 실행 시 동일한 위치에 hello.js 파일이 생성된 것을 확인 할 수 있고 tsc는 tsconfig.json 파일 없이도 바로 사용할 수 있다. 그러면 왜 tsconfig.json을.. 2023. 2. 25.
Javascript에서 Microtask에 대해서 설명하여 보세요. 면접관 : Javascript에서 Microtask에 대해서 설명하여 보세요. 면접자 : 비동기 작업을 처리하려면 관리가 필요한데 EMCA에서는 PromiseJobs라는 내부 큐를 명시합니다. V8 엔진에서는 이를 V8 엔진에선 이를 '마이크로태스크 큐(microtask queue)'라고 부릅니다. 마이크로태스크 큐는 먼저 들어온 작업을 먼저 실행합니다(FIFO, first-in-first-out) 실행할 것이 아무것도 남아있지 않을 때만(call stack이 비어있을 때) 마이크로태스크 큐에 있는 작업이 실행되기 시작합니다. 실제로 코드가 실행되면서 일반적인 함수들은 콜스택에 쌓이게 되고 마이크로태스크는 마이크로태스크 큐에, 매크로태스크는 매크로태스크 큐에 쌓이게 됩니다. 이벤트루프가 주기적으로 돌면서.. 2023. 2. 11.
JAVA EE란? 자바를 이용한 서버 개발 플랫폼으로 한 때 엔터프라이즈 자바 기술을 선도하며 막강한 영향력을 발휘했지만 기술 변화와 시장 요구에 제때 대응하지 못하면서 현재는 명맥만 유지하는 암울한 상황에 처해 있습니다. 그럼에도 불구하고 자바EE는 가장 성공적인 상업용 표준 플랫폼의 하나이며 대부분의 웹 애플리케이션 서비스를 위한 미들웨어 기술로 꾸준히 사용되고 있습니다. 2018년 자바EE는 자카르타(Jakarta)EE로 명칭을 바꾸고 새로운 변화에 나섰습니다. Java EE(Java Platform, Enterprise Edition) 자바EE는 1999년 썬 마이크로시스템즈가 J2EE(Java 2 Enterprise Edition) 명으로 발표한 분산 애플리케이션 개발 목적의 산업 표준 플랫폼입니다. 기업용 애플.. 2023. 1. 28.