본문 바로가기

전체 글

(103)
쏙쏙 들어오는 함수형 코딩 / 액션, 계산의 차이 - 계산은 무엇인가 ? 계산은 입력값으로 출력값을 만드는 것이다. 실행 시점과 횟수에 관계없이 항상 같은 입력값에 대해 같은 출력값을 돌려준다. 계산은 함수로 구현한다. - 계산이 액션보다 좋은 점 1. 테스트하기 쉽다 2. 기계적인 분석이 쉽다 3. 계산은 조합하기 좋다 - 계산을 쓰면서 걱정하지 않아도 되는 것 1. 동시에 실행되는 것 2. 과거에 실행되었던 것이나 미래에 실행할 것 3. 실행 횟수 - 계산의 단점 계산과 액션은 실행하기 전에 어떤 일이 발생할지 알 수 없다 - 액션이란? 외부 세계에 영향을 주거나 받는 것을 말한다. 액션은 실행시점과 횟수에 의존한다. ex) 이메일 보내기, 계좌에서 인출하기, 전역변숫값 바꾸기, ajax 요청 보내기 - 액션은 쉽지 않다!! 액션은 사용하기 어렵다...
Hilt 오류? module을 나누고, Hilt로 DI 적용을 하다 생긴 소소한 오류의 원인들 1. app단에 domain과 data를 주입했나? 2. Manifest에 name 등록을 해주었나? 3. 적절한 Annotation을 붙여 주입을 해주었나? 4. module 클래스를 생성하여 Provide를 이용하여 의존성을 주입하였나>? 5. kotlin 1.7.10 -> hilt 2.42 https://stackoverflow.com/questions/67744002/hilt-unsupported-metadata-version-in-kotlin
쏙쏙 들어오는 함수형 코딩 / 함수형 프로그래밍? 함수형 프로그래머는 액션, 계산, 데이터 이렇게 세분류로 코드를 나눈다. 1. 액션 : 실행 시점이나 횟수 또는 둘 다에 의존한다. - 시간이 지남에 따라 안전하게 상태를 바꿀 수 있는 방법 - 순서를 보장하는 방법 - 액션이 정확히 한 번만 실행되게 보장하는 방법 2. 계산 : 입력값으로 출력값을 만드는 것 - 정확성을 위한 정적 분석 - 소프트웨어에서 쓸 수 있는 수학적 지식 - 텍스트 전략 3. 데이터 : 이벤트에 대한 기록한 사실 - 효율적으로 접근하기 위해 데이터를 구성하는 방법 - 데이터를 보관하기 위한 기술 - 데이터를 이용해 중요한 것을 발견하는 원칙 분산 시스템 규칙 3가지 1. 메시지 순서가 바뀔 수 있다. 2. 메시지는 한 번 이상 도착할 수도 있고 도착하지 않을 수도 있다. 3. 응..
github / 삭제한 브랜치 복구하기 브랜치를 로컬에서만 삭제했다면, 원격 브랜치에서 바로 가져오면 되는데 로컬, 원격에서 모두 삭제를 했을땐?! 어떻게 할까 1. 지워버린 브랜치에서 한 활동 로그들을 확인한다. git reflog | grep "to 브랜치명" 2. 위에서 확인한 가장 낮은 번호를 기준으로 체크아웃한다.. git checkout -b 브랜치명 HEAD@{번호} 위 방법으로 했는데, 커밋 기록이 맞지 않거나 원하는 위치가 아니라면 해당 브랜치를 지우고, 위 방법을 다시 해주면 된다. 저도 알고싶지 않았어요...
맥 zsh: command not found: adb 오류 안드로이드스튜디오에서 adb 명령어가 안먹는 경우 vi ~/.zshrc -> export ANDROID_HOME=/Users/$USER/Library/Android/sdk/ export PATH=$PATH:$ANDROID_HOME export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform-tools :wq 후 엔터 source ~/.zshrc -> 적용 adb -> 정상작동 확인
Github / 잔디가 안심어지는 경우 1. commit한 브랜치가 default 브랜치가 아니어서 -> default 브랜치 변경 or default브랜치에서 커밋한 브랜치 머지 2. fork한 repository에서의 commit -> 새 레포지토리 만든 후 mirror push 사용 3. 커밋한 이메일이 다른 경우 -> 이메일 변경
Github / refusing to merge unrelated histories 말그대로 머지하려는 브랜치가 서로 연관없다는 뜻 머지하려는 브랜치에서 git merge dev --allow-unrelated-histories 명령어 입력해준 후 push하면 된다. (명령어가 직관적이어서 좋다 ㅎㅎ )
알고리즘의 필요성을 느끼다 회사에서 재귀함수를 사용하여 코드를 짤 일이 있었는데, 내가 재귀함수를 몰랐으면 이 프로그램을 어떻게 짰을까? 라는 생각이 들었다. 좀 더 효율적인 코드를 짜기 위해서는 꾸준히 공부를 해야겠더라. 언어나 프레임워크에 대한 이해도 당연히 중요하지만,, 기본적인 자료구조와 알고리즘은 변하지 않기때문에 한 번 정리할 필요가 있다.! 작년 여름, 배운거는 바로바로 기록하자는 야심찬 포부가 있었는데 .. 새해가 되었으니 다시 기록을 해보자.

반응형