Skip to content

Instantly share code, notes, and snippets.

@korsveien
korsveien / SealedResult.java
Created May 1, 2020 12:33
Example of mimicking a sealed class in java
import java.util.Optional;
import java.util.function.Supplier;
import static java.util.Optional.ofNullable;
public abstract class SealedResult {
private SealedResult() {
}
public static class Ok<V> extends SealedResult {
package no.nav.apiapp;
import org.junit.jupiter.api.extension.ExtendWith;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
@ExtendWith(AssumeConnectionCondition.class)
public @interface AssumeConnection {
#!/usr/bin/env bash
set -e
programname=$0
function usage {
echo "Usage: $programname [-t path]"
echo ""
echo "-t path to java truststore"

Vktig konsept: Testpyramiden

Testpyramide

Den mest stabile strukturen i verden er en pyramide. Det sammer gjelder for strategier rundt automatiserte tester av IT-systemer. Testpyramiden sier noe om mengdeforholdet mellom de forskjellige testkategoriene. Enhetstester utgjør bunnen av pyramiden og bør derfor utgjøre hovedmengden av tester i et system. Jo lenger opp pyramiden man kommer jo færre tester av gitt kategori bør man sikte på. Dette er fordi tester som ligger mot toppen av pyramiden ofte er skjøre, omfattende og kostbare å forvalte.

En god tommelfingerregel med tanke på fordeling av tester er 70% enhetstester, 20% Integrasjonstester og 10% Ende-til-ende tester.

Hvordan overleve i begrepsjungelen

#######################################################
####### Arch Anywhere ZSH configuration file #######
#######################################################
### Set/unset ZSH options
#########################
# setopt NOHUP
# setopt NOTIFY
# setopt NO_FLOW_CONTROL
setopt INC_APPEND_HISTORY SHARE_HISTORY
# Application Launcher
albert &
# Guake
guake &
# Gnome Compatibility
gnome-settings-daemon &
# Set wallpaper
<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file, it will be overwritten on install.
Copy the file to $HOME/.config/openbox/ instead. -->
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
<resistance>
<strength>10</strength>
<screen_edge_strength>20</screen_edge_strength>
</resistance>
<focus>
<focusNew>yes</focusNew>
<?xml version="2.0" encoding="UTF-8"?>
<openbox_menu xmlns="http://openbox.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openbox.org/">
<menu id="root-menu" label="obmenu-generator" execute="/usr/bin/perl /usr/bin/obmenu-generator -i" />
</openbox_menu>
var React = require('react'),
Highcharts = require('highcharts');
module.exports = React.createClass({
// When the DOM is ready, create the chart.
componentDidMount: function () {
// Extend Highcharts with modules
if (this.props.modules) {
this.props.modules.forEach(function (module) {
module(Highcharts);
});
#!/bin/sh
# Some things taken from here
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx
# Set the colours you can use
black='\033[0;30m'
white='\033[0;37m'
red='\033[0;31m'
green='\033[0;32m'