분류 전체보기 381

2022년 9월 4주차(9/26 ~ 9/30) Weekly I Learned "지난 3개월 되돌아보기"

지난 한 주 되돌아보기 벌써 9월도 모두 지나갔다. 마스터즈 코스를 수료한지도 이제 어느덧 3개월이 지나가는 시점에 왔다. 지난 3개월을 되돌아 보았을 때 내가 우선적으로 학습했었던 순위는 '알고리즘 → 자바 → CS(운영체제, 네트워크 등)'이었던 것 같다. 당장 하반기 공채를 대비하여 학습했다기 보다는 기초를 튼튼히 하고싶다는 마음으로 학습했었던 것 같다. (사실 개인적으로는 취업과 별개로 알고리즘을 학습하거나 문제 푸는 것이 재밌다... 👀) 아무쪼록 2022년도 이제 3개월밖에 남지 않았는데, 나는 개인적으로 목표지향적으로 움직이는 편이라, 2021년을 마무리하는 회고 글을 작성할 당시 2022년에 달성하고자 다짐했던 계획을 완수하는데 초점을 두어 앞으로 남은 3개월(10 ~ 12월)간 학습하고자..

Java의 Enum에 대해 알아보자!

Enum이란? Enum은 '열거'라는 뜻을 가지는 enumeration의 약어인데, 자바에서는 JDK1.5부터 Enum Type(이하 '열거형')이라는 특수한 자료형(data type)을 제공한다. 열거형은 특정 변수가 사전에 정의된 상수들의 집합에 속하도록 해주므로, 해당 변수의 값은 사전에 열거형을 통해 정의된 값들 중 하나여야만 한다. 예를 들면, 요일의 경우 '월, 화, 수, 목, 금, 토, 일'로서 단 7개만 존재하므로 열거형 사용을 고려해볼 수 있다. enum 정의하는 방법 enum 키워드를 이용함으로써 다음과 같이 열거형을 정의해볼 수 있다. 단순히 중괄호 { } 안에 상수의 이름을 나열하기만 했다. public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDA..

Technology/Java 2022.10.02

2022년 9월 3주차(9/19 ~ 9/23) Weekly I Learned "Keeping at it!!"

지난 한 주 되돌아보기 지난 주 토요일에는 2023 카카오 블라인드 신입 공채 코딩테스트가 예정되어 있어 (사실은 늘 그렇듯이?) 알고리즘 문제 풀이하는데 많은 시간을 할애했었다. 결과적으로 많은 아쉬움이 있었던 코딩테스트였으며, 앞으로 좀 더 많은 노력이 필요하다는 생각이 들었다. 자바의 멀티 쓰레드 프로그래밍에 대해 알아보았다! 이번 주 자바 스터디 과제로는 자바의 멀티 쓰레드 프로그래밍에 대해 학습해보는 것이었다. 학습 키워드로는 "Thread 클래스와 Runnable 인터페이스", "쓰레드의 상태", "쓰레드의 우선순위", "Main 쓰레드", "동기화", "데드락"이 주어졌는데, 사실 개인적으로 멀티 쓰레드 프로그래밍 경험이 많지 않아, 개념 위주로 학습을 진행했었다. 아울러 멀티 쓰레드 프로그..

Java의 멀티 스레드(Multi-Thread) 프로그래밍에 대해 알아보자!

개인적으로 자바의 멀티 스레드 프로그래밍 학습에 앞서 적어도 프로세스와 스레드의 차이 그리고 멀티 태스킹과 멀티 스레드의 차이에 대해선 제대로 알고 넘어가야겠다는 생각이 들었다. 이에 대한 내용은 다음을 참고할 수 있다.  프로세스 vs 스레드 그리고 멀티 태스킹 vs 멀티 스레드프로세스와 스레드 자바 스터디의 일환으로 자바의 멀티 스레드 프로그래밍을 학습하던 중 이를 다루기 위해서는 앞서 프로세스와 스레드의 차이 그리고 더 나아가서 멀티 태스킹과 멀티 스레ikjo.tistory.com 스레드의 구현 방법자바에서 스레드를 구현하는 방법은 Thread 클래스를 상속받는 방법과 Runnable 인터페이스를 구현하는 방법이 있다.  Thread 클래스를 상속받는 방법먼저 Thread 클래스를 상속받아 스레드를..

Technology/Java 2022.09.25

프로세스 vs 스레드 그리고 멀티 태스킹 vs 멀티 스레드

프로세스와 스레드 자바 스터디의 일환으로 자바의 멀티 스레드 프로그래밍을 학습하던 중 이를 다루기 위해서는 앞서 프로세스와 스레드의 차이 그리고 더 나아가서 멀티 태스킹과 멀티 스레드의 차이에 대해 명확히 알아야 할 필요성을 느꼈다. 우선 프로세스와 스레드의 차이에 대해 알아보자. 프로세스란? 먼저 프로세스란 무엇일까? 일반적으로 프로그램은 저장장치(하드디스크 등)에 저장되어 있는 정적인 상태(코드로 구성된 파일)을 뜻하는 반면, 프로세스는 실행 중인 프로그램(동적인 상태)으로서 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위를 뜻한다. 참고로 프로그램이 실행 시에는 운영체제가 실행에 필요한 코드와 데이터를 메모리에 가져오고, 프로세스 제어 블록을 생성 및 부여하고, 작업에 필요한 메..