programming
Changelog バージョン 0.3.0 になりました。 Enhancement ok<T>(value: T) という関数を追加しました。 err<E>(error: E) という関数を追加しました。 Deprecated Ok<T>(value: T) Err<E>(error: E) www.npmjs.com 経緯 先日、 WSL2 環境を Ubuntu 22.04 LTS に移行した</e></t></e></t>…
zenn に1件記事を書いた。 記事に仕立てようと調べていく内にコマンドの内容が変わっていったので、その供養記事。 zenn.dev 決定稿 (2021-05-04 に zenn.dev へ投稿したもの) cd /path/to/diary/2021/05 seq -f '%02g.md' 1 31 | xargs -n 1 cp /path/to/te…
ウン年前にPHPでRSS Readerを作ったことを思い出した。 当時はWebサービスで、今度はiOSアプリケーションにでもしてやろうと思う。 これにあたって、RSSの仕様書をちゃんと読んでみようと考えた。 RSSは諸々分岐していることをWikipediaから知り、RSS 2.0 ->…
Kindleには自分のハイライトをエクスポートする機能がある。 マイノートからシェアボタンを押すと、メモをHTML化した上でメール送信できる。 このHTMLを、必要な分だけ抽出してmarkdownにするコマンドを作った。 github.com 自分のメモを共有したい。ブログ…
はい。作りました。 github.com 自分が、個人だったり所属コミュニティに応じてDeployGateアカウントが複数存在するので、 いわゆる誤爆をやらかしてしまう危険がある。 deploygate-cliは設定ファイルとしてアクセストークンをぽんっと置いてあるので、 アカ…
NSURLConnectionがiOS 9.0でDeprecatedになってから時間も経ち、もうiOS 12が出る時勢にNSURLSessionへの書き換え事案が発生した。 感想 NSURLConnectionDataDelegateとNSURLSessionDataDelegateの互換性はわりと確保されていて助かった。 なぜかcompletionH…
背景 gifとかzipとかパースしたいなあ+Rust触りたいなあ! ということで、まずはバイナリダンプから始めようとした。 以下のようなフォーマットで標準出力に吐き出したい。 50 4b 03 04 00 00 00 00 00 00 00 00 00 00 00 00 | PK.............. 一行出力す…
環境 ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15] deploygate-cli v0.6.4 Xcode 9.4.1 現象 dg deployを実行すると、適切にBundle Identifierを指定しているにも関わらず、Bundle Identifierの入力を求められたのち、 下記のエラーが発生…
UITextFieldの入力値をUserDefaultsに保存する方法、VCべた書きIBInspectable+DelegateObject+IB接続customClass+IBInspectable <- 今ここ— yajamon (@Yajamon) 2018年6月18日 寄り道を経てカスタムクラスの最適解に降り立った気がする。 This UITextField i…
約3年も前の話、「リトル・レディ」という作品をChromeで動くようにしたい! という思いのもと、勝手に復活開発日誌を始めた。 yajamon.hatenablog.com yajamon.hatenablog.com この開発は一気に進み、2年弱放置の後に完結宣言が行われた。 この記事は? …
Rust製のZaif API Wrapperを作っているので、これをコマンドラインツールとして使用するCrateを作成した。 yajamon.hatenablog.com インストール方法 RustとCargoの準備が整っているなら、以下のコマンドでインストールできる。 cargo install zacli 使い方 …
これ。 use std::env; use std::path::{Path, PathBuf}; use std::fs::File; use std::io::prelude::*; fn open_file() { let mut path = env::home_dir().unwrap(); path.push("config.toml"); let mut file = File::open(path).unwrap(); let mut contents…
ついさっき、Rustで書いたzaif-apiのwrapper、v0.5.0をリリースした。 github.com 今回の改修はエラーハンドリングが目的で、「まず動く」で作っていたところを取り回しできるようにした。 活躍したのが標準ライブラリに入っているFrom<T>トレイトで、あるstruc</t>…
DLLとは ダイナミックリンクライブラリと読む。 動的なリンクで利用されるライブラリ。 対義語: 静的リンクライブラリの認識 リンクというものは、以下の認識でいる。 プログラムは、複数のコンパイルされたマシン語のプログラム片(以下、プログラム片)か…
前提 rustc 1.22.1 本題 traitを書く時、こういう書き方はできない。 trait Horizontal { // x:i64 というフィールドの存在を前提とする // x をカウントアップして、新しい値を返す fn count_up (&mut self) -> i64 { self.x += 1; self.x } } struct Point…
Rustでzaif apiのwrappreを書いたている。 reqwestでもりもり実装していて、なんか楽しい。 まだ借用チェッカーと戦ってるボーイなので、もりもりコピーして構造体たち皆所有権のあるデータ持つ、みたいな書き方してる。 まぁ使う分には引数に与えたデータを…
ムーブセマンティクスを忘れていた話。 Builderパターンで以下のように書いたところコンパイラにerror[E0507]: cannot move out of borrowed contentと怒られた。 enum Method { Get, Post, } struct Client { method: Method, } struct ClientBuilder { met…
ライフゲーム - Wikipedia ライフゲームというものをつい最近知ったので、息抜きにガガガっと書いてみた。(DOM+VanillaJS製) 「まず動く」に重点を置いて書いて1.0.0のタグを切ったので、よければforkしてリファクタリングの練習材料にでもしてほしい。 gi…
自分好みの./configureオプションをどこかに残しておきたかっただけなんだけど、そのままmakeしてしまえと思ったのです。 makeがだばだばと状況を吐き出す姿は頼もしい… dotfiles/build-latest-vim at master · yajamon/dotfiles · GitHub 一応 2017-12-01現…
DDDについてEric本を読んでいたところ、オブジェクトの生成やシリアライズについての指針が参考にできそうだったので、メモ。 Factoryはオブジェクトのライフサイクルにおける始まりを処理し、リポジトリは中期から終わりを管理するのを助ける。 リポジトリ…
MSDNのHTTPページにリクエストを飛ばして、レスポンスから適当に表示してみる。 工程を分割 URIからリクエストの発行 var uri = "https://docs.microsoft.com/en-us/dotnet/framework/network-programming/http"; var request = WebRequest.Create(uri); var…
直近、Web systemとしてC#に触れる機会が発生して、ついでにGUIアプリケーションの作り方にも触れたいと思ったのでかじった。 とりあえず@ITの連載をざっと流し読みして雰囲気を掴む。 public partial class MainWindow :Window { public MainWindow() { Ini…
某本の某コードをkotlin化している。 この本はちょっとしたイラッを無数に積み重ねる反面教師本だと感じている。 何を悪しとして何を良しとしたかの備忘録。 あまり手を加えず、本件とは無関係の要素を削ぎ落としたコード片が以下の通りである。 abstract cl…
経緯 CentOS鯖が2本ある Let's encryptの自動更新をしたくてシェルスクリプトを書き、cronに食わせた 2本の内1本から「コマンドが見つかりません」とエラーメールが飛んできた 環境 CentOS release 6.8 (Final) 原因 両方とも失敗していたが片方しかrootメー…
エラー処理という名のガードレールが無いプログラミングを続けてきた。 慣れないことを考えたので思案のログを残す。 条件設定 あるコレクションのメソッドにて、引数の識別子に一致する要素を探し、仕事をさせる。 この時、引数が存在しないとき(undefined…
結論 Diffコマンド WinMergeまでのPath 引数 -e -u -wl -wm -fr -dl 'Base file [read only]' -dm ' Theirs fise [read only]' -dr 'Mine file' -ar $BASE $REMOTE $LOCAL -o $MERGED 想定 3ペイン方式。 ペイン 役割 左ペイン Base file 中央ペイン Theirs …
↓この処理をシェルスクリプトにした。 yajamon.hatenablog.com #!/bin/bash src=$1 dest=$2 backup=$3 # backupのパスがファイルなら終了 if [ -f $backup ] ; then echo "\$backup is file" exit 1 fi # srcと同じディレクトリ構造のbackupディレクトリを作…
無いから作ってる。 とりあえずアルファベット直輸入と末梢できるようにしたよ。 ハハッワロス 入力中の文字列をinputAccessoryViewに表示したいけど、UITextViewとか入力先が保持してるパターンの資料しか見つかってないので辛い。 ローマ字テーブルも作ら…
先日、すごくためになりそうなツイートを見た。 ゲームに限らないけど、プログラムする前にペーパークラフトから入る人の有能率すごい高い気がする。— 尾野(しっぽ) (@tail_y) March 30, 2016 最近、マルバツゲームを元にBDDやってみようと始めたところ、…
記事タイトルの通り、共通のキーワードを持つファイルたちを一括でリネームしたい状況になった。 たとえば デザイナと image_yyyymmdd_{s,m,l}というファイル名でやり取りしてるが、最終的にはyyyymmddが不要とか、キーワードに置換するとか app.yyyymmdd.lo…