ごらくらいふ

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

プログラミング

WPFかじり: HTTP GETする

MSDNのHTTPページにリクエストを飛ばして、レスポンスから適当に表示してみる。 工程を分割 URIからリクエストの発行 var uri = "https://docs.microsoft.com/en-us/dotnet/framework/network-programming/http"; var request = WebRequest.Create(uri); var…

WPFをかじりだした。Hello world.

直近、Web systemとしてC#に触れる機会が発生して、ついでにGUIアプリケーションの作り方にも触れたいと思ったのでかじった。 とりあえず@ITの連載をざっと流し読みして雰囲気を掴む。 public partial class MainWindow :Window { public MainWindow() { Ini…

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

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

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

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

メソッドの責任について考えたログ

エラー処理という名のガードレールが無いプログラミングを続けてきた。 慣れないことを考えたので思案のログを残す。 条件設定 あるコレクションのメソッドにて、引数の識別子に一致する要素を探し、仕事をさせる。 この時、引数が存在しないとき(undefined…

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 …

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

↓この処理をシェルスクリプトにした。 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ディレクトリを作…

iPadでdvorak jpほしい

無いから作ってる。 とりあえずアルファベット直輸入と末梢できるようにしたよ。 ハハッワロス 入力中の文字列をinputAccessoryViewに表示したいけど、UITextViewとか入力先が保持してるパターンの資料しか見つかってないので辛い。 ローマ字テーブルも作ら…

プログラムする前にペーパークラフトするのは

先日、すごくためになりそうなツイートを見た。 ゲームに限らないけど、プログラムする前にペーパークラフトから入る人の有能率すごい高い気がする。— 尾野(しっぽ) (@tail_y) March 30, 2016 最近、マルバツゲームを元にBDDやってみようと始めたところ、…

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

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

BDDの書き方、始め方が分からなかったので、まず書いた

テストは大事なのは分かる。TDDやBDDでキーワードを手繰って、向き不向きやコンセプトの説明も見た。 けどそればかり拾ってしまって、実際にどう考えたらいいのか、どう書き出せばいいのか全くわからない。 「BDDでプログラミングする」を指針にマルバツゲー…

あるマスタから順不同に取り出した要素2件を組み合わせ、意味を持たせるときのテーブル構造

※ながめだよ 先日、PSStoreのセールにつられて「俺に働けって言われても乙 HD」を買った。 ほんのりプレイしていたところ、『このデータを表現するテーブルはどんな構造だ?』と気になったので考えた。 考えたので残すことにした。 経緯 ゲームシステムのひ…

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

本番に手作業でリリースする際、改修したファイルだけを取り出す。 リリースして問題があった場合に復元するため、バックアップを用意するが、その作業に手間取ったので備忘。 作業内容 登場するディレクトリは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

カウンターChrome拡張「CounterExt」を作りました!

つくりました!!!! chrome.google.com スクリーンショット 目的 カウントする何かがほしかったのです。 ゆくゆくは外部からのリクエストを受けて、カウンターのプラットフォームにする野望があります! src Githubでソース公開しています。 github.com 不…

Xcode7(とiOS9)で セキュアじゃないサーバに IPアドレス直打ちで接続するにはどうしたらいいの?

諦めてドメインつけろ ドメインを付ければ、Info.plistでATSの例外に設定できる 参考URL [iOS]2015年9月16日リリースのiOS9対応とipv6移行対応について対応と参考資料まとめ | Coffee Breakにプログラミング備忘録 stackoverflow.com

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

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

npmでpackage.jsonにないPackageを削除する方法

package.jsonにないpackageに別れを告げる方法 $ npm prune unbuildも面倒になったときに、みたいな。 npm help docs.npmjs.com

ウィンドウサイズを1px単位で調整するchrome拡張「diccal」をアップデートしました!(ver.0.1.0)

以前公開した chrome拡張「diccal」をアップデートしました! yajamon.hatenablog.com 更新内容(0.1.0) 操作盤の長押しに対応しました!もう長連打の必要はありません! 操作盤を開くためにクリックする場所がちょっとわかりやすくなりました インストール …

データに依存する振る舞いを脱却したいのですが

.+_kindとか、.+_typeとか、マジックナンバーをデータベースに保存することって、よくある。 ロジックの方では、その値に応じて、処理を分岐したりする。 んで、分岐するために、基準となる値をコード上にもつ。 これを脱却したいとよく思う。 それもマスタ…

「リトル・レディ」かってに復活開発日誌 #18

今日の課題 シナリオ開始時にBGMが鳴るようにする 現状、画面遷移直前にBGM変更している。 これをシナリオ開始時に行うようにする。 作業録 // /index.htm function topS(){ /* 省略 */ if(maiFlag==2){ /* 省略 */ }else{ setC("Snum",180); // 消す // Cso…

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…

「リトル・レディ」かってに復活開発日誌 #17

今日の課題 BGMを鳴らす! あらすじ NPAPIが使えないchromeにおいて、.midの再生にはSoundFontを取得して合成せねばならないらしい。 目的は作品に音楽を流すことのため、.midを.mp3へ変換し、Audioオブジェクトで再生することにした。 yajamon.hatenablog.c…

SQLite3 に SQLをサクッと実行できるラッパー「YJMSQLiteQueryExecuter」を作りました!!!

yajamon/YJMSQLiteQueryExecutergithub.com 「既存コードあるから!」とSQLite扱う仕事引き受けたら sqlite3 function直書きしかなくて怒髪天を突いたのでつくりました。 以下、READMEの内容を日本語でべちゃっと書きます。 機能 インスタンスにSQL渡すだけ…

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が受け取る時のデータ…

都度sqlite3_*に消耗したので、せめてSelect結果だけはサッと取れるGist書いた

ただし動作確認はしていない あらかた実装終わってから衝動だけで書いた。 差し替える気力が尽きたから動作確認はできてない。

NSFileManager fileExistsAtPath でコケてた話

ディレクトリの存在チェックを書いてコケた アプリ内の領域に保存するため、ディレクトリを切ろうと以下のコードを書いたらコケた。 ちなみに、最初の1回は通って、2回目から(ディレクトリが作られてから)常にコケるようになった。 gistdf32f6e75d82d65414…

chromeでのMidiの再生にはSoundFontが必要らしい

MIDI(Standard Midi File)はざっくり言うと 演奏情報の集積体。音源はない。 どんな楽器のどんな音をどんな強さでどれだけの時間鳴らす。 そのあり方は楽譜に近いらしい。 音はどこにいるのか .mid に音源はない以上、どこかから音源をたぐり寄せなければ…