ごらくらいふ

プログラミングしたりゲームしたり

備忘録

型に語らせて in kotlin (and java ?)

某本の某コードをkotlin化している。 この本はちょっとしたイラッを無数に積み重ねる反面教師本だと感じている。 何を悪しとして何を良しとしたかの備忘録。 あまり手を加えず、本件とは無関係の要素を削ぎ落としたコード片が以下の通りである。 abstract cl…

Windows10でヘルプ(.hlp)が見れないので.chmを介してhtml化した

TSXBINのマクロヘルプが見たかったんだけれど、windowsお前ええ加減にしいや。 環境 Windows 10 Universal Extractor 2 Beta 4 HTML Help Workshop 4.74.8702.0 chmdecoder 2.2 (13.03.2014) 手順 chromeだかセキュリティソフトだかが「こんな得体の知れんし…

ps axで出るTIMEの書式はMMM:SS

結論 ps axコマンドで出力される書式にて、TIMEの書式はMMM:SS 経緯 「めっきり使ってないマイクラ鯖どうなってるかな」 「あれ?再起動できてなくない?」 # ps ax | head -1 && ps ax | grep forge PID TTY STAT TIME COMMAND 1046 ? Ss 0:00 SCREEN -h 10…

cron実行時のPATHがどこで決められるのか調査した

経緯 CentOS鯖が2本ある Let's encryptの自動更新をしたくてシェルスクリプトを書き、cronに食わせた 2本の内1本から「コマンドが見つかりません」とエラーメールが飛んできた 環境 CentOS release 6.8 (Final) 原因 両方とも失敗していたが片方しかrootメー…

検索に使った正規表現はMarkdownにでも書いて残すと良い

気がする。 特定のリポジトリでしか使わない検索内容だったので、同じリポジトリの中にregexps.mdを作って書いた。 使い方も一緒に書いておけば忘れても大丈夫だ。 こんな感じで。 Match parameter name for obj-c (:\([^()]+?\))[^:\s]+?(?= [a-zA-z]+?:|$)…

自分の.vimrcをgistからダウンロードする

gist idやraw_urlを目視確認してからcurlするのは人間のすることじゃない、ということで。 前提 jqが使える curlが使える gistにある.vimrcはpublicである .vimrcはちゃんと.vimrcという名前にしている 複数.vimrcがある場合は、一番ファイルサイズの大きい.…

URL listをcurlにパイプで渡してダウンロードしたい

jqでURL取り出してCurlに引き渡したかった。(しかも1件だけ) 「curl (標準出力 OR パイプ)」とかでggってもPostするデータをtextからとかそんなんばっか。 結論 # cat url_list.txt | xargs -n1 curl xargsコマンドを使って指定したコマンドを並列実行させ…

Everythingをアプリケーションランチャとして使う

Mac使ってると、spotlight検索でパパっとアプリケーションを起動できる点が本当に便利に感じる。 Windowsでも似たようなことできないかと思ってEverythingを取り出した。 Everything Search Engine 基本方針 Desktopにショートカット集積ディレクトリを作る …

WinMerge日本語版をSourceTreeのマージツールにセットした

結論 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 …

StackViewで等サイズ等間隔で要素を配置する

stackviewを使って等サイズ等間隔に要素を配置したい。 パターン StackView + Constraints StackView こっちのほうが好き StackView + Constraints StackViewに要素を配置し、要素同士をEqual widthsで揃える 要素間の間隔はStackViewのプロパティSpacingで…

putty形式の公開鍵をOpenSSH形式に変換してサーバにSCPアップロードする

(あーやべーなーパスワードログインできるままだなー) 個別に記事になってたのでひとまとめした # Putty形式 -> OpenSSH形式 ssh-keygen -i -f id_rsa_putty.pub > id_rsa.pub # scp [オプション] [ユーザ名]@[ホスト名]:[ファイル名] [ローカルパス (.)は…

CocoaPods Linking error 「ld: symbol(s) not found for architecture i386」

環境 Xcode Version 7.3.1 (7D1014) Base SDK - Latest iOS (iOS 9.3) 現象 CocoaPodsを導入して、いざdebug-buildしたら記事タイトルのエラーが発生した。 以下はそのログである。 Undefined symbols for architecture i386: "_FBSDKAppEventParameterNameC…

FacebookSDK 3.x -> 4.x : FBRequestConnection startWithGraphPath:completionHandler:が無くなったので FBSDKGraphRequest startWithCompletionHandler:を使う

記事タイトルキャメルケースでキッツキツだな。 結論 3.xにてGraphAPIを手軽に叩くため、FBRequestConnection startWithGraphPath:completionHandler:を使っていた。 4.xでは失くなってしまったのでFBSDKGraphRequest startWithCompletionHandler:を使った。…

FacebookSDK 3.x -> 4.x : FBLoginView無くなったのでFBSDKLoginButtonを使った

Facebook APIバージョン v2.0 が非推奨間近*1のため尻に火が点いている。 消火活動で代替処理がわかったっぽいので記録。 (追記:2016/07/21 22:13) 3.x のログイン(ログアウト)時の処理の認識が間違っていたので修正。 仮にログイン時にNavigationControll…

togglを三日坊主する

こういう脇道をせずにそのまま仕事をすればそのまま成果になるだろうに、逸れちゃうんだな、これが。 time tracking web service "toggl"を、とりあえず三日坊主する。 また三日坊主するときのために書き方まとめ。 何を記入するか タスク 行動のタイトルを…

ターミナルからプロビジョニングプロファイルのUUIDを確認する

コマンドラインを使ってDeveloper Centerから落としたプロビジョニングプロファイルのUUIDを確認したかった。 security cms -D -i your.mobileprovision | grep UUID -A 1 参考URL iOS 開発で使用する証明書、プロビジョニングプロファイルの内容を確認する…

共通のキーワードを持つファイルたちをBashで一括置換リネームする

記事タイトルの通り、共通のキーワードを持つファイルたちを一括でリネームしたい状況になった。 たとえば デザイナと image_yyyymmdd_{s,m,l}というファイル名でやり取りしてるが、最終的にはyyyymmddが不要とか、キーワードに置換するとか app.yyyymmdd.lo…

リリースするファイルに対応したバックアップを作る

本番に手作業でリリースする際、改修したファイルだけを取り出す。 リリースして問題があった場合に復元するため、バックアップを用意するが、その作業に手間取ったので備忘。 作業内容 登場するディレクトリは3種類 release リリースするものが詰まったディ…

bashでfor in文を叩く

半角スペースで句切られた文字列を回せるらしい sum=0 for number in 1 2 3 4 5 6 7 8 9 10 do sum=$((sum+number)) done echo $sum # 55 lsなどのコマンド実行結果も回せる for item in $(ls /path/to/directory) do echo name is $item done

Dvorak(JP) 日本語入力で打ちづらいキーへの対策を考える

dvorak配列で打ちづらいキーを、打たないことで解決する 打ちにくいやつら ホームポジションから隣接2キー離れる組 y f x b 母音側にいる子音 p k j q 解決案 yは、拗音はdvorak(jp)の組み合わせ打ちで回避できる ※しかし、清音は代用できない fは「hw」で代…

chrome って unicode escape する関数あるんすね

chromeのコンソールで遊んでたり、littleLadyやってたりで知ったんですが、 chromeってescape関数あるんですね。 IEで実装されていたのが引き継がれたのかな。 escape("平も山も") // "%u5E73%u3082%u5C71%u3082" // サロゲートペア escape("?") // "%uD869%…

Audioオブジェクトでフェードイン

フェードアウトがあればフェードインも必要。 Audioオブジェクトでフェードアウトする - ごらくらいふyajamon.hatenablog.com 環境 chrome 44.0.2403.130 m (64-bit) example 一定間隔でフェードイン volume = 0 + a*frame music = new Audio(); music.src =…

Audioオブジェクトでフェードアウトする

環境 chrome 44.0.2403.130 m (64-bit) example 一定間隔でフェードアウト volume = 1 - a*frame music = new Audio(); music.src = "your/music/path.mp3"; music.fadeTimerId = null; music.fadeOut = function (time) { var frame = 30; var frameCount =…

Audioオブジェクトでリピート再生する

環境 chrome 44.0.2403.130 m (64-bit) 乗るべきevent Audioオブジェクトにビルトインでリピートに関する機能がない。 機能はないが、実現するための条件は揃っている。 Audioオブジェクトが楽曲を再生しきったとき、endedイベントが発行される。 このevent…

Windows10を起動したら画面が点滅状態になって動かない

現象 Windowsを起動すると、タスクバーが一瞬なくなり、また出てくる そのとき、開いていたエクスプローラーが消えてしまう 少しすると落ち着くタイミングがあるが、操作できない スタートメニューも、タスクトレイも、アクションセンターも開けない 原因 iC…

SQLite3 datatype in Objective-C

SQLite3 の型に関することをまとめた。 SQLite内部で使うデータ型 INTEGER 整数 REAL 実数 TEXT 文字列 BLOB バイナリデータ NULL NULL 使用例 CREATE users ( id INTEGER NOT NULL, name TEXT, weight REAL, face BLOB ); Objective-Cが受け取る時のデータ…