| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- Programming
- REDIS
- CSS
- servlet
- 웹개발
- 웹개발자
- SpringFramework
- MVC패턴
- react
- jsp
- two pointers
- MVC
- MSA
- mysql
- DB
- 웹개발기초
- sql
- Java
- job
- coding test
- html
- 데이터베이스
- spring boot
- vite
- 밤비노
- Doit알고리즘코딩테스트
- 자바
- BCIT
- Bambino
- Spring MVC
- Today
- Total
목록CS : Computer Science (25)
초보 개발자의 기록
객체지향 프로그래민(OOP)를 배우다보면 꼭 등장하는 개념은 SOLID SOLID는 다섯 가지 객페지향 설계 원칙의 앞 글자를 따온 약어로, 유지보수성과 확장성이 뛰어난 코드를 작성하기 위한 핵심 철학을 담고 있음 1. 단일 책임 원칙 (SRP: Single Responsibility Principle)하나의 클래스는 하나의 책임만 가져야 한다즉, 하나의 클래스는 한 가지 일만 해야 한다는 원칙클래스가 여러 책임을 동시에 가지면 변경 사유가 여러 개가 되고, 결국 유지보수가 어려워짐// 단일 책임 원칙 위반public class UserService { public void registerUser(User user) { // 사용자 등록 로직 } public void send..
Java 프로젝트 진행하다 보면 반복적으로 작성해야 하는 코드가 많음.예를 들어, 필드의 Getter/Setter, 생성자, toString() 같은 메서드는 거의 모든 클래스에서 쓰이지만 매번 작성하기 귀찮음.이때 Lombok을 사용하면 이런 반복 코드를 자동으로 만들어줘서 개발 효율을 크게 높일 수 있음LombokLombok은 자바에서 반복 코드를 줄여주는 라이브러리클래스에 @Getter를 붙이면 필드들의 get…() 메서드를 자동 생성해주고, @Setter는 set…() 메서드를 만들어줌@NoArgsConstructor, @AllArgsConstructor를 쓰면 기본 생성자와 모든 필드를 포함한 생성자를 쉽게 만들 수 있음@RequiredArgsConstructor는 final이나 @NonNull..
테스트가 필요한 이유버그?버그(Bug): 소프트웨어가 예상하지 못한 결과를 내는 것원인: 소스 코드 오류, 설계 오류즉, 테스트 코드를 작성한다는 것은 소프트웨어가 예상한 대로 동작하는지 확인하는 과정 버그가 얼마나 안 좋을까?주문 기능이 동작하지 않는 이커머스 사이트10만 원 결제가 100만 원으로 잘못 처리된 상황서비스가 피크 시간에 다운되는 경우버그가 많은데 개인정보는 잘 지킬까?라는 사용자 불신버그는 사용자 경험과 회사 신뢰도에 직접적인 악영향을 줌 테스트 방법블랙박스 테스팅내부 코드 구조를 모르는 상태에서, 사용자 입장에서 기능이 잘 동작하는지 확인장점: 누구나 테스트 가능 (개발자, 디자이너, QA)단점: 기능이 늘어날수록 테스트 범위도 커짐, 테스트 품질이 사람마다 달라짐개발자 테스트 (테..
웹 개발을 하다 보면 항상 마주치는 HTTP(HyperText Transfer Protocol), 오늘은 HTTP가 무엇인지, 그리고 브라우저와 서버가 데이터를 주고받는 과정 알아보기 HTTPHTTP는 컴퓨터끼리 데이터를 주고받는 규칙(통신 규약) 중 하나전 세계에서 가장 널리 쓰이는 통신 규약웹 브라우저가 서버와 소통할 때 기본적으로 사용하는 프로토콜즉, 사람끼리 말을 할 때 서로 같은 언어를 써야 이해가 되는것처럼, 컴퓨터도 정해진 규칙에 따라 통신해야 함 HTTP 동작 원리Http에서는 항상 Request와 Response가 존재브라우저가 서버에게 원하는 페이지(URL)를 요청(Request)서버가 요청한 페이지가 있다면 데이터를 담아 응답(Response)브라우저는 서버가 보내준 데이터를 이용해 ..
Postman 소개Postman은 API개발과 테스트를 빠르고 쉽게 할 수 있는 도구GET, POST 등 HTTP요청을 시뮬레이션 간으서버에서 반환되는 응답을 바로 확인API 개발자에게 필수적인 테스트 툴즉, Postman은 API와 서버가 약속대로 잘 통신하는지 확인하는 검증 도구 API 테스트Spring Boot 프로젝트에서 간단하게 Hello World API 만들어보기@RestControllerpublic class HelloController { @GetMapping("/hello") public String hello() { return "Hello World!"; }}/hello 엔드포인트로 GET 요청을 보내면 "Hello World!"문자열을 반환함Spring..
Spring 프레임워크의 역사Spring 프레임워크는 2004년에 1.0이 등장한 이후 20년 가까이 업그레이드 해온 현재는 Spring 6.0이 등장한 아주 오래되고 강력한 프레임워크Spring은 다음과 같은 기능을 제공하여 대규모 엔터프라이즈 개발을 편리하게 만듬DI(Dependency Injection):객체 생성과 의존성 주입을 자동화AOP(Aspect-Oriented Programming): 로길, 트랜잭션 등 공통 관심사를 모듈화 Spring 프레임워크의 문제점복잡한 XML 설정 파일외부 라이브러리 의존성 관리의 어려움서버 배포 과정의 번거로움즉, Spring은 강력하지만 설정과 환경 구성이 번거로운 프레임워크였음 Spring Boot의 등장Spring Boot는 위 문제를 해결하기 위해 등..
Web Server(웹 서버) vs Web Application Server(WAS)웹 서버와 WAS는 모두 클라이언트 요청을 처리하지만, 역할과 처리 범위가 다름웹 서버(Web Server)브라우저에서 URL을 입력하여 어떠한 페이지를 요청했을 때 HTTP의 요청을 받아들여 정적 리소스(HTML, CSS, JS, 이미지 등)를 제공브라우저가 요청한 정적인 콘텐츠를 그대로 전달예) Apache HTTP Server, NginxWAS(Web Application Server)웹 서버와 똑같이 HTTP 기반으로 동작됨웹 서버에서 할 수 있는 기능 대부분을 WAS에서도 처리할 수 있음 동적 리소스(사용자 요청에 따라 실행되는 비즈니스 로직)를 처리웹 서버의 기능을 모두 수행하면서, 서버에서 코드를 실행하고 데..
웹서버웹 서버는 인터넷을 통해 HTTP를 이용하여 웹상의 클라이언트의 요청을 응답해주는 통신을 하는 일종의 컴퓨터. 오늘날 우리가 자주 사용하는 이메일이나 SNS 등 대부분의 서비스는 웹 서버를 통해 우리가 사용할 수 있게됨. 웹 서버의 기본 동작 원리사용자가 브라우저에서 www.example.com 을 입력하면, 요청이 서버로 전달되고 서버는 해당하는 HTML, CSS, JS파일을 돌려줌. 즉, 웹서버는 정적인 리소스(차일)를 클라이언트에 제공하는 역할을 함대표적인 웹 서버: Apache, Nginx 브라우저를 통해 HTTP Request로 웹 사이트를 웹서버에 요청이후 웹서버는 요청을 승인하고 HTTP Response를 통해 웹사이트 데이터를 브라우저에 전송마지막으로 브라우저는 서버에서 받아온 데이..
네트워크(Network)여러 대의 컴퓨터나 장비가 서로 연결되어 정보를 주고받을 수 있게 해주는 기술컴퓨터, 라우터, 스위치, 허브 같은 장비들이 각각 역할을 수행데이터를 주고받으려면 IP 주소, 서브넷 마스크, 게이트웨이 등의 설정 필요이런 정보들을 기반으로 네트워크 프로토콜을 사용해 통신즉, 네트워크는 집, 회사, 전 세계를 이어주는 정보의 도로망 개발자가 네트워크를 알아야하는 이유서버 개발자는 사용자의 요청을 받고, 그에 맞는 응답을 돌려주는 프로그램을 만듦그런데 요청이 어떻게 서버에 도착하는지, 그리고 어떻게 다시 사용자에게 응답이 돌아가는지 이해하지 못한다면 개발 과정에서 어려움을 겪음즉, 네트워크 흐름을 이해하면 서버 개발이 훨씬 수월해짐 클라이언트와 서버네트워크에서 자주 등장하는 두 가지 개..