This is my summary of the steps I took while experimenting with ASP.Net Core 2.1 Preview’s new React template to get a DevOps environment up and running for a new project.
To summarize the stack being used is as follows:
Why so bleeding edge?
Simply, the new React template included in .NET Core 2.1 Preview is a much cleaner implementation than what was available in .Net Core 2.0 in my opinion, as where the previous version had the usual Microsoft pattern of ‘customize at will’, the new template seems to keep the spirit of the React community in how it goes about deploying React as a front end project. This new ASP.Net Core React template utilizes an ASP.Net Core Web API project meant to be used for back-end heavy lifting (e.g. authentication, database etc) and keeps a true create-react-app generated application for the front-end project. I also chose to Visual Studio Team Services instead of my usual preference for Github as it provided a quick way to get both a Git repository up and running and its Build and Release features work nicely with hosting on Microsoft Azure.
I finally got fed up of not quite getting Regular Expressions, even though I learnt just enough to use them in past projects. So I started looking for a tutorial that would fit well with my style of learning, and this tutorial by RegExOne worked excellently for me in getting RegEx basics finally memorized.
To the authors of this course:
Thank you so much for making clear what I struggled to get for years! The small, bite sized lessons made it easy enough for me to step away and still come back to restarting without getting lost when I only had a few minutes to spare daily for this learning task.
Hopefully others who find this tutorial through here will think similarly, and donate the meagre $4US donation asked for by its creators in return for the work put in to making this tutorial.
Spend 3 hours working thru any free resources I find online to get my feet wet with zero preparation in programming a blockchain app
An article on Building a Blockchain DApp using truffle, React, Next.js and MobX that two minutes of Google led me to and that looked promising to leverage my learnings thru recent paid work in React and Mobx-State-Tree because it mentioned React and Mobx in the title (see Retro for how much of a good guess this was).
Errata and my notes on the article
Think of this like Snape’s notes on the Advanced Potions book, except I don’t think I’m a Half-Blood Prince, just someone who used the article as guidance prior to you who’s reading it and worked thru the kinks and gotchas.
First I used my Macbook to do this, so with Homebrew and NVM i ensure I was on the latest version of node and using the 7.10.0 of npm
brew install nvm
nvm use 7.10.0
npm i -g yarn
Notes on the guide:
- The URL. Change the line
git clone email@example.com:liors/tvdapp.git
git clone https://github.com/liors/tvdapp.git
since either there was an error in the command or the Wifi network I was on was blocking ssh connections.
If it kicks an error like it did for me that
The engine “node” is incompatible with this module.
Expected version “7.10.0”.
error Found incompatible module
Then go back to the terminal console and run
and if it isn’t listing 7.10.0 follow again the step above to use nvm to install and use that version as the compilation is still using the newer node version so is creating this error.
- Opening the folder in Visual Studio Code and opening “Bookmark.sol” file in VSCode, it offered a few recommendations for a code/syntax highlighter for solidity, the contract-oriented programming language used here, so I went with the most downloaded one.
- At this point I took the recommendation of the article here of reading the docs with regards to solidarity to get a better grasp of what’s happening here. I’d backup this recommendation to future readers as well.
- The article then goes into running the tests, a requirement of which is having “a local instance of testrpc” but it falls short of saying how to go about doing this which also led to me first having to follow these steps to install go-ethereum for a Mac. Fun times.
- In the steps for setting up a local instance of testrpc that I referenced, the command to execute
geth –datadir=”/tmp/eth/60/01″ -verbosity 6 –ipcdisable –port 30301 –rpcport 8101 console 2>> /tmp/eth/60/01.lo
required that i first create execute
to create the /tmp/eth/ and /tmp/eth/60 folders before it would successfully execute.
to get the Ethereum TestRPC client up and running and then as per the article execute
and all tests should now successfully pass.
So that was quite a bit for just part 1 of the article. Haven’t even gotten to the stuff I wanted to leverage my knowledge of (React, Mobx etc). But still if there’s one takeaway it’s that I now have a hotlist of things I need to read more about now to get deeper into Blockchain application programming, specifically:
- Solidity – and especially mulling over the Solidity by Example sample to grok this better
- Geth – not just setting it up, but understanding how Ethereum nodes operate and peer with each other
- Probably also stepping back to try something simpler first, like building the Greeter app from Ethereum.org before going further including configuring my browser to run DApps with MetaMask chrome extensions
Use the connection server “(LocalDB)\MSSQLLocalDB
This page reference was really useful for cleaning up a repository I fell behind on commits and releases on for some time.
Good TechNet article by Neil Tucker, worth comparing to similar steps in Azure for provisioning a VM.
“PowerShell – the only blue screen in Windows that makes me happy” – Love this quote! 🙂
This is a good article at explaining the difference between PSConfig and PSConfigUI (The gui version) and how to achieve parity between both after applying a patch to a SharePoint server
The shorthand method to execute
is to instead use
This is useful if you’re in a Powershell terminal and want to start using SharePoint Powershell commands, you first need to add the SharePoint Powershell snap-in module to get access to those commands.