본문 바로가기

전체 글

[우테코]로또 미션 코드리뷰 관련 학습내용 멧돼지 피드백 관련 학습 질문과 답변 1. 원시값 포장의 이점과 기준? 원시값들을 모두 포장하려고하니 로또구입금액, 로또구입개수 같은것들은 거의 같은 역할을 하는것들이라 검증 하는 내용들이 같아 중복이 일어났습니다. 게다가 로또구입 금액을 가지고 로또구입 개수를 구하는 형태이다보니 연속으로 같은 검사를 중복해서 해야할 필요가 있나 느껴졌습니다. 하지만 원시값들을 포장해놓고 아무런 검증이나 내부 함수가 없다면 원시값을 포장하는 의미가 있나? 라는 생각이 들어 모든 원시값을 포장하는것이 옳은가라는 생각이 들었고 원시값을 모두 포장한다해도 중복되는 검사또한 해야하는지 궁금합니다. 원시값을 무조건 포장하라는 의미를 그대로 해석하시지 말고, 근본적으로 포장하는 것에 대한 이유를 설명할 수 있어야 합니다. Int .. 더보기
[우테코]02/14 level1 세번째 수업 (두번째 미션 자동차경주) TDD,OOP 🐗TDD🐗 이제야 제대로된 첫수업이다. TDD라니 설렌다. TDD 쉽게 말하면 테스트가 먼저 선행되는 개발인건 맞지만 테스트만 먼저 짠다고 TDD라기 보다는 결국 Development가 중요하지 않는가 라고 코치님은 생각하신다고 한다. 개발을 할때 설계(design)와 개발(development) 중 무엇이 먼저 선행되어야하는가? -> 설계가 당연히 설계가 먼저 진행되어야 할것이다. TDD의 약자는 Test Driven Development 이다 . 즉 개발의 영역이므로 설계는 알아서 선행하고 난 이후에 진행되는것이다 즉 TDD에 앞서 객체지향적 설계이든 함수형 설계이든 설계의 기본적인 과정이 선행되어야한다. 그래서 여태까지 매번 기능목록을 짜고 그 기능목록을 보충하고 했던것들이다.(설계적인 의미로) T.. 더보기
[우테코]02/10 level1 두번쨰 수업 자동차 경주 피드백 1.변수명 이름을 잘짓는건 항상 중요하다!!! grep.app 이 사이트에서 검색해서 많이 적용한다고한다. -> 깃에서 많은 스타를 많이 받은 레포지토리들이 어느 단어를 쓰나 검색할수 있는 사이트이다. 변수 명에서 다양한 고민이 있을때 사용하겠지만 이러한 예시도 있다 영국식 영어랑 미국식 영어중 어느 단어를 쓸까? ex) 영국식 : judgment -> 미국식은 e가 하나 더들어간다고 한다.judgement judgement 로 검색해보면 실제로 우테코가 나온다(밑의 이미지에 빨간색 부분이 유명한 레포지토리들을 나타낸거라고 한다.) 이런것중 많이 사용한것으로 결과가 나오는것으로 사용하는것도 좋은 방법이라고 한다. -> 우테코의 judgement 코드를 실제로 이렇게 적용한거라고 한다 . tip: 주소창 .. 더보기
[우테코]온보딩 코드리뷰 관련 학습내용 멧돼지 피드백 관련 학습 1.MVC 패턴 기존에도 패턴에대해서 공부하고 MVVM에 대해서 주로 공부했지만 그냥 관습적으로 사용하던 안드로이드에서만 사용 했을뿐 이렇게 모든 곳에서 사용할 수 있을것이라고 생각조차 하지 못하였다.(이런 코틀린 프로그램에서도 MVP나 MVVM도 적용할수 있는거자나?......) 당장 짠 프로그램도 MVC와 유사하게 짜여져 있지만 일부 도메인 로직이 controller에 들어가있는 상황이었다. 또한 페어프로그래밍을 통해서 Car객체를 만들어서 사용했지만(고마워요 하티) 혼자 코딩했다면 이런 data들을 controller가 들고있는 실수를 범했을것이다. 이러한 실수를 하지않고 MVC패턴을 제대로 사용해 보기위해 각 요소들이 갖는 역할들과 내가 하지못했던 문제점을 찾아보려한다. .. 더보기
20강 Memory Management 3 https://core.ewha.ac.kr/publicview/C0101020140502151452123728?vmode=f 반효경 [운영체제] 20. Memory Management 3 설명이 없습니다. core.ewha.ac.kr 전수업에서는 2단계의 페이지 테이블이 돌아가는것을 봤는데 페이지 테이블이 2단계 만이 아니라 다단계로 사용할수도 있다. 이러면 테이블을 위한 공간을 줄일수 있는데 그만큼 주소변환 한번 할때마다 페이지 테이블을 여러번 거쳐야하고 페이지테이블이 메모리에 있기때문에 4단계 페이지 테이블이라면 5번 메모리에 접근해야하는 문제가 있다. TLB를 이용해서 줄일수있지만 미스가 나면 오버헤드가 크긴하다. 하지만 대부분 TLB내에서 해결되는 편이라서 이런 멀티레벨 페이지 테이블도 가능하다... 더보기
19 강 Memory Management 2 https://core.ewha.ac.kr/publicview/C0101020140429132440045277?vmode=f 반효경 [운영체제] 19. Memory Management 2 설명이 없습니다. core.ewha.ac.kr 물리적인 메모리 관리 기법중 불연속적 할당중 paging 부터 살펴볼것이다. 우선 주소 변환(바인딩) 이 기존의 간단하게 두개의 레지스터로 하는방법은 더이상 사용할수 없음 -> 어디에 어떻게 페이지들이 올라가있는지 파악해야함 프로그램을 구성하는 논리적인 메모리를 동일한 크기의 페이지로 잘라서 각각의 페이지를 물리적 메모리의 적당한위치(비어있다면 어디든) 올라갈수 있게해주는 기법이다. 페이징에서 주소 변환(바인딩)을 하기위해 page table 라는것이 사용된다. page t.. 더보기
18강 Memory Management 1 https://core.ewha.ac.kr/publicview/C0101020140425151219100144?vmode=f 반효경 [운영체제] 18. Memory Management 1 설명이 없습니다. core.ewha.ac.kr 이제 메모리 관리 부분에 들어간다. 메모리라는 것은 주소로 접근하는 매체이다 그래서 메모리에는 주소가 매겨진다. 주소에는 두가지 종류가 있다. 1. 논리적 주소(가상주소) 프로그램마다 가지고있는 메모리 주소 각 프로세스가 시작할때 0번지부터 시작하는 가상주소를 가지고 있다. 2. 물리적 주소 실제 물리적인 메모리의 주소 메모리에 프로그램이 어디에 올라가는 가이다. -> 물리적인 메모리는 0번지부터 (하나로 관리된다) 물리적인 메모리 아래부분에는 운영체제 커널이 들어가있고 상.. 더보기
17강 Deadlocks 2 https://core.ewha.ac.kr/publicview/C0101020140415131030840772?vmode=f 반효경 [운영체제] 17. Deadlocks 2 설명이 없습니다. core.ewha.ac.kr 지난 시간에 봤던 부분부터 다시 시작한다. 이제 살펴볼 두가지방법은 데드락을 일단은 나오든 말든 방치하는것이다 -> 데드락은 자주나오는 이벤트가 아니기 때문에 미연에 방지하기위해 비효율적인 방법을 쓰는것이 더 안좋다 Deadlock Detention and recovery 일단 데드락이 일어나든 말든 냅뒀다가 데드락이 발생한것 같은경우 이제 데드락을 찾아내서 고쳐주는 방식이다. detection 의 경우 자원이 1개씩 있는경우 그래프를 이용해서 detection을 한다. a 그래프에서 자.. 더보기