[ADCES] Post Event AzureDevOps

I have had a presentation at ADCES ( https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/events/257585167/ ). It was about AzureDevOps, Angular and .NET Core – real world scenario to create a build from GitHub application . The Example will be Stankins pipeline , https://github.com/ignatandrei/stankins/blob/master/azure-pipelines.ymlYou can find the presentation at https://github.com/ignatandrei/Presentations/tree/master/2018/shorts/AzureDevOps 

See you next time!

OpenSource library-versioning

Part 1

Implement Open-source library guidance

Part 2

OpenSource library – Cross-platform targeting

Part 3

OpenSource library-Dependencies

Part 4

OpenSource library- Source Link

Part 5

OpenSource library-versioning

Part 6

OpenSource library- Breaking changes

Part 7

OpenSource library- conclusion

Following recommendations from https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/versioning

Nr

Recomandation

AOP Roslyn

1

CONSIDER using SemVer 2.0.0 to version your NuGet package.

NO

2

DO use the NuGet package version in public documentation as it’s the version number that users will commonly see.

Yes

3

DO include a pre-release suffix when releasing a non-stable package.

No

4

CONSIDER only including a major version in the AssemblyVersion

Yes

5

CONSIDER keeping the major version number of the AssemblyVersion and the NuGet package version in sync.

Yes

6

DO NOT have a fixed AssemblyVersion

Yes

7

CONSIDER including a continuous integration build number as the AssemblyFileVersion revision

Not needed

8

AVOID setting the assembly informational version yourself.

Yes

For 1: I do not like SemVer. It is putting some pressure on the developer of the OpenSource. So I decide to follow Calendar versioning https://calver.org/ 

For 2: Yes, it is normal.

For 3: No, I do not like pore-release.

For 4: Yes – the year is major

For 5: Yes, done by CI process

For 6: Yes, done by CI in Calendar Versioning

For 7: NO. And , because of Calendar versioning, it is already done, if I do not publish 2 versions in the same day

For 8: Do nothing – and it is done.

OpenSource library- publishing

Following the rules at https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/publish-nuget-package

Nr

Recomandation

AOP Roslyn

1

DO publish stable packages and pre-release packages you want community feedback on to NuGet.org.

Done

2

CONSIDER publishing pre-release packages to a MyGet feed from a continuous integration build.

No

3

CONSIDER testing packages in your development environment using a local feed or MyGet. Check the package works then publish it to NuGet.org.

Yes

4

DO use a Microsoft account to sign in to NuGet.

Yes

5

DO enable two-factor authentication for accessing NuGet.

Yes

6

DO enable email notification when a package is published.

Yes

For 1: Done already. However, I do not like pre-release packages

For 2: Too much hassle for a single developer. Using instead NuGet

For 3: Yes , I have already a build.bat to do this

For 4: Yes.(NuGet allows only that now)

For 5 : Yes

For 6: Yes.

My Tools in 2018

Next time I will make the tools better, for having the URL next to them. For the moment, you can google/bing/duck them .

However, those are the most used tools by me in 2018:

  1. Utilities

    1. Browsers
      • Firefox
      • Edge
      • IE
      • Chrome
    2. RemoteViewers
      • TeamViewer
      • RemoteDesktop
    3. angular-cli-ghpages – npm
    4. glogg
    5. Abiro PhoneGap Image Generator
  2. IDE / Editors

    1. Visual Studio Code
    2. Visual Studio 2017
    3. SSMS for SqlServer
    4. Notepad++
  3. Misc

    1. Organizer
      • rescue time
      • Cronofy for trello -sync with google calendar
      • Trello – major projects
      • Todoist – shopping list
    2. Sites
      • http://www.picturetopeople.org/text_generator/others/transparent/transparent-text-generator.html
      • wikipedia
      • http://www.webgraphviz.com/ – display dot languge
      • Linkedin – CV
    3. Communications
      • meetup.com
      • facebook
      • Outlook
      • Slack
      • Gmail – email
      • Yahoo – email
      • Skype
    4. Decompiler – IlSpy – https://github.com/icsharpcode/ILSpy/releases
    5. Presentations
      • https://remarkjs.com
  4. Hardware

    1. Surface PC
    2. Android Phone
  5. Development

    1. Office Addins
      • Outlook vba alerts
      • https://docs.microsoft.com/en-us/office/dev/add-ins/quickstarts/excel-quickstart-angular
      • https://github.com/OfficeDev/generator-office
      • https://github.com/OfficeDev/Word-Add-in-Angular2-StyleChecker/blob/master/app/main.ts
    2. ChromeAddons
      • Export for Trello
      • OneTab
      • Todoist
    3. Angular components
      • office-addin-validator
      • @angular/material
    4. Javascript components
      • https://mermaidjs.github.io
      • https://github.com/adrai/flowchart.js
      • https://appsforoffice.microsoft.com/lib/1/hosted/office.js
    5. .NET Packages
      • simpleinjector
      • ScriptCs.Octokit
        https://github.com/alfhenrik/ScriptCs.OctoKit
      • Octokit
        https://github.com/octokit/octokit.net
      • dotnet tool install -g DotnetThx
      • Razor interpreter : https://github.com/toddams/RazorLight
        https://www.nuget.org/packages/RazorLight/
      • dotnet gcr
      • dotnet aop
      • Roslyn
      • https://github.com/crozone/FormatWith
      • xunit
      • Newtonsoft.json
      • RestSharp
      • MediatR
      • https://fluentassertions.com/examples/
      • https://github.com/shouldly/shouldly
      • swagger
      • Microsoft.Exchange.WebServices
    6. continous integration
      • Jenkins
      • https://github.com
      • https://www.bitrise.io/
      • https://ignatandrei.visualstudio.com/
      • https://codecov.io
      • https://ci.appveyor.com
    7. Frameworks
      • Angular
      • Cordova
      • .NET Core
    8. typescript paste extension visual studio
    9. Docker
      • Portainer
  6. Newsletters

    1. Code project
    2. Asp.net weekly
    3. R Weekly
    4. Code project
    5. DNK Daily
    6. JSCRipt daily
    7. JavaScript Weekly

For 2019, the list is public at https://trello.com/b/3O1fFpcl/tools2019

Detailed list about my activities in programming in 2018

This is what I have done in 2018:

Base learning

  • Angular
  • R
  • CI /CD with Azure DevOps Syntax base
  • Roslyn
  • .NET Core

 

Presentations:

  • Continuing the presentations about Design Patterns ( course )
  • Various Presentations ( ROSLYN AOP, Introduction to R, Messaging with MediatR)
  • Presenting at OWASP : Top 10 OWASP and counter attacks in .NET Core
  • Presenting at Code Camp Bucuresti .NET Core and Angular – deploy on Windows, Android, Linux ( Mac + iOS) : https://github.com/ignatandrei/AngNetCoreDemo

 

 

Free Projects :

             

  • Literary Awards – full javascript, database in the browser

Site Web: https://ignatandrei.github.io/LiteraryAwards/

Android :https://play.google.com/store/apps/details?id=com.msprogrammer.com

 

  • ONG Declaration for Romania

GitHub : https://ignatandrei.github.io/Decl230/

Android: https://play.google.com/store/apps/details?id=decl203.msprogrammer.ro

 

Starting Stankins v2  : https://github.com/ignatandrei/stankins , Live Demo at https://azurestankins.azurewebsites.net

 

 

Components:

  • AOP_With_Roslyn – .NET Global Tool for AOP with ROSLYN

GitHub :https://github.com/ignatandrei/AOP_With_Roslyn

NuGet: https://www.nuget.org/packages/dotnet-aop

 

  • AspNetCoreImageTagHelper – .NET Core for base 64 images

GitHub: https://github.com/ignatandrei/AspNetCoreImageTagHelper

NuGet: https://www.nuget.org/packages/AspNetCore.Mvc.ImageBase64/

Mentioned on https://github.com/aspnet/Mvc

  • Versions For .NET Core written in Angular:

NPM  : https://www.npmjs.com/package/versions-netcore-angular

Live Demo: https://azurestankins.azurewebsites.net/about

 

Books:

( free download at http://msprogrammer.serviciipeweb.ro/2018/09/03/making-open-source-component-from-idea-to-deploy-with-examples-from-net-core/ )

 

Various:

 

 

 

OpenSource library- Source Link

Part 1

Implement Open-source library guidance

Part 2

OpenSource library – Cross-platform targeting

Part 3

OpenSource library-Dependencies

Part 4

OpenSource library- Source Link

Part 5

OpenSource library-versioning

Part 6

OpenSource library- Breaking changes

Part 7

OpenSource library- conclusion

The documentation at https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/sourcelink says to enable source link.


Nr

Recomandation

AOP Roslyn

1

CONSIDER using SourceLink to add source control metadata to your assemblies and NuGet packages.

Modified(1)

2

CONSIDER including symbol files (*.pdb) in the NuGet package.

Done already(2)

For (1) : I have followed the instructions at https://github.com/dotnet/sourcelink/blob/master/README.md

For(2): It was done already by csproj configuration.