일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 항해99
- JPA
- 클라우드 컴퓨팅
- 개발자취준
- 취리코
- jsp
- 개발자취업
- DB
- Queue
- 자바의정석
- spring
- Algorithm
- python
- 암호학
- 생성자
- Java
- 알고리즘
- data structure
- 가상컴퓨팅
- dfs
- sql
- dbms
- BFS
- generic class
- 자료구조
- 코테
- 공개키 암호화
- javascript
- 크루스칼
- 코딩테스트
- Today
- Total
목록개발 공부 (72)
PLOD
캐싱(Caching)캐시는 데이터나 연산 결과를 임시로 저장하여 나중에 동일한 요청에 빠르게 응답할 수 있는 메모리 또는 저장공간을 의미한다.대규모 트래픽 처리에서 캐시는 반복적으로 요청되는 데이터나 연산을 캐싱하여 서버의 부하를 감소시키고 응답시간을 단축시킨다. → 효율적인 자원 활용 + 높은 확장성 , 높은 성능 제공 RedisRemote Dictionary Storage모든 데이터를 메모리에 저장하고 조회하는 in-memory DBkey-value 구조의 데이터 관리 시스템No-SQL실시간 처리가 요구되는 응용 프로그램에서 사용Redis 장점빠른 I/O 처리레디스는 데이터를 메모리에 저장하여 빠른 읽기와 쓰기 작업을 가능하게 한다캐싱, 세션 저장, 실시간 분석등에서 높은 처리 속도가 요구 되는 ..
MSA작고 독립적으로 배포 가능한 각각의 기능을 하는 서비스들로 구성된 아키텍쳐모놀리식 서비스에서 각각의 비즈니스 로직을 분리하여 개별 프로젝트로 생성한 뒤 가장 앞단에 API Gateway와 같은 분배기를 통해 각 서비스 서버에 요청을 분산하여 관리 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 자향 아키텍쳐서비스는 기능별로 구분서비스의 교체가 쉽다각 서비스의 최적인 개발언어 DB, HW , 소프트웨어 환경을 사용하여 구현각 서비스는 독립적인 배포가 가능MSA 장단점장점서비스별 스케일링 가능서비스별 다른 프레임워크 사용 가능 (서비스 별 독자적 운영)하나의 서비스가 off 되더라도 나머지 동작 가능부분적으로 로직 업데이트 가능단점초기 구성의 난이도시스템이 돌아가지만 특정 서비스가 o..
@PathVariable경로 변수를 표시하기 위해 메서드에 매개변수에 사용된다경로 변수는 중괄호 {id}로 둘러싸인 값을 나타낸다URL 경로에서 변수 값을 추출하여 매개변수에 할당한다경로변수는 값을 반드시 가져야 한다 → 값이 없으면 404에러 출력주로 상세 페이지, 수정, 삭제와 같은 작업에서 리소스 식별자로 사용된다서버에 보내려는 데이터를 URL 경로에 표시할 수 있다. // GET http://localhost:8080/hello/request/star/Robbie/age/95@Controller@RequestMapping("/hello/request")public class RequestController { @GetMapping("/star/{name}/age/{age}") @Resp..
기존에 Controller 클래스에만 의존하여 모든 기능을 처리하도록 한다면 문제가 발생할 수 있다. 한 개의 클래스에 너무 많은 양의 코드가 존재하기 때문에 코드를 이해하기 어려움 → 가독성 떨어짐현업에서는 코드의 추가 혹은 변경 요청이 계속 생길 수 있다.문제가 발생했는데 해당 Controller 클래스를 구현한 개발자가 퇴사한다면? → 유지보수성 떨어짐 이러한 문제점들을 해결하기 위해 서버 개발자들은 서버에서의 처리과정이 대부분 비슷하다는 걸 깨닫고, 처리 과정을 크게 Controller, Service, Repository 3개로 분리하였다. Web Layer흔히 사용하는 Controller와 JSP / freemaker 와 같은 view 템플릿 영역이다Filter,Intercepter,Con..
인증과 인가인증(Authentication)인증은 해당 유저가 실제 유저인지 인증하는 개념해당 리소스에 대해서 작업을 수행할 수 있는 주체인지 확인하는 것인가(Authorization)해당 유저가 특정 리소스에 접근이 가능한 지 허가를 확인하는 개념인증 과정 이후에 일어나는 확인 과정filterFilter란 Web 애플리케이션에서 관리되는 영역으로 Client로 부터 오는 요청과 응답에 대해 최초/최종 단계의 위치이며 이를 통해 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가할 수 있다주로 범용적으로 처리해야 하는 작업들(ex. 인증 , 인가와 같은 보안처리)에 활용로직을 비즈니스 로직과 분리하여 관리 할 수 있다는 장점Spring SecurityFilter chain Spring에서 모든 호출은 ..
개발자 취업 준비를 하면서, 코딩테스트를 보게 되는 순간들이 있는데, 간혹가다 Java로 언어가 제한되는 곳이 있다.(ex. 현대 오토에버 특정 직무). 낭패를 보지 않으려면 자바 감이 떨어지지 않게 준비를 항시 해야 될 거 같다. IntegerInteger.parseInt() 이 메소드는 문자열을 기본형 정수 (primitive type int)로 리턴한다. 문자열이 유효한 숫자를 포함하지 않는다면 NumberFormatException이 쓰로우 된다. 그렇기 때문에 문자열을 int로 바꿀때에는 항상 try-catch문으로 코드를 감싸서 이 익셉션을 처리해야 한다. Integer.parseInt() 를 써서 문자열을 int로 바꾸는 이 예시를 보자.https://school.programmers.co...