과거의 자바 웹 애플리케이션 개발은 어떻게? 자바로 애플리케이션을 개발하고 RDBMS를 데이터 저장소로 사용하면서 SQL을 처리 JDBC API로 코딩하기도 했는데 비즈니스 로직보다 SQL과 JDBC API를 작성하는 데 더 많은 시간이 소요되었음 SQL Mapp
엔티티를 영구 저장하는 환경JPA가 엔티티를 기반으로 데이터를 처리하는 데 있어서 핵심 역할을 하는 객체메타데이터를 참조하여 애플리케이션 운용에 필요한 객체를 생성하고 관리하는 객체 persistence.xml 파일을 로딩하여 만들어진다.영속성 컨텍스트는 EntityM
개발자로 회사를 다니면서 서비스 개발은 많이 해왔는데기회가 없어 로그인 쪽으로는 단 한 번도 작업해 본적이 없다.이직을 위해 공부도 할겸 해서 바닥 부터 만들어 보자 이렇게 마음먹었고로그인 부터 개발하고자 마음 먹었다. 인증을 위한 수단으로 HTTP 자체 제공 프레임워
일반적으로 많이 사용되는 알고리즘으로 불안정 정렬 (같은 값인 경우, 순서 보장 안됨) 이다.그룹 중 하나를 선택하고 (피벗, Pivot), 피벗을 기준으로 왼쪽, 오른쪽으로 그룹을 나누고 왼쪽에는 피벗보다 작은 값을, 오른쪽에는 피벗보다 큰값을 정렬한다.이를 피벗을
분할 정복 알고리즘을 이용(문제를 작은 2개의 문제로 분리한 후, 해결한 다음, 결과를 모아 원래의 문제를 해결)데이터의 분포에 영향을 덜 받아, 입력 데이터가 무엇이든 정렬되는 시간은 동일하다. 시간 복잡도는 O(nlogn) 이다.정렬 방법자바로 구현하면 다음과 같다
삽입 정렬의 장점을 살리고, 단점을 보안한 정렬 알고리즘삽입 정렬은 버블 정렬과 선택 정렬과 비교 했을 때 좀더 낫다.(모두 탐색 안함, 단 최악일 때는 동일)근데 타켓의 삽입되어야 할 위치가 현재 위치에서 멀리 떨어진 곳이라면, 많은 이동을 해야 한다.이를 보안하기
JWT (Json Web Token) 은 선택가능한 서명(signature) 방식 및 암호화 방식을 사용해 데이터를 만들기 위한 인터넷 표준(인터넷에 적용되는 기술이나 방법론) 말이 어려운데웹에서 사용되는 JSON Object 에 대한 규격으로 사용자의 인증(authe
자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘자바로 구현한 코드는 다음과 같다.시간복잡도는 O(n²) 이다.참조한 책 및 사이트
앞에서부터 현재 원소와 바로 다음의 원소를 비교한다.현재 원소가 다음 원소보다 크면 원소를 교환한다.다음 원소로 이동하여 해당 원소와 그 다음원소를 비교한다.자바 코드로 구현하면 다음과 같다.시간복잡도는 O(n²)참조한 책, 유튜브 및 사이트
알고리즘의 성능을 수학적으로 표기해주는 표기법데이터나 사용자의 증가율에 따른 알고리즘의 성능을 예측하는게 목표이다.시간 복잡도 : 입력에 따른 알고리즘의 수행 시간 분석공간 복잡도 : 입력에 대한 알고리즘의 메모리 사용량 분석, 컴퓨터 성능의 발달로 중요도는 떨어졌다.
내가 누구인지 증명하는 것이다.흔히 웹사이트에서 로그인을 통해 회원가입하면서 입력한 아이디 비밀번호를 입력하여, 서버에 저장된 데이터와 일치시키는 것도 인증의 행위 중 하나이다.HTTP는 사용자 인증을 위해 자체에서 제공하는 인증 요구/응답 프레임워크가 있다.웹 애플리
메모리의 구조는 1Byte 크기로 나뉘며, 1 Byte로 나뉜 각 영역은 메모리 주소로 구분하는데 0번지 부터 시작한다.CPU는 메모리에 있는 내용을 가져오거나, 작업 결과를 메모리에 저장하기 위해 메모리 주소 레지스터(MAR) 을 사용한다.폰노이만 컴퓨터 구조에서 메
2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며, 작업을 더 이상 진행하지 못하는 상태여러 프로세스가 작업하다보니 자연히 일어난다.시스템 자원, 공유 변수, 응용 프로그램 등을 사용할 때 발생할 수 있다.교착 상태는 다음의 조건을 모두 충족해야 발생한다
네트워크 중간에 우치해, 해당 장비를 통과하는 트래픽을 사전에 주어진 정책 조건에 맞추어 허용하거나 차단하는 장비를 말한다.네트워크 3,4 계층에서 동작하고 세션을 인지, 관리하는 SPI(Stateful Packet Inspection) 엔진을 기반으로 동작하는 장비를
기존의 '네트워크 장비'의 의미 => 2, 3계층에서 동작하는 장비오늘날 '네트워크 장비'의 의미 => 2,3,4 계층에서 동작하는 장비(기술발전으로 4계층에서 동작하는 네트워크 장비가 많아짐)4계층의 특징인 포트 번호, 시퀀스 번호, 번호에 대해 이해가 필요통신의 방
아파치 (Apache) 란? 아파치 소프트웨어 재단의 오픈소스 프로젝트 웹서버이다. HTML 문서라 불리는 웹 사이트의 파일들과 이미지, CSS, JavaSciprt 파일, 폰트, 비디오 등을 저장한다. 톰캣(Tomcat)이란? 아파치 소프트웨어 재단(Apac
공유 자원을 사용할 때, 모든 프로세스가 세마포어 알고리즘을 따른다면 굳이 P()와 V()를 사용할 필요 없이, 자동으로 처리하면 된다.이를 실제로 구현한 것이 모니터(monitor) 이다.모니터는 공유 자원을 내부적으로 숨기고, 공유 자원에 접근하기 위한 인터페이스만
임계구역 해결 알고리즘은 바쁜 대기를 사용하여 자원 낭비하고, 알고리즘이 너무 복잡하다.에츠허르 데이크스트라(Edsger Dijkstra)는 세마포어라는 알고리즘을 제안공유되는 자원에 제한된 개수의 프로세스(Process), 또는 스레드(Thread)만 접근할 수 있도
임계구역 문제를 해결하기 위해 게리 피터슨이 제안turn 이라는 변수를 추가하여 이를 해결두 프로세스가 동시에 lock을 설정하여, 임계구역에 못 들어가는 상황에 대비하기 위한 장치로 turn 을 사용, 다른 프로세스에 양보한다.임계구역 해결의 3가지 조건 (상호배제,