본문 바로가기

📝 회고/✅ 22년 회고42

[주간 회고] 22.01. 4주차 👫🕹 일기 형태로 작성되었습니다. 월, 화요일 멀티 프로세스, 스레드 스케줄링하는 프로젝트를 했다. 스케줄링에 라운드 로빈을 적용했다. 자바에서 처음으로 스레드 생성을 했다. 자세한 내용은 일일 회고로 대체한다. [일일 회고] 22.01.24~25 - 자바의 동시성 프로그래밍과 몇 개의 아이템 적용 JK의 그룹 리뷰 시간도 유익했다. 인간과 인공지능의 차이점은 인간은 '모르는 것'을 바로 모른다고 할 수 있다. 하지만 기계는 모른다고 대답하기 위해 기계가 알고 있는 모든 정보를 검색, 계산하고 마지막에 모른다고 한다. 모르는 것을 아는 것, 비판적 사고와 메타인지를 높이는 것은 배움에 중요한 요소다. 또한 이미 안다고 하는 것을 점검할 필요가 있다. 사실 모르는 것인데 해당 지식을 자주 접하면 친숙하게 느껴져.. 2022. 1. 30.
[일일 회고] 22.01.24~25 - 자바의 동시성 프로그래밍과 몇 개의 아이템 적용 📚개발 일지 어제, 오늘은 자바로 멀티 프로세스와 스레드 스케줄링을 공부하고 간단하게 구현했다. 저번 주 프로젝트에선 탑다운, 설계에 많은 시간을 두었다. 하지만 너무 큰 범위로 설계해서 실제로 작게 쪼개 구현하는 일이 어려웠다. 이번 프로젝트는 설계를 대략적으로 잡고 바텀엄 방식으로 바닥부터 작은것 하나씩 구현했다. 구현하면서 처음 설계했던 부분을 보충하는 식이었다. 작게 구현하다 보니 구현체에 자신감이 생기고 즐거움이 있었다. 프로젝트에 적용한 아이템(?)은 다음과 같다. ✅ toString() 재정의 + StringBuilder 를 활용한 주요 정보 반환 2022.01.15 - 모든 구현 클래스에서 Object의 toString 재정의를 고려하자 🗣 에 정리했던 item12를 적용했다. 매번 객체의.. 2022. 1. 25.
[주간 회고] 22.01. 3주차 🥕 🍳 일기 형태로 작성되었습니다. 월요일 오늘은 프로세스 메모리 구조 중 스택 프레임과 힙 메모리를 논리적인 관점에서 자바로 구현했다. 보통 사용자가 프로그램을 실행하면 프로세스가 생성되고 이에 따른 프로세스 메모리가 생긴다. 이 과정은 OS가 관리하는데 이를 직접 프로세스의 컴파일된 어셈블리 코드가 있다고 가정하고 프로세스의 시작점(e.g. main 함수)부터 시작하여 여러 함수들이 스택에 쌓이고 사라지며 그 안에 동적 할당이 있다면 힙에 할당하고 해제하는 시나리오대로 구현했다. 생각하지 못했던 점은 C언어를 사용할 때 malloc()에 메모리 크기만 정해주면 동적 할당이 쉽게 사용했지만 이를 실제로 구현하기엔 상당히 어려운 일이라는 것을 알았다. 동적 할당된 메모리의 위치는 어디에 두어야 하며 해제된 위치.. 2022. 1. 23.
[주간 회고] 22.01. 2주차 ☕️ 일기 형태로 작성되었습니다. 월요일 새로운 팀원들을 만났다. 첫 만남의 어색함을 깨고 싶어 질문을 하고 잡담을 즐겼다. 그러다 보니 자연스레 진행자가 된 느낌이었다. 새로운 프로젝트가 주어졌다. 이번 프로젝트도 저번 주에 이어 단위 테스트를 적용 해보았다. 하루 동안의 시행착오 끝에 테스트 코드는 다 좋은 게 아니며, 좋은 단위 테스트 코드를 식별하고 구현해야 한다는 것을 깨달았다. 자세한 내용은 아래 일일 회고에서 볼 수 있다. [일일 회고] 22.01.10.월 - 테스트 코드, 다 좋은 게 아니었어.. 화요일 오늘은 팀원들과 그룹 리뷰를 진행했다. 어제저녁 잡담을 오래 나눈 탓이었을까? 좀 더 열린 분위기였다. 9명 팀원의 코드를 볼 수 있었다. 팀원들의 코드는 인터페이스를 통해 추상화를 하였고, 커.. 2022. 1. 16.
[일일 회고] 22.01.13.목 - 초보의 OOP 설계와 구현기(다형성과 추상화, 정적 팩터리 메서드 적용) 📚 개발 생각 오늘은 특정 주제에 대한 콘솔 프로젝트를 했다. 프로그램 실행부터 사용자 입, 출력과 데이터, 핵심 로직에 대한 요구사항이 있었다. 이를 절차 지향적으로 구현하는 것이 아니라 직접 OOP로 설계하고 구현하는 것이다. 예전에 C로 개발한 습관이 남아있어서 항상 어떤 문제를 볼 때 데이터를 중앙에 꺼내 쓰는 방식으로 개발했다. 이를 탈피하고자 특정 객체 안에 데이터와 프로시저로 묶어 정말 OOP 패러다임을 머릿속에 넣고 몸으로 익히고 싶었다. 사실 이전에 '객체지향의 사실과 오해 책'도 읽고 OOP 적용을 하려 했지만 역시나 어려웠다. 오늘의 회고는 프로젝트에서 겪었던 고민과 의문점을 남긴다. OOP ..ing ✅ 설계를 고민하고 구현하다 보니 다형성과 추상화가 된다고? 주어진 문제를 설계, .. 2022. 1. 13.