전체 글 861

이펙티브 코틀린 2장 가독성

## 2장 가독성 ### 아이템11 가독성을 목표로 설계 하라 ```kotlin if (person != null && person.isAdult) { view.showPerson(person) view.hideProgressWithSuccess() } else { view.showError() view.hiseProgress() } person?.takeIf { it.isAdult } ?.let { view.showPerson(person) view.hideProgressWithSuccess() } ?: run { view.showError() view.hideProgress() } ``` A/B 코드 중에 A 코드가 명확하고, 이해하기가 더 쉽다. B 코드는 코틀린 스러워 보이지만, 오히려 디버깅을 ..

원온원을 읽고, 느낀 점

http://www.yes24.com/Product/Goods/107905667 원온원 - YES24 아마존에서 페이스북까지, 왜 실리콘밸리의 많은 기업과 한국의 스타트업은 ‘면담’을 버리고 ‘원온원’을 하고 있을까?“조직의 성공과 리더의 성공, 그리고 구성원의 성장과 성공을 연결 www.yes24.com 원온원의 결국 핵심은 리더와 팀원간의 목표지점의 설정을 통한 가는 길목에서 대화로써 목표지점까지 업무를 진행해나가는 것에 대한 과정이다. 결과적으로 팀원이 주체적으로 대화를 하고, 업무 혹은 다른 이슈 상황들에 대해서 팀장에게 이야기하고, 아이디어를 제공하고 해결 할 수 있는 포인트들을 의논하는 자리라고 보면 될것 같다. 핵심은 일을 어떻게 효과적으로 해내고, 그것을 어떻게 팀장에게 공유해야 하는지 고..

책 리뷰 2022.10.05

@ConfigurationProperties (Spring Boot)

kafka: topic: {topic name} producer-config: bootstrap.servers: {server info} key.serializer: org.apache.kafka.common.serialization.StringDeserializer value.serializer: org.apache.kafka.common.serialization.StringDeserializer acks: all batch.size: 16384 linger.ms: 1000 위와 같은 정보를 클래스 형태로 가져오고 싶다면 어떻게 해야 할까? 이럴때 쓸 수 있는 것이 @ConfigurationProperties 이다. kotlin에서 특히나 불변 값으로 가져오고 싶다면, @ConstructorBindin..

이펙티브 코틀린 1장 안정성

1장 안정성 아이템 1: 가변성을 제한하라 코틀린은 모듈로 프로그램을 설계 한다. 모듈은 클래스, 객체 ,함수, 타입 별칭, Top-level property 등 다양한 요소로 구성 된다. 아래의 코드를 살펴 봅니다. class NumberSum { suspend fun sumNumber() { var num = 0 coroutineScope { for (i in 1..1000) { launch { delay(10) num += 1 } } } println(num) // 실행 마다 다른 값이 나온다. } } 코루틴은 경량 쓰레드라고 생각하면 되고, 위의 코드에서는 쓰레드 간의 동기화가 되어 있지 않기 때문에, 값을 마음 대로 변경 하게 되는 이슈가 있고, 우선 num 변수 자체가 가변적인 변수라 이를 불..

vite build 오류

최근에 이직한 곳의 플랫폼은 admin 환경이 spring boot + vite(vue3)를 쓰고 있었는데, 빌드가 안되는 케이스가 발견 됐다. 로컬 머신이 m1이라서 이슈가 되는 것 같기도 한데, 아래처럼 하면 이슈가 해결 된다. The package "esbuild-darwin-arm64" could not be found, and is needed by esbuild가 발생한다. 이상해서 찾아보니, 아무래 모듈들을 설치해도 동작을 하지 않는다. npm install -g esbuild-darwin-arm64 npm install -g esbuild 해도 안되는데, 특정 링크를 보고 아래 명령어를 실행하니 수정 되었다. npm i -D esbuild ref. https://github.com/evan..

“Fake it till you make it”의 함정

원본은 아래 트위터에서 남긴 글입니다. 혼자만의 생각이라, 문체가 불편할 수 있는 점 사전에 사과 드립니다. 아래의 내용은 모두 어쭙잖은 내용일 수 있습니다. 모든 분들에게 도움이 되지 않을 수 있는 내용임을 밝힙니다. “Fake it till you make it” 문구는 내 예전 jeykll blog 문구였는데 어느 순간 나는 이게 불가능하다는 것을 알게 되었다. 그래서 그냥 늘 “전 잘 모르는데”를 달고 살고, 상대에게 내가 알던게 잘못된 거면 배웠다고 말하고 몰랐던걸 알게 되면 많이 배웠다고 말한다. 결과적으로 나한테 “그 연차에 어쩌네 저쩌네 하는 사람”이 있다면, 어차피 같이 일 안하면 그만이다. 연차를 떠나서 꼭 상대방이 아는 걸 다 알아야 할 필요는 없다. 난 여기서 협업의 시너지가 생성 ..

승돌 쓰다 2022.09.07

Error computing cache key - CircleCi

Circle Ci상에서 아래와 같은 오류를 만날 수 있다. error computing cache key: template: cacheKey:1:30: executing "cacheKey" at 대충 package-lock.json이 없어서 발생하는데, 추가해주면 해당 오류를 수정 할 수 있다. ref. https://stackoverflow.com/questions/64311553/error-computing-cache-key-on-circle-cl-when-i-setup 혹은, circleCi 설정 파일에서 pkg-manager를 yarn으로 바꿔서 하면 될 것 같기도 한데, 테스트 해보진 않았다.

프로그래밍 2022.08.03

노력의 힘이란 (feat. 노력 가보자고 💪🏻)

LinkedIn에서 구글 UX 리드 디자이너이신 김은주님의 소식을 팔로우 하고 있는데, 좋은 글을 보게 되어 공유 합니다. 구글에 40번의 지원 끝에 합격하게 된 포스팅인데, 두 가지의 생각이 들었습니다. 1. 구글의 문턱은 높구나. 2. 노력 하면 안되는 것은 없구나. 결과적으로 안 된다는 나의 마음 가짐일뿐이지, 노력 하면 된다는 것을 알 수 있었습니다. 그런데, 어쨌거나 39번의 실패가 아닌 reject였다는 점이 좋았습니다. 면접에 떨어졌다고 해서 실패가 아니라는 사실. 최근에 생전 처음으로 몇번의 면접을 봤었는데, 정말 긴장하니까 횡설수설 내가 무슨 말을 하는지도 잘 모르겠고, 내가 뭘 했더라? 기억도 잘 나지 않았습니다. 준비가 덜 되었으니, 당연히 불합격들을 받았습니다. 대신 깨닫는 것들이 ..

승돌 쓰다 2022.08.02
반응형