티스토리 뷰
Done
- 자바의 정석 스레드 일부
- 미션 구현
Learned
블록 논블록 싱크 어싱크 저 멀리...하고...
- 자바에서 어떻게 논블록& 어싱크 구현할지를 고민 (#TODO)
시나리오 작성하기
- 와후 요즘 문제를 받으면 이를 어떻게 시나리오 짤지 어렵다라고 생각하고 있었는데 마스터가 이에 대한 이야기를 해줘서 좋았다
: 큰 문제를 우선 아주 단순하게 축소 시키고, 거기에 살 붙여가며 쪼개가며 나누기 ( 짧은 시나리오 완성 먼저!)
: 설계 했다가 구현 할 때 이상하면 다시 설계 하고 ( 설계 완전하게 하려고 하면 하루 다 간다. .. 공감... )- 객체를 역할을 나눈다 (단일 책임 원칙)
: 유의할점. 객체를 너무 많이 나누면 객체 간의 소통이 쉽지 않다.
- 객체를 역할을 나눈다 (단일 책임 원칙)
- 흐름을 점검 ( 프로그램의 흐름) (흐름 어색하면 다시 역할 나누기)
- 역할, 흐름을 유지하면서 개발
- 좋은 객체 지향은 객체들간 소통 방법 효율적으로 고민
- 데이타 구조도 고민..
Thread
- sleep() 사용할 때 앞에 구체적인 쓰레드 예. th.sleep()이 아니라 Thread.sleep()이라고 써줘야 한다. 어차피 해당 코드를 수행하고 있는 쓰레드다 sleep 되기 때문에 헷갈림을 방지하기 위해 Thread라고 써야 한다.
- sleep 쓸 때는 try catch로 예외를 잡아 줘야 하는데 귀찮으니 이를 delay로 따로 빼가지고 활용한다
- sleep, yeild , interrupted도 static이라 앞에 th1 이런 객체를 쓴다고 하더라도 해당 코드를 실행하고 있는 쓰레드에 적용된다. 그러니까 Thread라고 써줘야 헷갈리지 않고 맞아. Thread.sleep 이런식
- 어떤 쓰레드 위의 작업을 interrupt 걸고 싶을 때, interrup()를 호출해주고 해당 스레드 안의 반복행동의 조건식 안에 !IsIntertuupted를 넣어준다
- 스레드의 상태 얻기 getState();
- 매개변수가 들어갈 수 없는 run 메소드에 어떤 특정값을 전달하고 싶다면 runnable을 구현한 클래스 자체에 static 변수로 넣어라 https://itdexter.tistory.com/133
Queue
큐가 비어있는지 확인 isempty ( 스택은 empty) https://blog.naver.com/rwans0397/220616961911
Bad
- 미션 일부 구현 후 쉬었다 : 뭔가 하나를 했다는 생각이 들면 더이상 다른 하나를 하기 싫어진다. > 쉬고 다시 하기로 극복해보기로 했지만 > 쉬어도 피곤함 > 다시 쉬기가 되었다.
: 다음엔 어떻게 극복해보지?
Good
- 안되는 미션 붙잡고 어떻게든 해보려고 한 것
Feeling
- 확실히 문제해결에 힘을 쏟는 날엔 기분이 좋고 이론, 문법 공부에 힘을 쏟으면 기분이 안 좋다. 기분이란 단어로 표현하긴 그렇지만.(독서 좀 더해야..) 문제해결 부분이 좋다 난
- 싱크 어싱크 이해하려고 했다가.. 전에 일할 때 영상이랑 소리 맞추는 싱크 작업 때문에 고생했던 기억이 났다. 전문 싱커 님도 있어서 비용 지불하고 해당 부분 이용했었는데. 하지만 싱크 어싱크를 아직 잘 이해하지 못했다는 것이 함정.. CS 지식과 내 머리가 싱크조차 안맞는 기분이다
- 오늘 마스터 강의를 듣고 이론 보다는 우선 내가 구현할 부분이 우선이라는 생각이 들었다. 왠지 남은 CS 미션은 미제출로 끝날 것 같은 불길함이 들지만.. 구현 할 수 있을 만큼만 하자.
'기타 > TIL' 카테고리의 다른 글
210127 수 TIL (0) | 2021.01.27 |
---|---|
Learned (0) | 2021.01.26 |
210124-25 토일 TIL (0) | 2021.01.25 |
210122 금 TIL (0) | 2021.01.23 |
210121 목 TIL (0) | 2021.01.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 그래프이론
- Stack
- 프로그래머스lev2
- JdbcTemplate
- 최단경로
- 힙
- thread
- Sort
- spring-boot-qna
- Stream
- 프로그래머스lev3
- 우선순위큐
- FLASK
- Gitignore
- 예외
- 순열조합
- 백준
- 프로그래머스lev1
- Queue
- 프로그래멋lev2
- array
- SQL코딩테스트
- 동빈북
- arraylist
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함