うまとま君の技術めも

2015年新卒入社した社畜の勉強内容などなど

React + Redux 入門

React・Reduxの基本的な仕組み・使い方ついて解説します。

MeCabで形態素解析 Node.jsバインディングを作ってみた

概要 Node.jsを使ったアプリケーションで形態素解析を行う必要があるので、MeCabを勉強してみようと思いました。 しかし、公式で提供されている言語バインディングにNode.jsは含まれていません(;´∀`) 公式以外で提供されているOSSも幾つかあるようですが、…

Node.jsでリトライ処理を実装してみる

概要 HTTPリクエストが失敗した場合や、DBへの接続に失敗した場合など 何回かリトライ処理を含めたい場合ってありますよね? そこで、Node.jsを使ったリトライ処理用モジュールを試しに作ってみようと思います。 環境 Node.js v4.4.7 OS Mac OS X 10.11.5 リ…

Chef-Zero 入門 (Local Mode)

概要 Chef-Client/Server構成で最近開発を行っているのですが、 Cookbook等を開発している時に毎回Serverにアップロードしたりするのは面倒くさいです。。。 そこで、Chef Zeroを使用すればローカル(Chef-Client側)のみで完結するChef環境が作れるらしいの…

sequelizeでidに0が入ってしまう

sequelizeでidに0が入ってしまう 環境 MariaDB 10.1.9 (Homebrew) 概要 SequelizeでdialectとしてMySQLをした際に、 AUTO_INCREMENTカラムを含むテーブルに対してINSERTすると0が入ってしまう可能性がある。 Sequelize SequelizeはNode.js用のORMである。 ま…

RMagickでフォントが使用できない、unable to read font `(null)'

環境 Mac OS X 10.10.2 Ruby 2.2.0 ImageMagick 6.9.0 RMagick 2.13.4 unable to read font `(null)' rmagickでテキストを表示しようと思ったら何故かunable to read font(null)'`とかいうエラーが。。。 rmagickで使用できるフォントを見てみると、使用可能…

.btn-groupにtooltipを使うとデザインがズレる

環境 Mac OS X 10.10.2 Google Chrome 41.0.2272.101 (64-bit) Bootstrap 3.3.4 .btn-groupにtooltipを使うとデザインがズレる .btn-group内のbuttonにtooltipを使用すると、 tooltipが発動した時に1px程度ズレが生じてしまいます。 <div class="btn-group" role="group"> <button type="button" class="btn btn-default" data-toggle="tooltip" title="Tooltip"> Left </button></div>

Drawableに設置したpngファイルのオリジナルサイズを取得する

AndroidにてDrawableに設置したpngファイルのサイズを取得しようとしたら、ちょっとはまったのでメモ。 前提 drawableに 50 * 50 px の画像ファイルを設置。 res/drawable/sample.png 画像サイズを取得 リソースIDからBitmapを生成して#getWidth, #getHeight…

Enumerable#map and Array#flatten vs Enumerable#flat_map

目的 Enumerable#map, Array#flatten と Enumerable#flat_map でどちらがパフォーマンスに優れているかを調べる。 環境 Mac OS X 10.10.1 ( Yosemite ) ruby 2.2.0 (rbenv) Enumerable#flat_map flat_map (Enumerable) - APIdock : http://apidock.com/ruby/…

Railsで独自クラスにバリデーションを実装してみる

環境 Rails 4.1.5 ruby 2.1.2p95 独自クラスにValidationを実装 独自クラスでRailsのValidationを実装したい場合はActiveModel::Validationsをincludeしてあげればよいらしい。 class Hoge include ActiveModel::Validations validates :hoge_id, presence: …

CoffeeScriptのファットアローって何だ?

ファットアロー jQueryのコールバック関数で呼ばれた関数でthisを使うと関数内のjQueryオブジェクトを指しているため、 that = @等と関数外で別の変数に置き換えて使用することがあると思います。 coffee class User constructor: (first_name, last_name) -…

Railsでf.selectにclassが設定できない時

環境 Rails 4.1.1 ruby 2.1.0p0 f.select <%= form_for @user do |f| %> ... <%= f.select :job, { engineer: "Engineer", ... }, class: "myclass" %> ... <% end %> ここでセレクトタグに.myclassが設定されていることが期待されるが、 実際に生成されるHT…

Railsでdefault_scopeの解除方法

環境 Rails 4.1.1 ruby 2.1.0p0 default_scopeの設定方法 orderやwhere文などをdefault_scopeメソッドに渡してあげればおk class User < ActiveRecord::Base ... default_scope { order(email: :asc) } default_scope { where(deleted_at: nil) } ... end o…

Macで作るLaravel 4.1 開発環境

環境 OS X 10.9.2 Homebrew 0.9.5 PHP 5.5 Laravel 4.1 PHP 5.5 をインストール $ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 pathを追加する $ vim ~/.bash_profile export PATH=/usr/local/php5/bin:$PATH 設定ファイルを反映させる $ sour…

UbuntuにMySQLをインストール

環境 Ubuntu 12.04 LTS MySQL 5.5.37 mysqlをインストール まずはインストールされるバージョンを確認 まだ5.6は登録されていないみたいですね。 $ sudo apt-get update $ apt-cache show mysql-server | grep Version Version: 5.5.37-0ubuntu0.12.04.1 Ver…

Nginx, Unicornで作るRailsアプリ

環境 Ubuntu 12.04 LTS nginx 1.2.7-1 precise Rails 4.1.0 unicorn 4.8.2 Railsアプリ Railsはインストール済みとする。 とりあえず適当にプロジェクトの作成 $ rails new blog nginxのインストール aptでnginxの公式リポジトリを使うように設定する。 $ su…

間違えてユーザーの所属グループを上書きしてしまった時

環境 Ubuntu 12.04 所属グループが消えとるんだが(;´Д`) よしhogeユーザーをnewgrpグループに追加しようと思い、下記コマンドを実行した $ usermod -G newgrp hoge その後に、sudoを使ったら何故かpermission denyとか言って怒られる。 何故だろうと思い$ …

初めてのRuby on Rails

目的 Railsをインストールして動作確認する 環境 OS X 10.9.2 Homebrew 0.9.5 Ruby 2.1.1p76 RubyGems 2.2.2 環境の確認 $ ruby -v ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] $ gem -v 2.2.2 Railsのインストール Gemを使ってRailsを…

Macでシステム情報を確認する方法

Mac

Linuxでは /proc/cpuinfo とかを見ればシステム情報がわかるが、 Macでシステム情報を見たいときは system_profiler コマンドを使えばいいらしい ハードウェア情報が見たいときはこんな感じ $ system_profiler SPHardwareDataType Hardware: Hardware Overvi…

rbenvで作るRuby開発環境 for Mac OS X

目的 Macに複数バージョンのRubyを入れる 環境 OS X 10.9.2 Homebrew 0.9.5 デフォルトで入ってるRubyの確認 $ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13] Homebrew Mac OS X 用のパッケージ管理ソフト 今回はこれを…

Markdown

Markdown Markdown(マークダウン)は、文書を記述するための軽量マークアップ言語のひとつである。 Wikipedia:Markdown Elements Block Elements Paragraph and Line Breaks Headers Blockquotes Lists Code Blocks Horizontal Rules Span Elements Links E…

ファイトだよ!

現在のエンジニアとしてのスキルは皆無なので 2015年入社まで残り約1年 どれだけ成長出来るか分からないけど とにかく頑張るしかないよね とりあえず、入社までに次の資格が取れるくらいにはなりたいですね LPIC Level1, Level2 基本情報, 応用情報 ファイト…