Skip to content

Instantly share code, notes, and snippets.

View mkropat's full-sized avatar
📚
Learning

Michael Kropat mkropat

📚
Learning
View GitHub Profile
echo '[1, 2, 3]' | ConvertFrom-Json | measure
# Count: 1
(echo '[1, 2, 3]' | ConvertFrom-Json) | measure
# Count: 3
echo '[1, 2, 3]' | ConvertFrom-Json | ConvertTo-Json
#{
# "value": [
# 1,
#Requires -RunAsAdministrator
[CmdletBinding()]
param(
[string] $Name
)
$ErrorActionPreference = 'Stop'
if (-not [System.IO.Path]::GetExtension($Name)) {
#!/bin/sh
SUBDIRECTORY_OK=1
OPTIONS_SPEC='git go [options] [branch]
--
b,branch create and checkout a new branch
'
. "$(git --exec-path)/git-sh-setup"
#!/bin/bash
sed -nE 's/^\s*(\S+)\s+\S+\s+(\S+)\s+\[([^]]*)\]\s+"(\S+)\s+(\S+)[^"]*"\s+(\S+)\s+(\S+)\s+"([^"]*)"\s+"([^"]*)".*/\1\n\2\n\3\n\4\n\5\n\6\n\7\n\8\n\9\x00/p' |
while IFS=$'\n' read -r -d $'\0' ip user timestamp method url status bytes referrer useragent; do
echo $method $url;
done
#while IFS= read -r line; do
# #mapfile -t parts < <(printf '%s\n' "$line" | IFS=$'\n' xargs -n1 printf '%s\n')
# mapfile -t parts < <(printf '%s\n' "$line" | sed -nE 's/^\s*(\S+)\s+\S+\s+(\S+)\s+\[([^]]*)\]\s+"(\S+)\s+(\S+)[^"]*"\s+(\S+)\s+(\S+)\s+"([^"]*)"\s+"([^"]*)".*/\1\n\2\n\3\n\4\n\5\n\6\n\7\n\8\n\9/p')
PS > [bool] ($null -eq $null)
True # Makes sense
PS > [bool] (@($null) -eq $null)
False # As expected, but not for the reason you think
PS > [bool] (@($null, $null) -eq $null)
True # What?!?
PS > [bool] (-null -eq @($null, $null))
False # Much better, hence "$null should be on the left side of equality comparisons"
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
public enum SameSitePolicy
{
Strict,
Lax,
}
  1. Injection (SQL etc.)
  2. Broken Authentication
  3. Sensitive Data Exposure
  4. XML External Entities (XXE)
  5. Broken Access Control
  6. Security Misconfiguration
  7. Cross-Site Scripting (XSS)
  8. Insecure Deserialization
const nullableDinero = ({ amount, ...rest }) => {
if (amount === null) {
return nullDinero;
}
let realDinero = Dinero({ amount, ...rest });
let wrapper = Object.create(realDinero); // delegate to realDinero by default
for (let method of ['add', 'subtract']) { // extend specific methods
wrapper[method] = other => other === nullDinero
// For a runnable version, see: https://jsbin.com/caboqij/edit?js,console
function MyError() {
this._error = Error.apply(this, arguments);
this.message = this._error.message;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, MyError);
}
}