小さな星がほらひとつ

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

プログラミング

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でゴミの日を教えてくれる「…

Pythonでの文字列「文字型」と「ユニコード型」についてザックリとまとめた。

最近『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 Bot Platformタイトルのとおり、ありえないほど簡単にbotが作れたので基本的な使い方をご紹介します。 meya.aiと…

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」の使い方をまとめます。 なお、本家を見ればほぼ分かります。 Google M…

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によるメソッドチェインを利用した形でコーディングしているの…

SeleniumWebDriverの拡張ライブラリ『markableWebDriver』がいい感じ

たまたま発見しました。 GitHub - jgoza25/markableDriver: Extends of Selenium Selenium Web Driverの拡張ライブラリです。 これはSeleniumで画面キャプチャを行った際に、以下のことが実施できます。 選択した部品に赤枠を付ける。 選択した部品に赤枠と…

TestCaseでSelenium Web Driverを使う

最近仕事でJavaのSelenium Web Driverを使う機会があったので、Rubyでも使ってみました。 さらに、せっかくテストに使うならやっぱりテストフレームワーク使いたいよねってことで、TestCaseクラスを使うことに。 TestCaseを使う JavaのJUnitは使ったことがあ…

Amazon Product Advertising APIを使う

先日リリースしたかんけんで利用している、AmazonのProduct Advertising APIについて簡単にまとめておこうと思います。 利用準備 APIを利用するにはユーザ登録が必要です。が、このユーザ登録結構面倒です。APIを使えるように登録すると、自動的にアフィリエ…

Amazon Product Advertising APIを利用したRailsアプリケーションを作成しました。

またRailsで何か作ろうかな―と思い題材を考えていました。 んで思いついたのです。Amazonに「この商品を買った人はこんな商品も買っています」ってあるじゃないですか。でも、関連商品に必ずしも「欲しい!」と思うものは無いかも・・・ むしろ関連商品の関…

ApacheとRailsの連携

目新しいものではありませんが、Railsアプリケーションを構築した際にやっぱりApache経由でインターネット上に公開したいですよね。・・・ね?てことで、方法をまとめておこうと思います。 passengerの導入 今回利用したものはgemライブラリのPhusion Passen…

Rails製エロ動画サイトをスマートフォン対応

昨年構築した動画サイトLovemouthをスマートフォン対応しました!lovemouth.net ついでにいいねボタン、ツイートボタンも設置してみました。ということで、今回はRailsによるスマートフォンページの対応方法についてまとめておきます。 jpmobileの導入 今回…

Mac風Dockを実現するjqDock

今回小さなサムネイルを敷き詰めて、マウスオーバーしたら大きく見せるためにjQueryプラグインを導入しました。 このMac風Dockを実現するプラグインはいくつかありますが、今回はjqDockを利用しました。 1.jqDockソースの記載 <script type="text/javascript" src="jquery.jqDock" /> 2.jqDockの発動 ※スクリプ…

Railsのモデルで注意すること

遂にRailsアプリリリース!...エロ動画サイトだけどな!! 前回はRailsのMVCを作成について書きました。 ここで作ったモデル(Movie)について気をつけることがあります。 何かというとrubyプログラム(主にコントローラー内)でモデルに対するアップデート…

Railsコントローラー・View・モデルの作成

遂にRailsアプリリリース!...エロ動画サイトだけどな!! RailsアプリケーションはMVCモデルであり、この3つが無いと始まりません。1.コントローラー コントローラーを作成するには、下記のコマンドを実行。 script/rails generate controller movie movi…

Rilsアプリケーションの基礎作り

リリースしたアプリケーション作成の要所を備忘録としてまとめていきたいと思います。 遂にRailsアプリリリース!...エロ動画サイトだけどな!!今回は基本中の基本、Railsアプリの基礎作り。 なお環境はRails3.2.31.Railsアプリの作成 rails new lovemout…

遂にRailsアプリリリース!...エロ動画サイトだけどな!!

http://lvemouth.wackwack.net 中身はよくあるxvideo動画集です。 タイトルはそのまま、口が好きってことですよ。で、今回こんなのを作ったのはかの有名な?h300というおしゃれエロサイトに感動したからです。 自分も素敵な(エロ)サイトを作りたい!と思い…

といえば検索(べーた)

つくってみた。あるキーワードに関連するワードをの検索リンクを表示します。 急上昇ワードはGoogle Trend、関連ワードはYahoo関連ワードAPIより取得。http://golden.my-sv.net/toieba/index.php11/19追記: 提供サーバが変わりました。

Google Spread SheetをPHP(ZendFramework)で読み込む

プログラムしたことをまとめておこう. まず,Google Spread Sheetに関してですが,詳しいことはわかりませんw 簡単に,というか自分が把握している限りで言えば,オンラインで(ブラウザを通して)Excelのような物が使え,複数のユーザと共有できるもので…

innerTextとtext

IEでタグのテキストを取得する際のプロパティとしてinnerTextがあります. alert(document.getElementsByTagName('id')[0].innerText);みたいな.innerTextを使って,XML文書(XmlHttpRequestのresponseXMLで受信したデータ)を参照しようと思ってもできない.…

放射線量マップを作ってみました.

自分も被災者ではありますが,いつもの日常を過ごせています. 被災地のためになる訳ではありませんが,この状況を記録するため,と勉強のために作ってみました.作成にはGoogle Maps JavaScript APIを利用しました.http://quotto.lolipop.jp/map/

Flexのウィンドウを表示させない

mxmlのWindowタグにて,systemChrome="none"と指定すると,自動でFlexのクロムが出現する. これを消して,クロムが全く無い状態にしたい!! ちなみにNativeWindowクラスを使ったActionScriptによるウィンドウの作成ならば,systemChrome="none"で,無くな…

MXMLで記述したコンポーネント(ウィンドウ)を呼び出す

チュートリアルでは,ActionScriptクラス内でNativeWindowオブジェクトを生成してウィンドウ(付箋)を開くといった感じで行っていました. が,コードでウィンドウのレイアウトを作成するのは非常に面倒なのでFlexBuilderを利用して作成したMXMLコンポーネン…

text=Error #2032: Stream Errorを解決

記事を更新するあたりのプログラムで,保存ボタンを押すとError #2044: Unhandled ioError:. text=Error #2032: Stream Errorといったエラーが出てしまいました。ioErrorなのでファイルのオープンとかに失敗した場合に出るっぽい。 今回これが出た場所はURLL…

3度目のRails

ということで,3たびRuby On Railsを初めてみた. 毎度のことながら,ちょっとやってみる→やめる→またやってみる...という負のスパイラルにより,以前やったはずのことは殆ど覚えていない.今回はきちんと覚えるつもりでガンバロー(←ホントかよ 今回利用…

半角英数字は改行されないんだよ!!!!

知らなかった.HTMLやCSSはノリとその場その場でやってきたから,まともなルールも理解していないことが判明してしまった. ということで,HTML上では半角英数字は改行されないんですって. 単語の区切りが不明というのが理由っぽい. 全角だと幅いっぱいに…

Gridの子要素が持つGrid.RowSpan/Grid.ColumnSpan

GUIでレイアウトするとxaml内に追記されていたので何かと思って調べてみた。要はGrid内の子要素が「自分の範囲外にまたがってもいい行数/列数」のことらしい。例えば3x3のGridがあったとする <Grid> ・・・・・・・ <Button Grid.Row="0" Grid.Column="0" Name="Button">Button</Button> ・・・・… </Grid> すると通常は て感じになる。が、ここで…

動的にコントロールとイベントを結びつける

最近wpf開発をしてみている。研究そっちのけでw まぁC#をやってみたいと思ったのですが、結構難しい、いや簡単なんだけど知れば知るほど難しい(笑)ということで備忘録。 プログラム中に動的にコントロールを生成してイベントを発生させて、イベント中でど…

botを作ってみたその2

これですuketer (@uketer) | Twitter 名前は「uketer(うけたー)」。本当はwaratter(わらったー)にしたかってのですが、すでにアカウントが存在しました。これは1時間おきにランダムに芸人を選択し、Youtubeからランダムにその芸人の動画リンクを取得してポ…

botを作ってみた

1週間以上前に、「php勉強したい」と思い立ち、とりあえず面白そうだからTwitterのbotを作ってみた。 またもや研究そっちのけでphpを学んだ(と言いつつも、bot作りに必要な部分しか調べてないので余り身にはなっていない)。 で、できたbotがこれです。TV…

JPEG画像処理

研究にまるで関係ないけど、今までやったことがない画像処理に2日間研究そっちのけで取り組んでみた。 と言ってもJPEGの仕組みを知るにとどまりましたがw やろうとしたことは、画像サイズを取得して縮小すること。ということでまずは画像サイズ取得が必要で…

C++でメモリ使用量を調べる

昨日のCPUに続き。 メモリの場合は非常に簡単です。1.OpenProcessにてプロセスハンドルを取得2.GetProcessMemoryInfoを使う。 以上です。取得出来る値は、(1)ページ・フォールト数(ページ フォルト)(2)現在ワーキングセット(メモリ使用量)(3)最大ワーキング…

C++でCPU使用率やメモリ使用量を調べる

絶対必要、というわけではないが200回以上も目視で記録するのは面倒なので(特にメモリの変化)調べてみた。まずはCPU使用率。大まかな流れは以下の通り1.PdhEnumObjectItemsで使用可能なパフォーマンスカウンタとインスタンス(要は調べたいプロセス)の一覧を…

c++でのcsvファイルへの出力

今までcsvは試したことが無いのでやってみたメモ。 性能評価に必要だと思い、エクセルで見ることを想定。今回はC++のofstreamを使用。 まずは必要なコード #include <fstream> using namespace std; ofstream log; log.open("log.csv",ios::trunc) // ofstream log("l</fstream>…