Skip to content

Instantly share code, notes, and snippets.

View sorenlouv's full-sized avatar

Søren Louv-Jansen sorenlouv

View GitHub Profile
@sorenlouv
sorenlouv / determine-changed-props.js
Last active April 18, 2024 16:21
Determine which props causes React components to re-render
import React, { Component } from 'react';
export default function withPropsChecker(WrappedComponent) {
return class PropsChecker extends Component {
componentWillReceiveProps(nextProps) {
Object.keys(nextProps)
.filter(key => {
return nextProps[key] !== this.props[key];
})
.map(key => {
@sorenlouv
sorenlouv / mac-os-mapping-keys-uk-keyboard.md
Last active January 25, 2024 10:52
Map tilde sign (`) to section sign (§) on MacOS (useful for UK keyboards)
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000035},{"HIDKeyboardModifierMappingSrc":0x700000035,"HIDKeyboardModifierMappingDst":0x700000064}]}'
@sorenlouv
sorenlouv / facebook-cookie.MD
Last active December 21, 2023 03:48
Get "xs" value from Facebook cookie
@sorenlouv
sorenlouv / cpu-intensive.js
Last active December 19, 2023 06:00
A CPU intensive operation. Use to test imitate blocking code, test WebWorkers etc.
function mySlowFunction(baseNumber) {
console.time('mySlowFunction');
let result = 0;
for (var i = Math.pow(baseNumber, 7); i >= 0; i--) {
result += Math.atan(i) * Math.tan(i);
};
console.timeEnd('mySlowFunction');
}
mySlowFunction(8); // higher number => more iterations => slower
@sorenlouv
sorenlouv / _doc_count_example.md
Last active September 21, 2023 14:53
`_doc_count` example

Setup

PUT doc-count-fun

POST doc-count-fun/_doc
{
  "_doc_count": 10,
  "@timestamp": "2023-09-14T10:00:00.477Z"
}
@sorenlouv
sorenlouv / vurderingsportal-roadname.md
Last active September 15, 2023 21:10
Vurderingsportal: søg efter vejnavn

Available fields to filter by:

  • adresseID
  • adgangsAdresseID
  • vurderingsEjendomID
  • vurderingsaar
  • juridiskKategori
  • juridiskUnderkategori
  • propertyValue
  • groundValue
@sorenlouv
sorenlouv / pagination-vurderingsportalen.MD
Last active September 12, 2023 20:42
Paginating vurderingsportalen.dk

Der kan max trækkes ca. 5000 boliger via api'et af gangen. Man er derfor nødt til at bruge pagination og filtering for at få det hele med.

Pagination

Pagination, page 1: Hent de første 5000 boliger i 2300 (København S)

Vis curl command
@sorenlouv
sorenlouv / useComponentId.js
Last active June 16, 2023 15:26
React hook for getting a unique identifier for a component
import { useRef } from 'react';
let uniqueId = 0;
const getUniqueId = () => uniqueId++;
export function useComponentId() {
const idRef = useRef(getUniqueId());
return idRef.current;
}
@sorenlouv
sorenlouv / simple-port-forwarding.js
Last active February 19, 2023 22:06
Simple Port forwarding with Node.js
// npm install http-proxy
var httpProxy = require('http-proxy');
var targetHost = '192.168.99.100';
var port = 8489;
httpProxy.createProxyServer({target:'http://' + targetHost + ':' + port}).listen(port);
@sorenlouv
sorenlouv / cypress-tips.md
Last active September 1, 2022 18:40
Cypress tips and tricks

Don't await Cypress methods

Given this backend task:

// plugins.ts
const plugin: Cypress.PluginConfig = (on, config) => {
  on('task', {
    async waitForMe(ms: number) {
 return new Promise((resolve) => {