본문 바로가기

전체 글286

CTO란 지원자 이력서 검토중에 우연히 보게된 CTO란 무엇인가에 대한 글 최고의 엔지니어 기술 비전과 로드맵 아키텍트 좋은 기술 코치 시니어 개발자 기술조직과 사업조직의 가교 기술적인 조언 사업을 기술 조직에 전파 기술을 다른 조직에 전파 팀장 채용 인력의 유지 자원의 산정과 확보 일정의 계획과 관리 업무 프로세스 개선 프로덕트 관리자 고객에 대한 이해 고객의 대변자 제품의 비전과 로드맵 우선순위의 결정 제품의 퀄리티 정말 부끄럽지만 잠시 CTO 직책을 가지고 있었던 적이 있다. 몇 개월동안 찐직장에서 퇴근하면 후배네 스타트업으로 출근하면서 첫 제품 출시를 도왔다. 당시 나는 개발자 버전 중2병인 2년차 병에 걸려있었고 매우 자신만만했다. 그리고 사업의 확장성을 위해 아키텍처를 다시 설계야 한다고 주장했다. 하.. 2021. 10. 26.
개발자 채용에서 시작된 자아성찰 2021 하반기 프로그래머스 채용 서류 검토가 시작되었다. 이번 하반기에는 올해 상반기보다 더 많은 지원자들이 있었다. 서류를 훑어보고 합격 목걸이를 주고 싶은 사람과 주고 싶은 생각이 전혀 들지 않는 사람이 대강 가려진다. 문제는 이도 저도 아닌 사람들이다. 뭔가 애매하게 한 가지 부분에서 부족하다. 그렇게 새벽 2시까지 혼자 고민을 하다가 문득 비교대상이 떠올랐다. 바로 나 자신. 나도 2020년 하반기 프로그래머스를 통해 합격을 해서 같은 포맷으로 비교할 수 있었다. github 당시 github 계정으로 프로그래머스에 가입을 해서 자동으로 연동이 되었고 원치 않게 내 github 활동이 이력서에 연동이 되어 올라갔다. 2020년 당시 내 github 활동에는 아무것도 없었다. 내 텅 빈 githu.. 2021. 10. 23.
강환국 & systrader79 퀀트 자료 공유 이벤트 https://cafe.naver.com/invest79/12917 강환국님과 systrader79님이 동영상 자료 ppt와 블로그의 자산 배분 전략을 모아 pdf로 정리한 자료를 공유하는 이벤트를 진행한다고 합니다. 2021. 10. 2.
NCrontab Online Tester Azure Functions에서 Timer Trigger의 실행 시점을 표현하기 위해 NCrontab을 이용한다. {second} {minute} {hour} {day} {month} {day-of-week} MS Docs에서 예시를 참고하며 배울 수 있지만, 개발을 하다보면 맞는건지 의문이 든다. 그럴때는 아래 온라인 테스터로 확인할 수 있다. https://ncrontab.swimburger.net/ 2021. 9. 27.
[MS-SQL] 모든 테이블 조회 MS SQL Server에서 모든 테이블을 조회하는 쿼리는 다음과 같다. SELECT SCHEMA_NAME(t.schema_id) AS 'Schema', t.name AS 'TableName', c.name AS 'ColumnName' FROM sys.columns c JOIN sys.tables t ON c.object_id = t.object_id WHERE c.name LIKE '%Early%' ORDER BY TableName, ColumnName; 2021. 9. 26.
[C#] List<T>를 ArrayList로 변환하기 이것도 알고나면 간단한데 ArrayList를 잘 사용하지 않다보니 잘 모르고 있었다. Constructor를 활용하면 간단하다. ArrayList arrayList = new ArrayList(list); 2021. 9. 25.
[.NET] Dapper 사용시 주의점 Dapper를 사용중인데 Temp Table을 사용하는 경우에 두번째 ExecuteAsync 에서 접근하지 못하는 문제가 있었다. 찾아보니 DB connection을 명시적으로 Open 해놓으면 Dapper 내부에서 DB Connection을 Open/Close를 하는 것을 방지할 수 있다. await conn.OpenAsync(); The point about temporary tables is that they're limited to the scope of the connection. Dapper will automatically open and close a connection if it's not already opened. That means that any temp table will be .. 2021. 9. 24.
[.NET] 대량 데이터 Insert하기(SqlBulkCopy.WriteToServer) 최근 결제 모듈의 성능을 개선하는 업무를 하고 있다. 기존의 방식은 몇 만건이 되는 결제를 1건에 1번씩 결제 API를 호출하는 방식이었다. 우리가 이용하는 PG사에서 너무 버겁다고 항의했다고 한다. 그래서 대량으로 결제 API로 변경하기로 했다. 열심히 구현을 하던 중 문제가 발생했다. 결제 정보를 가져오는 API에서 15만 건의 데이터를 가져와서 DB에 Insert 해야 하는데 성능이 나오지 않는 것이다. 이것저것 시도해보다가 결국 갓택오버플로우의 힘을 빌렸다. SqlClient의 SqlBulkCopy Class를 이용하는 방법이 있다고 한다. WriteToServer method를 이용하여 C# DataTable을 DB 테이블로 bulk로 Insert 할 수 있는 기능이었다. 효과는 굉장했다! da.. 2021. 9. 23.
[.NET] Generic Method의 T(Type Parameter) Property 접근하기 Generic Method를 생성했는데 T.Property로 접근할 수 없다. 다음과 같은 컴파일 에러가 발생한다. 1. Interface를 이용하는 방법 공통 IExample class를 만들고, Generic method에는 where generic type constraint로 generic type을 특정해주면 된다. public interface IExample { public int Property1 { get; } } public class A : IExample { public int Property1 { get; set; } public string A1 { get; set; } } public class B : IExample { public int Property1 { get; set.. 2021. 9. 22.