length, size, count 차이

Length 메모리가 연속적으로 연결된 콜렉션의 크기를 의미합니다. 주로 배열에 사용됩니다.

Count 일반적인 콜렉션의 크기를 의미합니다. c#에서 제공하는 일반적인 콜렉션(list, dictionary)들에 사용됩니다.

Size 콜렉션의 크기를 의미하는 것에서는 Count와 같지만 추가와 삭제가 빈번한 콜렉션의 경우 일반적으로 가지고 있는 갯수보다 더 큰 공간을 잡아둡니다. Size는 그 여유 크기를 포함합니다. C/C++의 STL의 경우는 Size와 Capacity를 가지고 있는데 이 경우 Size가 위의 Count와 같은 의미이며 Capacity가 여유공간을 포함한 배열의 크기를 의미합니다. c#의 경우는 콜렉션에서 Count와 Capacity가 사용됩니다.

날씨 데이터

지인으로부터 전광판 앱 제작 요청을 받고 작업한 적이 있습니다. 전광판 앱이라고 해봐야 문구, D데이, 시간 정도 출력이라 대부분 문제가 되지 않았는데 날씨 정보는 작업이 조금 난감하였습니다.

날씨정보 API는 공공데이터 포탈을 통해 무료로 받을 수 있는데 문제가 국내의 경우 위치 정보 사업자 등록을 해야 한다는 것이었습니다. 사내에서만 쓰는 앱에 위치 정보 사업자 등록을 한다는게 난감하여 해당 정보 출력은 포기했던 기억이 나네요.

최근 우연히 https://openweathermap.org/ 을 사용하면 손쉽게 날씨 정보를 얻어 올 수 있다는 것을 알게 되었습니다. 외국사이트라 국내의 위치 정보 사업자 등록도 필요없고 손쉽게 무료로 API로 날씨 정보를 가져올 수 있습니다. 외국 사이트지만 단위(섭씨, 화씨) 및 지역명, 날씨 정보도 한글화되어 있습니다.

물론 무료는 한달에 1백만 콜 제한이 있어 내부적으로 또는 소규모 사용시에만 권장됩니다. 물론 사업을 계획하신다면 유료 모델 또는 국내에 위치 정보 사업자 등록 후 공공데이터 포탈에 접근하시는게 나을거 같습니다.

GitHub - Copilot

GitHub - Copilot을 약 한달간 사용 중에 있습니다.

사용 후기

사용 환경: VS 2022, VS Code, 언어: C#, Javascrpit

  • AI와 짝 프로그래밍 하는 건 아직 불가능
  • 향상된 자동 완성 기능으로서는 만족
  • C#, Javascript 사용. 특정 언어가 더 잘 된다는 느낌 없이 둘다 잘 적용됨.
  • 한글 주석도 이해한다.
  • 주석이 없어도 자동으로 만들어주는 경우가 있다.

결론은 사용한다면 분명 도움이 되는거 같습니다. 사용하는 것을 권장합니다.

※ 일부 기능의 경우 VS2022 기능 같아 보이는 것도 있는데 구분할 수 없어 둘 다 사용한 후기라고 이해하시면 좋을 거 같습니다.

GitHub - Copilot 사용하기

  • 가입 : GitHub - Copilot 현재는 테크니컬 프리뷰로 바로 사용이 안되고 대기 등록 후 사용해야 합니다. 저의 경우는 2주 안에는 답장이 와서 사용할 수 있었습니다.
  • Visual Studio 설치 : 메뉴 확장(Extensions) -> 확장 관리(Manage Extensions) -> Copilot 검색 후 설치 (https://github.blog/2022-03-29-github-copilot-now-available-for-visual-studio-2022/)
  • Visual Sutdio Code 설치 : 확장 탭 -> Copilot 검색 후 설치

오픈 소스 프로젝트 시작

오랜기간 회사라는 닫혀있는 공간에서 개발해 오다 오픈소스에 매력을 느낀 후 마음만 먹고 있던 오픈 소스 프로젝트를 이제야 진행합니다.

  • szViewer : 무료이며, 쉽고 빠르고 이용할 수 있는 이미지 뷰어를 목표로 개발중입니다.