Okada Hiroshi の blog

typo が多いです

プログラムを実行して結果を返す mastodon bot のソースコードを公開しました。

プログラムを実行して結果を返す mastodon bot を作ってみました。 - Okada Hiroshi の blog を改良して、ソース−コードを公開しました。 HiroshiOkada/hello-bot: A Mastodn bot that run short programs botの使い方 画像を出力する部分で日本語が上手く表…

プログラムを実行して結果を返す mastodon bot を作ってみました。

せっかく mastodon サーバーを立てたのだから bot を作ってみようと、プログラムを実行して結果を返す mastodon bot を作ってみました。 自分で立てたサーバーなので、負荷を気にせずに実験できるのはメリットの一つです。 今回作ったのは、プログラムを送る…

Mastodn API を叩くための access token を取得するコマンドラインプログラムを node.jsで書きました。

Mastodn API を叩くための OAuth2 の access token を取得する。コマンドコマンドラインツールを node.js で書いてみました。 www.npmjs.com (途中でブラウザが立ち上がります。) npm を公開するにのは初めてだったので、数日かかってしましましたが、これで…

mastodonインスタンスを VPS から自作サーバーに引っ越しました

今まで mastodon インスタンス toycode – Mastodon を の OVHとうい会社のVPS で運営してきましたが、結構ディスクをやメモリを食うので、自宅サーバーに引っ越すことにしました。 事前準備(VPS側) 自宅サーバーに ubuntu16.04 と Docker, docker-compose 等…

Mastodon サーバーを v1.2.2 にしました

Mastodon サーバーを v1.2.2 にしました。 mastodon.toycode.com 今回は、 docker-compose.yml を見なおして docker-compose pull だけで済むようにしました。 ( build しなくて良くしました ) version: '2' services: nginx: image: nginx:alpine depends_o…

Mastodon サーバーをアップデートしました

mastodon.toycode.com v1.2 が出ていたので、アップデートしました、途中手間取って1時間くらいかかってしまいました。 作業メモ $ cd mastodon # mastodn ディレクトリに移動 $ docker-compose down # サービスをダウン $ cd .. # バックアップを取るために…

Mastodon サーバーを立ててみました

ミーハーなので、流行りの Mastodon サーバーを立ててみました。 mastodon.toycode.com 基本的には、以前から自分の勉強用に借りている VPS に docker と docker-compose を入れて設定しただけです。 sslは、自宅サーバー用に *.toycode.com の ワイルド−カ…

うそつきproxy

Webサイトのテストや開発をしていると時に DNS に登録されている名前以外の名前で Webホストをアクセスしたい事があります。 例えば、家のネットにある 192.168.100.123 という IP アドレスを持ったホストを 本番のホスト名でアクセスしたいなと思う事があり…

Alpine Linux でどのファイルがどの apk に含まれるか調べる Docker イメージを作りました。

小さい Docker イメージを作るためには、 Alpine Linux をベースにすると良いという事なので、 自分で作るイメージだけでなく、他人のイメージも Alpine Linux をベースにしている物が多くなってきました。 ところが、Alpine Linux の apk パッケージは普段…

System76 の ノートパソコンを買いました

最近は外出時は Chromebook を常用していたした。 そこそこ使えていたのですが重いページで固まりやすかったり細かいところが不満だったので以前から注目していた System76 https://system76.com/ で Ubuntu プリインスールのノートパソコンを注文して購入し…

INotifyPropertyChanged の実装が面倒くさい (Google Apps Script を使ってスニペットを生成したけどそれでも面倒くさい)

久しぶりに Windows アプリケーションを C# で書いているのですが、INotifyPropertyChanged の実装が非常に面倒くさいです。正直言って非人間的だと思います。 仕方がないので、Google Apps Script でコードの断片を自動生成することにしました。 具体的な方…

Android Javaでやっぱりフィールドにmまたは_をつけるべきではないのか。

少し前に、 gfx.hatenablog.com という記事があって、その時は自分もブックマークで「新規に書く場合はそうすべきだと思う」とか言っていたのだけれども。最近ちょっと意見が変わりました。 m 又は _ をつけた方が良い理由は以下のとおりです。 確かに IDE …

Haskell 勉強記録 35 日目

すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 今日は、第13章:モナドがいっぱい の途中(位置6700) まで読み進めました。 今日のま…

Haskell 勉強記録 34 日目

色々、あってサボっていたが今日からまた勉強を再開しました。 ブランクが長かったので 12章 モノイドの初めから進めました。 今日は 12章の終わり(位置 6572)まで読み進めました。 今日のまとめ type, newtype, data の違い type 型シノニム、型に別名をつ…

Haskell 勉強記録 33 日目

昨日さぼってしまった上に今日もあまり捗っていません。 今日は 第12章:モノイド モノイドで畳み込む の途中 (位置 6502/11175) まで読み進めました。 「すごいHaskellたのしく学ぼう!」を読んでいて出てきた関数のメモ

Haskell 勉強記録 32 日目

昨日は、PCの設定等をいじっていなかったので、ほとんど読み進められませんでした。 今日は 第12章:モノイド モノイドとの遭遇 の途中 (位置 6404/11175) まで読み進めました。 アプリカティブファンクターの部分は読み進むのが結構たいへんでした。やはり見…

Haskell 勉強記録 31 日目

今日は 第11章:ファンクターからアプリカティブファンクターへ アプリカティブファンクターを使おう の途中 (位置 5879/11175) まで読み進めました。 → 今まで出てきた関数

Haskell 勉強記録 30 日目

すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 今日は、概念的な部分が多くて少し難しかったです。 第11章:ファンクターからアプリ…

Haskell 勉強記録 29 日目

今日は 第10章:関数型問題解決法 ヒースロー空港からロンドンへ (位置 5273/11175) の終わりまで読み進めました。 いきなり undefined という関数が出てきましたが、どうやら例外を発生させる関数のようです。 あと concat という関数が出てきましたが、これ…

Haskell 勉強記録 28 日目

今日は 第10章:関数型問題解決法 ヒースロー空港からロンドンへ (位置 5221/11175) まで読み進めました。 今日、新規にでてきた関数はありませんでした。

Haskell 勉強記録 27 日目

今日は 第10章:関数型問題解決法 逆ポーランド記法電卓の終わり (位置 5048/11175) まで読み進めました。 逆ポーランド記法電卓は他の言語で何度も実装したことがあったので、比較的スムーズに読み進める事ができました。 → 今まで出てきた関数

Haskell 勉強記録 26 日目

今日は けっこう今までの部分を読み返したりしたので、あまり進みませんでしたが、第9章:もっと入力、もっと出力 ランダム性の途中まで (位置 4789/11175) まで読み進めました。 → 今まで出てきた関数

Haskell 勉強記録 25 日目

すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 今日は 第9章:もっと入力、もっと出力 ランダム性の途中まで (位置 4753/11175) まで…

Haskell 勉強記録 24 日目

すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 今日は 第9章:もっと入力、もっと出力 ToDoリストをもっと楽しむの終わり (位置 4609…

Haskell 勉強記録 23 日目

昨日もサボってしまいました。 今日は 第9章:もっと入力、もっと出力 ToDoリスト の途中 (位置 4442/11175) まで読み進めました。 → 今まで出てきた関数 今までに出てきた関数でも、記録紙忘れていたものがあったのでそれも追記しました。

Haskell 勉強記録 22 日目

今日は、いままで勉強した部分を読み返したりしたので、ほとんど進みませんでした。 具体的には、第9章:もっと入力、もっと出力 ファイルの読み書き の途中 (位置 4370/11175) まで読み進めました。 一応、2ヶ月位を読み終える目標にしているので、少しスピ…

Haskell 勉強記録 21 日目

今日は 第9章:もっと入力、もっと出力 ファイルの読み書き の途中 (位置 4341/11175) まで読み進めました。 ファイルハンドルを使ってファイルを読む関数がでてきました。 そういえば getContents も hGetContents も IO String を返すので、テキストとして…

Haskell 勉強記録 20 日目

すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 今日は 第9章:もっと入力、もっと出力 ファイルとストリーム の途中 (位置 4146/1117…

Haskell 勉強記録 19 日目

昨日はさぼってしまいました。 今日は 第8章:入出力 いくつかの便利なI/O関数 の途中 (位置 4056/11175) まで読み進めました。 なかなかコードを読めるようになれません。 例えば unwords.map reverse.words は unwords.(map reverse).words と同等なのです…

Haskell 勉強記録 18 日目

今日は 第8章:入出力 IOアクションどうしをまとめる の途中 (位置 3916/11175) まで読み進めました。 やっと I/O が出てきましました。 今回は putStrLn と getLine という関数がでてきました。toUpper は既出かもしれませんがメモになかったので追記しまし…

Haskell 勉強記録 17 日目

今日は 第7章:型や型クラスを自分で作ろう Functor 型クラス の途中 (位置 3705/11175) まで読み進めました。 型クラスについては、まだ十分に理解できていない感じです。 今日は fmap という関数がでてきました。 →今まで出てきた関数

Haskell 勉強記録 16 日目

昨日はさぼってしまいました。 今日は 第7章:型や型クラスを自分で作ろう YesとNoの型クラス の途中 (位置 3582/11175) まで読み進めました。 今日はあらたに id という関数がでてきました。「与えられた引数一つをそのまま帰す」という関数です。 今まで出…

Haskell 勉強記録 15 日目

すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 今日は 第7章:型や型クラスを自分で作ろう 再帰的なデータ構造 の終わり (位置 3379/…

Haskell 勉強記録 14 日目

今日は 第7章:型や型クラスを自分で作ろう 再帰的なデータ構造 の途中 (位置 3305/11175) まで読み進めました。 記号文字だけを使って関数に名前をつけると、自動的に中置き関数になります。 とあったので、記号文字って具体的に何が使えるんだろうと思って …

Haskell 勉強記録 13 日目

今日は 第7章:型や型クラスを自分で作ろう 型シノニム の途中 (位置 3229/11175) まで読み進めました。 Haskell の type は C言語の typedef や Pascal の type みたいに型の同一性について複雑なルールがあるわけでなく、 alias みたいなもので簡単で良いと…

Haskell 勉強記録 12 日目

今日は 第7章:型や型クラスを自分で作ろう:型引数 の途中 (位置 2952/11175) まで読み進めました。 今まで出てきた関数 → https://gist.github.com/HiroshiOkada/e5d86cbb7f194243d2fb/4db7881250ac9b1528f7186cf66eab75345a9d3a

Haskell 勉強記録 11 日目

今日は 第7章:型や型クラスを自分で作ろう 新しいデータ型を定義する の途中 (位置 2692/11175) まで読み進めました。 昨日出てきた Just はどうやら値コンストラクタのというもののようです。 いままで出てきた関数の一覧は長くなってきたので gist に上げ…

Haskell 勉強記録 10 日目

すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 今日は 第6章:モジュール キーから値へのマッピング (位置 2545/11175) まで読み進め…

Haskell 勉強記録 9 日目

今日は 第6章:モジュール 標準モジュールの関数で問題を解く (位置 2262/11175)まで読み進めました。 今まで出てきた関数 -- Prelude 5 + 2 == 8 5 * 2 == 10 5 - 2 == 3 5 / 2 == 2.5 ( True || False ) == True ( True && False ) == False not True == Fa…

Haskell 勉強記録 8 日目

今日は 第5章:高階関数 $ を使った関数適用まで (位置 2117/11175) 読み進めました。 今まで出てきた関数 5 + 2 == 8 5 * 2 == 10 5 - 2 == 3 5 / 2 == 2.5 ( True || False ) == True ( True && False ) == False not True == False succ 'c' == 'd' min 4 …

Haskell 勉強記録 7日目

今日は 第5章:高階関数 折り畳み見込みありの途中まで (位置 1987/11175)読み進めました。 いままで出てきた関数 5 + 2 == 8 5 * 2 == 10 5 - 2 == 3 5 / 2 == 2.5 ( True || False ) == True ( True && False ) == False not True == False succ 'c' == 'd'…

Haskell 勉強記録 6 日目

第5章:高階関数 関数プログラマの道具箱の途中まで (位置 1740/11175)読み進めましたが、 いままで結構沢山の関数が登場して覚えきれなくなってきました。 とりあえず、今まで出てきた関数を (だいたい登場順に) 書き出してみることにしました。 まだ途中で…

Haskell 勉強記録 5 日目

すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 今日は 第5章:高階関数 高階実演 (位置 1661/11175)読み進めました。 flip の実装は…

Haskell 勉強記録 4日目

今日は 第四章: Hello再帰! さらにいくつかの再帰関数 のzipまで(位置1400/11175)読み進めました。 再帰関数はなるべくテキストを見ないで自分で実装してからテキストで答え合わせをするという方法で進めました。 take の実装でガードで otherwise を使わず…

Haskell 勉強記録 3日目

今日は 第三章: 関数の構文 where?! まで(位置1204/11175)読み進めました。 (寄り道)コメントの書き方 -- が行コメントの始まり、{- -} で囲むとコメントになるという事です。 {-# OPTIONS -Wall #-} と設定したので、サンプルのままだと警告が表示されまし…

Haskell 勉強記録 2日目

今日は 第三章: 関数の構文 パターンマッチの途中(位置1086/11175)まで読み進めました。 head' :: [a] -> a head' [] = error "Can't call head on an empty list, dummy!" head' (x:_) = x では x:_ を丸括弧で囲わなくてはいけないけど badAdd :: (Num a) …

新年度なので Haskell の勉強を始めました。

もう会社員ではないので新年度といっても特に何もないのですが、何か新しい事を始めようと思って今日から Haskell の勉強を始めました。一日2時間程度の時間を割くつもりです。 一応、3日坊主にならないように blog に記録をつけることにしました。 今日は…

ページのタイトルとURLを取得する Chrome 拡張を作ってみました

お勧めの Web ページの一覧表とかを作るときに、いちいちページタイトルとURLをコピーして組み合わせるのが、するのが面倒くさいかったので、勉強も兼ねて Chrome 機能拡張を作ってみました。 同じような機能拡張は結構あるのですが、 Textile とか Markdown…

機種変更して Fx0 を買いました

しばらく、ガラケー + Nexus 7 という構成でスマートフォンを使わない生活をしていましたが、 Fx0 という Firefox OS のスマホが AU から発売されたので、ガラケーを機種変更して購入しました。 とりあえず初日につかっってみて 動作は十分に快適でもっさり…

タイルカーペットを敷いてみました

DIY

飲み物などを床にこぼすことも多いし、配線をカーペットの裏を通すのに便利なので、 (本当はOAフロアーにしたいところですが予算の都合で無理) タイルカーペットを敷いてみました。 敷いたのは 東リのスマイフィール アタック260という製品で、ネットで購入…