A 9-Hour Go Course for Beginners
⭐️ Contents ⭐️
(0:00:00) Intro
(0:03:17) Ch 1. Why write Go?
(0:27:39) Ch 2. Variables
(0:51:11) Ch 3. Functions
(1:16:58) Ch 4. Structs
(1:34:36) Ch 5. Interfaces
(2:00:26) Ch 6. Errors
(2:22:01) Ch 7. Loops
(2:48:21) Ch 8. Slices
(3:39:54) Ch 9. Maps
(4:06:19) Ch 10. Advanced functions
(4:31:03) Ch 11. Pointers
(4:48:02) Ch 12. Local development
(5:31:43) Ch 13. Channels & concurrency
(6:07:38) Ch 14. Mutexes
(6:30:56) Ch 15. Generics
(6:38:38) Ch 16. Quiz
(6:43:13) P1. RSS aggregator project
(6:53:43) P2. Chi router
(7:11:37) P3. Postgres database
(7:39:10) P4. Authentication w/ API keys
(8:18:28) P5. Many to many relationships
(8:39:13) P6. Aggregation worker
(9:05:28) P7. Viewing blog posts
سری مقدماتی NET Core.
Day 1 - Installing and Running .NET Core on a Windows Box
Day 2 - Taking a Look at the Visual Studio Templates for .NET Core
Day 3 - Running a .NET Core app on a Mac
Day 4 - Creating a NuGet Package from .NET Core app
Day 5 - Creating a Test Project from .NET Core
Day 6 - Migrating an existing .NET Core to csproj
Day 7 - Creating an ASP.NET Core Web Application
PS /> Get-Host Name : ConsoleHost Version : 7.3.0 InstanceId : c3f625f0-dad8-4325-a0a1-f6499afecb8a UI : System.Management.Automation.Internal.Host.InternalHostUserInte rface CurrentCulture : en-GB CurrentUICulture : en-GB PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy DebuggerEnabled : True IsRunspacePushed : False Runspace : System.Management.Automation.Runspaces.LocalRunspace
Function Write-Color { Param ( [ValidateNotNullOrEmpty()] [string] $newColor ) $oldColor = $host.UI.RawUI.ForegroundColor $host.UI.RawUI.ForegroundColor = $newColor If ($args) { Write-Output $args } Else { $input | Write-Output } $host.UI.RawUI.ForegroundColor = $oldColor }
# macOS PS /{current_dir}> # Windows PS C:\>
PS /> function prompt { "Hello, World > " } Hello, World >
PS /> Function prompt { Get-Process Slack }
System.Diagnostics.Process (Slack)
function prompt { $time = (Get-Date).ToShortTimeString() "$time $([net.dns]::GetHostName()):> " } # eg: 11:00 Sirwans-MacBook-Pro.local:>
Function Write-Branch { If (Test-Path .git) { $branch = git branch --show-current $lastCommitAuthor = git log -1 --pretty=format:"%an" If ($null -ne $lastCommitAuthor) { Return "($branch - latest commit written by 🤦👉 $lastCommitAuthor)" } Return "($branch)" } Else { "Not in a git repo" } } Function Prompt { $CurrentDirectory = Split-Path -Path $pwd -Leaf Write-Host "`nPS " -NoNewline -ForegroundColor Cyan Write-Host $($CurrentDirectory) -NoNewline -ForegroundColor Green Write-Host " $(Write-Branch) " -NoNewline -ForegroundColor Yellow Return '> ' }
ذخیرهسازی تقییرات شل درون پروفایل
نکتهایی که باید به آن دقت داشته باشید این است که تغییرات، تنها برای سشن جاری ذخیره خواهند شد و به محض بستن سشن، این تغییرات از حافظه پاک خواهند شد. همانطور که در قسمت قبل نیز اشاره شد، برای اینکه تغییرات را همیشه موقع باز کردن شل مشاهده کنیم، باید کدها را درون پروفایل ذخیره کنیم. به این معنا که هر وقت PowerShell را باز کنیم، توابع و کدهایی که درون پروفایل تعریف شده باشند، به صورت سراسری قابل استفاده خواهند بود. توسط متغیر خودکار Profile$ میتوانیم پروفایل جاری را مشاهده کنیم:
PS /> $Profile {HOME_USER}/.config/powershell/Microsoft.PowerShell_profile.ps1
دقت داشته باشید که پرفایل فوق، برای Host جاری و همچنین کاربر جاری میباشد. به این معنا که محتویات داخل این پروفایل، تاثیری در دیگر شلهایی که توسط اپلیکیشنهای دیگر میزبانی میشوند ندارد. توسط دستور زیر میتوانید لیست پروفایلها را مشاهده نمائید:
PS /> $PROFILE | Get-Member -Type NoteProperty | Select-Object Name, Value Name Value ---- ----- AllUsersAllHosts AllUsersCurrentHost CurrentUserAllHosts CurrentUserCurrentHost
مسیر هر کدام از پروفایلهای فوق را میتوانید در اینجا مشاهده نمائید. همچنین توسط پرچم NoProfile- میتوانیم PowerShell را بدون بارگذاری هیچ پروفایلی باز کنیم:
pwsh -NoProfile
بنابراین برای ذخیرهی تغییرات قبل، میتوانیم توابع تعریف شده را درون پروفایل موردنظر قرار دهیم، تا با هربار باز شدن سشن، کدهای موردنظر قابل استفاده باشند:
PS /> code $PROFILE.CurrentUserCurrentHost Function Write-Branch { # As before } Function Prompt { # As before }
اگر از ماژول Posh برای تغییر ظاهر PowerShell استفاده کرده باشید، متوجه خواهید شد که این ماژول نیز به همین روال کار میکند؛ یعنی با هربار باز شدن سشن، این دستور برای بارگذاری Prompt سفارشی فراخوانی خواهد شد:
oh-my-posh init pwsh | Invoke-Expression
At Build 2019, Microsoft announced the release date for .NET Core 3.0 to be this coming September. This release includes the highly touted support for desktop platforms like WinForms and WPF. Today, there’s still a large developer base that’s building desktop applications using these .NET Windows desktop frameworks and by using .NET Core 3.0, you can now build desktop applications on the .NET Core platform.
ایجاد Pull to Share برای موبایل
غروب log4net
As of April 1, 2020 Log4Net is a dormant project of Apache Logging Services. The dormant status means the project has been classified as inactive since it has had no recent development activity and there are no active volunteers to perform code reviews, commit code, or perform releases. Although it is possible volunteers might choose to participate in the future, it is best to assume there will be not future development or releases.
The Bootstrap team has a comprehensive guide for migrating to Bootstrap v4. However, there is a very nifty tool from the community, that allows you to drop in a piece of code and convert it to the Bootstrap v4 equivalent.