Skip to content

Instantly share code, notes, and snippets.

package main
import (
"fmt"
"sync"
"github.com/dghubble/sling"
)
func main() {
@dejanvasic85
dejanvasic85 / create-pg.sh
Created November 4, 2019 07:54
Create local postgres database with docker
# Postgres Docker creates a volume by default so we only need the following parameters
docker run -e POSTGRES_USER=<dbuser> -e POSTGRES_PASSWORD=<dbpassword> -e POSTGRES_DB=<dbname> -p 5432:5432 --name <dbname> -d postgres
@dejanvasic85
dejanvasic85 / types.ts
Last active December 31, 2019 03:56
Typescript MSSQL unit of work pattern
export interface Repository {
beginTransaction: () => Promise<Transaction>;
}
@dejanvasic85
dejanvasic85 / poll.ts
Created January 2, 2020 23:40
Polling in javascript
const poll = async (fn: any, timeout: number, interval: number) => {
const endTime = Date.now() + timeout;
const checkCondition = async (resolve: any, reject: any) => {
const result = await fn();
if (result) {
resolve(result);
} else if (Date.now() < endTime) {
setTimeout(checkCondition, interval, resolve, reject);
} else {
@dejanvasic85
dejanvasic85 / delete_jobs.go
Last active January 16, 2020 02:46
golang: Deleting all items in Dynamo DB with a full scan
package main
import (
"fmt"
"strconv"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/dynamodb"
"github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute"
@dejanvasic85
dejanvasic85 / 01-cwl-setup-agent.config
Last active March 5, 2020 05:36
Elastic Beanstalk Setup Cloudwatch custom logs
###################################################################################################
#### Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
####
#### Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
#### except in compliance with the License. A copy of the License is located at
####
#### http://aws.amazon.com/apache2.0/
####
#### or in the "license" file accompanying this file. This file is distributed on an "AS IS"
#### BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@dejanvasic85
dejanvasic85 / logging.cs
Last active March 19, 2020 06:24
Logging Configuration
public static IAppBuilder ConfigureSerilog(this IAppBuilder app, HttpConfiguration config)
{
config.Services.Add(typeof(IExceptionLogger), new SerilogExceptionLogger());
var assembly = typeof(SerilogConfig).Assembly.GetName();
var configurationProvider = new ConfigurationProvider(AppSettingKey.Prefix);
var logEventLevel = configurationProvider.Get(AppSettingKey.SerilogLoggingLevel, LogEventLevel.Error);
const string logFileName = "talentsearch-api.json";
var logFilePath = Path.Combine(configurationProvider.Get(AppSettingKey.SerilogFilePath), logFileName);
@dejanvasic85
dejanvasic85 / ColourAvatar.spec.tsx
Last active June 3, 2020 12:24
Jest Testing Examples
import React from 'react';
import { Avatar } from 'antd';
import { shallow, ShallowWrapper } from 'enzyme';
import ColourAvatar from './ColourAvatar';
describe('ColourAvatar', () => {
let wrapper: ShallowWrapper;
const defaultProps: any = {
@dejanvasic85
dejanvasic85 / .mocharc.json
Created July 2, 2020 03:30
Example of Mocha Typescript config
{
"diff": true,
"extension": ["ts", "js"],
"package": "./package.json",
"reporter": "spec",
"slow": 75,
"timeout": 2000,
"watch-files": ["src/**/*.js", "src/**/*.ts"],
"watch-extensions": ["ts", "js"],
"require": ["ts-node/register"]
@dejanvasic85
dejanvasic85 / mock.ts
Created July 24, 2020 00:21
Jest Typescript mocking function example
import * as dateService from './dateService';
const nowMock = dateService.now as jest.MockedFunction<typeof dateService.now>;
describe('some service', () => {
const mockNow = 'now';
beforeEach(() => {
nowMock.mockReturnedValue(mockNow);
});