wataメモ

日々のメモをつらつらと書くだけ

SwiftでHimotokiの使い方メモ

iOSのアプリを開発している時にSwiftでHimotokiを使った時のメモ。 執筆時点のHimotokiのバージョンは2.0.1。 自分が使うときにいい感じにまとまった情報が見つからなかったので誰かの為になればと書くことにした。 Himotokiとは Himotoki (紐解き) is a typ…

ゴロム・ライス符号を試してみた

前回のKazuhoさんのブログでブルームフィルタがソート済の整数列として表現できるという記載があった。 「ブルームフィルタを試してみた」のやり方ではソート済の整数列として扱ってはいない。 では「ソート済みの整数列として扱える」ということはどういう…

ブルームフィルタを試してみた

最近、H2Oの開発者であるKazuhoさんのブログでブルームフィルタという単語があったので調べてみた。 Kazuho's Weblog: ソート済の整数列を圧縮する件 以下はKazuhoさんのブログを読んだ前提で書いています。 特徴 Wikipediaより引用。 空間効率の良い確立的…

踏み台サーバ立ち上げAPIを作成してみた

踏み台サーバは以前の記事でも書いたようにbastionが立ち上がっていて、SecurityGroupを更新してssh出来るようにしている。 その都合上ずっとインスタンスを立ち上げっぱなしにしていた。 それは勿体無いのでAmazon API GatewayとAWS Lambdaで、単純なhttpア…

Amazon Web Services クラウドデザインパターン 設計ガイド読了

Amazon Web Services クラウドデザインパターン設計ガイド 改訂版を読んだ。 www.amazon.co.jp 57種の設計パターンについてまとめた書籍である。 これらのパターンはCloud Design Patternにまとめられているものであり基本的には書籍を読ま…

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎読了

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎を読んだ。 tatsu-zine.com お勧め対象者 基本的にはUNIXのプロセスの話がわかりやすくまとまっている。 なぜRubyが絡んで来るかというと、C言語で理解を進めようとすると色々煩雑なことが多いがRubyなら簡潔に…

nginx1.9.5のHTTP/2の機能を使ってみた

次世代Web カンファレンスでも話題になっていたHTTP/2でnginxも1.9.5でサポートということで使ってみた。 サポートしたと言ってもnginxのページには以下の注意書きが書かれていた。 もしアプリでWAFを使っていて、nginxの前にあるならHTTP/2に対応しているか…

次世代 Web カンファレンスを見てみた

次世代 Web カンファレンスを見ての感想。 nextwebconf.connpass.com セッションについて 資料は一切なし、単なるトークのみ。企業の宣伝とかもない。 今回見たのは以下のセッション。 server_perf server_arch security http2 monitoring どれも登壇者が一…

メタプログラミングRuby第2版読了

タイトルから面白そうとメタプログラミングRuby第2版を読んだ。 www.amazon.co.jp お勧め対象者 読んでみると非常に丁寧にRubyの言語仕様を解説してくれていた。 なんとなくで理解していた事や、ちゃんと調べていなかった部分が色々と晴れた。 Rubyを勉強し…

踏み台サーバを作ってみた

まだ全然足りないが、踏み台サーバを構築するプロビジョニングを作り始めてみた。 最初はbastionを作っていて、そこからサーバのプロビジョニングもあった方が良いなと始めて見た。 basionについてはRuby on Railsでサービスを作ってみたpart6で「踏み台サー…

rails_best_practicesの指摘を修正してみた

今回はrails_best_practicesの指摘を修正してみる。 survey!に掛けてみたところ23個の警告が出た。 インストール developmentグループのところにgemを追加してbundle install。 Gemfile gem 'rails_best_practices' 実行 今回はhtmlに出力させたいので以下で…

AWS LambdaのScheduled EventでEC2インスタンスの定期停止、起動してみた

AWS Lambdaで「Scheduled Functions (Cron)」というのが増えてcronのように定時実行が追加された。 試してみようと思って、題材としてはちょうどインスタンスを定期的起動、停止をする必要があったのでそれにしてみた。 今まではJenkinsで行っていたが、それ…

起動時にELBに再登録するシェルを簡単にインストール出来るようにしてみた

AWS

別に大したことではないのだが、最近設定することになって面倒だったので一発で出来るようにしたかった。元ネタはクラスメソッド株式会社のブログの「EC2を停止して開始した時はELBに再登録する」。 開発環境など、夜中はインスタンスを落としておきたい場合…

クックパッドのインターンシップ講義資料のプログラミングパラダイム編をやってみた

今回はクックパッドの「夏の技術職インターンシップ講義資料公開」を見て「五日目 プログラミングパラダイム編(青木峰郎)」をやってみた。 開発者ブログで見て、非常に面白そうだったからだ。 techlife.cookpad.com 合間を見つけてちょこちょこ3,4時間ほ…

paizaでSランク獲得した

まとまった時間を作らないと挑戦が出来なかったが、今回時間を作ってpaizaのSランク問題に挑戦してSランクを獲得した。毎度の事ながら、一発勝負というのは提出時に緊張する。

CarrierWaveでSTI(Single Table Inheritance)した時のstore_dirについて

またSTI系のネタになってしまったが、CarrierWaveでmountするモデルをSTIにしていると、generateしたままのstore_dirだとtypeが変わった時にパスが変わってしまう。 def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end …

ActiveRecordでSTI(Single Table Inheritance)時に自動でenum定義されるようにした

Ruby on Railsでサービスを作ってみたのおまけでSTI時にenumを書くとDRYの原則に則さないと書いたが、まあ無いなら作ればいいじゃないかということでactiverecord-sti-enumというrubygemを作ってみた。 (プロダクトレベルで使える物ではないのであしからず…

Code ClimateでGPAを4.0にした

Code ClimateでGPAを表記上4.0にした。 静的解析ツールはリソース監視と同様に常に掛けておいて、コードの質をチェックしていかないと行けない。 前回の「Ruby on Railsでサービスを作ってみた」メモのコードを静的解析を掛けて、いくつかissueがあったので…

Ruby on Railsでサービスを作ってみた おまけ

実装周りで補足した方が良いことを思いついてしまったのでおまけとしてメモ。いつもの様に過去記事はこちらからどうぞ。(part1、part2、part3、part4、part5、part6) active_decorator 今回active_decoratorを使ってFat Modelになるのを防いでいる。active…

Ruby on Railsでサービスを作ってみたpart6

今回で6回目「Ruby on Railsでサービスを作ってみた」記事投稿。過去記事も増えてきましたが読みたい方はこちらからどうぞ。(part1、part2、part3、part4、part5)今回のインフラ周りの話でこのシリーズは一応完結。(挨拶) サーバ構成 AWSをインフラとし…

Ruby on Railsでサービスを作ってみたpart5

今回で5回目の「Ruby on Railsでサービスを作ってみた」記事投稿。いつもの様に過去記事はこちらからどうぞ。(part1、part2、part3、part4)画面や機能周りで終わりではなく、開発環境やらインフラ周りのメモも書いていくので引き続きよろしくお願いしたい…

Ruby on Railsでサービスを作ってみたpart4

さて今回も引き続きRuby on Railsでサービスを作ってみたメモを書いていく。前のpartはこちらからどうぞ。(part1、part2、part3)今回で画面の機能、開発周りとしては最後にしたい。 アンケート結果 画面キャプチャ ヘッダー周り 上部に回答人数や、質問数…

Ruby on Railsでサービスを作ってみたpart3

今回で3回目の「Ruby on Railsでサービスを作ってみた」記事投稿。part1とpart2はこちらからどうぞ。では今回も画面や機能の開発周りの続きを書いていく。詳細なのは書いてもしょうが無いかと思って掻い摘んでいると、逆にブログだけだとわからない感じにな…

Ruby on Railsでサービスを作ってみたpart2

今回は前回の続きということで、画面や機能の開発周りの事を書いていく。画面開発自体は2日ぐらいでがっと作っただけなので、そんなに複雑でもないし画面数が多いわけではない。サイトマップは以下のようにシンプルな構成だ。 アンケート一覧 画面キャプチャ…

Ruby on Railsでサービスを作ってみたpart1

Ruby on Railsでサービスを作ってみようと考えやってみた。いくつかのpartに分けて投稿して行こうと思う。まずは今回作ったサービスはアンケート作成と集計サービスだ。ソースはGithub/wata-gh/surveyに公開してある。画面イメージとしては以下。 画面イメー…

[24時間365日] サーバ/インフラを支える技術読了

[24時間365日] サーバ/インフラを支える技術を読んだ。 www.amazon.co.jp ちょっと古い本ではあるが、オンプレでもインフラ構築することもあると思い勉強の為に手を出した。「Webサーバの冗長化」や「リバースプロキシの導入」、「キャッシュサーバの導入」…

パーフェクト Ruby on Rails読了

良書と言われている「パーフェクト Ruby on Rails」を読んだ。結論としてはRailsで開発をしようと考えている人にはお勧めだ。 www.amazon.co.jp 全体として 全体としてはRailsの概要が記載されていた。詳説というわけではないのでリファレンスとして使えるも…

paizaのランク上げ

とりあえずpaizaのランクをAランクまで(最初はSランクがあるのを知らなかったので上限だと思っていた)あげようと思い、昨日、一昨日とチャレンジ。ハッカソンはやったことあっても、スキルチェックは1度もやったことなかったのでとりあえずDランクからトラ…

3. Chanko、Ridgepoleを試してみる

前回の記事でRails周りの環境が出来たので、いよいよChankoとRidgepoleを試してみる。だが、その前に画面を作らなければ行けないの適当にでっち上げる。erbとslimは試していたがhamlは初めて書く事になった。そしてやっぱりhtmlを作成するのが一番時間がかか…

2. Rails周りの環境構築

今まではPadrinoしか触っていなかったが、今回はRails 4.2でChankoとRidgepoleを試してみる。初Railsでハマる部分も有るとは思うがとりあえず環境構築から。前回のitamaeレシピに必要なpackageを追加。sqliteは多分要らないけど。 %w/epel-release sqlite sq…