본문 바로가기
꾸준히

[TIL-170] 순환 Queue, 객체 단위 정렬과 idx, 네트워크 기초, 뱅가드 도복

by 무자비한 낭만주먹 2024. 1. 6.

[그림1]. 오늘도 감사한 공부 시작 ~

 

목차

 

0. 오늘의 학습 시간
1. 오늘 배운 것
2. 오늘의 알고리즘
3. 오늘의 CS
4. 영어 받아쓰기
5. 감사한 일

 

0. 오늘의 학습 시간
06:00 ~ 09:30 (3시간 30분): 오늘은 10시 출근이어서 9시 반까지 공부할 수 있었다.
11:30 ~ 12:00 (1시간 30분): 점심시간에 토스트 먹으면서 공부했다.
20:30 ~ 23:30 (3시간 30분): 일 마치고 주짓수 끝나고 와서 공부했다.

총평: 새벽 공부 시간에 집중력이 떨어지는 거 같다. 조금 쉬운 난이도의 알고리즘 풀이로 시작해서 집중력 올리고 다른 공부 하는 방향을 시도해보자

 

1. 오늘 배운 것
(1) 자바 스크립트의 클로져 개념, 함수형 프로그래밍 개요.
(2) LPVS 오픈소스 컨트리뷰팅 룰 및 문서화 이슈 분석
(3) 자바 스크립트에서 private를 표현하는 방법 
(4) 위상정렬 기초
(5) 리눅스 파일의 OWNER와 계정 사이의 관계
(6) Comparable을 상속받는 클래스에 대한 compareTo 메서드 오버라이드를 이용한 정렬

 

2. 오늘의 알고리즘

https://github.com/choichanhyeok/codetree-TILs/tree/main/231129

http://boj.kr/0965a9f651fc4a3399f448c1e396b8a8

 

공유 소스 보기

 

www.acmicpc.net

 

3. 이주의 CS
이번 주 선정 도서: 모두의 네트워크

(1) 네트워크의 구조: (2023-11-29)
- 네트워크는 여러 분야에서 사용하는 용어다. 따라서 컴퓨터 간의 네트워크는 "컴퓨터 네트워크"라고 불러야 명확하지만 앞으로 편의상 "네트워크"라고 표현하기로 한다.

- 이런 네트워크를 통해 우리는 각 노드(컴퓨터) 간의 데이터(파일) 전송, 웹 사이트 열람, 메일 송수신과 같은 일을 할 수 있다.

- 이런 데이터를 주고받는 과정(통신)을 위해선 "규칙"이라는게 필요하다. 규칙중엔 "패킷"이라는게 있는데 "택배"라고 생각하면 편하다. 우리는 네트워크를 통해 전송되는 데이터의 작은 조각을 "패킷"이라고 표현한다.

- 굳이 이렇게 작게 나누는 이유는 네트워크의 "대여폭"을 너무 많이 점유할 정도로 큰 패킷은 다른 패킷의 흐름을 막을 위험이 있기 때문에 잘게 쪼개서 보내는 것이다. 

- 예를 들어 사진 같은 것도 여러개의 패킷으로 나눠서 보내는데, 이 패킷들을 받는 곳에선 이를 다시 퍼즐처럼 조립해 원본으로 만드는 과정이 필요하다. (이를 위해 각 패킷의 순서 정보등이 같이 담겨 목적지로 던져진다)

(2) 네트워크의 구조: (2023-11-30)
- 정보의 양을 나타내는 단위는 bit와 byte가 있다. 

- 이진 코드로 문자를 표현할 수 있는 방법은 ASCII와 같은 문자 대응 기준이 있기 때문이다. 

 

4. 이주의 클래스 다이어그램
주제 선정:  보험 (2023-11-28)

(2023-11-29)
- 보험이라는 도메인에서 어떤 클래스를 추출할 것인가? 
  : 조금 더 익숙한 "신용 대출"로 주제 변경

- 신용대출 신청 과정에서 필요한 클래스를 추출해보자.
5. 영어 받아쓰기
오늘의 영상: 더그의 일상

GRUNTS: Come on now, that doesn't hurt!
DUG: I do not like my foot to be cut off
GRUNTS: it's you toenail. You know, if you were out in the wild, your nails wouldn't get this long. you are house pet now.
DUG:  pet?
GRUNTS: yee. i'll take care of you. and your only job is to sleep, eat, and say moderately funny things.
DUG: do I still have a feet?
GRUNTS: see. Moderately funny. All don Go on, get out of here
DUG: I do have a feet! I will run away now. Oh, boy! It is a small mailman.

BARKS: Hey, DUG. How you doing, boy?
DUG: I have missed you! I am happy that now your den is next to ours. Oh .. Are you going to eat that? I would be happy if you did not. .... Oh, that is okay. I really did not want the food. No not at all. And I ... Squirre!!

I'm warning you once again, Squirrel. I will not warn you after that. Maby I will warn you. I will decide tomorrow about another warning. Ha !!

 

6. 감사한 일
오늘은 주짓수 쉬고 가만히 앉아서 생각을 정리했다. 최선을 다해 열심히 살 수 있는 오늘 하루가 과거의 내가 그토록 바라던 하루임을 잊지 말고 항상 매사에 감사하단 마음을 갖자는 생각을 했고, 이 생각에 대해 공감할 수 있는 스스로에게 크게 감사하다.

 

 

오늘 하루도 공부할 수 있어 크게 감사합니다

2023-11-29 개발자 최찬혁

[그림1]. 오늘도 감사한 공부 시작 ~

 

목차
0. 오늘의 학습 시간
1. 오늘 배운 것
2. 오늘의 알고리즘
3. 오늘의 CS
4. 이주의 클래스 다이어그램
5. 영어 받아쓰기
6. 내일 할 일 (청사진)
7. 감사한 일

 

0. 오늘의 학습 시간
07:00 ~ 09:30 (2시간 30분): 오늘도 10시 출근이라 
11:30 ~ 13:00 (1식나 30분): 출근할 때 빵을 사와서 점심시간에 따로 시간 안빼고 바로 공부했다.
23:00 ~ 24:00 (1시간): 주짓수 끝나고 와서 청소하고 이것저것 하다보니 벌써 열한시라 한시간이라도 하기로했다.

총평: 쉬운 알고리즘 풀고 공부 시작하는게 효과가 꽤 좋은 거 같다. 성취감 생겨 힘도 나고 집중력도 올라간 상태여서 너무 집중이 잘 됐다.

 

1. 오늘 배운 것
(1) Queue 문제 풀 때 shift 연산이 많다거나 삽입 삭제가 빈번하면 ArrayList보단 LinkedList를 쓰자
(2) 요즘 스파링할 때 너무 백프로로 하는 느낌이다. 수준 차이가 크지 않은 거 같으면 의식해서 적당히 해주자.
(3) 맨날 머리 터져가면서 풀었던 idx가 포함된 정렬 문제는 사실 객체 단위 정렬을 이용하면 쉽게 풀린다.
(4) 위상정렬은 별 거 아니고 진입 노드랑 큐를 이용한 정렬이다.

 

2. 오늘의 알고리즘
순환 큐 문제랑 객체 정렬 문제를 풀었다.

https://github.com/choichanhyeok/codetree-TILs/tree/main/231130

3. 이주의 CS
이번 주 선정 도서: 모두의 네트워크

(1) 네트워크의 구조: (2023-11-28)
- 네트워크는 여러 분야에서 사용하는 용어다. 따라서 컴퓨터 간의 네트워크는 "컴퓨터 네트워크"라고 불러야 명확하지만 앞으로 편의상 "네트워크"라고 표현하기로 한다.

- 이런 네트워크를 통해 우리는 각 노드(컴퓨터) 간의 데이터(파일) 전송, 웹 사이트 열람, 메일 송수신과 같은 일을 할 수 있다.

- 이런 데이터를 주고받는 과정(통신)을 위해선 "규칙"이라는게 필요하다. 규칙중엔 "패킷"이라는게 있는데 "택배"라고 생각하면 편하다. 우리는 네트워크를 통해 전송되는 데이터의 작은 조각을 "패킷"이라고 표현한다.

- 굳이 이렇게 작게 나누는 이유는 네트워크의 "대여폭"을 너무 많이 점유할 정도로 큰 패킷은 다른 패킷의 흐름을 막을 위험이 있기 때문에 잘게 쪼개서 보내는 것이다. 

- 예를 들어 사진 같은 것도 여러개의 패킷으로 나눠서 보내는데, 이 패킷들을 받는 곳에선 이를 다시 퍼즐처럼 조립해 원본으로 만드는 과정이 필요하다. (이를 위해 각 패킷의 순서 정보등이 같이 담겨 목적지로 던져진다)

(2) 네트워크의 구조: (2023-11-29)
- 정보의 양을 나타내는 단위는 bit와 byte가 있다. 

- 이진 코드로 문자를 표현할 수 있는 방법은 ASCII와 같은 문자 대응 기준이 있기 때문이다. 

(3) LAN과 WAN: (2023-11-30)
- WAN은 ISP가 제공하는 서비스를 사용하여 구축된 네트워크를 의미한다. LAN과 LAN을 연결하는 것으로 이해해도 된다.

- 인터넷을 사용하기 위해선 "ISP"와 "인터넷 회선"이 필요하다. 회선의 경우 2018년 기준 광랜을 많이 사용한다.

- 가정에서 네트워크 구성시 ISP와 연결되기 위해 "인터넷 공유기"라고 하는 장비가 필요하다.

- 연결 방식의 종류는 "유선"과 "무선"으로 나뉘는데 이 기준은 "LAN"케이블의 필요 여부로 기억하면 쉽다.

- 가정용과 비교해 소규모 회사의 네트워크 구성에서 달라지는 점 중 하나는 DMZ라는 영역이 있다는 점이다.

- DMZ는 외부에 공개하기 위한 네트워크다.

- 공개용 서버는 주로 웹, 메일, DNS 서버를 공개한다.

- 서버는 "사내에 설치", "데이터 센터", "클라우드"라는 환경을 통해 운영할 수 있다. 

- 사내 또는 데이터 센터에 서버를 두고 운영하는 걸 온프레미스라고 한다. 클라우드와 자주 비교된다.

 

4. 이주의 클래스 다이어그램

 

주제 선정:  보험 (2023-11-28)

(2023-11-29)
- 보험이라는 도메인에서 어떤 클래스를 추출할 것인가? 
  : 조금 더 익숙한 "신용 대출"로 주제 변경

- 신용대출 신청 과정에서 필요한 클래스를 추출해보자.

(2023-11-30)
- 신용대출을 하기 위해선 어떤 필드가 필요하지?
    (1) 신용대출 종류: ex. 직장인, 타사, 부동산 신용대출 등등 ..
    (2) 대출 ID
    (3) 고객 ID
    ... 내일 점심시간에 따로 시간내서 더 생각해보기, 

 

5. 무자막 시청 기록
오늘의 영상: 더그의 일상 (시즌1: 5화)
- 더그는 자기가 그냥 pet이라는 거에 대해서 복잡한 감정을 가지고 있는 거 같다. 오늘은 야생 동물 친구들이 말을 할 수 있게 됐는데 야생동물 친구들이랑 토스트를 두고 싸우는 과정에서 음식을 구하기 힘든 친구들을 위해 자신의 토스트를 포기했다. 더그가 너무 착해 .. 다람쥐 너무 얄미워 ..

 

6. 내일 할 일 (청사진)
- 변형 하노이 탑 문제 풀어보기 (재귀 사용해야 하나?)
- 객체정렬 마무리 하고 시뮬레이션 파트 들어가서 한 문제 풀기
- 이번 주 기술 블로깅 할 주제 선정하기 (토요일 까진 작성 마무리 해야해서)
- LPVS 오픈소스 이슈 할당 받은 거 서비스 쪽 자바독 무조건 하나라도 써보기 (이번 주말 안에 PR 해야함)

 

7. 감사한 일
뱅가드 도복을 선물받았는데 생각보다 더 맘에 든다. 너무 가볍고 얇아서 상대방 도복 느낌이 날 정도다. 기분 좋게 운동할 수 있어 크게 감사하다.

 

 

오늘 하루도 공부할 수 있어 크게 감사합니다

2023-11-30 개발자 최찬혁