전체 95

서블릿이 뭔데?

서블릿에 대해 알아보자 Jakarta Servlet 한 줄 설명 Wiki A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. 클라이언트 요청을 처리할 때, 비즈니스 로직을 제외한 request message parsing, response message 생성 등을 담당 부연설명 서버는 클라이언트로부터 요청을 받는다. 브라우저의 http 요청을 해석하기 위해 서블릿은 요청 메세지를 parsing한다. 또한, HttpServletRequest, HttpServeltResponse 객체를 생성하고 요청에 따른 비즈니스 로직 실현 후, Response 객체에 내..

스프링 2023.06.07

sql 파일로 더미 데이터 생성 시, 에러

sql 파일로 더미 데이터 생성 안되는 에러, spring boot 문제 상황 h2 db에 resoureces/data.sql로 다음과 같은 더미 데이터 생성 시, sql script를 이해할 수 없다는 에러 메세지 반환 -- data 1 INSERT INTO TABLE(COLUMN_1, COLUMN_2, COLUMN_3) VALUES(VAL_1, VAL_2, VAL3); -- data 2 INSERT INTO TABLE(COLUMN_1, COLUMN_2, COLUMN_3) VALUES(VAL_1, VAL_2, VAL3); -- data 3 INSERT INTO TABLE(COLUMN_1, COLUMN_2, COLUMN_3) VALUES(VAL_1, VAL_2, VAL3); 해결 스프링 부트 2.5 이상..

스프링 2023.06.06

Ubuntu 22.04 desktop 설치

Ubuntu 22.04 desktop 설치 사용자 권한을 이해하고 팀원과 프로젝트를 진행할 때, 클라우드 상에서 작업 공간을 나누고 공유하는 방법을 익힌다. 이를 바탕으로 쉘 스크립트를 사용하여 사용자 추가 및 권한 부여를 자동화한다. linux, 누구냐 넌 오픈소스 운영체제. 무료로 이용할 수 있으며 수많은 사용자를 보유하고 있다. linux는 kernel, 즉 OS의 핵심 부분을 담당하며 데비안, 레드햇 계열이 있다. 그 중 현재 가장 많이 사용하는 Ubuntu로 실습할 예정이다. VM에 우분투 설치하기 우선 관련 용어 정리 Hypervisor 호스트 컴퓨터에서 두 개 이상의 운영체제를 실행하기 위한 Virtual Machine Monitor Virtualbox hypervisor의 한 종류. ora..

컴퓨터과학 2023.06.04

다익스트라 알고리즘

다익스트라 알고리즘 Dijkstra Algorithm 짧은 요약 다익스트라, 그게 뭔데? 음의 간선이 없을 때, 특정 노드로부터 다른 노드까지의 최소 경로를 구하는 알고리즘. 만약 간선의 비용이 일정하다면 BFS로도 충분. 매 순간 가장 비용이 적은 노드를 선택하여 누적 비용을 갱신하므로 그리디 알고리즘으로 분류된다. 시간 복잡도, 얼마나 빠른데? 구현 방법에 따라서 시간 복잡도가 다르다. 우선순위 큐를 사용하지 않았을 때, $$O(V^2)$$ 우선순위 큐를 사용했을 때, $$O(E + VlogV)$$ 필요한 요소, 그래서 뭘 하면 되는데? 각 노드의 연결상태를 저장하는 행렬, 2차 배열. 시작 노드로부터 각 노드로의 누적 비용을 저장하는 리스트 방문한 노드를 저장하는 리스트 예시 초기 설정 출발 노드,..

알고리즘 2023.05.27

Algorithm 시작하기

자바 알고리즘 공부 시작? 하반기 공채지원을 위해서 다시 공부 시작 최근 코딩테스트에서 관련 업무에 맞는 언어로 제한되는 경우가 있다고 들었다. 백엔드는 Spring계열이면 Java, Kotlin 코딩테스트를 어떤 언어로 볼 지 고민 중이다. 자바 장점 Spring 구현에 간접적으로 도움이 된다. 앞으로 다가올 코딩테스트에서 제한이 걸릴 확률이 없다. 이 글을 작성하면서 네이버 신앱채용을 확인해보니깐 여전히 파이썬을 사용할 수 있다. 내가 취업을 준비할 때는 파이썬으로 응시할 수 있다고 판단되어 그냥 파이썬으로 준비해야겠다.

알고리즘 2023.05.27