はてなアンテナ
黄金体験アンテナ
id:gold-exp

DVD

グループ一覧
1/5ページ

[N]ネタフル
●04/27 15:38
iPadアクセサリ
Amazonブラックフライデーで「iPad Air 4」用に1,599円の激安スタイラスペンを購入してみた
Amazonセール
【Amazonブラックフライデー】キャンプ用に161Wh/50,400mAhで10,998円のポータブル電源を購入してみようと思ったのだが
雑誌
「mini 2022年1月号」の付録はCUP NOODLE×MILKFED.のカップヌードル50周年トートBAG&ポーチ
Amazonセール
【Amazonブラックフライデー】ドラマ「ゆるキャン△」に登場した-15度まで対応のマミー型寝袋「HAWK GEAR(ホークギア)」が20%オフの3,992円
1週間のビッグセール「Amazonブラックフライデー」11月26日から開催 〜購入前にやっておくと良いことまとめ
料理(作ってみた)
【簡単】電子レンジでチンして作る基本のペペロンチーノ
謎記号ストラップ【ネタフル公式グッズ】
かわるビジネスリュック
「かわるビジネスリュックmini」リリース!からの感想ツイートやレビューブログのまとめ
ストラップ
「スマホを落とすことのない世界」のために「旅ストラップ」リリースしました!
Apple整備済品
「Mac整備済製品」MacBook Air・MacBook Pro【2021年11月30日】
2021.11.30
Apple整備済品
「iPad整備済製品」iPad・10.5インチiPad Pro・11インチiPad Pro・12.9インチiPad Pro・iPad Air・iPad mini 5【2021年11月30日】
2021.11.30
iPadアクセサリ
Amazonブラックフライデーで「iPad Air 4」用に1,599円の激安スタイラスペンを購入してみた
2021.11.30
【Amazonブラックフライデー】キャンプ用に161Wh/50,400mAhで10,998円のポータブル電源を購入してみようと思ったのだが
2021.11.30
雑誌
「mini 2022年1月号」の付録はCUP NOODLE×MILKFED.のカップヌードル50周年トートBAG&ポーチ
2021.11.30

suVeneのアレ
●04/27 13:35
本を読む態度とコツを見直すだけで今より100倍得する(当社比) 35 views
思考停止 DML-Breaker mobile Mac Hatena 感じたこと Greasemonkey vim ruby misc レビュー 考えたこと ノート・手帳術 Github iPad マイノリティ 考え方 Linux 書評 hubot 常識 friendfeed タギング Xcode Ustream ネタ 価値観 情報整理術 Zer0Reader Perl rakugaki Ubuntu mixi Twitter Redmine iOS開発 ブログ Programming JavaScript sakura 仕事効率化 SNS LifeHack T-01A 知的生産 iconv evernote Plagger CentOS6 Git php 自己啓発 Project Management em・one Autopagerize 議論と対話 更新通知 Validation コミュニケーション bookmarklet Book 人間関係 対話 ソーシャルブックマーク Vimperator Xcode4.6.3 何をいまさら 組織論 生活 Objective-C めも CentOS Lineage vps 心理 仮説思考 独白 メンタル Subversion

きしだのはてな
●04/27 09:23
2021-10-14
代数データ型の直積型と直和型の理解
代数データ型という考え方があって、型に対する代数的な操作を行うものっぽいです。代数的な操作というのは、足し算とか掛け算ですね。直和型と直積型というのがあります。
直積型は構造体のようなもので、Javaだとrecordが導入されましたね。
record A(int p1, boolean p2) {}
みたいなものです。
これがなぜ積なのかというと、このレコードAの取りうる値の組み合わせは、intの値のパターン数(2 ^ 32) × booleanの値のパターン数(2)で2 ^ 33になるからなんだと思います。
直和型は、型がこれかこれ、みたいになるやつです。Javaだとtry-catchのcatch句に直和型が指定できて、この例外かこの例外、みたいな書き方ができますね。
catch (NullPointerException | NumberFormatException ex)
あとsealed classが導入されたので同じようなことができます。
sealed interface B permits C, D {
}
record C(int n) implements B{}
record D(boolean f) implements B{}
こうすると、型Bは型Cか型Dの値を扱えることになります。このとき、型Bの取りうる値の組み合わせは、型Cの取りうる値の組み合わせ(2 ^ 32)と型Dの取りうる値の組み合わせ(2)を足したものになって2 ^ 32 + 2になります。*1
なので直和型ですね。
ということを忘れないようにメモ
*1:Javaの場合、nullも扱えるので2 ^ 32 + 2 + 1になりますね。滅ぼすべき
nowokay 2021-10-14 21:13
代数データ型の直積型と直和型の理解
Tweet
もっと読む
コメントを書く
代数データ型の直積型と直和型の理解

はてな技術発表会日記 - 機能変更、お知らせなど
●04/26 03:39
id:cohalz
2021-10-25
数百万件残っていたHTTPのはてなブログを4年越しにすべてHTTPS化させた話

妄想科學日報
●04/24 10:41
FBIから委託を受けて調査を行なうチーム「アンタレス」のメンバーとして事件を捜査してゆくシリーズで、シーズン1には3本のシナリオが収められている(かなりヒットしているようなのでシーズン2以降も予定されていることとは思うが、現時点では発売されていない)。

GIGAZINE
●04/23 10:07
インフルエンサーを「コラボしませんか?」と狙い撃つ悪徳ファッションブランドのボットのやり口とは?
07月12日23時00分メモ
辛さが際立つモッチリ太麺「スパイシー豚カレーラーメン」などローソンと「麺屋一燈」とのコラボ商品3種類を食べてみた
07月12日22時00分試食
新たな言語を学ぶときはタイピングよりも手書きの方が優れているとの研究結果
07月12日21時00分サイエンス

Copy/Cut/Paste/Hatena
●04/18 21:49
2021-11-30
せめてリポジトリの各ディレクトリの概要説明だけでも欲しい思ったので dirmap というツールを作ってみた
Go
既存の開発に参加するときや、0->1の開発をしているとき、いつも「せめてリポジトリの各ディレクトリの概要説明だけでも欲しい」と思っていました。
既存のプロジェクトに参加するときは「プロジェクトの理解をする側」、0->1のプロジェクトで開発をしているときは「説明をする側の立場」で、です。
Ruby on Railsのような基本のディレクトリレイアウト決まっていてもそのプロジェクトの独自性がでてきますし、Goのようにスタンダードなレイアウトがないのであればなおさら初見ではわかりません。
「じゃあREADME.mdにでも書いておけばいい」というのはその通りです。
ただ、概要説明であっても一度書いたら終わりではなく、更新は必要になります。特に0->1のプロジェクトの初期ではディレクトリレイアウトすら途中で変わるということはままあります。
(ここらへんは「継続的ドキュメンテーション」として私の興味のある分野です。私のSpeaker Deckのドキュメント系の発表は大体が継続的ドキュメンテーションにつながっています)
そこで、できるだけ簡単に各ディレクトリの概要説明を実現するために dirmap というツールを作ってみました。
GitHub - k1LoW/dirmap: dirmap is a tool for generating a directory map.
:file_folder: dirmap is a tool for generating a directory map. - GitHub - k1LoW/dirmap: dirmap is a tool for generating a directory map.
github.com
github.com
dirmap
dirmapはディレクトリを再帰的に走査して各ディレクトリの「概要を説明していそうな箇所の文字列」を取得し「各ディレクトリの概要説明=ディレクトリマップ」を生成するツールです。
たとえば dirmap のリポジトリルートで dirmap generate を実行すると以下のような tree に近い出力を得ることができます。
$ dirmap generate
.
├── .github/
│ └── workflows/
├── cmd/ ... Commands.
├── config/ ... Configuration file.
├── matcher/ ... Implementation to find the string that will be the overview from the code or Markdown.
├── output/ ... Output format of the directory map.
├── scanner/ ... Implementation of scanning the target directory and its overview from the file system based on the configuration.
├── scripts/ ... scripts for Dockerfile.
└── version/ ... Version.
この Commands. や scripts for Dockerfile. のような概要っぽい文字列はどこから取得しているかというと、「そのディレクトリにあるMarkdownファイルの見出しではない最初のパラグラフ」や「そのディレクトリにあるGoのソースコードに書かれているgodocのpackages Overviewにあたる部分」などです。
このように「そのディレクトリにあるファイルからそのディレクトリの説明となる文章を抽出すれば、各ディレクトリの概要説明の管理も最小限になるだろう」という算段です。
「概要っぽい文字列」の取得ルールは設定ファイルを渡すことで変更も可能です。built-inな markdown markdownHeading godoc 以外にも正規表現マッチもサポートしています。
設定ファイルは dirmap init で生成可能です。書かれている設定は dirmap のデフォルト設定(設定ファイルなしの場合の挙動と同じ)になります。
$ dirmap init
Create .dirmap.yml
# $ cat .dirmap.yml
targets:
- file: .dirmap.md
matcher: markdown
- file: README.md

IT戦記
●04/18 05:21
読者になる

ゆーすけべー日記
●04/17 22:41
2021-09-16
Next.js+microCMS+Vercel面白い — Next.js と microCMS と Vercel が面白い。それぞれ面白いし、組み合わせるとさらに面白い。なにせ、メディアサイトがデプロイも含めて 2 時間で出来る。 Next.js + microCMS + Vercel すごいな。メディアサイト(中身スッカスカだけど)がものの 2 時間でデプ…

ぼく最速戦記君劇場@自宅の日記 Not Found - 技術日記
●04/04 01:00
このブログについて

技術日記@kiwanami
●03/28 11:48
このブログについて

川o・-・)<2nd life
●03/28 11:48
このブログについて

気が向いたら
●03/28 10:49
このブログについて

[foool]丘の上
●03/28 09:46
Startups in Fukuoka by ryota ichie 4641 views
Startups in Fukuoka by ryota ichie 4641 views

Kossy Memo 〜 はてな経営企画担当役員日記
●03/28 09:33
このブログについて

devworks
●03/28 07:40
このブログについて

dragon3の日記
●03/28 06:54
このブログについて

IMAKADO::BLOG
●03/28 05:18
このブログについて

IT戦記2
●03/28 03:00
このブログについて

明日ではないから
●03/28 02:20
このブログについて

6.次20>

0.はてなアンテナトップ
8.このページを友達に紹介
9.このページの先頭へ
ヘルプ/お知らせ

ログイン
無料ユーザー登録
はてなトップ

(c) Hatena