2021-01-01ãã1å¹´éã®è¨äºä¸è¦§
ãã«ãã¹ã¬ããã¨ããã¯ã¨ã¯ï¼ ãã«ãã¹ã¬ããå¦çã®æºå ããã¯ããªããã«ãã¹ã¬ããå¦ç lock 注æããã㨠Interlocked ReaderWriterLockSlim SemaphoreSlim Mutex å®è¡çµæã®ã¾ã¨ã è£è¶³ Volatile 修飾å ååæ§ ãµã³ãã« åè 2021 å¹´æ«ç¾å¨ãC# ã«ããâ¦
C# Advent Calendar 2021 ãè¦ã¦ãã¨ãC# ã®ãã¿ã¼ã³ãããã³ã°ã便å©ãããã C#ã®ã¢ããã§ãã¡ããã¡ã便å©ã«ãªã£ãswitchæï¼ãã¿ã¼ã³ãããã³ã°ï¼ã®ç´¹ä» C#ã®ããããã£ã«ãããã¿ã¼ã³ãããã³ã°ã使ãã ã§ãããã¿ã¼ã³ãããã³ã°ã®ä¸èº«ãå®éã©ããªå¤â¦
ã¿ã° (tag) ã®ä½¿ãæ¹ Visual Studio ããã¿ã°ãã¤ããã¨ã GitHub ã§ãªãªã¼ã¹ãä½ãã¨ã åè Git ã®ã³ãããã«ã¿ã°ãã¤ãã¦ããã¨ãGitHub ãªããã®ãµã¼ãã¹ã ã¨ç¹ã«ãã¼ã¸ã§ã³ç®¡çãè¦ããããããããããªãã¾ãã ã¿ã°ä»ãããã»ããããã¿ã¤ãã³ã°ãæâ¦
Yujian Tang ããã®è¨äºãå ã§ã Twitter ãè¦ã¦ããæµãã¦ããè¨äºãæ°ã«ãªã£ãã®ã§ãå人çãªå訳ãã¡ã¢ããå 容ã§ãã é¦ããããã»ã©é ·ããè±èªè¨äºããªãããã°ã©ãã³ã°ã¯ç°¡åãªã®ã«ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã°ã¯é£ããã®ãï¼ãè·å ´ã§ã¯å¾è ãå¿ è¦ãâ¦
ãã¼ã«ã«ã®ãµã³ãã«ããã°ã©ã ã§ããGitHub ã«ã³ãããããã¨ããªããã« API ãã¼ã使ç¨ãã¦ããã¨å°ããã¨ãããã¾ããGitHub ã«ãµã³ãã«ã³ã¼ãããããã¨ãã¯ãå½ç¶ API ãã¼ãé ãã¾ããã§ãAPI ã使ç¨ããï¼å®éã«åä½ããï¼å®è¡ã³ã¼ãã«æ¸ãæãããã³â¦
Prism App.xaml MainWindow (View + ViewModel) Dialog1 Dialog2 ãµã³ãã« åè Prism ãå©ç¨ããããã¸ã§ã¯ãã§åã¦ã£ã³ãã¦ï¼ãã¤ã¢ãã°ï¼ã表示ããæ¹æ³ã¯ããã¼ã¸ã§ã³ã®é²åã«ãã£ã¦å¤åãã¦ãã¦ããããã§ãã ç¾å¨ï¼ä¸è¨ã®ãã¼ã¸ã§ã³è¨è¼ï¼ã§ã¯ããã¤â¦
ãã®è¨äºã¯ãMicrosoft MVP ã®ã²ã¨ã Vincent Maverick Sanchez Durano ã®ããã°è¨äºãC# Coding Guidelines and Practices - 2021ããå人çã«é訳ãããã®ã§ãã ãã®è¨äºã§ã¯ãä¸è¬çãªã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãªã³ã° ã¬ã¤ãã©ã¤ã³ãç´¹ä»ãã¾ãããããã®â¦
ã¯ã¦ãªããã°10å¨å¹´ç¹å¥ãé¡ã10ã«ã¾ã¤ãã4ã¤ã®ãé¡ãã®ã好ããªâ¯â¯10é¸ãã¨ãããã¨ã§ãã¡ãã£ã¨æ©ããã© 2021 å¹´ã®å¥½ããªï¼è²·ã£ã¦ããã£ãï¼ã¢ãï¼ï¼é¸ãã¾ã¨ãã¦ã¿ã¾ãããï¼æ¯å¹´ãã£ã¦ãããã¤ã§ããï¼ ä»å¹´ã¯çµæ§ããã¢ãã¯ã¨ããããåæ§çãªãã®ãå¤â¦
éæ¨å¥¨ã§ã Password ããããã£ã Binding ãã Windows Hello ãå©ç¨ããèªè¨¼ ã¨ã©ã¼çºçããã¨ã ãµã³ãã« åè PasswordBox ã³ã³ããã¼ã«ã® Password ããããã£ã¯ä»æ§ã®ããããã¤ã³ãã£ã³ã°ããããã¨ãã§ãã¾ãããã¾ããã£ã¦ããã¤ã³ãã£ã³ã°ãããâ¦
ãã®è¨äºã¯ãARCTOUCH ã®ããã°è¨äºãUsing Moq for unit testing with Prism EventAggregatorããå人çã«é訳ãããã®ã§ãã ååè¨äºã§ã¯ãPublisher-Subscriber ãã¿ã¼ã³ã¨ EventAggregator ã使ç¨ããã¡ãªãããããã¦ãããã¸ã§ã¯ãã§ã®ä½¿ç¨æ¹æ³ã«ã¤ãâ¦
ç°å¢æ§ç¯ (Installation?) ã³ã³ã¹ãã©ã¯ã¿ã¼ã®æ³¨å ¥ (inject) ã¤ãã³ãã®ä½æ ã¤ãã³ãã®è³¼èª ã¤ãã³ãã®çºè¡ ã¤ãã³ãã®è³¼èªè§£é¤ é«åº¦ãªã㨠(Advanced stuff) åè ãã®è¨äºã¯ãARCTOUCH ã®ããã°è¨äºãHow to use Prism EventAggregator for .NET app deveâ¦
EventAggregator is ãªã«ï¼ .NET ã¢ããªéçºã« Prism EventAggregator ããªã使ç¨ããã®ãï¼ Prism EventAggregator ããã¤å©ç¨ããã®ãï¼ Xamarin.Forms ã® EventAggregator ã¡ãã£ã¨ãã注æç¹ åè ãã®è¨äºã¯ãARCTOUCH ã®ããã°è¨äºãWhy you should usâ¦
1. Bootstrap 2. ViewModelLocator 3. Module 4. MVVM ã®åºæ¬ã¯ã©ã¹ 5. InteractionRequest 6. Navigation 7. EventAggregator 8. ModuleLoadSeq 9. RegionBehavior 10. ModuleCatalog ã¾ã¨ã åè ååã¾ã§ Prism ã®å ¬å¼ãµã³ãã«ã確èªãã¾ãããè£è¶³ã¨ãã¦â¦
14. UsingEventAggregator 15. FilteringEvents 16. RegionContext 17. BasicRegionNavigation 18. NavigationCallback 19. NavigationParticipation 20. NavigateToExistingViews 21. PassingParameters 22. ConfirmCancelNavigation 23. RegionMemberLifetâ¦
11. DelegateCommands 12. UsingCompositeCommands 13. IActiveAwareCommands ã¾ã¨ã åè WPF + .NET Core (ï¼ä»¥é㯠Core ã¯çç¥ããã) 㧠Prism ã使ã£ã¦ã¿ããã 使ç¨ãã¦ãã Prism ã®ãã¼ã¸ã§ã³ã¯æ¬¡ã®ã¨ããï¼ 8.1.97 (2021/05/25) GitHub - Prism Saâ¦
8. ViewModelLocator 9. ChangeConvention 10. CustomRegistrations ã¾ã¨ã åè WPF + .NET Core (ï¼ä»¥é㯠Core ã¯çç¥ããã) 㧠Prism ã使ã£ã¦ã¿ããã 使ç¨ãã¦ãã Prism ã®ãã¼ã¸ã§ã³ã¯æ¬¡ã®ã¨ããï¼ 8.1.97 (2021/05/25) GitHub - Prism Sample WPF â¦
7. Modules 7.1 Modules - AppConfig 7.2 Modules - Code 7.3 Modules - Directory 7.4 Modules - LoadManual 7.5 Modules - Xaml ã¾ã¨ã åè WPF + .NET Core (ï¼ä»¥é㯠Core ã¯çç¥ããã) 㧠Prism ã使ã£ã¦ã¿ããã 使ç¨ãã¦ãã Prism ã®ãã¼ã¸ã§ã³ã¯â¦
1. BootstrapperShell 2. Region 3. Custom Region Adapter 4. View Discovey 5. View Injection 6. ActivationDeactivation åè WPF + .NET Core (ï¼ä»¥é㯠Core ã¯çç¥ããã) 㧠Prism ã使ã£ã¦ã¿ããã 使ç¨ãã¦ãã Prism ã®ãã¼ã¸ã§ã³ã¯æ¬¡ã®ã¨ããï¼ â¦
ãã³ãã¬ã¼ãã®æ§æã«ã¤ã㦠WPF_Core_FullSample ããã¸ã§ã¯ã Core ããã¸ã§ã¯ã Modules.ModuleName ããã¸ã§ã¯ã Services.Interfaces ããã¸ã§ã¯ã Services.Services ããã¸ã§ã¯ã æ°ãããµã¼ãã¹ã追å ãããã¹ã Services.Interfaces ã®ä¿®æ£ Serviceâ¦
ãã¹ãï¼ ãã¹ãï¼ ãã¹ãï¼ ãã¹ãï¼ ãµã³ãã« åè IoC Unity ã¨ã¯ãã²ã¼ã ã¨ã³ã¸ã³ã® Unity ã§ã¯ãªãã§ããinversion of control (IoC) ã³ã³ããã® Unity ã§ãã DI ã³ã³ããã C# ã§ä½é¨ãã¦ã¿ããªããããã¡ã¯ãã¹ã¿ã³ãã¼ãã«è¿ãåå¨ã§ãã Unity ã³â¦
DI DI ã³ã³ãã ãµã¼ãã¹ãã±ã¼ã¿ã®ã¢ã³ããã¿ã¼ã³ ãã¹ã㨠DI ã¾ã¨ã åè DI ã¨ã¯ãdependencyãããinjectionãããããã°ã©ãã³ã°ã®ãã¶ã¤ã³ãã¿ã¼ã³ã®ãã¨ãæ¥æ¬èªè¨³ã ã¨ãä¾åæ§ã®æ³¨å ¥ãã¨ãªã£ã¦ãããã©ã®ããã«æå³ã解éãããã®ããã¤ããããªã£â¦
Heroku Postgres ãæå¹å navicat ã®è¨å® ãã¼ãã«ã®ãµã³ãã« åè Heroku Postgres 㨠navicat ããã¹ãæ¥ç¶ããæ©ä¼ããã£ãã®ã§ããã®å 容ãã¡ã¢ã Heroku Free Plan çãã RDBMS ã§ãç¡æã§ä½¿ããã¯ã©ã¦ããµã¼ãã¹ã§ããè¡æ°ã®å¶éãå³ããã®ã§ãã¹ãâ¦
ã¿ã¼ããã«ã§å®è¡ããã³ãã³ã tsconfig.json ãã¡ã¤ã«ã®ä¿®æ£ ESLint ã®è¨å®ãã¡ã¤ã«ã追å å®è¡ç¢ºèª TypeScript ã使ãã³ã¼ãã£ã³ã°ãã¯ãããã¨ãã«ãVScode ã ã¨ã¿ã¼ããã«ã使ã£ã¦ããã¸ã§ã¯ãã®åæè¨å®ãããã¨æãã¾ãã ãã®é¨åã¯ãæ°ããã¦ããæ¸â¦
ReadySunValley 0.61.0 ã®ã³ã¼ã ReadySunValley 0.52.1 以åã®ã³ã¼ã è£è¶³ ãã¾ã åè ãã¼ã«ã«ã¢ããªã±ã¼ã·ã§ã³ãä½ãã¨ãã«ããããã¯ã¼ã¯æ¥ç¶ã®æç¡ããã§ãã¯ãããã¨ãããã¾ããã©ãããã³ã¼ããæ¸ãã§ããããã Windows 10 ãã Windows 11 ã¸ã®æ´â¦
npm vs npx npm the package manager npx the package runner Run a locally installed package easilyï¼ãã¼ã«ã«ã«ã¤ã³ã¹ãã¼ã«ãããããã±ã¼ã¸ãç°¡åã«å®è¡ããï¼ Execute packages that are not previously installedï¼ã¤ã³ã¹ãã¼ã«ããã¦ããªãããã±ã¼â¦
é³éãå¤æ´ããããã® P/Invoke é³éãå¤æ´ããã³ã¼ã ãµã³ãã« åè Core Audio API 㯠Windows Vista ãã追å ããã OS ã®ã¹ãã¼ã«ã¼è¨å®ï¼é³éãªã©ï¼ã«ã¢ã¯ã»ã¹ããããã®ãã®ã§ãã Core Audio API OS ã®ã¹ãã¼ã«ã¼ã¾ãããã¤ã¸ãã«ã¯ä¸åº¦ãã API ãªã®â¦
.NET 5 ç°å¢ã§ Win 32 API ãå©ç¨ãããã¨æã£ãããå¾æ¥ãªã P/Invokeï¼DllImportï¼ã§å©ç¨ããé¢æ°ãæ§é ä½ãªãããåå®ç¾©ãã¦å©ç¨ãã¦ããã¨æãã¾ãã2021 å¹´æ«ãå®æç®æ¨ã«ãã¦ãwin32metadataããç«ã¡ä¸ãã£ã¦ããã®ã§ããã£ã¡ãå©ç¨ãã¦ã¿ããã¹ãã wâ¦
æå®ããã¦ã£ã³ãã¦ï¼DMM çã¦ãå¨ï¼ãåå¾ãã ãã³ãã«ããã¦ã£ã³ãã¦ã®è¡¨ç¤ºç»åãåå¾ãã ç»åã®åãåºã OCR ã«ãããã¨ã ãµã³ãã« åè DMM çã®ã¦ãå¨ã®ã¦ã£ã³ãã¦ç»åããã£ããã£ã¼ããã¦ããããããµãã¼ããããã¼ã«ã§ã¯ãUmaUmaCruiseããæåâ¦
å¤æ´ã®æé åè PowerPoint ã®ã¹ã©ã¤ãã PNG å½¢å¼ã®ç»åãã¡ã¤ã«ã¨ãã¦ä¿åããã¨ãã®ç»åãµã¤ãºãå¤æ´ããæ¹æ³ãã¡ã¢ãã¾ãã ãã å¤æ´ã®æé Win + R ã§ããã¡ã¤ã«åãæå®ãã¦å®è¡ããèµ·å regedit ä¸è¡¨ãã対å¿ãã Power Point ã®ã¬ã¸ã¹ããªãµããã¼â¦
Spread Sheet 㨠GAS ã³ã¼ãã£ã³ã° ã¹ã¯ãªããã¨ãã£ã¿ã¼ãéãã¨ã ãããã°ãæå¹åãã ãµã³ãã«ã³ã¼ã ããªã¬ã¼ãè¨å®ãã åè å¤æ¥ããã®ããã°ã©ãã¼ã¯ãExcel VBA ãè¦ããæ°ããªãã¦ãæ¥æ¬ã®ç¤¾ä¼é念ããå¿ ã身ã«ã¤ãã¦ãã¾ããã®ã§ãããç¾å¨ã§ã â¦