시작하기
-
자바의 정석 Chapter 1 - 자바 개발환경 구축하기 [MAC]IT 공부 독서 정리/Java의 정석 2024. 12. 1. 19:46
1. 자바 개발환경 구축하기 1.1 JDK란 무엇인가?JDK(Java Development Kit)는 자바 프로그래밍을 위해 필요한 개발 도구의 모음이다.쉽게 말해, 자바 프로그래밍을 가능하게 해주는 소프트웨어 도구라고 이해하면 된다.예를 들어, 이미지를 편집하기 위해 포토샵을 사용하는 것처럼, 자바 프로그램을 만들기 위해서는 JDK가 필요하다. 1.2 JDK의 구성JDK에는 다음과 같은 중요한 도구들이 포함되어 있다:API 라이브러리: 코드 작성 시 활용 가능한 다양한 기능 제공.JVM(Java Virtual Machine): 자바 코드를 실행하기 위한 가상 머신.그 외, 컴파일러와 디버깅 도구 등이 포함. 기본적으로 책에서 설명하는 JDK 설치는 윈도우 기반으로 설명을 함.다만, 개발용 PC로 맥..
-
자바의 정석 Chapter 1 - 자바를 시작하기 전에.... [자바 역사 / 구조 ]IT 공부 독서 정리/Java의 정석 2024. 11. 9. 20:18
블로그를 개설한 지 1년이 넘었다.그런데 가끔 생각나서 들어와 글을 써야지, 정리도 해야지, 공부도 해야지… 이런 생각만 하다가 결국 또 미루고 미루며 나태해진 내 자신을 보았다.다시 한번 겨울이 다가오는 이 시즌부터 제대로 1~2주에 한 번은 글을 작성해볼까 한다. 그 시작은 바로 『자바의 정석』 책을 정리하는 것이다.늘 그렇듯 자전거 종주기를 쓰다 이런 생각이 떠오르곤 한다. 😭정말 이제부턴 2주에 한 번은 정리하는 습관을 가져야겠다.우선 수많은 자바 기초 서적 중에서 『자바의 정석』을 선택한 이유는 다음과 같다.해당 책의 저자 분께서 현재도 활발히 활동 중인 자바 개발자라는 점이다. 커뮤니티 등을 통해 궁금한 점이나 이해가 부족한 점에 대해 직접 질문하고 피드백을 받을 수 있다는 장점이 있다.기본..
-
현 직장에서 배운 개념 - SIEM(Security Information and Event Management)FrameWork/그 외 2024. 3. 13. 10:10
💻 SIEM 시스템을 정리하며 – 현 직장에서 배운 것들입사한 지도 어느덧 11개월이 지났다.돌아보면 짧지 않은 시간이었고, 최근에는 자연스럽게 '이직'이라는 단어가 머릿속을 맴돌기 시작했다.회사 분위기가 심상치 않다.제품 경쟁력은 예전 같지 않고, 매출도 하락세를 보이고 있다.주변 동료들의 퇴사 소식도 잦아졌고, 지금은 아니더라도 더 나은 미래를 위해 준비가 필요하다고 느꼈다.그래서 지금까지 배운 기술과 개념들을 하나씩 정리해보기로 했다.첫 번째 주제는 바로 SIEM 시스템이다.🔐 SIEM이란?SIEM은 Security Information and Event Management의 약자다.우리말로는 보안 정보 및 이벤트 관리 시스템이라고 부른다.쉽게 말해서, 회사 내부의 서버, 보안 장비, 네트워크 ..
-
[개발용어] 오버헤드(OverHead)란?IT 기술 및 용어/IT 용어 정리 2024. 3. 7. 17:27
오버헤드(Overhead)에 대한 정리1. 오버헤드의 정의위키의 정의:명령어를 처리하는 데 소비되는 간접적, 추가적인 컴퓨터 자원을 의미.일반적인 정의:작업 대비 많은 양의 자원을 사용하는 경우.작업에 추가적인 작업이나 자원을 사용하는 경우.2. 오버헤드의 사례(1) 작업 대비 많은 자원 사용예시:저녁식사 준비를 위해 마트에서 다양한 식재료 구매 → 적절한 오버헤드.껌 한 통 구매를 위해 멀리 떨어진 마트를 방문 → 비효율적 오버헤드.설명:작업 규모에 비해 과도한 자원을 사용하는 상황을 오버헤드가 크다고 표현.(2) 추가적인 작업이나 자원 사용예시:기능 A의 실행 시간: 10초.기능 A의 안전성 문제를 해결하기 위해 기능 B를 추가(5초 소요).오버헤드 = 5초.설명:주 작업에 추가적으로 필요한 작업과 ..
-
자바의 쓰레드풀(ThreadPoolExecutor)의 원리IT 기술 및 용어/IT 면접 관련 지식 2024. 3. 7. 17:10
자바 쓰레드(Thread) 사용 1. 기본 개념멀티유저 지원:서버는 동시에 여러 사용자가 접속 가능한 구조.자바는 운영체제의 쓰레드를 활용하여 다중 접속을 지원.문제점:요청마다 새로운 쓰레드를 생성하면 운영체제 자원이 고갈될 위험.동시 접속 사용자가 많아지면 서버 다운 가능성 증가. 2. Thread Per Request Model - API 요청 방식정의:요청(Request)마다 하나의 쓰레드를 생성하여 처리하는 방식.Request와 Thread가 1:1 매칭.문제점:쓰레드 생성 소요 시간 → 요청 처리 지연.요청 증가 → 쓰레드 수 증가 → 과도한 Context Switching 발생.CPU 오버헤드 증가 및 CPU 시간 낭비.메모리 고갈 및 서버 응답 불가 상태 초래.위와 같은 문제를 해결하기 위해..
-
연결리스트 - 단일 연결리스트 구현 (SingleLinkedList)자료구조 및 알고리즘/선형구조 2024. 3. 7. 13:47
public void add(int index, Object data) { // TODO : 노드의 순서를 기준으로 해당 index에 삽입한다. Node node = new Node(); node.data = data; if (0 == index) { // TODO : 맨 앞에 노드를 삽입하는 경우 node.next = head; head = node; } else { // TODO : 해당 index에 삽입하려면 이전 노드를 찾아야 한다. Node foundNode = findNode(index - 1); node.next = foundNode.next; foundNode.next = node; } ++size; } class SinglyLinkedList { Node head = null; int ..
-
제 정신이라는 착각 - 필리프 슈테르처독서/과학 2024. 3. 5. 16:07
1. 책을 사게 된 계기이 책을 사게 된 계기는 너무 간단했다. 책 제목이 너무 재밌어 보이는 책이었다.머리말 정도는 읽어보며 책을 살까 고민을 하는데..이 책은 뭐 그런 것도 전혀 없이 그냥 책 제목만 보고 질러버렸다. ㅎㅎ2. 간단 요약처음엔.. 세상은 제정신으로 살기 힘들다와 같은 세상 이야기를 하는 책이지 않을까 하며 펼쳤는데..이 책의 핵심은 제정신이라는 단어가 아니라 '착각'이라는 단어가 핵심이라는것을 머리말을 보며 깨달았다.이 책의 내용은 왜 우리는 착각 속에 살아가는가.. 에 대한 답을 하는 책이다.단순한 착각을 넘어 조현병이 발생하는 원인에 대해서 근본적인 질문과 해답을 찾아보는 책이다.저자는 이 책에서 인간의 '확신'이 그 원인이라고 이야기를 한다. 그렇다면 [인간의 비합리적인 확신의 ..
-
배열(Array)과 연결 리스트 (Linked List)자료구조 및 알고리즘/선형구조 2023. 11. 21. 16:47
1. 자료구조의 분류단순구조:단순히 데이터를 저장하고 관리.비단순구조:데이터 간의 관계를 표현하며, 선형구조와 비선형구조로 나뉨.선형구조: 데이터가 순차적으로 나열되는 구조예시 : 배열, 연결리스트. 스택, 큐, 덱(DQueue), 비선형 구조: 데이터가 순차적으로 나열되지 않는 구조예시 : 트리, 그래프, 집합, 해시맵, 해시테이블, 2. 배열 (Array)2.1 배열의 정의와 특징정의:동일한 데이터 타입의 데이터를 연속적인 메모리에 저장.물리적 순서와 논리적 순서가 동일.2.2 배열의 장점빠른 접근:데이터의 위치를 알고 있다면, 인덱스를 통해 즉시 접근 가능 (시간복잡도: O(1))2.3 배열의 단점삽입과 삭제 속도 저하:데이터 삽입/삭제 시, 배열을 재생성하고 데이터를 복사해야 함.시간 소요가 크..