webエンジニアの日常

RubyやPython, JSなど、IT関連の記事を書いています

ruby

現在地の標高を教えてくれるLineBot作った

LineBot作成の入門記事です。APIを利用して、送られてきた位置情報を元にその場所の標高を返すBotを作ります。

名言を返してくれるLINE Botを作ってみた

こんにちは、エンジニアのさもです。 何かwebサービスに組み込んで遊べそうなAPIないかな~と調べていたところ、メッセージアプリLINEのMessage APIなるものを発見しました。 チュートリアルを進めると簡単にオウム返しBot(送った文章がそのまま帰ってくる)…

【Rails】deviseを使うときのログインのテストの書き方

お久しぶりです エンジニアのさもです。 今回はRailsアプリ内で認証にDeviseというgemを使うwebサービスでログインのテストの書き方をメモしておきます。

Rubyで自分だけの英単語帳を作る

こんにちは、エンジニアのさもです。 新しい目の技術に触れたいとき、ドキュメントが英語しかなくてがっかりすることないですか? 私は英語が苦手なので、がっかりしてしまいます。 かといって、英語を勉強しようと思っても、TOEIC何点以上みたいなブログし…

時刻の差を○日 ○時間○分○秒みたいに出力する

こんにちは、エンジニアのさもです。 今回はrubyの小ネタです。 仕事で日時データの差を○日 ○時間○分○秒みたいに出力するプログラムを書いたのでメモです。

私がRubyを好きな理由、10個ぐらい正座してちゃんと言えるから

約2年Rubyを触ってみて、Rubyの好きなところを書いていきます。

RubyでFIZZBUZZやってみた。

こんにちは、エンジニアのさもです TensorFlowを勉強していて少し疲れたので休憩です。 今回は、アルゴリズムの入門として有名なFIZZBUSSプログラムをRubyで書いてみました。

Railsのstrftimeの引数を調べた(スクレイピングで)

こんにちは、エンジニアのさもです。 Railsのstrftimeメソッドってめっちゃ便利ですよね。 webアプリを作っていると日時っていろんなフォーマットで表示する必要があるので、よく使っています。 今回、英語圏の方用にフォーマットを作っていたのですが、pm、…

Rubyでクローラー入門。はてなブログの投稿数をグラフに表示する

はじめに こんにちは、rubyエンジニアのさもです。 本記事では、rubyで簡単にクローラが作れるよというのを紹介したいと思います。 何が作れるのかな、と思う方は、実行 を見てみてください。 ruby入門者や、rubyを勉強したけど何ができるのと思っている方、…

1対1のアソシエーションでエラーが出る

railsで1対1の関係があるモデルを作ったときに、よく分からないエラーではまったのでメモです。 以下のようなモデルを想定します。 class User < ActiveRecord::Base has_one :bank_information accepts_nested_attributes_for :bank_information, allow_des…

railsで開発するときにブックマークしておきたいサイト・ブログ7選

railsで開発していると、よく使うメソッドなのにすぐ使い方を忘れてしまう。というのがよく起こります。そんなときにいつもお世話になっているサイトやブログを紹介したいと思います。

Rubyでメソッドの一覧を確認する

クラスにどんなメソッドがあるのか、使いたいメソッドが定義されているか調べたいことありますよね。 今回はメソッドの一覧を確認し、その中から目的のメソッドを探してみたいと思います。 一覧を表示するクラスとしてFixnumを使ってみます。 すべてのメソッ…

ActiveRecord::RecordNotSaved: Failed to save the new associated ~ と言われたとき

Railsアプリで、1対1の関係にあるモデルを実装したときに少しはまったのでメモ。 例えば以下のようなモデルがあるとします。 class CarManager has_one :car accepts_nested_attributes_for :car, reject_if: :all_blank, allow_destroy: true end class C…

Railsアプリ内でファイルが開かれているか確認する

railsアプリ内で画像ファイルが開かれているか確認する方法です。 私の環境では、railsアプリはcentos6.8で動いているので、その前提で書いていきます。 使うツールはlsofというlinuxコマンドですが、標準では入っていなかったのでインストールします。 sudo…

remotipartの不思議な挙動

デフォルトではajaxでファイル送信はできないのですが、それを可能にするのが、remotipartというgemです。 ただ単にファイル送信を可能にするだけならgemをインストールするだけで終わりなのですが、レスポンスを受け取ってエラーを表示したいときに少しはま…

herokuでrailsアプリからpythonスクリプトを呼ぶ方法

塗り絵ツクール2017 - Xnotepad というアプリを作ってみました。 webサーバはherokuで動かしていて、フレームワークはRuby on Railsでなのですが、画像の処理部分をpythonでやりたかったので、その時やったことを書いておきます。 私は開発環境にcloud9を使…

ThinReportがアップデートされてはまった話

開発環境では普通に動くコードが、テスト環境で、 uninitialized constant ThinReports というエラーが表示されていました。 テストサーバへsshでつないで、コンソールで確認すると、確かにThinReportsという定数が無いようです。

railsのログローテーションで新しくファイルが作られないときにやったこと

はじめに railsアプリのログを毎日ローテーションしようと開発環境で試したいたときにはまってしまったので、その解決方法を書いておきます。 開発環境は、 windows7でvagrant上にcentosをたてて、railsアプリを動かしている。 ソースコードはwindows上にあ…

昨年度の振り返り。経験したこと、勉強したこと

今年度で、社会人3年目に突入しました。 ここで一度、昨年度に勉強したことや、業務で体験したことを振り返ってみたいとおもいます。 【目次】 言語、フレームワーク Ruby、Rails jQuery python 概念・思想・設計 機械学習 テスト駆動開発(TDD) その他・検…

メタプログラミングで遊んでみた(1)

メタプログラミング本 メタプログラミングRuby作者: Paolo Perrotta,角征典出版社/メーカー: KADOKAWA/アスキー・メディアワークス発売日: 2010/08/28メディア: 大型本購入: 18人 クリック: 533回この商品を含むブログ (125件) を見る を読んで遊んでみたく…