読者です 読者をやめる 読者になる 読者になる

ハイパーニートプログラマーへの道

頑張ったり頑張らなかったり

【Ubuntu 16.04】MySQLを自動起動できるようにする

sysv-rc-confのインストール $ sudo apt-cache search sysv-rc-conf sysv-rc-conf - SysV init runlevel configuration tool for the terminal $ sudo apt-get install sysv-rc-conf mysql の自動起動設定 $ sudo sysv-rc-conf --list (中略) mysql # なん…

【RSpec】 Capybara + poltergeist にて rspec failed to detect theversion of the executable at '/usr/bin/phantomjs'

Ubuntu16.04上に構築しているRailsにてfeature spec (capybara + poltergeist) を走らせたときに rspec failed to detect theversion of the executable at '/usr/bin/phantomjs' とかなんとかエラーでこける。 ちょっと古いですがこちらを見ると stackoverf…

CrystalでOSを作ってみた

この記事は Crystal Advent Calendar 2016 の25日目の記事です。 OSと言っても、ブートして文字を表示してるだけですが・・・こんなんです。 リポジトリはこちら github.com 軽く自己紹介 普段はフリーランスのRailsエンジニア(無職ともいう) OS作りたい、…

【Crystal】ランダムな数の中から最も差が小さい2つの数を取得する

Crystal 0.20.0 crystal play上で実行 def closest_two_numbers xx, yy, dd = 0, 0, 0 dd = Float64::INFINITY seq = (1..100).map { Random.rand(10**10) }.sort.uniq seq.each_cons(2) do |cons| x, y = cons[0], cons[1] d = (x - y).abs if d < dd xx, y…

CrystalでMerge Sort

Crystal 0.20.0 こちらのRuby versionを参考にしました。 stackoverflow.com def merge_sort(array) return array if array.size <= 1 mid = (array.size / 2).round left, right = array[0...mid], array[mid..-1] merge(merge_sort(left), merge_sort(righ…

Bootstrap4 Alpha3 - チェックボックスボタンがfocusedの時もoutlineなスタイルにする

な、何を言っているのかわからねーと思うが・・・ http://v4-alpha.getbootstrap.com/components/buttons/#checkbox-and-radio-buttons 上のリンクをチェックしていただけるとわかるかと思いますが、チェックボックスがボタン型になったボタングループを用意…

Bootstrapのalertのようなものを作ってみる

要はこういう風なものです。 http://getbootstrap.com/components/#alerts See the Pen Notification Bar Examples by Noriyo Akita (@noriyotcp) on CodePen.

【備忘録】【Ruby on Rails】MiniTestにおいて、ActionView::Template::Error: couldn't find file... と出るときは

Ruby on Rails Tutorialの4th Editionが出たので、アプリを作っていったのですが www.railstutorial.org time_ago_in_wordsを使用している箇所を、rails_best_practicesのNot user time_ago_in_wordsに倣って、rails_timeagoというgemを使うことにしました。…

Crystalをインストールした際のトラブル - dyld: Library not loaded:~ & ld: library not found for -levent

Mac OS X(El Capitan) 10.11.5 Homebrew 0.9.9 そろそろCrystalの環境構築しなくてはと思い、 anyenvも入れた、crenvも入れた、そしてcrystal 0.17.3も入れたぞ・・・と思ったら $ crystal --version dyld: Library not loaded: @@HOMEBREW_PREFIX@@/opt/bdw…

TechDRILL - Rspec入門編ーテストコードを書いてみよう!ーをやってみたんだが

やってみました。いろいろケチつけていきますと・・・。 http://tech-drill.in/questions/12 「ファイル構成」の部分で spec/hello/spec.rbとなっていますが正しくはspec/hello_spec.rbなのでは。 「準備が出来たか確認する」の部分で spec_helper.rbの完成…

【Ruby on Rails】sorceryを使用したログインで、ユーザーネーム・emailのどちらでもログインできるようにする

Deviseでの方法はいくらでもあるのですけど、sorceryについてはなかなか見つからなかったもので。 Rails version 4.2.5 Ruby version 2.3.0-p0 (x86_64-linux) sorcery (0.9.1) 前提:公式のこちらのチュートリアルに沿って、emailでのログインは可能になっ…

【Ruby on Rails】Cloud9 + Heroku + SendGridで本番環境からメールを飛ばす

現在Udemyでこのような講座をやっていまして www.udemy.com 開発環境はCloud9、デプロイ先はHerokuでのお話です。 Herokuでの準備 Heroku>Dashboard>左ペインManage Account>Billingでクレカ情報登録をしておきます。 Cloud9のコンソールにてheroku addons:c…

【Ruby on Rails】 cocoon gemで動的に要素を追加・削除できるフォームを作る

今回はRecipeとIngredientというモデルがあり、その中間テーブルとしてRecipeItemというモデルがあります。 RecipeItemにはamountという属性があり、Recipeのフォーム画面において、関連するIngredientをセレクトボックスから選び、その量(amount)も登録でき…

クリックするとアイコンが変化するiconate.jsを使ってみた

デモページを見てみると一発でわかるのですが、 iconate.js アイコンをクリックすると別のアイコンに変化します。 使い方 https://github.com/bitshadow/iconate#basic-usage 公式ページより インストール 以下の3つの方法があります。 NPM: npm install ic…

Bootstrapのアコーディオンパネル(collapse)でページ遷移の際に開いた状態を維持する

Bootstrap3でのアコーディオンパネル(今回は.list-groupを使用)を作成したのですけど、 http://getbootstrap.com/javascript/#collapse-example-accordion ページ遷移が起こった際に、パネルが閉じた状態になる。これを開いたままにしたい。特にパネルを複…

【Ruby on Rails】 bundler1.11.2に更新したら?rails g migration, rails cなどができなくなって困った

rails g migrationとかrails cの突然の死 bundle installした際に「bundler古いよ」と言われたので、その後rbenv exec gem update bundlerで1.11.2に更新しました。 すると今度は(bundle exec)rails g migrationやrails cでエラーが出るようになりました(な…

【Ruby on Rails】rake db:dropでもDBを削除できないとき

rake db:migrateしようとしてもできなくて、いろいろにっちもさっちもいかなくなりまして*1、いっそDB削除して作りなおそうとしたのですが rake db:dropできない!?

【Ruby on Rails】 bundle install時にnokogiriのエラーが出たときの対処

Mac OS X Yosemite(10.10.5) Rails version 4.2.4 Ruby version 2.2.3-p173 (x86_64-darwin14) RubyGems version 2.4.5.1 bundle installした際にnokogiriでエラーが出ました。 An error occurred while installing nokogiri (1.6.6.2), and Bundler cannot …

faker.jsを使ってみる

Rubyでもfakerというgemがありますが、そのJS版なんですかねえ。 Marak/faker.jsgithub.com 今回はCodePenで簡単に導入しました。 JSパネルの歯車ボタンより、「+ add another resource」を押下、入力フォームに「faker」と打ち込むだけで画像のように候補が…

rvmからrbenvに乗り換える on Mac

試してから時間が経ってるので、正直言って自信はありませんが・・・。(単なる下書き消化のためなのは内緒なんだぜ) 以前の記事で久しぶりにSqale.jpにデプロイしたらコケたので(ついでにrvmからrbenvに乗り換える on Ubuntu) - ハイパーニートプログラ…

【備忘録】MySQL2のインストール(on Mac)、Railsでの設定

外部プロジェクトクローンしてきて $ bundle install --path vender/bundle としたけど怒られた。そういえばまだシステムにMySQLをインストールしてなかったので。 環境はMac(Yosemite)です。 $ brew update $ brew install mysql ==> Downloading https://h…

久しぶりにSqale.jpにデプロイしたらコケたので(ついでにrvmからrbenvに乗り換える on Ubuntu)

いやあもうSqale.jpに久しぶりにデプロイしたら、にっちもさっちもいかなくなりまして。 詳しくは後述するとして、結論から先に書くと .ruby-versionをgit addしろ 色々やったけど、ああもうダメだ・・・と思っていたところ、Sqale.jpからメールが。一部引用…

Reactでクリッカーゲーム作ってみた

制限時間内にひたすらクリックしていくというただそれだけの・・・。 Reactは初めて触ったので、コードが滅茶苦茶な部分もあるかもしれんですが。 モバイルでは表示されないんですかねー。ついでにCrossBrowserTestingでも試してみたんですけど。 初めiframe…

Java 8 update 45にアプデしようと思ったらコケたので

ずっとJava 8 update 31だったので、いい加減にアプデしようと。 コントロールパネルを開いて普通に更新・・・しようとしたのだけど、ダウンロード完了一歩手前でエラー。どういうことじゃい・・・。 何回やってもダメ。仕方ないのでここからJDKを再ダウンロ…

【Ruby on Rails】carrierwave-dropboxを使ってDropboxにファイルアップロード

元ネタはこちら https://www.udemy.com/ruby-on-rails-4-a-test-driven-approach/#/lecture/2310264 Dropboxでアプリ作成 https://www.dropbox.com/developers/apps にアクセスしまして。Create Appを押す。 名前はMy_bookstore_appとでもします。テキトーに…

【Rspec】Warning: you should require 'minitest/autorun' instead. (略 とか出てきたので

Rails 4.2.0 Ruby 2.1.4p265 Rspec 3.2.3 Rspec及びguardを使っていたら、警告が Warning: you should require 'minitest/autorun' instead. Warning: or add 'gem "minitest"' before 'require "minitest/autorun"' RSpecでテストする際に、「Warning: you …

【Ruby on Rails】jQuery UI Datepikerを使う

Udemyの講座をやっているんですが https://www.udemy.com/ruby-on-rails-4-a-test-driven-approach/#/lecture/2310254 こんな感じでフォームにフォーカスが当たるとデイトピッカーがでてくるのを実装しようかと。 Gemfile gem 'jquery-rails' gem 'jquery-ui…

shoulda-matchers 2.8.0で undefined method `validate_presence_of'などと出たので。

Rails 4.2.0 Rspec 3.2.2 shoulda-matchers 2.8.0 it { should validate_presence_of(:hoge) } it { should validate_uniqueness_of(:hage) } とかでundefined methodだと怒られました。調べてみると・・・ undefined method `validate_presence_of' in shou…

Rails Tutorial Chapter7をやる 断片的なメモ

英語版をやっていってるのですが、そろそろ日本語版も参考にしないと辛くなってきましたな・・・。 やったこと: debugメソッド経由でデバッグ情報を表示する SassのmixinsでCSSルールのグループをまとめて複数の場所で再利用することができる。 Railsには3…

Ruby on Rails Tutorial Chapter6をやる (いつも通り)断片的なメモ

ほんとはもうとっくに終わっているのですが・・・第6章いきます。 Chapter 6: Modeling users | Ruby on Rails Tutorial (3rd Ed.) | Softcover.io やったこと モデルの作成とマイグレーション ActiveReocordの使用。データモデルを作ったり操作したりする…

リモートで削除されたブランチがローカルに残ってしまう問題を解消する。git remote prune

$ git branch -aしてみると、なんかリモートへの参照に余計なのが残っちゃてるよ。 $ git branch -a account-activation-password-reset following-users log-in-log-out master modeling-users sign-up updating-users user-microposts * using-rspec remot…

Rails Tutorial Chapter5をやる 断片的、そして適当なメモ

Rails Tutorialも第5章です。メモを取りながらやっているのですが、いかんせん日にちが経っている(実は今10章まで進んだw) なのでほとんどメモをコピペしてるだけですが・・・。 第4章はRailsというよりRubyの基本的な構文についてなので、初心者の方…

Rails Tutorial Chapter3をやる 断片的なメモ

2章はさくっと飛ばしまして、今章で作成するsample_appを今後も使っていく、ということで作るのですが。 断片的なメモなので、あまり参考にならないかと。Nitrous.io上で開発してます。 テストの作成と実施 provideとyield setupメソッド Bitbucketへリモー…

Nitrous.ioでRubyのバージョンを変更する(そしてハマる)

Rails Tutorialも5章に入りましたが、いつものようにrails sしたら、 $ rails s -b 0.0.0.0 -p 4000 # ちょっとこういうオプションつけてます。 Your Ruby version is 2.1.1, but your Gemfile specified 2.0.0 怒られましたがな。Herokuは2.0.0推奨とのこ…

Rails Tutorial 1.5 Deploying Nitrous.ioからHerokuへプッシュするまで

Rails Tutorial Chapter1に沿ってやっていきます。 1.5 Deploying 1.5.1 Heroku setup 前回の続きですが 、何はともあれHerokuでアカウント作成します。 Rails Tutorial Chapter1をやる Nitrous.ioからBitbucketにリポジトリも作ってみる - ハイパーニートプ…

Rails Tutorial Chapter1をやる Nitrous.ioからBitbucketにリポジトリも作ってみる

Frontmatter | Ruby on Rails Tutorial (3rd Ed.) | Softcover.io Ruby on Rails Tutorialをやり始めたのですが、Chapter 1:From zero to deployはまあ基本的なことなのでスンスーンと進むかと。 環境はNitrous.ioです。 Nitrous.ioからbitbucketにgitリポジトリ…

Nitrous.ioでRails4.2.0にアプデ、からのrails sでアクセスできないとき

Nitrous.ioで使っているRailsを4.1.0から4.2.0へアップデートしました。とはいっても gem update rails とするだけなのですが、その後ちょっと困ったことが rails s -p 4000でもダメ Nitrous.ioでphpMyAdminの設定 - ハイパーニートプログラマーへの道 以前p…

VirtualBox(on Mac)にKali Linuxをインストール〜日本語入力の設定まで

*はじめに、後述するOMAKEではDLしたイメージファイルのチェックサムを照合する作業にトライしています。本来ならこれはインストール前に行う作業らしいのですが、インストール後に行ってしまいました。 しかし調べてみるとこの事前の照合を行っている人は…

【Ruby on Rails】 スクリプトでActiveRecordを使ってバッチ処理

単純にスクリプト置いて、それをrunnerで実行、というところまではできたんですが、DBにアクセスしたいなと。 ActiveRecord使うとな? Ubuntu 14.04 LTS Rails 4.1.5 Ruby 2.1.1p76 app配下にbatchディレクトリを作って、そこにスクリプトを用意しました。 …

【Ruby】【Rails】【Mechanize】kindle.amazon.co.jpで自分がフォローしている人たちのハイライトを取得

自分のハイライトを取得する方法はちらほら見当たるんですけど、自分がフォローしている人たちのハイライトを取得するのはないなーと。 AmazonはそのためのAPIを提供していないようなので? 愚直にMechanizeでやろうかと。 コード require "mechanize" mech …

【Ubuntu】端末のキーボードショートカット設定(コピぺできるように)

端末のメニューから キーボードショートカットを選択し 任意の場所をクリックすると「新しいアクセラレータ」になるので、キーを押して設定。 今回はSuper+C,Super+Vにしましたが、これ、以前もやっていたらしく(忘 Ctrl+C,Ctrl+Vになっていました。それじ…

Nitrous.ioでphpMyAdminの設定

MySQLの設定なら公式にあるのですが Setting up MySQL with Autoparts Setting up MySQL with Autoparts mysql -u root -p When prompted for a password you will just want to leave it blank and press enter. rootで入って、パスワードは要らないよ!み…

【Ruby】配列の要素を順に削除するには、eachで回してdeleteすればいいじゃん、と思っていた時期が私にもありました

配列の要素を順番に削除していきたいなあ、と思いまして。 eachで回せばいいじゃんと。 こんな感じで # encoding: utf-8 numbers = [1, 2, 3, 4, 5, 6, 7] numbers.each { |number| p numbers numbers.delete(number) } p numbers そしたら・・・ [1, 2, 3, …

【CSS3】横メニューを作ってみる

出来上がりはこんな感じ。下の方はCSSDeskにデフォで表示されていたボックスを、ごにょごにょしてみただけのものです。 以下コード HTML <ul id="tag-list"> <li><a href="#">動物</a></li> <li><a href="#">犬</a></li> <li><a href="#">ネコ</a></li> <li><a href="#">面白い</a></li> <li><a href="#">これはすごい</a></li> </ul> <div class="test" data-box="test1">Hello World!</div>

【Ruby】4Gifsの各ページをnokogiriでスクレイピング、GIFのURL取得

【Ruby】4gifsのRSS取得、gifのURLを取り出す - ハイパーニートプログラマーへの道 この記事ではRSSのdescriptionからgifのURLを取り出した・・・つもりが動かないものだぞ!? どうやらそのURLと、実際の個別記事のgifのURLは違うようだ。 要はRSSで表示さ…

【Ruby】fastimageインストール、gifの大きさを取得(ついでに容量も)

fastimageのインストール ruby 2.1.1p76 Mac OS X 10.10(Yosemite) rubyのfastimageで簡単に画像サイズを取得する方法 - Hive Color $ gem install fastimage Fetching: addressable-2.3.6.gem (100%) Successfully installed addressable-2.3.6 Fetching: f…

rootの設定と共通テンプレートの設定

rootの設定 #09 rootの設定をしよう | Ruby on Rails 4入門 #09 rootの設定をしよう | Ruby on Rails 4入門 - プログラミングならドットインストール projects#indexがルートに表示されるように routes.rb # You can have the root of your site routed with…

【Ruby on Rails】Controllerを作る

Controllerを作る #07 Controllerを作ってみよう | Ruby on Rails 4入門 #07 Controllerを作ってみよう | Ruby on Rails 4入門 - プログラミングならドットインストール $ rails g controller Projects モデルと違って複数形 routingの設定 config/routes.rb…

Railsサーバーを終了させるシェルスクリプト

(12/16更新) いや、実は・・・。 以前に端末のショートカット設定をやったときに、Ctrl+Cをコピーに設定していたようで(汗 それじゃあkillできないよね・・・。 というわけで設定し直したのがこちら: 【Ubuntu】端末のキーボードショートカット設定(コピ…

Ubuntu14.04にてRuby on Rails4をインストール(ctrl + cが効かない・・・だと?)

(12/16更新) いや、効きました・・・ 以前に端末のショートカット設定をやったときに、Ctrl+Cをコピーに設定していたようで(汗 それじゃあkillできないよね・・・。 というわけで設定し直したのがこちら: 【Ubuntu】端末のキーボードショートカット設定(…