IT 관련 공부 49

jar와 war에 대해서

사용목적 JAR와 WAR 확장자는 모두 Jar tool을 이용해 생성된 압축(아카이브)파일 이다. 더욱 더 자세하게는 Application을 간단히 배포하고 어느 환경에서나 구동시킬 수 있도록 소스들이나 관련 파일들을 하나로 패키징한 파일 이다. JAR (Java Archive) .jar 확장자 파일에는 Class와 같은 Java 리소스와 속성파일, 라이브러리 및 액세서리 파일이 포함되어 있다. 요약해서 자바 프로젝트를 압축한 파일로 생각하면 된다. JAR 파일은 플랫폼에 귀속되는 점만 제외하면 .zip 파일과 동일한 구조이다. JDK에서 접근해 사용할 수 있도록 지원하는 점이 편리하다. WAR (Web Application Archive) .war 확장자 파일은 servlet/JSP 컨테이너에 배치 할..

IT자료실/Java 2022.05.30

개발자로 직무전환 시작

공부가 안되는 나른한 5월의 오후.... 머리도 식힐 겸 지금까지의 일들을 정리해보자 인생에서 큰 변화라고 할 수 있는 직업 바꾸기 앞으로 내가 개발자라는 일에 집중하고 커리어를 쌓아 갈 수 있도록 정리하며 과거를 떠나보내자 ● 원래 하던 일 나는 불안정한 미래를 경계하는 사람으로 대학생활을 보냈다. 항상 미래에 유망한게 무엇일까 생각을 하며 학교를 다녔던거 같다. 대학에서 의료기계공학을 전공하며 의료기계와 기계공학에 대해 배우며 대학생활을 보냈다. 수업 중간중간 C언어에 대한 강의를 듣기도 하였지만 당시에는 흥미롭다는 생각만 가진채 흘려보냈다(그 당시에 더 적극적인 상황을 만들었다면 미래가 달라졌을까?) 그 당시 대학 취업률은 전화기가 대세라며 미래는 보장받을 것이라 생각하며 학교 생활을 보냈다. 20..

휴식처 2022.05.27

Toy Project (패스트 캠퍼스 #1)

ToyProject 패스트캠퍼스 백엔드 국비과정 첫 프로젝트를 진행 했다. 프로젝트의 목표 현재 개발하는 대부분의 애플리케이션은 Oracle, MySQL같은 DBMS를 연동하여 사용자가 입력한 데이터를 저장하고 관리한다. 이번 토이프로젝트에서는 그러한 과정을 직접 만들어보며, 지금까지 공부한 클래스에 대한 설계, String클래스 API, 입출력, SQL, JDBC 프로그램을 점검한다. 프로젝트 설명 사용자가 입력한 회원정보를 데이터베이스에 저장하고 관리하는 회원관리 프로그램을 개발한다. 프로젝트 구현 가이드 테이블 설계 MEMBER 테이블에 저장할 정보는 회원의 아이디, 회원 이름, 전화번호다. 각 컬럼에 제약 조건을 설정한다. ID 에 기본키 적용 전부 NOT NULL 적용 Member Class 구..

개인 프로젝트 2022.05.15

github repository 삭제 복구

github repository를 날려먹었다.... 사건은 github TIL repository에 공부한 내용을 올리다가 폴더를 만들어서 github에 올려보며 이것 저것 하던 중 main repo인 TIL 내부에 Java 폴더를 만들어 git add, commit, push 단계로 올렸을 때 발생하였다. 동시에 올렸을 때 github 폴더에 화살표 모양을 가진 폴더가 생성 되었다. 마치 아래 그림과 같이 (사진 출처 : https://velog.io/@juliajh/GitHub-%ED%99%94%EC%82%B4%ED%91%9C-%ED%8F%B4%EB%8D%94) 이러한 문제는 상위 폴더인 TIL과 하위 폴더인 Java에 동시에 .git 파일이 생성되 있어 나타나는 문제로 하위폴더의 .git 파일을 삭..

Servlet 관련 서버 구성 종류

Servlet 관련 서버 구성 WEB 서버 구성 가장 기본적인 홈페이지 구성 방식(HTML, CSS, Javascript)이다. (정적인 방식) 개발자는 페이지를 다만들어 둔 뒤 웹서버에 올려놔야 하고. 사용자에게 요청을 받으면 WEB서버에서 해당 페이지를 클라이언트에게 보낸다. 웹 브라우저가 페이지를 받아 시각화하여 화면에 출력한다. WEB - WAS 서버 구성 기존의 WEB 방식은 미리 페이지의 로직을 구성해서 준비해놔야 한다는 단점과 복잡한 로직의 페이지를 모두 클라이언트에게 전송해야하는 단점이 있다. 점차 웹 서비스의 복잡도가 증가했고 효율적으로 웹서비스를 구성하기 위해 WAS(Web Application Server)가 등장했다. 기존의 WEB 서버 방식은 단순 반환만 했다면, WAS는 클라이언..

자료구조 (Stack)

Stack 한 쪽 끝에서만 데이터를 넣고 뺼수 있는 선형 구조 LIFO : List In First Out 특징 push : 데이터 넣는 것 pop : 데이터 꺼내는 것 Array를 이용한 Stack 구현법 top : 데이터를 pop할 때 어떤 데이터를 꺼내야 하는지 위치에 대한 값 데이터가 push 될 때는 top이 위로, 데이터가 pop 될 때는 top이 아래로 이동 top 에 값이 없으면 "-1" 반환 (top이 -1 값이면 데이터 존재하지 않으므로 이동하지 말고 예외 발생) 데이터 push 시 top가 마지막 index와 동일하면 stack이 꽉 찬 것 ArrayStack 예제 Stack 을 인터페이스로 만들어 상속 받는 방식을 한번 구현해 봤다. package arrayStack; public ..

자료구조 (SinglyLinkedList 실습예제)

SinglyLinkedList 실습 단일 연결 리스트를 개념 정리했던 대로 추가해보자 예제는 https://leetcode.com/explore/learn/card/linked-list/209/singly-linked-list/ 을 참고 하였다. 먼저 노드의 정보를 가지고 있는 클래스를 생성한다. public class SinglyLinkedNode { int val; SinglyLinkedNode next = null; SinglyLinkedNode(int v){ val = v; } } 다음으로 예제로 구현해볼 메소드를 작성한다 public class MyLinkedList { private SinglyLinkedNode head = null; public MyLinkedList() { } public..

자료구조 (Double LinkedList)

Double LinkedList 이중연결리스트는 단일연결리스트의 제한된 흐름을 개선하려 만든 자료구조이다. 단일연결리스트는 다음 노드의 위치를 가리키는 next만 가졌다면, 이중연결리스트는 이전의 노드를 가리키는 prev도 지원한다. 참조값을 이용하여 포인터를 좌,우측으로 노드에 접근할 수 있다. Double LinkedList 구성 Head : 단일연결리스트에서와 같은 역할을 한다. (첫 번째 노드를 가리키는 변수) Tail : 마지막 노드를 가리키는 노드, tail을 이용하여 마지막 노드에 빠르게 접근 할 수 있다. Node : 데이터와 next, prev 노드로 접근할 수 있는 참조 값을 가지고 있다. Doubli LinkedList 장점과 단접 장점 단일연결리스트와 동일하게 데이터의 크기가 예측불..

Java (Thread)

Thread Process : 프로그램이 실행되는 상태 Process는 프로그램이 실행되면 OS로 부터 메모리를 할당 받아 실행 Thread Thread는 Process의 자원을 사용하는 실제 작업을 수행하는 단위 Thread는 비동기적인 특성을 갖는다. (동기적 - 작업이 종료된 후 다음작업 수행, 비동기적- 작업이 종료되지 않아도 여러작업 수행) 병렬적인 연산방식으로 multi-thread를 수행할 수 있다. 임계구역문제 (Critical Section) 임계 구역 :멀티스레드 환경에서 여러 thread가 접근할 수 있는 공유자원에 대한 구역 임계구역문제 : 각 스레드가 공유변수에 접근하여 읽어서 값을 변경할 때 동시성의 문제로 변경되기 전에 값을 읽는 것 (Thread가 경쟁하는 부분) 동기화 동시..

IT자료실/Java 2022.04.26

자료구조 (Singly LinkedList)

Singly LinkedList 노드가 데이터와 참조값(주소값)을 가지고 직렬적으로 연결되어 있는 데이터 저장 구조 데이터 개수를 알수 없을 때 사용하기 좋음 배열보다 메모리를 효율적을 사용할 수 있다 탐색속도는 배열보다 상대적으로 느리다Node LinkedList에서 Node는 데이터와 다음 Node에 대한 참조값을 가지고 있다. (next변수 사용) 데이터 구조를 구성하는 개체이다. 연결(Linked) 다음 Node 참조값을 저장하여 다음노드에 접근하는 것을 연결이라함 LinkedList 구조 Head : 가장 첫번째 Node의 참조값을 가지고 있다. (Node가 없다면 null값을 가진다.) Node : 데이터와 다음 Node 참조값을 가짐 Pointer 개념 :Node의 참조값을 일시적으로 저장하..