전체 글 106

[Network] Java Socket

1. SocketSocketIP 주소 (Internet Protocol Address)포트(Port)IP 주소와 Port의 결합2. TCPTCP (Transmission Control  Protocol)특징TCP 헤더 구조TCP Connection/Termination3. Observer Pattern 실습: Java Socket 1. Socket Socket 통신: 네트워크 상에서 두 프로그램 간의 통신을 가능하게 하는 기술.SocketIP 주소와 Port 번호로 구성.클라이언트와 서버 간의 데이터 전송을 담당.종류TCP Socket: 신뢰성 있는 Connection-Oriented Protocol. -> Virtual Circuit 사용.UDP Socket: Connectionless-Oriented..

서버&네트워크 2024.09.30

[자격증] SQLD 단기 합격 후기 (3일)

0. 시험 준비 계기학부 3학년 2학기 때 DB수업을 들었고, 4학년 1학기에는 정보처리기사 필기 2회차를 준비하면서 관련된 자격증인 SQLD를 준비하게 되었다.   1. 계획 수립SQLD 기출 문제를 풀어보고, 난이도를 파악했다. 1과목은 정처기 난이도와 비슷했고, 2과목은 정처기보다 더 어려웠다.교재는 제일 유명한 노랭이(SQL 자격검정 실전문제)와 중고로 하양이(국가공인 SQLD 자격검증 핵심노트)를 사서 공부했다. 둘 중 하나만 추천한다면 노랭이를 강력 추천하고, 이것만 봐도 충분하다. 공부는 1주일을 계획했으나, 당시 캡스톤에 치여서 3일 정도(하루에 2시간씩) 공부한 것 같다.  2. 문제 풀이자격증 시험이 으레 그렇듯이 기출 문제 풀이가 제일 중요한 것 같다. 노랭이 문제를 풀고, 오답을 정..

자격증 2024.09.28

[자격증] 정보처리기사 필기 & 실기 단기 합격 후기 (1주일)

0. 시험 준비 계기정보처리기사가 필요없는 자격증이라고 하는 사람도 있지만, 정부가 사업을 입찰할 때 업체 직원들 중 몇명이 정보처리기사 등의 국가기술자격증을 보유하고 있는지 확인하기도 한다고 들었다. 그래서 국가가 IT 산업 전반을 이끌고 있는 한국에서는 꼭 필요하다고 생각했다. 또 한국의 많은 IT 기업들이 정부 사업에 의존하는 경우가 많아서 시험에 응시하게 되었다. 1. 필기1회차정보처리기사는 회차가 올라갈수록 어렵다는 말도 있었고, 4학년 올라가면 바쁠거 같아서 후딱 끝내려고 했으나... 당시 토익을 하고 있었는데 정처기 시험이 쉽다고 해서 1회차 때 정말 대충 준비했다. 아마 전날 기출문제 3회 정도 풀고 시험치러 갔던 걸로 기억한다... 그 결과 전체 점수는 합격점 이었으나, 5과목인 정보시스..

자격증 2024.09.22

[Java] Java에서의 Stream (스트림)

1. Stream2. Java의 Stream바이트 기반 스트림문자 기반 스트림3. Java의 보조 Stream(필터 Stream)InputStreamReaderOutputStreamWriterBuffer(버퍼)BufferedInputStream과 BufferedReaderBufferedOutputStream과 BufferedWriter* Stream 상속 관계  1. Stream단방향으로 이동하는 데이터의 흐름.프로그램을 기준으로, 프로세스가 데이터의 도착지면 입력 스트림(InputStream) / 프로세스가 데이터의 출발지면 출력 스트림(OutputStream)Stream은 사용이 끝난 후 .close()로 자원을 해제해야 한다, 보조(필터) 스트림이 닫히면 연결된 기본 스트림도 닫힌다.(try wit..

Java 2024.09.12

[Thread] Java Thread

1. Process (프로세스)Process Scheduling (프로세스 스케줄링)Process Scheduling 방식Process Scheduling AlogrithmProcess 상태 변화2. ThreadMain ThreadSingle ThreadMulti ThreadThread Life CycleThread 상태 변경 Method3. Monitor4. Thread & ConcurrencySemaphore(세마포어)Mutex(뮤 텍스)Synchronized5. DeadlockHold and Wait (점유 대기)Circular Wait (순환 대기)Starvation (기아 상태)Livelock6. Thread Pool 실습1. Process (프로세스)컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 ..

서버&네트워크 2024.09.11

[Java] Java Logging

SLF4J (Simple logging facade for java) 다양한 로킹 프레임워크에 대한 간단한 Facade 또는 추상화 역할을 하여 최종 사용자가 배포시 원하는 로깅 프레임워크를 사용할 수 있도록 한다.Logback 다양한 Logging framework 중 하나.1. 로그 레벨error > warn > info > debug > traceerror : 요청 처리 중 문제가 발생.warn : 프로그램 실행은 문제 없지만, 향후 문제가 일으킬 수 있다.info : 정보성 메시지.debug : 개발 시 디버그 용도로 사용.trace : 좀 더 상세한 이벤트를 나타낼 때 사용.2. Logback 설정 및 사용https://mvnrepository.com/ 에서 slf4j, logback class..

Java 2024.09.11

[Java] Maven (메이븐)

1. JSON과 XML2. Package와 jar 3. Maven1. JSON과 XML공통점데이터를 저장하고 전달하기 위해 고안됨.기계뿐만 아니라 사람도 쉽게 읽을 수 있다.계층적인 데이터 구조를 가진다.다양한 프로그래밍 언어에 의해 파싱될 수 있다.XMLHttpRequest 객체를 이용하여, 서버로부터 데이터를 전송받을 수 있다.XML (Extensible Markup Language) 마르코 marco 31 70JSON (Java Script Object Notation)/* "name":"value", "name2:value2" */{ "name": "마르코", "id": "marco", "age": 31, "weight": 70} 2. Package와 j..

Java 2024.09.11

[Git] Git & GitHub

1. 버전 관리 시스템Version Control System (VCS)Git의 데이터는 파일의 스냅샷2. Git 기초Git 기본세 가지 상태3. Git 명령어3-1. 로컬 저장소 생성 (일반 디렉토리를 git working tree로)3-2. 로컬 저장소를 원격 저장소에 연결.3-3. Staging Area에 파일 올리기.3-4. Staging Area 파일 Commit.3-5. Commit한 파일을 Push해서 원격 저장소로 보내기3-6. Clone : repository에서 코드 가져오기.3-7. 원격 저장소의 수정사항을 로컬로 가져오기 Pull & Fetch4. branch4-1. branch 생성 및 조작4-2. branch "Joo"에서 작업한 내용을 "master"로 병합.4-3. Git R..

Git 2024.09.09

[코딩 문제] Calculator

문제터미널에서 동작하는 계산기 프로그램 작성터미널에서 실행되는 계산기를 작성합니다. 계산기는 4칙 연산(더하기, 빼기, 나누기, 곱하기)만을 지원하며, 괄호는 포함하지 않습니다. 연산자의 우선 순위는 지켜져야 합니다. 프로그램 요구 사항프로그램이 실행되면 아래와 같이 > 기호를 프롬프트로 보여줍니다.수식을 입력하면 계산 후 결과를 보여줍니다.계산은 연속해서 동작해야 합니다.exit() 를 입력하면 프로그램이 종료됩니다.수식이 잘못 입력 되었을 경우, InvalidExpressionException을 일으킵니다.프로그램의 수식은 Abstract Syntax Tree를 이용해서 계산되도록 작성되어야 하며, 아래 메소드는 AST를 반환하도록 작성되어야 합니다.generateAST 메소드를 호출하면 아래와 같은..