본문 바로가기

분류 전체보기127

[TIL] 객체 지향 설계 5원칙 (SOLID) 🧐 SOLID 객체 지향 프로그래밍 밑 설계의 다섯 가지 핵심 원칙의 맨 앞단어를 하나씩 가져와 만든 것이다. SOLID의 종류 단일 책임의 원칙 (Single Responsibility Principle, SRP) 개방-폐쇄 원칙 (Open-Closed Principle, OCP) 리스코프 치환 원칙 (Liskov Substitution Principle, LSP) 인터페이스 분리 원칙 (Interface Segregation Principle, ISP) 의존성 역전 원칙 (Dependency Inversion Principle, DIP) 1️⃣ 단일 책임의 원칙 하나의 객체는 단 하나의 책임을 가져야한다.즉, 클래스나 모듈을 변경할 이유가 단 하나 뿐이어야 한다는 원칙이다. 2️⃣ 개방-폐쇄 원칙 개.. 2024. 2. 19.
[TIL] 객체지향 프로그래밍 🧐 객체지향이란? 객체 지향은 소프트웨어 개발에서 주요 구성 요소를 기능이 아닌 객체(Object)로 삼으며 어떤 객체가 어떤 일을 할 것인가에 초점을 맞춘다. 책임과 권한을 가진 객체들이 서로 메시지를 주고 받아 협력하여 필요한 기능을 수행하는 방법론이다. 그렇기에 복잡한 시스템도 효과적으로 분해하고 구성하며 개발자 손쉽게 이해하고 효율적으로 관리할 수 있게 도와준다. 🧐 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 프로그래밍 패러다임은 프로그래밍의 방식이나 관점을 바탕으로 효율적이고 명확한 코드를 작성하는 방법을 나타낸다. 대표적인 세가지 프로그래밍 패러다임 구조적 프로그래밍(Structure Programming) 객체 지향 프로그래밍 (Object-Orient.. 2024. 2. 16.
[TIL] 편메추 프로젝트 마무리 및 회고 📌 프로젝트를 마무리 뉴스피드 팀프로젝트가 오늘로써 끝이 났다. 아쉬움이 많았지만, 많은 것을 공부 할 수 있었고 결과도 좋아서 나름 괜찮았던 프로젝트였다. 🥳펜메추 깃허브 📹 시연 영상 📌 회고 및 느낀점 프로젝트를 끝내고 가장 먼저 느낀것은 '공부해야하는 것이 끝도 없구나'라는 생각이었다. 필수 구현 API는 나름 빠르게 진행되었지만, 여러 유효성 검사와 이래 저래 변동되는 스키마 등 많은 이유로 시간이 조금 지체되었다. 또한 혼자 작업하는 것이 아니기에 변동 사항에 대해서 소통이 잘 이루어져야했는데 그 부분에서 정말 미흡했던것 같다. 하지만 과정 중에 팀원들의 많은 피드백과 요청들과 항상 퇴실 전에 회의를 통해 더욱 소통할 수 있게 시간을 만들어서 조금씩 좋은 방향으로 흘러가게 되었다. 내가 구현한.. 2024. 2. 15.
[TIL] bcrypt.hash와 bcrypt.compare 🧐 bcrypt.hash 우리가 기본적인 회원 가입을 진행할때, 비빌 번호와 같은 정보는 민감하기 때문에 유출에 더욱 신경을 써야한다. 혹여나, 유출이 되었더라도 비밀 번호를 해독하지 못하는 형태로 변형 시켜 데이터베이스에 저장해 주어야 한다. 이러한 작업을 해싱이라하는데, 특정 알고리즘을 통해 인간이 해독하지 못하는 문자열로 만들어주는 작업이다. 해싱은 특징은, 단방향이다. 원래대로 다시 되돌리는 것이 불가능하다. 어떠한 특정한 문자열을 해쉬 문자열로 변형은 가능하지만, 해쉬 문자열을 특정 문자열로 되돌리는 것은 불가능하다 동일한 값에 동일한 출력값을 가진다. 어떠한 특정 문자열을 계속 여러번 해쉬를 해봐도 동일한 값을 출력한다. . 특정 문자열이 조금만 바뀌어도 전혀 다른 값의 결과를 출력한다. 특정.. 2024. 2. 15.