일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 성능최적화
- 어노테이션
- js
- 인터셉터
- 가비지 컬렉션
- 앱출시
- 스프링 빈
- 자바스크립트
- 캐싱
- 인텔리제이 플러그인
- 개발자
- 인텔리제이
- javascript
- IntelliJ
- JPA
- 신입면접
- 카카오로그인
- 스프링
- 개발
- 개발자 면접
- SpringBoot
- annotation
- 스프링부트
- Java
- 원격인터뷰
- 자바
- 비전공자
- spring
- 가비지 컬렉터
- jvm
- Today
- Total
목록전체 글 (40)
우당탕탕
오늘은 최근 지인들에게 많은 질문을 받고 있는 성능 최적화와 스케일링 전략에 대해 적어보려고 한다. 성능 최적화와 스케일링은 백엔드 개발에서 핵심적인 요소이다. 서비스의 성공 여부와 직결되는 이슈이기 때문에 꾸준한 최적화와 효율적인 스케일링 전략은 선택이 아닌 필수이다. 성능 최적화 전략 1. 캐싱 캐싱이란 반복적으로 사용되는 데이터나 계산 결과를 메모리에 저장하여 빠르게 액세스 할 수 있도록 하는 기법이다. 데이터베이스에 접근하는 데 시간이 많이 걸리는 작업일 경우, 캐싱을 사용하여 빈번하게 사용되는 데이터를 빠르게 가져올 수 있다. 예시로 Redis와 같은 인메모리 캐시 솔루션을 활용하여 조회 속도를 크게 향상 시킬 수 있다. 캐싱의 종류로는 아래와 같다. 1-1. 지역캐싱 (Local Caching..
마이크로서비스 아키텍처(MSA)는 작고 독립적인 서비스들의 집합으로 구성된 애플리케이션 구조이다 이번 포스팅에서는 마이크로서비스 아키텍처(Microservice Architecture)와 모놀리식 아키텍처(Monolithic Architecture)의 장단점을 비교하고, 각각 어떤 상황에서 각각이 적합한지에 대해 알아보겠다. 모놀리식 아키텍처 (Monolithic Architecture) 모놀리식 아키텍처는 전통적인 개발 방식으로 하나의 프로젝트에 모든 기능을 함께 포함한다. 이렇게 하면 코드 베이스가 커질수록 개발 및 배포에 복잡성이 증가한다. 아래는 모놀리식 아키텍처의 예시이다. 모놀리식 아키텍처의 경우 위의 그림과 같이 모듈단위로 쪼개는 것이 아닌 하나의 프로젝트로 전체 애플리케이션을 묶어서 개발하..
java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String 소셜로그인을 개발 중에 JSONObject에서 받아온 데이터를 1번 방법으로 String으로 변환하는 과정에서 오류가 났다. 아래의 2번 방식인 String.valueOf를 사용하여 해결한다. 1. (String) public String type() { return (String) jo.get("id"); } 2. String.valueOf(); public String type() { return String.valueOf(jo.get("id")); }
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException Spring boot 2.6 이후의 버전에서 matching-strategy의 값이 ant_path_matcher에서 path_pattern_parser로 변경되었다. 이러한 과정에서 오류가 발생하고 있는 것이었다. 해결방법으로는 application.yaml 파일에서는 spring: mvc: pathmatch: matching-strategy: ant_path_matcher application.propertie..
static변수와 메모리에 대해 1. static 키워드 자바를 사용하다 보면 static 키워드가 붙은 함수나 변수를 만들어 본 적이 있을 것이다. 오늘은 이 static 키워드를 메모리 관점에서 얘기해보려 한다. 일반적으로 아래와 같은 코드처럼 new를 사용하여 생성한 객체는 메모리의 Heap 영역에 생성되며, static 키워드로 만들어진 변수는 static 영역에 할당된다. static 키워드를 사용하게 되면 메모리에 처음 한번 생성되며, 프로그램이 종료될 때 사라지게 된다. ( 우리가 만드는 class들도 static영역에 한번 생성된다 ) public class Something { public static String some(){ return ""; } } Something somethin..
IntelliJ Plugin 오늘은 내가 쓰고 있는 IntelliJ의 플러그인들에 대해 추천해보려 한다. ( 나중에 나도 다시 환경설정을 할때 다운로드하기 위해.. ) 아래 추천하는 플러그인들 중에서 유용하다고 생각하는 것들만 다운로드하여서 써보면 좋을 거 같다. 1. CodeGlance Pro 개발을 하다 보면 마우스 휠이나 터치패드로 내리기 귀찮을 정도로 긴 코드를 볼 때가 존재한다. 이럴 때 이 플러그인을 사용하게 되면 아래 사진의 화살표와 같이 코드를 축약해서 보여준다. 마우스로 클릭 한 번이면 해당 위치로 이동이 가능하게 된다. 가끔 프로젝트를 하다 보면 엄청 긴 코드를 보게 되는데 이때 유용하게 사용하고 있다. 2. GitToolBox 이 플러그인은 인텔리제이 왼쪽 프로젝트 창에서 현재 브랜치..