People often ask me how to find F# jobs. I don't have any special connections to companies using F#, and I don't have any special tricks either. I wish I did!
So, given that, here's my take on F# jobs.
For job hunting my suggestions are:
I suggest that you create one or more Api.fs
files to expose F# code in a C# friendly way.
In this file:
PascalCase
names. They will appear to C# as static methods.using System; | |
using System.Collections.Concurrent; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Reflection; | |
using System.Reflection.Emit; | |
namespace Playground | |
{ | |
public class Program |
I thought I'd share some simple steps you can follow if you wan't to build, run and debug an F# program on OSX using dotnet core 2.0. I guess these steps would also work if you're running Linux, with some minor modifications.
Install dotnet sdk for OSX: https://www.microsoft.com/net/learn/get-started/macos
Install Visual Studio Code for OSX: https://code.visualstudio.com/
Install C# (yes, C#) extension for OSX: https://code.visualstudio.com/docs/languages/csharp
Create a new console application project using dotnet cli: dotnet new console -lang F# -n HelloWorld
using System; | |
using MongoDB.Bson; | |
using MongoDB.Driver; | |
using System.Threading.Tasks; | |
using System.Linq; | |
/* Where document structure stored in localhost MongoDB : {token:"word"} | |
*/ | |
namespace Aggregation_01 |
Picking the right architecture = Picking the right battles + Managing trade-offs
Add-Type -AssemblyName System.Windows.Forms | |
while ($true) | |
{ | |
$Pos = [System.Windows.Forms.Cursor]::Position | |
$x = ($pos.X % 500) + 1 | |
$y = ($pos.Y % 500) + 1 | |
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y) | |
Start-Sleep -Seconds 10 | |
} |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
public static void BulkInsertNpgsql<T>(this IDbConnection dbConn, IEnumerable<T> list, IEnumerable<string> insertFields = null) | |
{ | |
if (list == null) return; | |
if (list.Count() < 1) return; | |
var objWithAttributes = list.FirstOrDefault(); | |
var modelDef = OrmLiteConfig.GetModelDefinition(objWithAttributes.GetType()); | |
if (insertFields == null) insertFields = new List<string>(); |