라벨이 개발인 게시물 표시

.net core 3.1 winforms 도구상자에서 button(버튼)이 안보이는 문제 해결방법.

이미지
.net core 3.1 winforms 도구상자에서 버튼이 안보이는 오류가 있습니다. 아마 이전 버전에서 업데이트로 .net core 3.1을 설치한 경우 아닐까 싶습니다. 해결방법은 아래 스샷과 같이 도구상자 아무데서나  우클릭 -> '도구 상자 다시 설정' 을 하면 됩니다. 참고로 제 Visual Studio 버전은 16.6.3 입니다.

Google.Cloud.Speech 개발 참조 페이지 정리.

개발자 콘솔 https://console.cloud.google.com/ .net 개발 환경 설정 https://cloud.google.com/dotnet/docs/setup?hl=ko 할당량 및 한도 https://cloud.google.com/speech-to-text/quotas?hl=ko 콘텐츠 한도 오디오 길이 동기식 요청 약 1분 비동기식 요청 약 480분* 스트리밍 요청 약 5분** 지원 언어 목록. https://cloud.google.com/speech-to-text/docs/class-tokens?hl=ko 각 언어의 지원 기능 목록. 영문페이지로 봐야함. https://cloud.google.com/speech-to-text/docs/languages 긴 오디오 파일을 텍스트로 변환 https://cloud.google.com/speech-to-text/docs/async-recognize?hl=ko 기본사항 - 옵션 필수 사항 내용도 있음. https://cloud.google.com/speech-to-text/docs/basics?hl=ko 샘플 및 가이드 https://cloud.google.com/speech-to-text/docs/tutorials?hl=ko https://cloud.google.com/speech-to-text/docs/video-model?hl=ko  - 동영상 오디오를 텍스트로 변환 https://github.com/GoogleCloudPlatform/dotnet-docs-samples  c# 예제파일 github C# API 문서 https://googleapis.github.io/google-cloud-dotnet/docs/Google.Cloud.Speech.V1/index.html https://googleapis.github.io/google-cloud-dotnet/docs/Google.Cloud.Speech.V1/api/Google.Cloud.Speech.V1.html https://cloud.goog

Google.Cloud.Translation.V2 개발 참조 페이지 정리.

Cloud Translation 메인. https://cloud.google.com/translate/docs?hl=ko 텍스트번역. https://cloud.google.com/translate/docs/basic/translating-text?hl=ko 언어감지. https://cloud.google.com/translate/docs/basic/detecting-language?hl=ko 지원 언어 목록. https://cloud.google.com/translate/docs/languages?hl=ko

플러터(flutter) 개발 참고 사이트들.

플러터 프로젝트 사이트. https://flutter.dev/ https://api.flutter-ko.dev/ - API 레퍼런스. https://flutter-ko.dev/docs/cookbook - 사용방법. https://flutter-ko.dev/docs/get-started/install/windows - 플러터 설치. https://flutter-ko.dev/docs/development/ui/widgets - Widget catalog 카테고리 https://flutter-ko.dev/docs/reference/widgets - Widget catalog 알파벳 플러터 패키지 사이트. https://pub.dev/flutter/packages 플러터 라이브러리, 툴, 튜토리얼을 정리한 곳. https://github.com/Solido/awesome-flutter 예제 코드들. https://codelabs.developers.google.com/?cat=Flutter  - 코드랩 https://x-wei.github.io/flutter_catalog/#/  - 웹브라우저에서 위젯 예제와 코드를 볼수 있다. 플러터로 만들어진 App들을 볼수 있다. https://flutterawesome.com/ 플러터 UI를 웹브라우저에서 배치. https://flutterstudio.app/ https://widget.studio/#/ 다트 프로젝트 사이트. https://dart.dev/ https://api.dart.dev/ - API 레퍼런스. https://dartpad.dev/ - Dart 웹 코딩. 테스트 코드용. https://dart.dev/guides/language/language-tour - 간단한 문법.

flutter 개발환경 세팅 - Android Studio.

1. sdk 다운로드. https://flutter.dev/docs/get-started/install 2. 압축을 푼후 시스템 환경변수에 PATH를 추가한다. 예) D:\Dev\flutter\bin 3. flutter doctor 실행. 개발에 필요한 사항을 체크하여 알려준다. 예) 콘솔(cmd.exe)에서 위의 경로로(D:\Dev\flutter\bin) 이동후 flutter doctor 실행. 4. Android Studio 설치. 아래 경로에서 다운받아 설치하세요. https://developer.android.com/studio 5. Android Studio에서 flutter 플러그인 설치. file - setting - pluguns 로 이동하여 flutter 검색후 설치 후 Android Studio 재시작. - 트러블슈팅. 가상 안드로이드 실행시 adb를 못찾는다는 에러와 함께 디버깅이 되지 않았습니다. 해결은 다음과 같이 했습니다. 파일 - Close project 로 Welcome to Android Studio 창으로 이동합니다. 하단 Configure - SDK Manager 로 이동하여 sdk를 업데이트 했습니다.  이 외에도 Android  sdk 재설치를 해도 해결될거 같습니다. Android SDK Platform-Tools 재설치로는 해결되지 않았습니다. - 트러블슈팅2. cmdline-tools component is missing Android Studio를 실행하고 SDK Tools 옵션에서 Android SDK Command-line Tools (latest) 설치. 참고. 윈도우에서 설치 https://flutter-ko.dev/docs/get-started/install/windows

electronjs react vue nodejs 간단 리뷰.

개인적으로 사용할 ui 라이브러리 찾고 있습니다. 요건 - 2-3달만에 켜도 잊어버리지 않고 사용할 수 있을것, ui 작업 최소화. 대략보고 작성한 거라 오류가 있을수 있습니다. - nodejs 자바스크립트로 서버 사이드 작업을 할수 있게 만든것. 최근엔 클라이언트에서도 작업. 자바스크립트 엔진은  Chrome V8 이다. - react 자바스크립트로 ios, 안드로드, 윈도우 등 프로그램을 만들수 있다. 네이티브 api를 랩핑한 라이브러리 같다. - vue  react 와 거의 비슷하나 라이브러리 구조가 다른거 같다. - electronjs  자바스크립트로 크롬 브라우저를 제어해 ios, 안드로이드, 데스크탑 프로그램을 만들수 있다. 여러 플래폼에서도 랜더러가 동일해 거의 같은 화면을 구현할 수 있다. - flutter 라이브러리 자체에 렌더러가 내장되어 있어 electronjs 와 비슷하게 여러 플래폼에서 동일한 화면을 볼수 있다. 타입스크립트를 개량한 dart라는 언어를 사용한다. - 프론트엔드 개발자 웹으로 치면 html코더 + 자바스크립트 프로그래머를 합쳐놓은 직군 같네요. electronjs, flutter가 자체 렌더링 엔진이 있어 멀티플래폼 지원에 있어 가장 앞서는거 같네요. vs code를 사용해보면 성능문제도 거의 없는거 같습니다. 그런데 거의 모든 라이브러리가 예전 html 코딩하듯 텍스트 기반으로 타이핑해야 하네요. otl OS와 개발툴이 거의 공짜로 풀리면서 비용은 낮아졌지만 돈이 안되다보니 질좋은 UI에디터를 개발하는 업체가 없는거 같습니다.  이렇다 보니 필요한 업체가 어느정도 개발하고 오픈소스화한 후 활성화되어 여러 라이브러리가 나오면 결국 업체의 비용을 낮추는 순환으로 생태계가 만들어져 있네요. 대부분 개발자 위주로 만들어져 디자인툴은 그다지 품질이 좋지 못하네요. Visual Studio Blend 가 나온지 꽤 됐는데 능가하는 에디터가 없다니... 개발환경도 꽤 파편화되어 있어 시행착오와 함께 개발 난이도는 더 높아져 초보나

visual studio code(vs code) 포터블(Portable) 설정.

작업 순서. 윈도우일때. 다른 OS는 아래 참고. 1. 반드시 zip 파일을 받는다. https://code.visualstudio.com/download 2. 압축을 푼다. 3. 압축을 푼 폴더안에 data 폴더를 만든다. 앞으로 플러그인과 설정은 여기에 저장된다. 구글드라이브, git 저장소에 올려서 사용하면 여러 컴퓨터에서 동기화가 된다. 참고. Portable Mode - code.visualstudio.com https://code.visualstudio.com/docs/editor/portable

tortoisegit 되돌리기 git, tortoisegit - revert 차이.

작업한 파일을 되돌리고 싶다면 tortoisegit - revert  하면 됩니다. tortoisegit revert - 작업 컴퓨터에서 작업한 파일을 되돌립니다. 레파지토리에는 영향을 주지 않습니다. git revert - 레파지토리를 수정합니다. 레파지토리가 이해가 안되면 아래 링크를 보세요. tortoisegit 에서 git revert 와 같은 작업을 하려면 Show log - Revert change by this commt 하면 됩니다.  추가로 git에선 되돌리기로 revert, reset 두가지 옵션이 있습니다. revert 는 이전 commit을 유지, reset은 이전 내commit 삭제 차이가 있습니다. git 그림 한장으로 이해하는 사용법. https://abel9999.blogspot.com/2020/05/git.html TortoiseGit Manual - Undo Changes https://tortoisegit.org/docs/tortoisegit/tgit-dug-revert.html

winform DPI 배율(스케일링) 문제.

글을 작성 시점은 2020년 6월 입니다. DPI 지원 부분이 계속해서 변경되고 있기 때문에 작성 시점을 밝힙니다. ---------------------------------------------------------------------- HiDpi를 지원하는 몇가지 방법이 있습니다. - 매니페스트(app.manifest) - App.config - API 호출. 세가지 방법 모두 manifest Windows 10 설정이 윈도우 보안기능(SmartScreen 등)에 날아가(?) WM_DPICHANGED(윈폼에선 DpiChanged)등 관련 콜백들이 제대로 동작하지 않는게 프로그램이 Windows 10 호환모드로 실행되지 않는거 같습니다. 그나마 SetProcessDpiAwarenessContext 호출시 글로벌후킹한 마우스 좌표값이 제대로 들어왔습니다. 이때 UI 스케일링은 자동으로 이뤄지지 않았고 DpiChanged 콜백도 동작하지 않았습니다. 윈도우 DPI 배율 기능이 땜빵같이 들어가 여기저기 엉켜 있는거 같네요. 윈도우 API로 짜면 어떨까 싶기도 합니다. 개발용 인증서를 사인해 봤지만 이걸로는 안됐습니다. 검색해 보니 아래와 같은 방법이 있지만 해결될지는 미지수 입니다. 신뢰할 수있는 기관 (digicert, symantec, ...)에서 인증서를 구매하고 이를 실행파일에 서명. Windows 스토어에서 소프트웨어 배포. PC에서 스마트 스크린 필터 해제. ---------------------------------------------------------------------- 매니페스트(app.manifest), App.config 두 방법 모두 manifest의 설정이 중요합니다. <!-- Windows 10  --> <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> app.manifest에 설정되어 있지 않으면 제대로 동작하지 않습니다. ---

Winform HiDPI scale지원. Winform에서 DpiChanged 이벤트가 호출되지 않을때.

글을 새로 올렸습니다. winform DPI 배율(스케일링) 문제. https://abel9999.blogspot.com/2020/06/winform-dpi.html 아래의 작업을 해도 개발컴퓨터가 아닌 다른 컴퓨터에서는 SmartScreen에 걸리면서 오동작 합니다. SmartScreen에 걸리면 설정이 뭔가 씹히는거 같네요. -------------------------------------------------------- - 매니페스트를 프로젝트에 추가하세요. 프로젝트 - 새항목추가 - visual c# 항목 - 일반 - 애플리케이션 매니페스트 파일(Windows만 해당)  - 프로젝트 속성 - 애플리케이션에서 위에서 만든 매니페스트를 추가하세요. 프로젝트 속성 - 애플리케이션에서 .NET Framwork 4.7 이상으로 설정합니다. - 전 vs2019인데 매니페스트를 편집하면 다음과 같은 항목이 있을겁니다. Windows 10 아래에 주석처리되어 있으면 주석을 제거합니다. 없으면 아래와 같이 추가해 줍니다.  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">     <application>       <!-- Windows 10 -->       <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />  </application>   </compatibility> - App.config 를 편집합니다. <configuration> 사이에 아래와 같이 추가해 줍니다.  <System.Windows.Forms.ApplicationConfigurationSection>    <add key="DpiAwarene

Winforms 프로그래밍 할때 기본 사항. font, AutoScaleMode.

결론. 폰트는 영문 윈도우 기본 글꼴인 Segoe UI를 쓰는게 유리하다. AutoScaleMode은 Dpi 가 문제가 덜한거 같다. 아이콘 최대 크기는 256 x 256. 윈도우 DPI 배율 설정시 만든 프로그램에 문제가 있다면 아래의 Winform HiDPI 링크를 시도해 보라. 복잡하거나 외형이 중요하다면 윈폼을 사용하지 말자. ms가 윈폼을 오픈소스화 한 이유가 있다. 내용. 한글 윈도우 visual studio에서 winform 기본 글꼴이 굴림으로 설정되어 있다. 아래 Windows 10 font list를 보면 굴림은 한국어가 설정이 되야 설치되는 폰트다. 즉 한글 윈도우 외에는 텍스트가 이상하게(안보이거나 짤리거나 등등..) 보일수 있다. 해결방법은  - 다른 언어 윈도우에도 공통 설치되는 폰트로 설정하거나  - 프로그램에 폰트를 내장하거나  - 폰트를 같이 배포가 있다. ------------------------------------------------------------- AutoScaleMode을 font로 설정했을때, 굴림폰트가 없는 윈도우에서 문제가 생기는 경우가 있어 dpi가 더 적합했다. 이건 프로그램마다 특성을 탈 수 있으니 테스트 해서 정해야 한다. ------------------------------------------------------------- 윈도우8.1이 2023년까지 지원된다고 하지만 이런저런 이유로 사용자가 적다. ------------------------------------------------------------- DPI 스케일과 관련해서 오류가 나면 다음을 참고하라. winform DPI 배율(스케일링) 문제. https://abel9999.blogspot.com/2020/06/winform-dpi.html ----------------------------------------------------------

synology nas에서 python을 사용하여 slack 메세지 보내기.

대략 설명하면 1. slack에 incoming-webhooks App를 설치. 2. python 스크립트를 synology 에 업로드. 3. synology에 python3를 설치. 4. 터미널로 python3 패키지 설치. 5. 작업 스케줄러 등록. 작업순서. 정해진 것은 없고 상황에 따라 변경하셔도 됩니다. slack에 incoming-webhooks App를 설치하고 Webhook URL을 복사해 둡니다. https://slack.com/apps/A0F7XDUAZ-incoming-webhooks 작성한 python 스크립트를 nas에 올립니다. File Station에서 올리고 파일위에서 마우스 우클릭하여 속성을 누르고 위치(경로)를 복사해 둡니다. slack에 메세지를 보내는 python3 코드는 다음과 같습니다. import json import requests webhook_url= "위에서 복사해둔 Webhook URL" payload= {"text": "hello world"} requests.post( webhook_url, json=payload ) synology nas 패키지 센터에서 python3를 설치합니다. 터미널로(저는 PuTTy 사용 합니다.) 접속합니다. 아래과 같은 명령어로 python3 패키지 설치를 위한 준비를 합니다. sudo -i wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py python3 -m pip install requests 이외에 다른 패키지가 필요하면 설치합니다. synology nas -> 제어판 -> 작업스케줄러 를 엽니다. 생성 -> 사용자 정의 스크립트 를 선택하여 생성합니다. 이름, 시간 등의 설정을 하고 작업설정 -> 실행 명령 -> 사용자 정의 스크립트를 다음과 같은 형식으로 실행하면 됩니다. test.py 는 위에서 복사해둔 python 스크립트의 경로

svn사용자의 git 사용 후기.

저는 cvs, svn, git 을 사용했고 이중 많이 사용한건 svn 입니다. svn과 비교한 장단점. - git 장점. 소스 - 로컬저장소 - 원격저장소로 나뉘어있기 때문에 원격저장소를 여러개 두어 여러군데 백업이 가능하다.  작업 중간에는 로컬저장소에만 올려 다른 팀원들에게 피해를 주지 않기 때문에 작업 중간에도 계속해서 소스 백업을 할수 있다. (아직도 회사에서 svn을 사용한다면 tortoisegit의 svn 관련기능을 사용하자. ) 이게 가장 큰데 github, AWS CodeCommit, google Cloud Source Repositories, ms azure devops 등 소스관리는 git이 대세다. 지원하는 개발 프로그램, 유틸도 git에 맞춰 나오기 때문에 선택이 아니라 필수가 되어가고 있다. - git 단점. 단일 바이너리 서버가 아니라 ssh나 웹서버 등을 조합해 사용하기 때문에 서버세팅이 번거롭다. 큰 바이너리 파일은 부담 스럽다. 지원하는 모듈을 설치하면 되지만 기본 모듈로 있어야 유지보수에 용이하다. 소스 - 로컬저장소 - 원격저장소 로 나눠지면서 복잡도가 증가하면서 용어가 중구난방이라 헤매기 쉽상이다.  예를 들어 소스를 서버에 올리는 기능이 커밑, 푸쉬로 나눠져 있다. 커밑to로컬, 커밑to원격 같이  동작의 이름에 통일성을 주는게 훨씬더 직관적이라 생각된다.  아래 그림에 동작별로 정리되어 있다. https://abel9999.blogspot.com/2020/05/git.html 저장소 내의 폴더 하나만 커밑, 업데이트 할수 없다.  svn은 하위 폴더 하나만 부분적으로 커밑, 업데이트 가능하기 때문에 저장소 하나에 프로젝트 여러개를 모아 놓고 사용했지만 git에서는 하나의 저장소에 하나의 프로젝트가 기본인거 같다. 이래서 저장소가 너무 여러개 일때 사용하는 서브모듈이라는 것도 있지만 바로가기 링크에 불과해 편의성이 떨어진다.  - 종합. svn 사용자 입장에서 로컬저장소 - 원격저장소 로 나누어 개발 중간에도 계속해서 소스

Realm 개발 정리.

https://realm.io/kr Realm Studio 디비 데이터 편집기. https://realm.io/products/realm-studio 닷넷 개발 문서. https://realm.io/docs/dotnet/latest/ 닷넷 예제. https://github.com/realm/realm-dotnet

개발 서적.

https://opentutorials.org/ http://pyrasis.com/ https://wikidocs.net/ https://docs.microsoft.com/ko-kr/learn/ https://github.com/EbookFoundation/free-programming-books Node.js https://www.nodebeginner.org/index-kr.html golang https://github.com/golangkorea https://legacy.gitbook.com/book/gosudaweb/go-language-specification-in-korean/details https://legacy.gitbook.com/book/gosudaweb/effective-go-in-korean/details swift https://jusung.gitbook.io/the-swift-language-guide/ https://seoh.github.io/Swift-Korean/ CppCoreGuidelines http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines https://github.com/CppKorea/CppCoreGuidelines

개발 리소스 - 폰트.

https://noonnu.cc/ https://gongu.copyright.or.kr/freeFontEvent.html https://akal.co.kr/?p=1570 https://offree.net/plugin/print/?id=2261&type=in https://fonts.google.com/ https://www.google.com/get/noto/#/ https://googlefonts.github.io/korean/ https://www.fontsquirrel.com/ http://font.kpipa.or.kr/ https://www.goodchoice.kr/font http://www.bingfont.co.kr/about-taom.html https://www.nyj.go.kr/main/128?space=main_header_gnb https://www.han-don.com/handon_platform/index.php?mode=handon_fonts https://spoqa.github.io/spoqa-han-sans/ko-KR/ http://www.goyang.go.kr/www/www05/www05_3/www05_3_6/www05_3_6_tab1.jsp https://cactus.tistory.com/193

개발 커뮤니티.

커뮤니티 순위. https://codecondo.com/programming-communities/ 해외. https://softwareengineering.stackexchange.com/ https://www.daniweb.com/ https://www.reddit.com/r/cpp/ https://www.drdobbs.com/cpp https://www.codeguru.com/ 게임. https://www.gamedev.net/ https://www.reddit.com/r/gamedev/ 한국. http://codingdojang.com/ http://www.devpia.com/ http://devkorea.co.kr/ https://okky.kr/ https://kldp.org/ https://cafe.naver.com/mcbugi https://www.gpgstudy.com/ http://www.soen.kr/

개발 리소스. 사운드.

무료. https://www.soundeffectpack.com/ http://gameburp.com/ https://www.freesfx.co.uk/ 유료. https://www.soundsnap.com/ https://ongakusozai.com/ https://www.musicplug.co.kr/index/ https://sonniss.com/

개발 리소스. 이미지.

공유마당. https://gongu.copyright.or.kr/ http://donate.copyright.or.kr/cntr/main/main.do 아이콘 http://www.letscc.net/ http://www.iconarchive.com/commercialfree.small-previews.html https://www.iconfinder.com/free_icons http://www.softicons.com/commercial-icons https://all-free-download.com/free-icon/free-commercial-use-icons.html https://icomoon.io/app/#/select https://findicons.com/ http://www.alessioatzeni.com/metrize-icons/ https://gyuha.tistory.com/363 https://thenounproject.com/ https://iconmonstr.com/ 이미지. https://publicdomainvectors.org/ https://pixabay.com/ https://commons.wikimedia.org/wiki/Main_Page https://kr.freeimages.com/ 유료. https://kor.pngtree.com/ 컬러차트. https://coolors.co/ 모바일 UI https://dribbble.com/

게임 개발 리소스.

국내 쇼핑몰. http://resourcebank.or.kr/ http://www.gamesound.or.kr/?SoundLibrary=sound&fcate1=&cate1=1&cate2=62&cate3=&snd_tag=&order=&page=15 2D 이미지 쇼핑몰. https://gameartpartners.com/ https://www.scirra.com/store https://creativemarket.com/Fassous https://www.gamedevmarket.net/member/fassous/ http://www.graphic-buffet.com/ https://www.gamedevmarket.net/ https://www.gameart2d.com/ https://graphicriver.net/game-assets http://www.supergameasset.com/ https://marketplace.coronalabs.com/ 무료. https://game-icons.net/ https://opengameart.org/ http://www.jewel-s.jp/download/ http://tilestudio.sourceforge.net/  - 타일툴