オフトゥン大好き。

惰眠系プログラマの作業ログで( ˘ω˘ ) スヤァ…

Elixir で漢字を判定する方法

Elixir で漢字を判定する方法。Unicode における漢字のコードポイントは以下の記事にまとまっている。 tama-san.com これをもとに判定モジュールを書いてみた。 Elixir 漢字判定モジュール 文字列を charlist に変換して Enum.filter で漢字だけ抜き出してみ…

Emacs: git-gutterのhunk機能を使う。そしてhydraでちょこっと便利にする。

Emacsを愛するみなさん、こんにちは。 全然ブログが更新できてなくて「うわー!はてなのパスワードわすれたー!」とか思ったけど実は1Passwordで管理していたからなんとかなったid:nukosukeです。 今回はEmacsでGitのhunkを操作(または走査)するためのちょこ…

ミクシィChallengeがひとつできるまで - Bug Shooting Challenge #1 を終えて

こちらの記事はミクシィグループ Advent Calendar 2018に寄稿しています。 さて、トップバッターのmatsubara0507に続き、2日目を担当します株式会社ミクシィ CRE*1 のid:nukosukeです。 少し前の話になってしまいますが、11月17日にBug Shooting Challenge (…

簡単にできる!Goで書いたCLIツールを配布する方法

要件 使用するツール・サービス GitHub TravisCI gox 手順 GitHub: Personal Tokenの発行 TravisCI: go testの実行 TravisCI: goxでクロスコンパイル TravisCI: GitHub releaseページにバイナリをアップロード どうも、id:nukosukeです。 さっそくですがみな…

Emacsパッケージマネージャ決定版:これからのパッケージ管理はstraight.elで決まり!

ども、久々のブログ更新は最近導入したstraight.elというEmacsのパッケージマネージャについて書きます。 7年ほどEmacsを使い続けてきましたが、まだまだ初心者の域を抜け出せずにいる id:nukosuke です。 前置き straight.el メリット use-packageマクロをs…

Reactシングルページアプリケーションをサーバサイドレンダリングする

どうも、 @nukosuke です。 こちらはQiita Advent Calendar '17 React #1、3日目の記事です。 概要 この記事ではReactで構築したシングルページアプリケーション(SPA)をサーバサイドレンダリング(SSR)する過程をまとめました。 つかったもの Node.js TypeScr…

react_on_railsでreduxを使う

前回の続きでreduxを導入しました。 必要なnpmを追加 コードにstoreを追加する サーバサイドのルーター。 ブラウザのルーター。 コントローラにもstoreを追加する reducerを追加 関連記事 必要なnpmを追加 redux-thunkは非同期アクションを実現するパッケー…

react_on_railsとreact-routerでシングルページアプリケーションをサーバサイドレンダリングする

やりたいこと react_on_rails コントローラにReactコンポーネントをレンダリングするメソッド生やす。 npmを足しとく {server,client}Registration.jsx turbolinksを殺す 起動 参考になったページとか それなりに動くようになったもの 今後やりたいこと やり…

放映中のアニメリストを教えてくれるhubot-annictを作った

とあるエンジニア集団が集うSlackにhubotを飼うことになってアニメ関連のコマンドが欲しいというissueを立てた。hubotはcoffeeがデフォルトだけどjavascriptを使えるので去年作ったannict.jsで現在のクールに放映中のアニメリストを表示するためのhubot scri…

ウェブアプリ開発日誌:テンプレートエンジンをerbからslimに変えるあれこれ

erbは入門にはわかりやすいですが慣れてくると冗長です。slimが良いらしいのでerbから入れ替えてみます。 slimをインストールする erb2slimで既存のテンプレートを変換する 自動生成されるファイルもslimにする 参考文献 関連記事 slimをインストールする Ge…

ウェブアプリ開発日誌:Rails5でユーザ登録機能を実装するまでのあれこれ

Railsアプリにユーザ登録・認証を実装するまでの手順を書きます。ここでいうユーザ登録は、よくあるユーザ名とメールアドレスを入力して届いた認証リンクにアクセスするとアクティベートされるタイプのやつです。 環境 rails new deviseを導入する Userモデ…

No.227 簡単ポーカー 解法

No.227 簡単ポーカー - yukicoderを解いた。 手札の役を作る処理は決定性有限オートマトンに置き換えられる。 開始状態はNO HANDとし、空のスタックを用意してソートした入力リストを先頭から順に積んでいく。ソートは同じ値をグループ化するために行なって…

No.231 めぐるはめぐる (1) 解法

No.231 めぐるはめぐる (1) - yukicoderを解いた。 面倒なので解説にあるとおり、一番簡単な解法を選ぶ。 一番効率のいい狩場に6時間行って,可能ならそれ,不可能なら不可能が一番楽です. 6時間で経験値3000000以上を得られるダンジョンが存在するかどうか…

JavaScriptテスト環境セットアップ: Node.js編

Node.jsでテスト書くためのスタックとか設定を書く。 あくまで僕がいつも使ってるやつなので他にもっといいのあったら教えてください。 スタック Node.jsのテストはだいたい次の4つのパッケージで完結してる。フロントのテストはもっとめんどくさい。 name …

homebrew-caskの書き方とpull-requestの出し方

GitHub - caskroom/homebrew-cask: A CLI workflow for the administration of Mac applications distributed as binaries Mac使いならほとんどの人がお世話になっているHomebrew。 その拡張であるHomebrew Caskは以前なら別途インストールする必要があった…

Facebookが公開した新しいJavaScriptパッケージマネージャ: Yarn

元記事: 素敵やーん。 日本時間で12日、ちょうど日付が変わったくらいにFacebookが前述の記事を公開した。内容は「JavaScriptコミュニティで圧倒的に力を持っているnpmの代替となる新しいパッケージマネージャ、Yarnを作ったぜ!」というもの。代替といって…

CPANにPerlモジュールを公開するまでの手順

CPANにAuthor登録してモジュールを公開したので、やったことを書いていく。個人的な覚書の側面が強いのであまりまとまってないかも。 ちゃんとした手順が知りたい人はQiitaとかで記事を探したほうがいいと思う。 CPAN Author登録してもらう モジュールを公開…

npm依存パッケージアップデートにgreenkeeper.ioが便利

Index | Greenkeeper 今までnpm-check-updateを使ってncu -aでアップデートをかけていたんだけど、依存を最新に保つためのgreenkeeperというサービスがあったので使ってみた。 $ npm install -g greenkeeper $ greenkeeper login $ cd ./node_project/ $ gre…

言語ごとのモジュール・エコシステム事情

モダンな言語には標準でパッケージマネージャが付属することが少なくない。 これは依存関係を洗い出して開発やランタイムに必要なパッケージを自動で補完してくれるうえ、自分が作成したライブラリやアプリケーションを公開する際にも便利なユーティリティと…

Alfred Gyazo Workflow作った

だいたいAlfred Workflowの作り方がわかってきたので、調子に乗ってもう一個作ってみた。 github.com Gyazo APIのクライアントにはTomohiroさんのライブラリを使った。 前回は既存のものがなくてクライアントライブラリを書くところから始めたので結構しんど…

TypeScriptのリファレンスドキュメント生成にtypedocが便利だった

typedocというツールで生成したリファレンスをGitHub Pagesに置く話。github.com JavaならJavadoc、C/C++ならDoxygen、Goならgodoc.org、JavaScriptならJSDocみたいにそれぞれドキュメント生成のための便利ツールやサービスがあったりする。 最近よくTypeScr…

Alfred Annict Workflowにwatchingサブコマンドを追加した

タイトルそのまま。github.com annict watchingでステータスが「見てる」になってる作品の一覧が表示される。APIパラメータのper_pageがデフォルトのままなので25件(だったと思う)が取得上限。でも、最近記録した作品が上に来るはずなのでそれほど困らないか…

AnnictのAlfred用Workflowを書いた

golangの練習を兼ねて、またなんか作った。 別にAnnict関連でなくてもよかったけど過去に作ったものnukosuke.hatenablog.jpとかでAPIの知見があったので、Alfredでアニメ作品を検索できるようにしたいという前々から密かに抱いていた要求に応えるためワーク…

最近、Annictツール作るマンと化してる

AnnictのAPIが公開されて以降、完全にAnnictツール作るマンと化してる— ぬこすけ (@pg_nukosuke) 2016年6月15日確かにAnnict便利ですばらしいサービスなんだけど、なんかこうもうすこしシュッと記録したい、とか 自分のウォッチングリストをAnnictユーザ以外…

Annict Widgetsドキュメント

ハードコーディングな部分がほぼなくなったのでドキュメントを書きます。github.com Annictの視聴中リストのウィジェットをブログに貼り付けられるAnnict Widgetsの使い方。 リポジトリをフォーク&クローン 後でDockerHubと連携させるのに自分のリポジトリ…

視聴中アニメをブログに貼り付けられるAnnict Widgetsを作った。

どうも。最近レムりんにお熱なぬこすけです。リゼロって原作は投稿サイトの小説なんですね。 あぁ僕も一念発起してラノベ書きたい。 異世界でプログラマがモテモテになる話書きたい。 あ、文才皆無だった死にたい。ところで、こんなの作りました。ほら、右に…

node.jsでKyokoさんに源氏物語を朗読してもらう

Macに住んでるKyokoさんとOtoyaくん(とその他海外の方々)。 雑なスクレイピングとsayコマンド呼び出しでKyokoさんに青空文庫の源氏物語を朗読してもらった。 $ npm install cheerio-httpcli $ node kiritsubo.js node.jsでKyokoさんに源氏物語1章を朗読して…

REPLでハリボテAPIクライアント作った

jsonwebtokenとかpassport-jwtとか使ってJWTの発行API作ったので実際に取得するためのコンソールクライアントを書いた。 Postmanでやれって話だけど、他のAPIのテストとかも最終的には自動でしたいので。 REPLで作ったハリボテAPIクライアントで、1点ハマっ…

ディレクトリ内のモジュールをパスカルケースでエクスポートする。

ディレクトリ内のモジュールをパスカルケースでエクスポートする。という要求があったので、書いた。 ファイル名は - (ハイフン)区切りを想定。アンダースコアの場合はsplitの引数を変えれば対応できるが、lowerCamelケースの場合は少々複雑になる。クラスを…

Sequelize-cliでモデルを作成する

sequelize-cliのインストール $ npm i sequelize-cli -D モデル定義 ソーシャル系のサービスで必要になりそうなモデル定義を作ってみた。 model create command for loq インデックスなどは貼ってくれなさそうなので、いったんファイルを作ってから手動で貼…