$ sysctl hw | grep cache
hw.perflevel0.l1icachesize: 196608
hw.perflevel0.l1dcachesize: 131072
hw.perflevel0.l2cachesize: 16777216
hw.perflevel1.l1icachesize: 131072
hw.perflevel1.l1dcachesize: 65536
hw.perflevel1.l2cachesize: 4194304
hw.cacheconfig: 8 1 4 0 0 0 0 0 0 0
hw.cachesize: 3481141248 65536 4194304 0 0 0 0 0 0 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
const uuid = require("uuid"); | |
const crypto = require("crypto"); | |
const fs = require("fs"); | |
const buffer = require('buffer'); | |
const upload = async () => { | |
const id = crypto.randomBytes(16).toString("hex"); | |
console.log('id', id) | |
const blob = new Blob(['hello there']); |
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
import subprocess | |
from concurrent.futures import ThreadPoolExecutor, as_completed | |
def invoke_command(): | |
subprocess.run(["sleep", "5"]) | |
print("done") | |
def main(): |
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
import { | |
DOMParser, | |
Element, | |
} from "https://deno.land/x/deno_dom/deno-dom-wasm.ts"; | |
const doc = new DOMParser().parseFromString( | |
` | |
<h1>Hello World!</h1> | |
<p>Hello from <a href="https://deno.land/">Deno!</a></p> | |
`, |
-
Unified Tap
800円以上で送料50円引き
- 全体的な意図。なにをどうやって実現するのか(What, How)。
- 変更の文脈、位置付け。なぜこの変更が必要なのか(Why)。
- 複数の独立した問題が含まれているか
- 含まれている場合、分割できないか検討する
- 設計の誤りは影響が後を引く可能性があるので、なるべくちゃんと見ておきたい。とくに永続化されるデータ構造のミスは、リリースしてしまうと修正な面倒なので、注意する必要がある。例えば:
- SQLアンチパターンに該当するようなテーブル設計になっている(実データが発生するとめんどう)
- 本来別のAPIを新設すべきところを、既存APIへの追加パラメータで無理矢理処理している(修正される挙動への依存が増えるとめんどう)
- 手続の種類が増えても修正不要なように書ける(一度書けば済む)のに、手続の数だけコード追加が必要な設計になっている(無駄な手数が増える)
- 追加・変更される挙動について、テストケースが追加・変更されているか、テストケースの見出しレベルで簡単に見る
- 特殊な理由のある変更など、コードだけから理解できなさそうな変更は、コメントに経緯が書かれているかを見る
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
yarn run v1.22.18 | |
$ /Users/tai2/Sync/Code/myapp/node_modules/.bin/appium | |
[Appium] Welcome to Appium v1.22.3 | |
[Appium] Appium REST http interface listener started on 0.0.0.0:4723 | |
[HTTP] --> POST /wd/hub/session | |
[HTTP] {"capabilities":{"alwaysMatch":{"platformName":"ios","platformVersion":"14.4","deviceName":"iPhone 12 Pro","app":"http://localhost:8081/app.zip","newCommandTimeout":1200,"language":"en","orientation":"PORTRAIT","noReset":true,"processArguments":{},"clearSystemFiles":false,"skipLogCapture":false},"firstMatch":[{}]},"desiredCapabilities":{"platformName":"ios","platformVersion":"14.4","deviceName":"iPhone 12 Pro","app":"http://localhost:8081/app.zip","newCommandTimeout":1200,"language":"en","orientation":"PORTRAIT","noReset":true,"processArguments":{},"clearSystemFiles":false,"skipLogCapture":false}} | |
[debug] [W3C] Calling AppiumDriver.createSession() with args: [{"platformName":"ios","platformVersion":"14.4","deviceName":"iPhone 12 Pro","app":"http://localhost:8081/app.zip","newCommandTimeout":1200," |
「事業をエンジニアリングする技術者たち」読んだ。
https://www.lambdanote.com/collections/engineers-in-voyage/products/engineers-in-voyage
いやー、くっそおもしろかった。VOYAGE GROUPは広告やゲーム攻略サイトなどいろいろなプロダクトを持っている。それらを作ってきたエンジニアたちへのインタビュー集。
中でも圧倒的に面白かったのが、第3章のECナビの話。ECナビは、1999年からある20年もののシステム。2015年の時点で誰も全容を把握している人がいなかった1200テーブルを超える巨大レガシーシステムを、5年の歳月をかけて、いかにして把握可能な状態まで持っていったか。はっきりいって、めちゃくちゃかっこいい。痺れる。「お花畑」とか「葬り無双」とかの独特のネーミングセンスも笑える。
他の章ももちろんどれも面白い話ではあった。けど、神ゲー攻略とかデータサイエンスの話は、超絶優秀なエース級の人アサインしたら、その人がうまくハマってくれて、ほぼ1人でなんとかしてくれたっていう話で、へーすごい人なのねという感想は持つけど、言ってみれば、そこらへんにありそうな話でもある。けど、ECナビの話は、一から作り直すこともできないほどの巨大なシステムを、長期間かけて計画的にこつこつ改善していったということの、並大抵でなさに感動する。やり遂げたエンジニアたちに畏敬の念を抱く。あなた達はすごい。
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
import socket | |
import time | |
import threading | |
RECEIVE = False | |
#RECEIVE = True | |
NUM_THREADS = 300 | |
finish_flags = [False for i in range(NUM_THREADS)] |
NewerOlder