2020-01-01から1年間の記事一覧
この記事は はてなエンジニア Advent Calendar 2020の22日目の記事です。 昨日はid:motemen さんの PCを離れたらマイク音量を下げるmacOSアプリを作った - 詩と創作・思索のひろば でした! qiita.com 経緯 一ヶ月に一回、自分の知的好奇心を満たすのは自作O…
この記事は whywaita Advent Calendar 2020 の 22日目の記事です! 21日目の記事は id:yu_ki_kun_0 さんが担当でした! adventar.org ここ2ヶ月くらい whywaita と僕はラーメンをよく食べに行きます。そのうち2回とも当日の夕方に「行きたいね〜」「今日行く…
この記事は whywaita Advent Calendar 2020 - Adventar 11日目の記事です adventar.org 前回は kyontan の ICTSCのコンテストサイトを支えた技術 でした! 飛行機乗りたいけど免許も取りたいしそもそも机とかも欲しいので優先度ガタ落ちしてます!!!!ちな…
11/23が誕生日です、今年も無事に年齢がインクリメントされました。毎年この日は祝日なので学校とかで祝われたことがないまま全て卒業してしまいました。心はまだ14-17歳くらいなのに肉体は...助けて...。社会に出ていますが何もわからない...。とりあえずコ…
色々あって sshuttle/sshuttle というPythonで書かれたOSSのソースコードを読んでいたのですが、デグレっぽいところがあったのでPR投げてマージされました。 github.comこれまで能動的なOSSプロダクトへのコントリビュートは予めIssueが立っているものの修正…
てがきはてなブログがリリースされた日に書いたんですけど誤操作で消しちゃって萎えてましたが再度書きました。一緒に出てくれてた id:dekokun と id:stefafafan には感謝です。僕は実装を読んでゴリゴリやる役目だったのに筋力が足りなくて全然出来ませんで…
std::sync::mpsc - Rustの挙動についてちょっと知見を持ったので綴っていく。 やりたいこと めっちゃ重たいタスクがN個あって、それぞれにスレッドを作ってmpsc::channel経由でメインスレッドに値を返してもらう例を考える。 use std::thread; use std::sync…
こんばんは、id:Krouton です。ISUCON10にRustで参加した話をてがきはてなブログで書こうと思ったら消えたので萎えました。ISUCON11までには書きます。多分...。 本題 Derive macros使ってますか?serdeとか使うと出てくる #[derive(Serialize, Deserialize)…
➜ ~ opam switch create 4.09.0 <><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><> 🐫 [ocaml-base-compiler.4.09.0] downloaded from cache at https://opam.ocaml.org/cache <><> Processing actions <><><><><><><><><><><><>…
こんばんは、id:Kroutonです。RustのFutureについて調べていたはずが*1いつの間にかcallbackでsetTimeoutを再現するコードをGoで書いていたのでその実装手順について簡単に書きたいと思います。実用性はほぼないです。 注意書き 筆者がプログラミングを始め…
自分用覚書、thread_local!で定義したstatic変数はスレッド毎に LocalKeyという構造体でwrapされる。各スレッド変数はそれぞれ外側に不変である、可変参照をしたいならRefCellを被せたりする。 use std::cell::RefCell; thread_local! { static X: RefCell<Vec<usize>> </vec<usize>…
全体の7.1%の文章です
最近 とっくんのYouTubeチャンネル - YouTube さんの再度ハマり言語野が支配されてます、id:Krouton です。 事の発端 頭の中の大蛇丸が「今日はexpression-orientedな言語を作っていくことにするわね」「構文を考えるのがめんどくさいそこのアナタ、AST設計…
珍しく技術系の投稿をします(ただし疑問、忘備録 tooEnoughBuf := make([]byte, tooEnoughSize) Write1(tooEnoughBuf, src) string(tooEnoughBuf) == string(src) // false をしたい時のbufの長さをshrinkする方法を考えています。なぜこの等価判定がfalseに…
id:Krouton です。株式会社はてなに新卒入社しました。 本日からWebアプリケーションエンジニアです。 株式会社はてなに入社しました - hitode909の日記所属してる会社は隠そうと思いましたが、GitHubのOrganizationを見れば分かってしまうし隠すのもなんか…
こんばんは。3/31で無事卒業できたので電通大卒業エントリを書こうと思います。今は無き情報理工学部の先端工学基礎課程(以下、K課程)に所属していました。 動機 親「国公立に入れ」 僕「家から近いから横国がいいな〜、勉強無理だ。電通大ってとこあるじゃ…
いちいちTokenizerやParserをライブラリを使わずに書くのはダルい。だからパーサジェネレータ(lex/yacc)を使ったりするものだが、Rustで書こうとするとパーサコンビネータである github.com が強いっぽい。nomを見てみたら何もわからん状態になったので影響…
プログラミングを始めてからほとんどGUIエディタにしか触ったことがなかったしタイルマネージャを触り始めてからキーボードで全部アレコレしたいなという気持ちが強まったので試しにNeovimを突っ込んだ。 VSCodeにもVimのExtensionあったし気が向いたらそっ…
練習問題 5.1 let downto1 n = if n < 1 then [] else let rec downto1' n = match n with | 1 -> [1] | n -> n :: downto1' (n - 1) in downto1' n;;
練習問題 4.1 let uncurry f (x, y) = f x y;; 練習問題 4.2 let rec repeat f n x = if n > 0 then repeat f (n - 1) (f x) else x;; let fib n = let (fibn, _) = repeat (fun (f, s) -> (s, f + s)) n (0, 1) in fibn;;
練習問題 3.1 1-3は解いたけどソース消えたので気が向いたらやる, 4は `String.capitalize_ascii` を使う邪道プレイした 練習問題 3.2 式 b1 && b2 を if式と true, false, b1, b2のみを用いて同じ意味になるように書き直しなさい。式 b1 || b2も同様に書き…
gihyo.jp のKindle版を読み始めた。理由はこれと言ってないが、そこまで学習コストが低くなさそうって思ったところが大きい。とりあえず練習問題を解いたらソースを載せるようにします。
毎年雑に生きて雑に過ごしてる気がするのでそろそろ一年を計画的に生きてみたいなと思った 1回はする 買う 新しい計算機 特にMacじゃなきゃいけない理由はないけど自分でカスタマイズするのめっちゃ嫌いなので スマホ 初任給で買うべき端末情報お待ちしてお…