プログラミング

”神回”となった2018年の紅白歌合戦をデータで振り返る

こんにちは。 2018年の紅白歌合戦は米津玄師、サザンオールスターズ、松任谷由実などが話題を集め、平成最後にふさわしい(?)盛り上がりっぷりで”神回”とまで呼ばれています。 www.sanspo.com 私も自宅で2018年の紅白歌合戦を楽しませてもらいました。 そ…

44回のAlexaスキル申請で延べ76個の指摘を受けたので、スキル申請の感想と指摘内容をまとめました

こんにちは。 2018年もいろいろありましたが、この1年私が取り組んできたことのひとつにAmazon EchoのAlexaスキル開発があります。 blog.wackwack.net 年明けにAmazonEchoを入手して以来、10個のスキルを公開しました。スキルの申請はアップデートも含めて合…

Amazon EchoからツイートするAlexaスキル『ツイログ』を公開しました

こんにちは。 ここ最近、Tシャツ欲しさにAlexaスキルを開発しています。 blog.wackwack.net Alexa Tシャツいただきました!なお4月分は審査で蹴られて諦めたもよう。 pic.twitter.com/Wy3oR5xQay— くおっと (@quo1987) April 25, 2018 5月にも違うデザインの…

Amazon Echoのスキル『今日のゴミ出し』を公開しました

こんにちは。 今年Amazon Echoを購入して、ちょこちょこスキル開発をしていました。 blog.wackwack.net これまでは自分で使うためにテキトーに作っていたのですが、 「せっかくならスキルストアに公開してみたい!」 と思い、見事(?)審査を通過しAlexaス…

Amazon Echoに話しかけるとTwitterでつぶやくAlexaスキルを作ってみる

こんにちは。 前回は『アレクサ(Amazon Echo)で何ができるのか?』について記事にしました。 blog.wackwack.net その中で「自分でAlexaスキルも作れる!」と紹介していまして、実際に自分でAlexaスキルを作ってみました。 と言うことで今回は、私が実際に…

Bing Web Search APIで画像自動収集プログラムを作る

こんにちは。 これまでTwitterのツイート検索API、Google Custom Search APIを利用した画像自動収集プログラムをご紹介しました。 blog.wackwack.net blog.wackwack.net 最終回となる今回は、Microsoftが提供するBing Web Search APIを利用した画像自動収集…

Google Custom Search APIを使って画像の自動収集

こんにちは。 前回はTwitter search APIを使ってTwitterから画像データを自動収集する方法をまとめました。 blog.wackwack.net 今回はGoogleCustomSearch APIを使った画像自動収集プログラムを作成しましたので、必要な手順を紹介します。 カスタム検索エン…

Twitterのツイート検索APIを使って画像を自動収集する

こんにちは。 9月頃から趣味で機械学習の勉強をしています。機械学習に取り組む上での最重要作業のひとつとして「テストデータの収集」があります。例えば画像を使って物体認識させたいなら、大量の画像データが必要です。 ではそれらの画像を一つ一つ手作業…

Capistranoによるデプロイで発生したgithub接続エラーを解決する

リモートサーバにrailsアプリケーションをCapistranoでデプロイしようとしていました。 Capistranoによるデプロイの流れはザックリとこんな感じです。 自分の端末からcap production deploy を実行する。 デプロイ先のサーバにて、github上のプロジェクトのc…

Javaのメモリ管理(ヒープ・GC)を理解する

Javaにおけるメモリ管理はGC(ガベージコレクション)がよろしくやってくれているため、普段はあまり気になりません。 だ・け・ど メモリ管理の概要くらいは知っておかないと、OutOfMemoryなんかが出た日にはアワアワしてしまいます。 実際に少し前に仕事の…

twitterの「ゴミ捨てリマインダーbot」を作ってみたけど上手くいかなかった。

みなさま、お盆いかがお過ごしでしょうか。 私は暦通りの休みで、社畜ぶりを発揮しております。 それはさておき、以前に当ブログで取り上げた『meya.ai』。 quotto.hatenablog.com quotto.hatenablog.com これを使ってtwitterのDMでゴミの日を教えてくれる「…

Python2における文字列「文字型」と「ユニコード型」についてザックリとまとめた

最近『meya.ai』をいじっていて、Pythonになんちゃって入門しました。 quotto.hatenablog.com 初心者として戸惑ったのが文字列の扱い。 print 'Hello,World' print u'Hello,World' 「u」ってなんですかね。 ということで、ザックリとまとめてみます。 ※独学…

仙台市営バスの時刻情報を教えてくれるbotを『meya.ai』で作成しました。

先日「botプラットフォーム」である『meya.ai』を体験しました。 quotto.hatenablog.com 今回はもうちょっと「それっぽい」botを作ってみようと思い、こんなbotを作りました。 twitter.com 仕様 DMで「経路」と送信すると、対話形式で「発着の停留所」を聞い…

ありえないほど簡単にbotが作れる!『meya.ai』で人工無能に入門。

人工知能の発展が目覚ましい現代。 少しでもかじってみようと、ブログ記事で紹介されているのを見かけた『meya.ai』を利用してみました。 Meya.ai - Cognitive App Platformタイトルのとおり、ありえないほど簡単にbotが作れたので基本的な使い方をご紹介し…

bundlerのgemをrubyスクリプト実行時にロードする方法

bundler、言わずと知れたrubyのgem管理用パッケージ。railsプロジェクトを作るにも、bundlerでローカルインストールしてプロジェクトごとにバージョン管理する、という使い方が多いと思います。 そのような場合は"bundle exec rails"の形でアプリケーション…

WindowsのDOS(bat)プログラムではループ内での変数インクリメントに注意が必要です

DOSでbatプログラムをちゃちゃっと作るはずだったのですが、見事にハマったのでメモ。 (未だにDOSを使わざるをえないのです。) やりたかったこと For文の中で変数をインクリメントしたい。 最初のコード こんな感じで動くでしょ? @echo off set /A num=0 …

住所を渡せば位置情報を教えてもらえる『Google Maps Geocoding API』の使い方

住所から緯度経度を求めたい時どうしましょう。 真っ先に思い浮かぶのはGoogleさんに教えてもらうこと!ということで、Googleが提供する位置情報APIである「Google Maps Geocoding API」の使い方をまとめます。 なお、本家を見ればほぼ分かります。 デベロッ…

SSL証明書が見つからず発生した「OpenSSL::SSL::SSLError」を手っ取り早く解決する

rubyでは標準ライブラリである「net/http」を利用することで、簡単にwebサーバへのリクエストの実行・レスポンスの取得が行えます。 url = "http://hogehoge.com?p1=aaaaa&p2=テスト" #URI.escapeはマルチバイト文字等をエスケープする escape_url = URI.esc…

capistrano経由のデプロイでpassengerがリスタートしない

RailsアプリのデプロイにCapistranoを使っているのですが、前に使っていたデプロイスクリプトをコピーしてきたらpassengerの再起動ができませんでした。 どうやらpassengerの再起動方法がバージョンアップで変わったようです。 環境 CentOS6.5、Apache2.2、P…

Rails4.2 + PushionPassengerで「SECRET_KEY_BASE」に関するエラーが出た

Rails4.2+passenger+apacheの環境でプロジェクトを作り本番(production)にデプロイ、アクセスしたらエラーになってしまった備忘録。 環境 CentOS 6.2、Apache2.2、PushionPassenger5.0、Rails4.2 apache起動時にエラーが発生 apacheのエラーログにこんなメ…

Rails4におけるDB検索方法あれこれ

Rails4で検索条件を付けてデータを取得しようとすると「ん?」となることが多いので、備忘録として改めてまとめておきたいと思います。 サンプルデータ 今回の記事では以下のフルーツテーブルを使います。 mysql> select * from fruits; +----+-----------+-…

アセットパイプラインにフォントも加える

いつの間にか、DMM Sampler(18歳未満は見ちゃダメ!)のアクセスが、ここ1ヶ月で右肩上がりになっておりました。(9月頃まではほぼ0だった) とは言っても累計3,000アクセスぐらいなんだけど。で、Google Analyticsで見てみると半分ぐらいはスマートフォン…

strong_parametersへの対応

自作Webサービスhttp://sampler.wackwack.netをRails3からRails4へ移行しました。 その中でstrong_parametersの対応を行ったので、Web上に山ほど情報は転がっていますが内容についてまとめておきます。 簡単に言うと DBへの登録処理を行うにあたっての設定方…

アセットパイプラインにハマる

前回の記事で書いたとおりRailsの環境を更新しました。 が、本番環境おけるアセットパイプラインでハマってしまいました。 ここで復習しておきます。 そもそもアセットパイプラインとは? 「app/assets」「lib/assets」「vendor/assets」など異なるパス上のj…

rbenvの環境にRailsアプリをCapistranoでデプロイする

レンタルサーバの引っ越しついでにrubyとRailsのバージョンを上げて、再度Capistranoによるデプロイ環境を構築しました。 構成 サーバ CentOS 6.3 ruby 2.1.2(rbenvで導入) Rails 4.0 Apache2 + Passenger4.0 クライアント(デプロイ環境) Mac OS X git C…

DMM Samplerをバージョンアップしました

前回の記事で少し触れたとおり、DMM Samplerの動画プレーヤーをFlowPlayerへ変更しました!これにより機能が追加されました。 動画の自動制御 1.動画の自動再生 ページを表示した時や動画を切り替えた時に動画を自動的に再生します。 2.動画の自動切り替え …

Webページ上で動画制御できるプレーヤー『FlowPlayer』の使い方

DMM Samplerのアップデートで、動作の再生をDMM標準プレーヤーからFlowPlayerに変えました。今回はその導入経緯とFlowPlayerの簡単な使い方についてまとめておきます。 プレーヤーを変えるきっかけ 前々から、JavaScriptからフラッシュ動画プレーヤー(~.swf)…

Capistrano3を使ってデプロイを自動化した

DMM Samplerを作成してから、バージョンアップに向けてちょこちょこ作業していました。 そして3つの事を達成。 DMMアフィリエイトプログラムの審査に合格 Webページにタグリンクを設置 Capistrano3を用いてデプロイを自動化 一つ目はどうでもいいですね。よ…

またまたRails製エロ動画サイトを作りました

昔なつかしのLove Mouth・・・ 遂にRailsアプリリリース!...エロ動画サイトだけどな!! - 小さな星がほらひとつ (もはや更新していませんが一応ページは存在してます。) そして今回、性懲りもなく再び作ってしまいました! DMM Sampler 概要 「短いサン…

ArelによるOR条件のメソッドチェイン(Rails3.2.3)

Rails3以降、ActiveRecordによるDB検索は「Arel」という中間ライブラリを利用して行われています。・・・最近知りました。 以前と同じインタフェースで利用していました。ということで現在はArelによるメソッドチェインを利用した形でコーディングしているの…