웹 서버와 WAS(Web Application Server)의 차이점
·
WEB/BackEnd
웹 서버와 WAS웹 개발을 시작할때 가장 먼저 접하는 단어 두가지는 웹서버와 WAS일 것이다. 필자의 경우 아파치, 톰켓, WAS, 웹 서버, 아파치 톰켓 등등 무수한 단어들이 구분이 모호하고 차이점을 구분하지 못하여 시작할때에 어려움을 겪었다. 이 기회를 통해 보다 더 명확히 차이점을 인식하고 왜 두가지를 나누어서 사용하는지 공부해 보려고 한다.웹 서버의 역할과 특징웹 서버는 클라이언트(브라우저)로부터 HTTP 요청을 받아 정적 컨텐츠를 제공하는 것이 주된 역할이다. Apache, Nginx와 같은 웹 서버들이 대표적인 예시이다. 회사 소개 페이지나 이미지 파일과 같이 변경이 잘 일어나지 않는 정적 컨텐츠를 효율적으로 제공할 수 있다.웹 서버의 종류  Apache vs NginxApache:전통적인 멀..
자바 자료구조 - List 인터페이스_(5)Stack 설명 및 구현
·
자료구조
Stack이란?Stack의 주요 특징LIFO 구조후입선출(LIFO, Last In First Out) 구조를 기반으로 하는 자료구조입니다.  가장 나중에 삽입된 데이터가 가장 먼저 제거됩니다. Vector 클래스 상속 Stack 클래스는 Vector 클래스를 상속받아 구현되었습니다. 따라서 동기화(Thread-Safe)를 지원하며, 멀티스레드 환경에서도 안전하게 사용할 수 있습니다.그러나 이로 인해 성능이 저하될 수 있으므로 동기화가 필요 없는 경우 ArrayDeque를 사용하는 것이 더 효율적입니다단방향 입출력 구조데이터가 들어오는 방향과 나가는 방향이 동일합니다. 이는 단방향으로 데이터 흐름을 제어해야 하는 상황에서 유용합니다동적 크기내부적으로 배열을 사용하며, 데이터가 추가될 때 크기가 자동으로 확..
자바 자료구조 - List 인터페이스_(5)Doubly LinkedList구현
·
자료구조
Doubly LinkedList 사용법 + 구현LinkedList 선언 DojeDoublyLinkedList class필드 선언public class DojeDoublyLinkedList{ private Node head; // 시작하는 노드를 나타냄 private Node tail; // 끝나는 노드를 나타냄 private int size; // LinkedList크기 반환 }내부 클래스로 Node class 선언private static class Node{ private E data;// 현재 노드가 저장하는 데이터를 나타냅니다. private Node next;//다음 노드를 가리키는 참조 변수입니다 private Node prev;//이전 노드를 가르키는 참조 변수입니다. ..
자바 자료구조 - List 인터페이스_(4)LinkedList + Singly LinkedList구현
·
자료구조
LinkedList 란?Linked List는 Array List와는 다르게 노드와 노드간에 주소 포인터를 이용한 연결(link)을 통해 리스트를 구현한 것을 의미합니다. LinkedList 특징노드 기반 구조: 각 요소(Node)가 데이터와 이전/다음 요소의 참조를 포함. 삽입/삭제 빠름: 중간에 요소를 추가하거나 제거할 때 효율적. 검색 느림: 특정 인덱스에 접근하려면 순차적으로 탐색해야 함. 다양한 활용: List, Queue, Deque의 기능을 모두 제공.LinkedList 종류단방향 연결 리스트 (Singly Linked List) 각 노드가 데이터와 다음 노드를 가리키는 포인터(Next)를 포함합니다. 데이터는 한 방향(앞 → 뒤)으로만 접근할 수 있습니다.마지막 노드의 포인터는 null을 ..
git 입문
·
MANAGEMENT/GIT
이 글은 유튜브   git강의를 공부하며 정리한 내용입니다.1. Git이란❓Git은 분산 버전 관리 시스템(Distributed Version Control System, DVCS)입니다. 이를 활용하여 협업 상황에서 효율적으로 코드를 관리 할 수 있습니다.2. Git 설치 및 환경 설정☑2.1 Git 설치하기1. Git 공식 웹사이트에서 운영 체제에 맞는 Git 설치 파일을 다운로드합니다.2. 다운로드한 설치 파일을 실행하여 설치를 완료합니다.3. Git Bash를 실행4. 성공적으로 설치되면 git --version 입력시 Git의 버전 정보가 출력됩니다.2.2 GUI 도구: SourceTree 설치하기SourceTree 공식 웹사이트에서 다운로드합니다.설치 중 BitBucket 계정 설정은 건너뛰고..
자바 자료구조 - List 인터페이스_(3)ArrayList 직접 구현(심화)
·
자료구조
서론❓ArrayList에 대해서 기본적인 함수들을 참고 블로그를 따라서 직접 구현해 보면서 공부하는 시간을 가진후 추가적인 함수들또한 구현하고 공부하고자 한다.이전 포스팅 자바 자료구조 - List 인터페이스_(2)ArrayList 직접 구현서론 ❓ArrayList를 공부한 이후 내부 함수가 어떠한 방식으로 작동하는지 궁금하고, List인터페이스에 대해 깊이있게 공부하기 위해 아래 블로그 글을 따라 ArrayList 내부 함수를 재정의 하며 공부code-apprentice.tistory.com참고 블로그 🛠️ ArrayList 자료구조 실전 구현 강의 (JAVA)ArrayList 자료구조 ArrayList 특징으론 다음과 같이 요약이 가능하다. 연속적인 데이터의 리스트 (데이터는 연속적으로 적재 되있어..
자바 자료구조 - List 인터페이스_(2)ArrayList 직접 구현
·
자료구조
서론 ❓ArrayList를 공부한 이후 내부 함수가 어떠한 방식으로 작동하는지 궁금하고, List인터페이스에 대해 깊이있게 공부하기 위해 아래 블로그 글을 따라 ArrayList 내부 함수를 재정의 하며 공부한 내용을 이 포스팅에 정리하며 더욱 깊이있게 이해하고자 했다. 🛠️ ArrayList 자료구조 실전 구현 강의 (JAVA)ArrayList 자료구조 ArrayList 특징으론 다음과 같이 요약이 가능하다. 연속적인 데이터의 리스트 (데이터는 연속적으로 적재 되있어야 하며 중간에 빈공간이 있으면 안된다) ArrayList 클래스는 내부적inpa.tistory.com아직 ArrayList에대해서 모른다면? 🤷‍♂️이전 게시물 보러 가기 자바 자료구조 - List 인터페이스_(1)ArrayListAr..
[백준] 1011번 : Fly me to the Alpha Centauri - 자바(java)
·
알고리즘/수학
문제 ❓ 문제 풀기 :  https://www.acmicpc.net/problem/1011문제 분석 ⏳최소횟수가 되기 위해서는 이동거리가 최대가 되어야 한다. 따라서 가능한(마지막 이동이 1이 될 수 있는) 숫자를 키워서 값을 구해야 한다.문제 해설 💡직접 구하기 😒이동거리를 키워나가면서 남은거리에서 점차 빼나갔다 이때 중요한 지점은 매번 계산마다 남은 거리안에 이동거리를 1까지 줄일 수 있는지를 계속해서 확인했다.이때 이동거리는 거리의 제곱근이상으로 커질 수 없다.(이유는123444321의 경우 24의 거리일때이다. 123454321 의 경우 25의 거리일때이다. 1234543211은 거리가 26일때이다.[즉, 순차적으로 상승,감소하는 경우의 거리는 어떠한 수의 제곱이 되므로 제곱을 기준으로 최대이..