목차1. ThreadLocal 특징2. ThreadLocal 주요 메서드3. ThreadLocal 예제 코드 4. ThreadLocal 실무 주의 사항5. 주의 사항 문제 해결 ThreadLocal은 무엇인가? 우선 Thread(스레드)는 프로세스 내에서 실행되는 흐름의 단위를 뜻합니다.즉, 하나의 프로세스 내에서 동작하는 여러 실행 흐름 중 하나인 것입니다. ThreadLocal의 뜻은 "스레드 별로 독립적인 데이터를 관리하기 위한 클래스"라고 말할 수 있습니다.이것을 풀어 해석하면, 각 Thread마다 별도의 데이터 저장 공간을 가지며, 한 Thread에서 저장한 데이터는 다른 Thread에서 접근할 수 없는 것입니다. ThreadLocal의 특징 ..
npm : Node Package Manager Node.js의 기본 패키지 관리자로, Node.js 생태계와의 원활한 통합과 광범위한 패키지 레지스트리로 유명합니다. Node.js 프로젝트에서 코드 종속성을 설치, 관리 및 공유하는 프로세스를 단순화하기 위해 만들어졌습니다. 200만 개가 넘는 패키지의 방대한 저장소를 제공합니다. 장점 빠른 업데이트 속도를 가지고 있어 최신 기능을 빠르게 활용할 수 있습니다. 개발자는 Npm run 명령을 사용하여 실행할 수 있는 "package.json" 파일에 사용자 정의 스크립트를 정의할 수 있습니다. 이 기능을 사용하면 빌드, 테스트, 배포 등 다양한 개발 작업을 자동화하여 개발 workflow를 간소화 할 수 있습니다. 패키지, 스크립트 및 구성을 관리하기 위..
작성하게 된 계기 나는 서버 백엔드 개발자이다.이번에 실무 개발을 하면서 유튜브의 쇼츠, 유튜브의 릴스처럼 짧은 영상을 넘기기(Swipe)를 하는 프론트단 기능구현을 하게 되었다. 웹 앱으로 만들게 되었고 웹, 갤럭시에서 봤을 때는 문제가 없었지만 특이하게 아이폰에서 기능 동작을 테스트하는데몇 번 넘기기(Swipe)를 하고 나서 기능 작동 멈춤과 동시에 새로 고침도 안되는 먹통 현상이 일어 났다. 웹(Chrome) 에 와서 개발자 도구에 성능을 테스트 하게 되었는데 JS Heap, Node, Listener들이 떨이지지 않고 꾸준하게 올라가는 것을 볼 수 있었다.아무리 무지한 사람이라도 "어?!, 이거 계속 올라가서 문제 있는 것 같은데?" 라고 생각한 그래프 였다. 그래서 어떤 형식으로 해결하게 되었는..
개발 환경 Spring Boot 3.2.4 JAVA 17 MacOS Postman v10.22 해당 블로그 코드들은 GitHub에 남겨져 있습니다. ArgumentResolver를 사용하는 이유 컨트롤러에서 매개변수로 사용되는 인자에 대해 공통적으로 처리해야할 로직등이 있을 경우, 중복 코드를 줄이고 공통 기능으로 추출하여 사용하려고 쓴다. 그래서 컨트롤러(핸들러)가 필요로 하는 다양한 파라미터의 값(객체)을 생성할 수 있다. 즉, 커스텀해서 내가 원하는 파라미터(객체)로 변경해서 컨트롤러에서 편하게 사용할 수 있다는 것이다. Tip) Resolver에서 처리할 수 있는 파라미터 목록들 https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-c..
문제 자연수 N과 M이 주어졌을 때, 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 출처 : https://www.acmicpc.net/problem/15649 15649번: N과 M (1)한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해www.acmicpc.net 이 문제는 백트래킹의 기초문제입니다.BFS, DFS는 잘 모른다면 구글에 "백트래킹 알고리즘" or "BFS 알고리즘" 을 검색하여 아 이런거구나 정도이해를 하고 오시면 될 것 같습니다. 입, 출력 입력은 첫째 줄에 ..
문제 재귀적인 패턴으로 별을 찍자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N x N 정사각형 모양이다.크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 간에 별이 하나씩 있는 패턴이다.**** ****N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3) x (N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 출처 : https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있..
개발 환경 Spring Boot 2.5.1JAVA 11 먼저 성공하는 것을 알려주고 에러, 바인딩 실패하는 사례도 보여주겠습니다. 작성하는 이유 우린 데이터를 Front → Back 으로 보낼 때 json형식의 String만 보내는 것이 아닌 데이터 + 첨부파일을 함께 전송할 때가 많다.. 그것도 여러 데이터 + 여러 첨부파일.. 태그를 이용하여 서버로 전송하면 좋겠지만 클라이언트(Front) 단에서는 ajax, Fetch에서 FormData 라는 객체를 생성하여 데이터를 보낸다. 그래서 서버가 그 데이터를 받을 때 여러 시도 하지 말라고 작성하게 되었다. 코드 index.htmlajax와 bootstrap은 cdn으로 넣어서 ..
개발 환경 Spring Boot 3.1.8JAVA 17PostgreSQL 16.1Docker 24.0.7 사전 준비 도커로 PostgreSQL 서버를 띄우고 동작해야지 Spring과 PostgreSQL을 연동할 수 있습니다.이전 글인 [개발환경] MacOS 도커로 PostgreSQL DB 실행하기 을 보고 오면 아래와 같은 환경설정이 됩니다. Database : postgresUsername : postgrespassword : 0000 내가 만난 에러 목록들 제가 적용하면서 만났던 오류들 입니다. 본 글을 읽을라면 아래로 내려가주시고같은 오류가 발생하면 다시올라와 해당 오류의 글을 읽고 처리해 주시면 됩니다. 에러a. (PSQLException) FATAL: password au..
개발 환경 Spring Boot 3.2.2 JAVA 17 ES6 MacOS Postman v10.22 해당 블로그 코드들은 GitHub에 남겨져 있습니다. 작성하게된 이유 데이터 유효성 검사를 Front단 에만 쳐 내는 것이 아닌 Back단 에서도 유효성 검사를 해서 막아야합니다. 근데 실무에서는 관리자만 사용하는 웹 어플리케이션 ( CMS 라 칭함 )을 만들었기 때문에 사용자가 악용할 일이 없어서 배제해 왔지만 플랫폼처럼 서비스 하기 위해서는 이제는 Back단에서도 유효성 검사를 해야겠다고 생각했습니다. 또한, 클라이언트에서 언제든지 데이터 값을 변경하여 백엔드에게 전송할 수 있기 때문에 필수적으로 Validation을 알아야한다고 생각했습니다. 조건 이름, 휴대폰 번호, 이메일은 필수 값입니다. 휴대..
0. 사전 작업 Git을 설치 해오기 바랍니다. (필자 git version : 2.39.2) GitHub에 Respository를 public으로 만들고 오기 바랍니다. 1. 작업 공간 이동 내가 넣을 프로젝트의 상위 폴더로 이동해주세요 명령어 예시 # cd 폴더1/폴더2 cd study/projects 2. Git 작업 $ git init : 깃 생성 $ git remote add origin [깃허브 respotitory 주소] : 원격 저장소 추가 $ git status : 현재 깃 생성, 수정, 삭제등 어떠한 상태인지 보기 $ git add . : 변경된 파일들이 커밋될 대상으로 지정된다. $ git commit -m "커밋 로그" : 커밋 메시지 추가 $ git remote -v : 현재 설정..
- Total
- Today
- Yesterday
- 오라클
- 프론트
- 프로세스
- 네트워크
- JavaScript
- 디자인패턴
- Cors
- Spring Security
- Front
- java
- 자바스크립트
- DBeaver
- 개발블로그
- 데이터 베이스
- 개발자
- Mac
- 비동기
- aws
- git
- spring
- 개발
- 코딩테스트
- AJAX
- Fetch
- 개발환경
- 템플릿
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |