본문 바로가기

면접 대비 프로그래밍 지식6

[웹 프로그래밍] GET과 POST의 비교 및 차이 사용자가 사용하는 브라우저의 웹페이지는 클라이언트로 웹페이지에서 이루어지는 회원가입, 로그인 등의 동작은 서버와의 통신을 통해 이루어집니다. 이러한 통신을 하기위한 방식으로 GET 방식과 POST 방식이 있습니다. 이 둘은 비슷한 기능을 하는 것 같으면서 용도에 따라 그에 맞는 방식을 사용하는 것이 좋다고 합니다. 그 외의 방식으로 PUT, DELETE 등의 방식이 있지만 본 게시물에서는 다루지 않습니다. 간략하게 설명하면 GET은 서버에서 어떠한 데이터를 가져올때 POST는 서버의 값이나 상태를 바꾸기 위해 사용합니다. 이번 게시글에서는 이에 대한 내용과 각각의 특징을 알아보도록 하겠습니다. GET 방식 영단어 GET은 '가져오다' 라는 뜻을 가졌습니다. 이처럼 우리가 필요한 정보를 가져와 조회하기 위.. 2021. 4. 15.
[데이터베이스] View와 INDEX 데이터베이스를 사용하다보면 과도한 조인의 사용이나 잘못된 설계로 인한 성능의 저하가 발생하곤 합니다. 이러한 성능 저하를 최소화하기 위해선 데이터베이스 튜닝이 필요합니다. 이번 게시글은 그 방법 중에서도 View와 INDEX를 알아보겠습니다. 뷰(View) 특징 - 하나 이상의 테이블로부터 유도되어 만들어진 가상 테이블 - 저장 장치에 물리적으로 존재하지 않음 - 정의된 뷰를 새로운 뷰의 정의에 사용할 수 있음 목적 - 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위한 경우 - 데이터 보정 작업, 처리과정 시험 등 임시적인 작업 용도 - 조인문의 사용을 최소화하여 사용자의 편의성을 최대화 장점 - 논리적 데이터 독립성을 제공(응용 프로그램 데이터베이스) - 동일 데이터에 대해 동시에 여러 사용자.. 2021. 4. 13.
[알고리즘]다익스트라 알고리즘 다익스트라 알고리즘은 최단 경로를 알기위한 알고리즘입니다. 즉 특정한 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 알려줍니다. 그러나 해당 알고리즘은 음의 간선을 포함할 수 없으므로 이를 유의해야 합니다. 또한 이를 구현하는 방법에 힙 자료구조를 이용하는 방법이 있어, 자바를 이용해 구현하는 본 게시글에서는 PriortyQueue 클래스를 활용하여 구현하는 코드를 포함합니다. 다음은 예제입니다. 다익스트라의 진행 순서는 다음과 같습니다. 1. 시작점을 선택 2. 이동이 가능한 노드 중 가장 거리가 짧은 노드를 선택 3. 현재 구해진 각 노드까지의 거리와 선택된 노드를 거쳐 각 노드를 방문하는 거리를 비교 -> 선택된 노드를 거쳐 해당 노드를 방문하는 거리가 더 짧은 경우 거리를 갱신 4. 2번과.. 2021. 4. 13.
[JAVA] Comparable과 Comparator 자바에서는 배열이나 콜렉션의 정렬을 할때 sort라는 메소드를 통해 간단하게 정렬을 할 수 있다. 그러나 String, int, float 등의 자료형은 비교가 가능하지만 사용자가 정의한 클래스를 단순히 비교할 수가 없어 Comparable과 Comparator를 통해 비교하는 기준을 만들어 주어야 한다. 두 개의 인터페이스는 비슷한 역할을 하지만 사용되는 용도에는 이러한 차이가 있다. Comparable - 해당 인터페이스를 구현한 클래스에 한 가지 기본 정렬 규칙을 부여하기 위함 Comparator - 해당 인터페이스를 구현한 클래스는 정렬 규칙 그 자체이며, 기본 정렬 규칙 이외의 기준으로 정렬을 하기 위함이다. sort 메소드에서는 오름차순과 내림차순을 정할 수가 있다. Comparator.nat.. 2021. 2. 15.