Skip to content

Instantly share code, notes, and snippets.

@aranm
aranm / functions.cs
Last active August 6, 2019 06:27
Azure Functions with DI'd Application Settings
public class MyFunctions
{
private readonly IOptions<ApplicationSettings> _applicationSettingsOptions;
private readonly IOptions<ConnectionStrings> _connectionStringsOptions;
public MyFunctions(IOptions<ApplicationSettings> applicationSettingsOptions, IOptions<ConnectionStrings> connectionStringsOptions)
{
// the "Values" section of the configuration file
_applicationSettingsOptions = applicationSettingsOptions;
[assembly: FunctionsStartup(typeof(Startup))]
namespace MyFunctionsProject
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
// this will bind to the "Values" section of the configuration
builder
.Services
@aranm
aranm / ApplicationSettings.cs
Last active August 6, 2019 06:20
Application Settings and Connection Strings POCO
public class ApplicationSettings
{
public string AzureWebJobsStorage { get; set; }
public string SuperApiKey { get; set; }
}
public class ConnectionStrings
{
public string SqlConnectionString { get; set; }
}
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"SuperApiKey": "VERY_SECRET_SECURE",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
},
"ConnectionStrings": {
"SqlConnectionString": "MyConnectionString"
}
public interface IApplicationSettings
{
string Get(string key);
string Get(string key, string defaultValue);
}
@aranm
aranm / Install PHP 5.3 on Ubuntu 14.04(trusty)
Created January 10, 2019 08:00 — forked from arbabnazar/Install PHP 5.3 on Ubuntu 14.04(trusty)
How to install PHP 5.3 on Ubuntu 14.04
#Add the Ubuntu 12.04(precise) repositories
cat <<EOF >> /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu precise main restricted universe
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe
deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse
EOF
# Update the repos
apt-get update
var events = require('events');
function callSomething(){
var eventEmitter = new events.EventEmitter();
console.log("Method called");
eventEmitter.emit("data", "Hello immediately (you will never see this message)");
@aranm
aranm / Gradient-Bubbles-on-Canvas.markdown
Created September 27, 2013 05:38
A Pen by Aran Mulholland.
@aranm
aranm / gist:5428332
Created April 21, 2013 03:20
Make sure that you respond to notifications on the main thread
- (void)respondToNotification:(NSNotification *)notification {
if (![NSThread isMainThread]) {
[self performSelectorOnMainThread:@selector(respondToNotification:) withObject:notification waitUntilDone:YES];
return;
}
//Code here
}
@aranm
aranm / gist:5410239
Created April 18, 2013 04:57
Render a partial razor view to a string. Can't remember where this code came from originally (it isn't mine)
private static string RenderPartialViewToString(Controller controller, string pathToView, object viewModel,
ViewDataDictionary viewData = null) {
String result;
var viewEngine = ViewEngines.Engines.FindPartialView(controller.ControllerContext, pathToView);
using (var writer = new StringWriter()) {
var vd = viewData == null ? new ViewDataDictionary(viewModel)
: new ViewDataDictionary(viewData) { Model = viewModel };
var viewContext = new ViewContext(controller.ControllerContext,
viewEngine.View,