본문 바로가기

Programming

Is C# really slower than C 근 몇 달간 C로 코딩을 하고 있습니다. 그리고, C개발자의 수요가 어전히 있다는 것을 알게 되었습니다. 처음 실무적으로 C개발을 진행하면서, 학부 때에 배운 call by value, call by reference 같은 개념을 떠올리며 고생을 직감했습니다. 문자열을 다루기 위해서 char array를 사용하거나 pointer variable을 사용하는 것부터, 비OOP적인 개발을 하는 것까지 뭣하나 쉬운 일은 없었습니다. 중간에 며칠 정도, (막)개발을 중단하고 유투브 등에서 강좌를 많이 들어서 지금은 조금 나아졌지만, 여전히 쉽지 않습니다. 그리고, 짧지만 C를 다뤄오면서 C# 등의 언어가 얼마나 생산성이 좋은 언어인지, C#에게 감사하고 있습니다. 금융사쪽에 미팅에 몇 번 참석했는데, 속도를 위해.. 더보기
Cordova Resource Generator Objective Mobile app을 개발할 때, 그 중요성에 비해 상당히 번거로운 작업 중 하나는 Icon / Splash 이미지를 만들어서 등록하는 부분임. 이를 디자이너의 도움 없이 손쉽게 mobile app의 icon / splash 이미지를 만드는 방법을 기술 Resize Image 굳이 Photo shop등의 application을 설치하지 않아도, 간단한 크기 조정 등을 할 수 있는 많은 online service가 있으며, 그 중 ResizeImage.net이라는 사이트에서 부가적인 기능들을 제공하고 있어 이미지 가공에 손쉽게 활용할 수 있음. 특히, background를 투명하게 채울 수 있는 option이나, 원본의 종횡비를 유지한채로 이미지의 크기만 재조정하는 기능이 유용함. htt.. 더보기
Include Unmanaged code(C/C++) in Azure functions Objective C/C++로 작성한 Dll을 참조한 Azure Functions을 구축 Prerequisite Visual Studio 2017 version 15.5 or later Azure Development WorkLoad가 설치되어야 합니다. Azure Subscription이 필요합니다. Azure Storage account가 필요합니다. Tools > Extensions and Update > Azure Functions and Web Jobs Tools를 설치하여야 합니다. Create Azure Functions project Project > New Project에서 Azure Functions Template을 선택하고 Name을 작성하고, OK 버튼을 클릭합니다. 좌상단의 Az.. 더보기
Logical operators 다방면으로 JWT 관련 적용 방안을 검토하다가 찾은 샘플에서 아래와 같은 코드를 발견했다.this.token = currentUser && currentUser.token; ????왜 token 변수에 token값이 아닌 bool값을 할당하는 지 의아해 했는데...currentUser.token 값이 제대로 할당된다!! 뭐지 이 신비로운 Javascript의 세계는.라기 보다는 아직도 Javascript에 대한 학습이 많이 부족하다. 간단하게 아래의 코드를 실행해 보면 동작방식을 확인할 수 있다.let user = { token: 1234 };let token = user && user.token;console.log(token);'1234' 가 출력됨!! Referenceshttps://stackove.. 더보기
배포 후 put, delete 에서 405가 발생하는 문제 해결 방법 web.config에 아래의 modules element를 처리해 준다. Rreferencehttps://www.ryadel.com/en/error-405-methods-not-allowed-asp-net-core-put-delete-requests/ 더보기
Json serialize option .net platform에서 Json serialize하는 로직은 신경 쓰지 않아도 될만큼 충분히 훌륭하고 보편적이지만,enum value를 처리할 때는 int로 내려주기 때문에 상대적으로 직관성이 떨어져 보입니다. .net core에서 이를 customizing하기 위한 방법은 다음과 같습니다. Startup.cs 파일의 ConfigureServices method에서 AddMvc() 호출 부분을 아래와 같이 보완합니다.public void ConfigureServices(IServiceCollection services){ services.AddMvc() .AddJsonOptions(options => { options.SerializerSettings.Converters.Add(new Newtons.. 더보기
우편번호 오픈API 연동 #2 우체국 OpenAPI는 그 형태가 XML입니다.전달하는 데이터의 길이나 javascript에서의 활용성 등을 고려하면 json으로 제공해주면 더 좋았을 텐데요... 이런 건, 아쉬운 사람이 해결해야 하는 법이죠.XML을 json으로 변환해서 사용해 봅시다. XML Parser저는 xml2js라는 녀석을 사용했습니다. (0.4.19 version이 최신이네요)https://www.npmjs.com/package/xml2jshttps://github.com/Leonidas-from-XIV/node-xml2js 사이트에 예제가 잘 정리되어 있으므로, 간단하게 적용이 가능합니다. Angular에서 사용하기 위해서는 당연히 module 추가부터 해야 겠죠?> npm install xml2js --save 저는 우.. 더보기
우편번호 오픈API 연동 #1 마지막으로 주소 정보를 관리했던 건 기부자 관리를 위한 SmartRaiser라는 project를 할 때 였습니다.기부자들의 개인정보를 관리할 필요가 있는 시스템이었는데, 거기에는 당연히 주소 정보도 포함되었습니다. 지번 주소의 경우에는 우체국에서 수시로 Excel파일로 update를 제공 받았고, 그 data를 각각의 입맛에 맞춰 Db에 Import하고 사용했습니다.하지만 도로명 주소는 그 데이터의 양이 엄청 났던 기억이 있네요.거기에다 시행 초기에는 데이터의 오류까지도 넘처나던 시절이었습니다. 이를 정제해서 Db에 넣고 활용하는 건 쉽지 않은 일이었습니다.그 용량 또한 엄청 컸던 것으로 기억합니다. 7년 정도 지난 지금.지금은 많이 나아졌네요. 우체국에서 오픈API를 제공하고 있었습니다.나중에 알았지만.. 더보기
VisualSVN 정들었던 TFS와 안녕.7년 이상 거의 TFS만 주로 사용하다가 이제는 이별합니다. 간간히 Git이나 SVN을 사용해 왔지만,이제는 주로 SVN을 사용해야 하는 환경이네요. Visual Studio 버전이 trial이 아니라면 VisualSVN을 무료로 사용할 수 있네요.Visual Studio를 종료하고, https://www.visualsvn.com/visualsvn/download/ 사이트에서 버전에 맞는 버전을 선택하여 설치하세요. 이후, VS의 Tools > Options > Source control tab에서 VisualSVN으로 전환하면 됩니다. Referenceshttps://www.visualsvn.com/visualsvn/download/ 더보기
ASP.NET Core & SignalR 의욕적으로 최근에 release된 ASP.NET Core 2.0 & Angular 조합하여 사용해 보려고 합니다. POC를 통해서 간단한 CRUD작업에는 아무런 문제 없는 것으로 확인했습니다.Angular에도 좀 익숙해 지고, ASP.NET Core에도 조금 익숙해 져서 괜찮겠다고 생각했죠.특히 다른 개발자들과 협업하려면 javascript라는 공통 분모를 갖춰야 할 것 같기도 하고요. 그런데 Real time communication 기능이 필요할 것 같아 SignalR을 사용을 검토해 보았더니 아직 지원하지 않네요. SignalR은 Core 2.1에서 지원할 예정이며 그 시점은 올해 4분기라고 합니다. ReleaseTime frame*2.0-preview1Q2 20172.0-preview2Q2 201.. 더보기