전체 글

기분이 좋아지는 가장 쉬운 방법은 할 일을 하는 것이다
TIL

23.11.01

1. 알고리즘 공부를 아주 살짝 했다. 그래프 이론과 DFS, BFS 파트쪽 이론을 살짝 봤다. 2. 구구와의 커피챗 11월 목표 중 하나가 (우테코 크루 제외) ‘개발자들에게 조언구해보기’이다. 그래서 코치님, 교수님, 과선배등등과의 상담?커피챗?을 계획중인데! 마침 오늘 구구가 오랜만에 캠퍼스에 오셨길래 바로 상담을 부탁드렸다. 사실 한 10분 정도 가볍게 이야기를 나눌 생각이었는데, 어쩌다보니 카페에 가서 꽤나 본격적인(?) 커피챗을 했다. 토픽은 1) 학습방법, 효율 2) 내년의 계획 1) 관련해서 가장 기억에 남는 것은 책을 읽거나 강의를 들을 때 모든 것을 기억하고 외우려고 하지 말고, 특정 주제의 답을 찾고자하며 듣기! (ex. ‘오브젝트‘라는 책을 읽을 때에는, 오브젝트란 무엇인가? 이런식..

TIL

23.10.31

1. 알고리즘 1주차 완(6개) 📍 백준 9375 (a종류수 + 1) * (b종류수 + 1) * (c종류수 + 1)... - 1 여기서 종류수에 +1을 해준 이유는 그 종류의 의상을 착용해도 되고 안해도 되기 때문이고 마지막에 -1을 해준 이유는 모든 의상을 착용하지 않은 경우를 제외시켜줘야 하기 때문이다. 📍 백준 1213 cm.put(it, cm.getOrDefault(it, 0) + 1) TreeMap 이진트리를 기반으로 한 Map 컬렉션 객체를 저장하면 자동 정렬 데이터를 저장할 때 즉시 정렬하기에 추가나 삭제가 HashMap보다 오래 걸린다. 하지만 정렬된 상태로 Map을 유지해야 하거나 정렬된 데이터를 조회해야 하는 범위 검색이 필요한 경우 TreeMap을 사용하는 것이 효율성면에서 좋다. 📍..

TIL

23.10.30

1. 스핀락, 뮤텍스, 세마포 동기화(synchronization)을 위한 여러 전략과 각각의 차이! race condition : 여러 프로세스/스레드가 동시에 같은 데이터를 조작할 때, 타이밍이나 접근 순서에 따라 결과가 달라질 수 있는 상황 synchronization : 여러 프로세스/스레드를 동시에 실행해도 공유 데이터의 일관성을 유지하는 것 critical section : 공유 영역의 일관성을 보장하기 위해 하나의 프로세스/스레드만 진입해서 실행 가능한 영역 하나의 프로세스/스레드만 진입 = mutual exclusion 📍 어떻게 mutual exclusion을 보장할 수 있을까? 락을 사용하자! 예제를 보자 여러 스레드가 lock 변수에 접근 while루프를 통해 lock 획득시도 loc..

TIL

23.10.28

1. 리팩토링 미션 4단계 제출 3단계 리뷰 답변하고, 4단계 pr 작성해서 제출 완~ 2. 동기화, 경쟁조건, 임계영역 📍 동기화가 없으면 생기는 문제 하나의 객체에 두개의 스레드가 접근하면 생기는 일 메모리에서 이 프로그램을 돌리기 위해 할당받은 메모리 영역에서 그 안의 힙 영역에는 두 스레드가 모두 접근 가능한 badCounter 객체가 있다. 처음 상태는 state = 0 cpu는 싱글 코어라고 가정. 같은 프로세스에 속한 두 스레드 t1, t2 싱글 코어니까 멀티태스킹 방식 동작 -> 중간에 context switching 일어나서 t1, t2가 번갈아가며 cpu에서 실행 state++;가 cpu레벨에서 어떻게 동작? 프로그래밍언어를 cpu가 이해할 수 있는 언어로 변환 - 메모리에 있는 sta..

TIL

23.10.27

1. 리팩토링 미션 3단계를 완성해서 제출했다. https://github.com/woowacourse/jwp-refactoring/pull/706 [레거시 코드 리팩토링 - 3단계] 오잉(이하늘) 미션 제출합니다. by hanueleee · Pull Request #706 · woowaco 안녕하세요 엔초! 2단계 리뷰 반영&답변 및 3단계 미션 완료했습니다! 2단계에 남겨주신 리뷰에 대한 답변은 여기에서 확인하실 수 있습니다. 이번단계에 진행한 내용은 다음과 같습니다. 도메인 github.com 플라이웨이 처음 써봤는데, 생각보다 엄청 간단하고 편하네! 앞으로는 DB 형상관리 잘 해봐야겠다 ㅎㅎ 레벨1부터 들어만 봤던 머메이드도 처음 써봤는데 생각보다 엄청 쉽네..ㅋㅋㅋㅋㅋ 진작 쓸걸~~ 2. 멀티모..

TIL

23.10.26

1. 리팩토링 미션 3단계 3단계 요구사항 완료! 2단계 리뷰 반영&답변은 내일 해야지.. 이렇게 의존성 그림 그려가며 했다! 2. CPU bound, IO bound 📍 CPU bound & IO bound CPU : 프로세스의 명령어를 해석하고 실행하는 장치 IO 파일을 읽고 쓰거나 네트워크의 어딘가와 데이터를 주고 받는것 입출력 장치와 데이터를 주고 받는것 버스트 (burst) : 어떤 현상이 짧은 시간내에 집중적으로 일어나는 일 CPU burst : 프로세스가 cpu에서 한번에 연속적으로 실행되는 시간 메모리에 올라가있는 프로세스가 자신의 차례가 되어서 자신의 명령어들이 cpu에서 연속적으로 실행되는 시간 대부분의 프로세스는 cpu burst가 8ms이내이다 IO burst : 프로세스가 IO작업..

TIL

23.10.25

1. 리사의 [면접 특강]을 들었다. 질문을 본인에게 유리한 방향으로 끌어올 수 있어야 한다!!!!!!!!!!!!! >> 면접 볼 때 회사와 서비스 등에 대한 조사 없이 참여하는 경우가 예상보다 정말 많더라고요. 특히 프로그래머 면접할 때. 제발 회사가 하고 있는 일과 서비스에 대한 최소한의 조사는 하고 참여하면 좋겠어요 >> 회사 최근 관련 기사 본 거 있는지 물어보고 최근 매출 얼마인지 아냐고 물어보더라구요 >> 회사 홈페이지 들어가서 비전, 핵심가치, 인재상 정도는 읽어보고, 내가 가진 어떤 경험과 행동이 이에 부합하는지 고민해봐도 좋아요 >> 면접에서 마지막 하고 싶은 말있냐는 질문에는 어떻게 대답하는게 좋을까? 없다고 하거나 의미 없는 말 할 바에는 회사나 직무에 대해 궁금한 점을 물어보는 경우..

TIL

23.10.24

1. 조영호님의 [우아한 객체지향] 강의를 들었다. https://www.youtube.com/watch?v=dJ5C4qRqAgA&t=4439s 어떻게 의존성을 관리해야 하는가? 📍 의존성 설계 : 코드를 어떻게 배치할 것인가 그럼 어디에 어떤 코드를 넣어야 할까? -> "변경"에 초점 (같이 변경되는 코드를 같이 넣어야함) -> 의존성 1. 클래스 사이의 dependency 1)연관관계 : a에서 b로 이동할 수 있어요 (객체 참조) . 영구적으로 갈 수 있는 경로 2) 의존관계 : 파라미터 또는 반환값에 해당 타입이 나오거나, 메서드 안에서 해당 타입의 인스턴스를 만드는것 . 일시적으로 갈 수 있는 경로 3) 상속 관계 : extends 4) 실체화 관계 : implements (상속 vs 실체화 :..

오잉머신
오잉의 공부 기록