이 포스트는 인프콘 2024 조영호님의 발포 "객체지향은 여전히 유효한가?" 를 보고 작성한 포스트입니다. 🐳 객체지향은 여전히 유효한가 ?함수형 프로그래밍, 절차지향, 객체지향, 멀티 패러다임 등 여러 프로그래밍 패러다임이 성행하고 있다.그렇다면 아직도 객체지향은 유효할까 ?이 질문에 대해 발표자 조영호 님은 객체지향이 "여전히" 유효한가 보다 "언제" 유효한가에 대해서 고민하는 것이 옳지 않을까라는 대답을 해주셨다.공학에 은탄환은 없기에 선택한 기술의 장단점을 알고 현재 상황에 필요한 것을 올바르게 선택하는 능력이 중요하다는 것이다. 그렇다면 객체지향과 절차지향은 언제 선택하는 것이 좋을까 ? 🐳 객체지향과 절차지향의 차이객체지향의 큰 특징으로 캡슐화와 다형성을 꼽을 수 있을 것이다. 먼저 ..
ASCII Code 7bit 코드 체계 숫자 하나를 문자 하나에 대입한 것 7bit이기 때문에 나타낼 수 있는 문자가 최대 128개임 Laitn어 권에서는 알파뱃,숫자,특수기호를 다 나타내는데 128개면 충분했기 때문에 ASCII를 사용하게 됨 UNICODE 컴퓨터가 세계화 되면서 다양한 문자 체계를 표현하기에 7bit는 모자르게 됨 ( 심지어 중국의 한자는 10만 개가 넘음 ... ) 다양한 문자들을 표현하기 위해 16bit 기반의 UNICODE를 만들게 됨 그 중에서 한글은 조합형, 완성형 두 가지 코드체계를 두고 갑론을박이 있었으나 현재는 완성형이 주류가 됨 조합형 : ㅈㅗㅎㅏㅂㅎㅕㅇ과 같이 자음 + 모음 형식으로 코드를 표현함 완성형 : 완 성 형 과 같이 한 개의 글자를 하나의 숫자에 대입함 ..
🐳 PUT 메소드와 PATCH 메소드의 차이 PUT 메소드는 저장돼 있는 리소스 전체를 대체하고 PATCH는 일부 필드만을 대체한다. PUT은 폴더에 파일을 옮기는 거라고 생각하면 편하다 ! - 김영한님이 HTTP 강좌에서 사용한 비유다 파일이 폴더 내에 없다면 파일이 새로 생기지만 이미 있는 경우 파일을 덮어버린다 ! PATCH는 파일을 열어 내용을 수정하는 것이라고 생각하면 편하다 import { BaseTimeEntity } from 'src/BaseTimeEntity'; import { Column, Entity } from 'typeorm'; @Entity() export class User extends BaseTimeEntity { @Column() username: string; @Colu..
🐳 Docker ? 사전적 의미로는 항구에서 일하는 사람을 말한다. 그렇다면 왜 이런 단어를 사용했을까? Docker를 이해하기 위해서는 먼저 그 등장 배경을 이해해야 한다. 과거의 개발자들은 협업을 하는데 어려움을 겪었다. 서로 다른 컴퓨터에서 작업하기 때문에 버전, OS 등이 다르기 때문에 발생하는 다양한 문제들이 있었기 때문이다. 이러한 문제를 해결하기 위해 등장한 것이 "가상 환경"이다. 가상 환경은 OS 수준의 추상화를 통해 한 개의 컴퓨터에서 여러 OS 를 실행할 수 있게 해주었다. 이를 통해 협업을 하려는 개발자들은 동일한 환경을 구축할 수 있게 되었다. 하지만 이러한 가상환경은 새로운 문제를 야기했다. 가상환경은 OS 수준의 가상화를 하기 때문에 무겁다는 단점이 있었다. OS 자체가 무겁기..
이 포스팅은 로버트 C. 마틴 의 "Clean Code" 라는 책을 요약한 내용입니다. 🐳 명명법은 왜 중요할까 ? 클린 코드는 하나의 정답이 존재하는 것이 아니다. 굵직한 개발자들도 정의하는 방법이 다양하다. 하지만 모두가 추구하는 바는 비슷하다. 바로 가독성이다. 그것을 어떻게 표현하는지에 따라 단어선택의 차이점이 있을 뿐이다. 이러한 측면에서 명명법은 중요하다고 볼 수 있다. 변수/메소드/클래스 등이 어떤 일을 하는지 명료하게 확인할 수 있기 때문이다. 그렇다면 "Clean Code"에서 소개하는 명명법에 대해 알아보자 🐳 명명법 1. 의도를 분명히 밝혀라 2. 그릇된 정보를 피하라 3. 검색하기 쉬운 이름을 사용하라 4. 클래스 이름은 명사로 메소드 이름은 동사를 사용하라 5. 기발한 이름을 사용..