본문 바로가기

개발57

[EO] 27년차 실리콘밸리 개발자 한기용님 인터뷰 EO 채널에서 27년 차 개발자 대선배님의 인터뷰를 들었다. 1. 창업자들끼리 건강하게 싸울 수 있는 환경에서 피벗 했으면 좋았을 것 같다. 4명은 애매하다. 공동 창업자는 2명이 좋은 것 같다. 2. 공동창업자와 의견 충돌이 많은데 건강하게 싸워야 한다. 3. 시대의 변화를 놓치는 것을 후회한다. 내가 가진 것을 버리는 것이 아니라 내가 가진 것과 새로운 기회를 교환한다고 생각을 했어야 한다. 4. 좋은 회사는 성장하는 회사다. 성장해야 사람들도 들어오고 내가 할 수 있는 일도 늘어난다. 회사가 정치적으로 변하면 안 된다. 5. 실리콘 밸리는 비교를 많이 한다. 잘 되는 친구를 보면 자괴감에 빠진다. 그런데 그런 친구들은 자기가 가진 것을 버리고 불확실성에 자기 자신을 던졌던 사람들이다. 6. 기회는 .. 2022. 7. 19.
Github Achievements 오랜만에 내 Github 프로필을 봤는데 귀여운 상어와 욜로 뱃지가 있었다. 찾아보니 2022-06-09 새로운 Achievements가 공개되었다(공지 링크). 나는 현재 실버 상어인데 다음 단계인 골드 상어가 되기 위해서는 1024개의 PR이 merge 되어야 한다... 아래 repository에서 전체 Github Achievements와 어떻게 받을 수 있는지 확인할 수 있다. https://github.com/Schweinepriester/github-profile-achievements GitHub - Schweinepriester/github-profile-achievements: A collection listing all Achievements available on the GitHub .. 2022. 6. 24.
오늘의 git 그래프 큰 작업을 여러 PR로 나누어 진행해야 하다보니 멋있는 그래프가 나왔다. 오늘 발사에 성공한 나로호가 떠오르기도 하고 주재환 화백의 작품이 생각나기도 하고 2022. 6. 21.
.NET 소스코드 찾아보다 느낀점 부끄럽지만 그동안 .NET 소스코드를 찾아본 적이 없었다. 잠깐씩 블록단위로 본적은 있어도 이번처럼 심도있게 본적은 없었다. TransactionScope은 어떻게 Nested Transaction이 가능하도록 구현했는지 궁금해서 찾아보기 시작했다. 찾아보다가 내부적으로 CommittableTransaction이라는 객체를 이용하는 것을 봤다. 그러다가 나도 모르는 사이에 TransactionScope에서 벗어나서 CommittableTransaction 클래스를 열심히 공부하고 있었다. 그러다가 문득 '아니 나 이거 왜 보고 있지?'하고 MS docs를 찾기 시작했다. 역시나 docs.microsoft.com에 문서화되어 있었다. 다음에 오픈소스를 볼 때는 문서화된 것과 아닌 것들을 잘 구분해서 시간을.. 2022. 6. 18.
Kaikas API 연동 찍먹해보기 Klaytn 지갑으로 사용하고 있는 Kaikas Chrome Extension. 문득 궁금해서 API 문서를 찾아보게되었다. Caver.js라는 라이브러리를 이용해서 Chrome Extension과 Websocket 통신을 하나보다. 간단하게 f12를 눌러 테스트해보면 아래 소스를 통해 kaikas extension을 띄울 수 있다. klaytn.enable(); caver.js를 이용한 아래 소스코드로 현재 KLAY 잔고도 가져올 수 있다. caver.klay.getBalance(klaytn.selectedAddress) .then((d) => console.log(d)); 아직 가상화폐에 대한 공부가 부족해서 sendTransaction() 은 몰라도 현재 잔고를 조회하는 용도로 사용할 수 있지 않을.. 2022. 6. 8.
인스타그램 게시물 데이터 가져오기 대작전 개발팀에서 거의 매일 가는 성수동 최고 맛집 그린한식뷔페. https://www.instagram.com/green_food_buffet/ 매일 사장님께서 메뉴를 인스타에 올려주는 것을 보고 오늘의 메뉴 알림 앱을 만들 수 있을 것 같다는 생각을 했다. Plan A, 인스타그램 API를 사용해보자. 인스타그램 API를 이용하려 했더니 사장님 인스타 계정에서 연동을 부탁드려야 한다. => 나는 샤이 개발자이므로 실패. 리서치를 해보니 아래 url을 들어가 보면 복잡하지만 json으로 데이터를 리턴할 수 있다. 이 json을 파싱 해서 사진 이미지 url과 포스트 내용을 가져올 수 있다. https://www.instagram.com/green_food_buffet?__a=1 Plan B, 위 URL에서 인.. 2022. 4. 3.
Azure Storage 도입과 MVC 전환 요즘 하는 일은 두 가지다. 1. .NET 6.0 업그레이드를 위한 MVC 전환 2. file upload/download에 Azure Storage Blob 도입 1번 작업은 내가 과거 회사의 경험을 통해 아키텍처를 잡고 예시를 유형별로 개발했고 나머지는 신입 개발자들이 열심히 전환 작업을 진행 중이다. 기존 구린 소스를 보면서 '이걸 이렇게 구현했네...' 하는 생각도 들기도 한다. 근데 지금 내가 만든 구조도 몇 년 후에는 그렇게 되겠지. 2번 작업은 내가 리서치부터 테스트까지 다 진행했다. 다시 한번 Azure Blob, CDN의 편리한 기능과 API에 놀랐다. 주요 기능은 이미 배포를 끝냈고 나머지를 원래는 신입 중 하나에게 맡기기로 했는데 까다로운 개발들이 많아서 내가 해야 할 것 같다. 과거.. 2022. 3. 26.
[2022 .NET Conf.] ORM 특징 EF Model Class를 관리한다면 효율적임. 성능 향상을 위한 Memory-optimized table 활성화 가능 SQL을 몰라도 프로그램 작성 가능. => 이게 EF의 가장 큰 문제가 되는 것 같다. 실제로 쿼리 성능 튜닝을 위해서 쿼리를 수정하는 경우가 필요하기 때문이다. 대량 업데이트에 적절하지 않음. Dapper 우리가 사용 중인 Dapper. 로 제공받은 model class를 반환 model class 데이터 타입과 호환되지 않으면 에러 발생 => 오히려 장점임(오히려 좋아!). strong typing이 가능하다. SQL에 대한 이해가 필요하다. SQL Server에서 prepared query로 인식 => injection 예방 DB 내 쿼리 구문 분석 과정 단축, plan cach.. 2022. 1. 22.
[2022 .NET Conf.] 나인크로니클의 .NET 6.0 전환기 2022 .NET Conf.에서 가장 기다렸던 세션이다. 우리 팀에서도 열심히 진행을 하고 있는 중이기 때문에 더욱 기대했다. 나인크로니클이라는 블록체인 기반 게임을 개발하는 회사에서 .NET 6.0 전환기를 발표했다. .NET 6.0 도입 목적 성능을 위해 .NET 6.0으로 전환 C# 10, 신규 API 등 ARM64 지원 좋았던 신규 기능 Parallel.ForEachAsync() MaxBy(), MinBy() => 이건 왜 그동안 없었는지 의문일 정도. 많이 쓸 것 같다. Task.WaitAsync() record(C# 9) const interpolation(C# 10) .NET 6.0 도입 과정 참고: https://github.com/planetarium/NineChronicles.Headl.. 2022. 1. 22.