- team knowledge
- number of team-members and knowledge scoring for each member (beginner/intermediate/expert)
- integrations with other teams?
- N/A
- goal/type
- web? cli? database connectors? gui? mobile?
- reuse of code
- is there any legacy code that must be used?
- rewrite cost?
- language interop (JVM, native bindings)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
v = new Set(); do { v.add(Math.floor(Math.random() * 60) + 1) } while(v.size < 6); v |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
({ HFS }) => async (state = {}, update = {}) => { | |
const { price, mts } = update | |
const position = HFS.getPosition(state) | |
if (position) { | |
return HFS.closePositionMarket(state, { price, mtsCreate: mts }) | |
} | |
return HFS.openLongPositionMarket(state, { | |
mtsCreate: mts, |
Foundation:
Types of implementation:
Learning more:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <sys/mman.h> | |
#include <fcntl.h> | |
unsigned char* shared(const char* path) { | |
int fd = open(path, O_RDWR | O_CREAT, (mode_t) 0600); | |
posix_fallocate(fd, 0, 65536); | |
return (unsigned char*) mmap(0, 65536, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// double 12345.67 -> int 1234567 | |
struct Trie { | |
std::array<int, (size_t) 1.1e7> cnt, sum; | |
void update(int price, int qty) { | |
int cnt_delta = qty ? (cnt[price] ? 0 : +1) : (cnt[price] ? -1 : 0); | |
int sum_delta = qty - sum[price]; | |
for (int node = 0, tmp = price, p10 = 1e7; p10; tmp %= p10, p10 /= 10) { | |
node = 10 * node + tmp / p10; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"sync" | |
) | |
func TrySend[T any](ch chan T, item T) bool { | |
select { | |
case ch <- item: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { ul, li } = require('./html') | |
const list = ul({ title: 'awesome list' }, | |
li({ title: 'interactive', onclick: () => alert(1) }, 'first'), | |
li('second') | |
) | |
document.body.appendChild(list) |
- Always do smart step into
- Do not step into library scripts
- Do not step into scripts:
/home/<USER>/.config/JetBrains/WebStorm2021.1/javascript/nodejs/**
node:internal/*
/**
AVOID USING TRY/CATCH FOR FLOW CONTROL!!!!
- https://softwareengineering.stackexchange.com/a/107760
- https://web.archive.org/web/20140430044213/http://c2.com/cgi-bin/wiki?DontUseExceptionsForFlowControl
If you don't know what to do with it, handle it in a decent manner at least:
It is also a costy abstraction when comes to a performance point of view in most languages:
NewerOlder