TypeScript enum の使いかた
TypeScript オブジェクト(連想配列)について
エクスポートしていない関数・変数 や class のプライベート関数・変数のテスト方法
jestを使ったTypeScriptの単体テスト GitHub * https://github.com/facebook/jest ドキュメント * https://jestjs.io/ja/ 必要なnpmパッケージのインストール $ yarn add --dev typescript jest ts-jest ts-node @types/jest @types/node or $ npm i --save-…
Node.jsでローカルにあるJSONファイルを読み込むのに fs を使わずに require でも読み込めるという話
Youtube-DL https://youtube-dl.org/ https://yt-dl.org/ 「YouTube動画ダウンローダーのリポジトリをGitHubが削除、音楽業界団体からの要請に基づき」とのことで、GitHubのyoutube-dlリポジトリには利用できませんとのメッセージが表示してある。どうやらバ…
ディスク容量が少なくなってきたので、ログでも削除してみようと確認したところ3.7Gもあった。 (記憶が間違っていなければ Ubuntu 14.04 の頃から削除してない。現在の使ってるバージョンは20.04) 以下のオプションでログのディスク使用量を確認できる。 $ j…
VMWareで「進む・戻る」などがある多ボタンなマウスを使えるようにする。 検証は Ubuntu 20.04.1 cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
窓の杜の記事 「WSL 2」が「Windows 10 バージョン 1903/1909」でも利用可能に ~Microsoftが旧OSに移植 で Windows10 の更新プログラム「KB4566116」に更新すると WSL2 が使用可能ということで、さっそくWindowsをアップデートしてWSL2を入れてみた(VMWare…
はてなブログにHTTPリクエストでログイン(OAuth認証やBasic認証ではなくクッキーを使ったやつ)
Hack The Box は、VPNを通してペネトレーションテストができるサービスのようで、アカウントを作成後の最初のチュートリアルではWindowsのサーバーに管理者権限で侵入する体験ができる。
定義した関数やそれを変数に代入したときに同じ関数かどうかの比較
Go言語で Windows PC が Wi-Fi 接続されているか確認する。
Go 1.14 からゴルーチンの切り替えにシグナル(SIGURG)が使われるようになったらしく、Linuxではシグナルを受け取る処理で signal: urgent I/O condition が飛んでくる。 blog.lufia.org
構造体やマップをマージするためのGo言語のパッケージ mergo の使い方。
「すべての操作をキーボードのショートカットキーで完結したい」 そういう沼にハマっているので、タイル型のウィンドウマネージャについて調べていたところ、 Go言語で書かれているウィンドウマネージャ Wingo を見つけたので試してみた。
HHKB 公式サイト https://happyhackingkb.com/ HHKB のキー配列 https://www.pfu.fujitsu.com/hhkeyboard/leaflet/hairetu.html
Ubuntuのキーボードレイアウト変更手順 Ubuntuのバージョン $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
text/template https://golang.org/pkg/text/template/ html/template https://golang.org/pkg/html/template/ text/template と html/template の違いは以下の通り To generate HTML output, see package html/template, which has the same interface as t…
Go言語で書かれている脆弱性スキャンツール Vuls(バルス) を Ubuntu で試してみた。 vuls https://vuls.io/ja/ https://github.com/future-architect/vuls go-cve-dictionary https://github.com/kotakanbe/go-cve-dictionary CVEデータをNVDやJVNから取得し…
TinyTinyRSS は、オープンソース(tt-rssリポジトリ)で開発されているサーバー型RSSリーター docker-compose で簡単にビルドすことができる。
Go言語で書かれているRSSリーダー Miniflux 2 を Ubuntu18.04 にインストールしてみました。 GitHubリポジトリ https://github.com/miniflux/miniflux インストール手順 https://miniflux.app/docs/installation.html
net/htmlのドキュメントは以下 https://pkg.go.dev/golang.org/x/net/html?tab=doc goquery(goでjQueryライクにHTMLを扱えるパッケージ) https://github.com/PuerkitoBio/goquery https://pkg.go.dev/github.com/PuerkitoBio/goquery?tab=doc 内部的には net…
typeで実態が何らかのスライス型を定義してインデックスを使いたい。 以下ようにレシーバがポインタだと does not support indexing になる。 package main type A []string func (a A) Get(i int) string { return a[i] } func (a *A) Add(s string) { *a =…
encoding/jsonでJSONをGo言語の構造体にマッピングするには 当然、そのデータのプロパティ名と値の型を構造体で定義しておく必要がある。 大規模なJSONの場合だとその作業は大変なのでjson-to-goを使って構造体の定義を自動生成する。
概要: position:sticky を指定した要素の位置から親要素の高さや幅分、その要素を固定(fixed) できる。 JavaScript の scrollイベント を使って要素を固定するという動作を CSS で置き換えられる。
無名クラス let Hello = class { constructor(name) { this.name = name; } hello() { console.log('hello', this.name); } } let h = new Hello('Tanaka'); h.hello(); // hello Tanaka 無名クラスを即時 new する。コンストラクタが呼ばれるだけ。 new cla…
VSCode で TypeScript を書くと保存したときに自動でフォーマッターが走る。 import の順序がセンシティブな場合はソートしてもらっては困る。 vscode のプラグイン入れてとか npm でライブラリ入れてとか settings.json でとか tslint.json とかじゃなくて、…
やりたいこと。 TypeScript で型を限定したオブジェクトを作りたい。それにメソッドをつけたい。 ただのクラスはオブジェクトとして扱えない。コンパイルエラー class StringObject {} let o = new StringObject(); o.foo = 'value-1'; // エラー o.bar = 'v…
ソースマップは TypeScript など、トランスパイル後と前のコードの内容を紐付けしてデバッグしやするするもの。 トランスパイルした後のコードでエラーの場所を示されても、それが元のコードのどの部分なのかが分からないと開発しづらい。 なので、開発中やn…