TIL(176)
-
(TIL) 20210905
📕Facts(한 것) 클린 아키텍처 읽기 -> SDP 추가 백준 문제풀기 📕Findings(배운것) 컴포넌트는 안정된 정도만큼만 추상화되어야 한다. 앞서 SDP(Stable Dependencies Principle) 원칙에 대해 공부하면서, 컴포넌트의 안정성에 대해 알아봤다. 그렇다면 컴포넌트가 안정적이면 항상 좋을까? 그렇지는 않다. 컴포넌트가 안정적이라는 것은 그만큼 변경이 불가능하다는 소리와 같다. 그렇기 때문에 모든 컴포넌트가 안정적이어야 할 필요는 없는 것이다. 안정적인 컴포넌트도 있고, 불안정적인 컴포넌트도 존재해야 한다는 것인데, 이것들이 어떻게 존재하면 좋을까? 책에서는 변경 가능한, 즉 불안정한 컴포넌트가 안정된 컴포넌트에 의존하는 것이 이상적인 구조라고 설명한다. 하지만 늘 이상적인 구..
2021.09.06 -
(TIL) 20210903
📕Facts(한 것) 클린 아키텍쳐 읽기 -> SDP:안정된 의존성 원칙 백준 문제풀기 ->후위 표기식 학교 과제 제출하기 📕Findings(배운것) SDP 안정된 의존성 원칙. 컴포넌트는 더 안정된 컴포넌트에 의존하는 것이 좋다. 그럼 "안정된" 컴포넌트는 어떤 컴포넌트 일까? 책에서 아주 좋은 예시를 들어주었는데, 세워져 있는 동전을 예시로 들었다. 조그만한 외부의 자극에도 무너지는 동전은 안정적이지 않다. 그렇다면 소프트웨어는 어떨까? 이때 안전성 지표가 등장한다. "I(불안정성) = Fan out / (Fan-in + Fan-out) 안으로 들어오는 의존성을 Fan in, 바깥으로 나가는 의존성을 Fan out이라 한다. 그리고 이 불안정성 I는 항상 [0,1]의 범위를 가지게 되는데 0일 경우 ..
2021.09.03 -
(TIL) 20210902
📕Facts(한 것) 노마드 코더 챌린지 참여하기 -> html, css를 활용한 실습 운영체제 수업듣기 -> 운영체제 개괄적 내용 클린 아키텍쳐 읽기 -> ADP에 관한 내용 프로그래머스 문제풀기 ->문자 압축하기 📕Findings(배운것) 클린 아키텍쳐에서 ADP, 의존성 비순환 원칙에 대한 내용을 읽었다. "컴포넌트 의존성 그래프에 순환이 있어서는 안 된다." '그래프에 순환이 있어서는 안 된다' 라는 내용을 어디선가 본 것 같았다. 아, MST, 최소 신장 트리에는 순환이 있어서는 안 된다고 했다. (크루스칼, 프림 알고리즘) 책에서는 의존하는 무언가를 끊임없이 수정하는 이른바 '의존성 무한루프'(본인 피셜)를 '숙취 증후군(the morning after syndrome)'이라고 부른다. 그리고..
2021.09.03 -
(TIL) 20210901
📕Facts(한 것) 운동하기 노마드 코더 챌린지 참여하기 동아리 지원하기 인공지능 수업듣기 📕Findings(배운것) 인공지능에 관한 개괄적인 내용을 배웠다. 인공지능은 굴곡진 역사를 가졌다. 엘런튜링이 튜링 머신을 개발하고, 튜링테스트를 도입하면서 추론, 탐색의 시대를 열었고, 퍼셉트론이 탄생하면서 1차 AI붐이 일어났다. 하지만 당시 개발한 퍼셉트론은 컴퓨터의 기본 연산이라 할 수 있는 XOR 연산을 처리하지 못했고, 이로 인해 기대감이 줄어들면서 1차 겨울을 맞이한다. 2차 AI붐은 Knowlege Base와 추론 엔진을 기반으로 전문가 시스템이 활약했는데, 오차역전파와 MLP(다층 구조 퍼셉트론)의 재발견이 촉매제가 되었다. 1차 AI 붐에서는 해결하지 못했던 XOR을 다층 신경망을 통해 해결하..
2021.09.02 -
(TIL) 20210831
📕Facts(한 것) 프로그래머스 문제풀기 운동하기 노마드 코더 챌린지 참여하기 앱런칭 동아리 지원서 작성하기 포트폴리오 정비 📕Findings(배운것) 프로그래머스 문제를 풀면서 백준에서 풀었던 '이중 우선순위 큐' 문제를 다시 풀었다. multiset에 관해서 새로 복습할 수 있는 좋은 기회가 되었고, *(mutiset.begin()) 과 *(--multiset.end())를 통해서 가장 작은 값과 가장 큰 값을 변수 값으로 구할 수 있다는 것을 복습했다. 노마드 코더 챌린지를 참여하면서 innerHTML을 처음 사용해 보았다. 주로 innerText만 사용했었는데, innerHTML은 각각의 문장에 tag를 직접 지정해 줄 수 있기 때문에 더욱 효과적인 것 같다. 📕Feeling(느낀 점) 내일이면..
2021.08.31 -
(TIL) 20210830
📕Facts(한 것) 프로그래머스 문제풀기 리눅스 공부하기 운동하기 노마드 코더 챌린지 참여하기 📕Findings(배운것) 리눅스 기본 명령어를 배웠다. useradd, adduser, passwd 등등 집에 있는 리눅스 명령어 사전 책이 유용하게 쓰일 것 같다. FireBase에 대한 개괄적인 지식을 습득했다. 백엔드 역할과 데이터 베이스 역할을 동시에 수행해주는 좋은 플랫폼이다. 다만, 이걸로 서비스를 직접 런칭하기에는 서비스 본연의 백엔드가 없기 때문에 무리가 있어 보인다. 📕Feeling(느낀 점) 개강이 얼마 남지 않아서 무기력해진다. 📕여담
2021.08.31