일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 단지번호붙이기
- Spring
- 파이썬스럽게
- JWT
- addAttribute
- major gc
- minmax
- SWEA
- 화살표함수
- Arecode
- 파이썬컨벤션
- heapq
- 우선순위큐
- pep8
- 미로탈출
- 2178
- MSSQL
- dfs
- WebMvcConfigurer
- React
- BFS
- 2606
- setviewname
- 2667
- 백준
- __name__
- 미로탐색
- 삼성소프트웨어
- 이코테
- 음료수얼려먹기
- Today
- Total
목록전체 글 (25)
하루하루는 성실하게 인생 전체는 되는대로
* c언어 - 포인터 : 변수의 주소값 저장하는 변수 ( *은 포인터 값, &은 포인터의 주소값 ) * Java - 장점 : JVM 위에서 동작해서 운영체제에 독립적. gc가 메모리를 관리해주는 편리함 - 단점 : JVM 위에서 동작해서 실행속도 느림. 다중 상속이나 엄격한 타입 등 까다로움. JAVA가 다중상속 지원하지 않는 이유 : 동일한 클래스의 메소드를 서로 다른 두 개 클래스가 구현했을때, 두 클래스를 다중 상속 받은 클래스는 코드 충돌해버림. 오버라이딩 vs 오버로딩 - 오버라이딩 : 상위 클래스의 메소드를 하위 클래스에서 재정의해 사용 - 오버로딩 : 매개변수 타입, 개수 변경해서 같은 이름의 메소드 여러 개 사용 클래스, 객체, 인스턴스 - 클래스 : 객체 만들어내는 틀 - 객체 : 클래스..
# 진행 순서 사용자 요청(Request) -> Servlet Filter -> Dispatcher Servlet -> Interceptor -> Controller 1. WebMvcConfigure 클래스 생성 (WebMvcConfigurer를 implements로 상속받음) : WebMvcConfigure가 제일 앞단에서 사용자의 HttpRequest를 잡아 처리해줄 것이다. - @ComponentScan (패키지 경로)로 interceptor에 대한 componentScan이 가능하도록 지정해주었다. - @EnableWebMvc : dispatcherServlet 생성시 필요한 config들을 알아서 생성해준다. (interceptor도) - JwtAuthProvider를 final로 선언. Aut..
https://ko.reactjs.org/docs/getting-started.html 1. 페이지 구조 - index.js에서 구절을 통해 App.js 호출한다. - App.js에서는, App함수에서 jsx를 return 하고 App함수를 export해준다. (아래 코드블럭 참고) import React from 'react'; import {Route, Routes} from 'react-router-dom'; import * as Pages from './pages'; function App() { return ( ); } export default App; - 이때, App 함수내에서 Route를 분기시킬 수 있는데 , 각 route('/', '/users', etc)마다 페이지별 기능을 구현하기..
JWT 유저를 인증, 식별하기 위한 토큰 기반의 인증. 서버에 저장되는 세션과 달리, 토큰은 클라이언트에 저장되어 서버 부담 덜 수 있다. 토큰 자체에 사용자의 권한 정보, 서비스 사용정보가 포함된다. 따라서 데이터 많아지면 토큰도 커진다. 한번 발급된 이후 사용자 정보 바꾸더라도, 토큰 재발급하지 않는 한 반영되지 않는다. JWT에는, 이름처럼 JSON 데이터를 Base64 URL-safe Encode를 통해 인코딩하여 직렬화한 것이 포함되며, 토큰 내부에는 위변조 방지 위해 개인키를 통한 전자서명도 존재한다. RESTful과 같은 무상태(stateless) 환경에서 사용자 데이터를 주고 받을 수 있게 된다. (세션의 경우, 쿠키 등을 통해 식별하고 서버에 세션 저장했지만, JWT 같은 토큰을 사용하면..
1. express 라이브러리 설치 : npm i express => express 라이브러리 사용법 및 샘플코드는 npm 웹사이트(검색)에서 express 검색 2. api 생성 app.get('/api/todo', ( req, res ) => { res.json(todoList); }); app.post('/api/todo', ( req, res ) => { const ( text, done ) = req.body; todoList.push({ id: id++, test, done }); return res.send('success'); }); 3. 서버에 데이터 요청하는 방법 (1) 기본 기능 fetch app.listen(포트, () => { }); // function App 내에 공식문서대로 ..
https://drawio.freshdesk.com/support/solutions/articles/16000042371-embed-a-diagram-in-github-markdown

full gc가 동작하여 heap메모리가 95퍼 이상 치솟는 상황이 발생했다. full gc와 JVM메모리 구조에 대한 개념을 다시한번 집고 넘어가고자 한다. GC(가비지 콜렉터) java 어플리케이션에서 사용하지 않는 메모리를 자동으로 수거(=삭제)하는 기능 * 가비지 : java에서 객체=쓰레기(가비지)이다. 하나의 객체가 만들어지면 메모리를 점유하는데, 특정 메소드 수행 완료한 후 필요없어진 객체는 쓰레기(가비지)가 되기 때문. => 이 쓰레기 객체, 가비지를 처리하는 작업을 GC라고 한다. 수동으로 관리해줘야하는 c언어와 달리, java에서는 GC 알고리즘이 메모리를 automatic하게 관리해줌. (개발자가 손댈 필요도, 손댈 수도 없음) * Stop-the-world : GC를 실행하기 위해,..
목적 java나 파이썬에서 for문을 돌리듯이, sql에서도 특정 데이터묶음을 하나의 row씩 돌면서, 매번 특정 로직을 동작시키도록 반복문을 구현할 수 있다. 이를 위해 커서(cursur)를 사용한다. --입력시 사용할 변수 선언 (일종의 틀) DECLARE @변수 [변수타입] --커서 선언 : 커서에 테이블의 데이터 일부를 담아둠 DECLARE [커서명] CURSOR FOR [서브쿼리 또는 테이블] OPEN [커서명] --커서 시작 FETCH NEXT FROM [커서명] INTO @변수 -- 커서에서 하나씩 가져오기 WHILE @@FETCH_STATUS = 0 -- 다음 fetch = 0 될 때까지 BEGIN [UPDATE문] FETCH NEXT FROM [커서명] INTO @변수 -- 다음 커서로 ..