サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
shoken.hatenablog.com
MongoDB(mongoid)でも使える。 inverse_ofとは inverse_ofを指定したリレーションのある2つのモデルでは、双方から同一のインスタンスを参照できるようになる。両者ともメモリ上で同一のインスタンスとして扱われる。 逆に、inverse_ofの設定が無いと同一として扱われず、一方からの変更がもう一方から参照しても変更されていない。 具体例 UserモデルとMenuモデルが1対多でリレーションしている状況を考える。Userが複数のMenuを登録できるWebサービスのイメージ。 ソースコード class User < ActiveRecord::Base has_many :menus end class Menu < ActiveRecord::Base belongs_to :user end inverse_ofが無かったら Userのフィールドnameの変更が
Trailblazer::Tokyo #1@クラスメソッドに参加してきました。 connpass.com 発表者 @kbaba1001 @yuukigoodman Trailblazerとは A new architecture for Rails. apotonick先生の考えた最強のRails. github github.com Trailblazer は Rails に新しいアーキテクチャを提供する gem です。 Rails のメンテナンスしづらさや複雑さはビジネスロジックが MVC に混ざっていることにあります。 Trailblazer ではビジネスロジックを MVC から分離することで Rails のメンテナンス性を向上します。 引用 http://connpass.com/event/20137/ READMEが充実しているので、読むだけでも概要はつかめる。ソースコードでの
jp.techcrunch.com TechCrunchの記事で、PipelineDBがオープンソースでリリースされたことを知ったので調べてみた。 記事には、 このオープンソースのデータベースはSQLのクェリを連続的にストリーミングで流し、結果のテーブルを次々と保存する。協同ファウンダのDerek Nelsonはこう説明する: “連続的な処理とリレーショナルのストレージを一体化しているので、ストリーム処理をしながら、別途、外付けのストレージシステムを管理しなくてもよい”。 とあるが、何のことかさっぱりわからないので、マニュアルを読んでみる。 Introduction — PipelineDB 0.8.0 documentation Continuous query 読み始めたはいいが、マニュアルに頻出する単語、continuous queriesがさっぱりわからないので、検索してみる。 こ
Swiftではfuncでメソッドを定義する。 funcの引数に出てくるアンダースコアやシャープはExternal Parameter Namesという。 これはメソッドの引数をラベル化する場合に使う。Rubyのキーワード引数と似ている。 Swiftでは第二引数以降はラベルを付けて呼び出す必要がある func join(s1: String, s2: String, joiner: String) -> String { return s1 + joiner + s2 } join("hello", "world", ":") // => コンパイルエラー join("hello", s2: "world", joiner: ":") // => OK https://developer.apple.com/library/prerelease/ios/documentation/swift
CTO Night!!! 上の最高にナイスな写真はAWS 高山さんから掲載の許可をいただきました。僕は写ってません。中心に写っているのがAmazon CTO Werner氏。 2014/07/15 にアマゾン社の目黒オフィスで開催された、Startup CTO Night with Amazon CTO というイベントにKitchHike社のCTOとして参加してきました。 Amazon CTO Werner氏による基調講演から始まり、日本の著名なスタートアップのCTOが自社でのAWSの使い方を発表。遅刻してしまって基調講演を聞き逃してしまい後悔。。 しかし、そこは毎日屋台骨を支えているCTOのみなさん、ハッシュタグ#ctonightでポイントを押さえておいてくれました。togetterはこちら。 http://togetter.com/li/693281 発表者リスト Amazon CTO
Web上のサービスだけで印影(印鑑)を作成する方法です。もちろん無料です。透過画像の印影を作った際のメモ。 ステップ 1 画像の用意 印影画像を作成します。または、こちらからダウンロードします。 画面下部のWeb認印という画像のリンクから作成できます。 ステップ 2 画像を透過 pixlr editorで透過画像にします。 ポイントは、3つ 1. レイヤーのロックを外す。レイヤーウィンドウの鍵マークをダブルクリック。 2. 選択ツール(W)で背景を切り抜く。選択ツールを使っている状態で、背景の白をクリック。隣接部のチェックを外すと一回でいけた。上手く行かない場合は公差を調整する。 3. 選択ツールでうまいこと選択できたら、編集 -> 消去。またはdeleteボタン。 pixlrでの切り抜き作業に関しては、こちらのブログが詳しいです。 http://ameblo.jp/hcak777/ent
よちよち.rb 第25回に主催者のゆかおさんにお願いして見学させてもらいました。 よちよち.rb 第25回 - よちよち.rb(初心者限定 Ruby On Rails 4 とか勉強会) | Doorkeeper 僕は2年ほど前に丸の内MongoDB勉強会を始めました。(しばらく海外に行っていたので今は別の人が主催をしてくれています。) 勉強会という一つのコミュニティを始めるにあたって、意識したことが2つありました。 自分がいなくなっても継続するコミュニティを目指す 参加条件を用意して参加者のモチベーションを一定以上に保つ よちよち.rbというミートアップに参加して感じたことは、上の2つとは全く逆のことでした。 まずは、この2つを意識するようになった経緯を書きたいと思います。 自分がいなくなっても継続するコミュニティを目指す これは新卒で入社して間もない頃、日本の著名なDebianコミッター
問題 Rails 3 ではassets:precompileすると、jsファイルの連結 + minifyされて改行や空白が削除されていたのだが、Rails 4にすると連結はされるがminifyされなくなった。 解決策 Sprocketsのキャッシュをクリアする。 bundle exec rake tmp:cache:clear public/assets/*.jsを削除するか、config/environments/production.rb でconfig.assets.js_compressorを変更する。 rm public/assets/*js その後、assets:precompileでjsファイルが作成されていることを確認する。 $ bundle exec rake assets:precompile RAILS_ENV=production --trace ** Invoke
quickrun.vimとは Vimで編集中のコードに対して、ショートカットで実行結果をsplitウィンドウに表示してくれるVimプラグインです。 作者のブログ quickrun.vim 0.6.0 リリース予告 - 永遠に未完成 作者作成の資料 yokohama.vim #3(http://atnd.org/events/28602)の発表資料 — Gist ドキュメント(日本語) quickrun/doc/quickrun.jax at master · ujihisa/quickrun · GitHub 参考記事 新卒さん向け、速攻でプログラミングをマスターできるvimプラグイン「quickrun」:phpspot開発日誌 インストール gitリポジトリをダウンロード [root@dev git-repos]# git clone https://github.com/thinca/
MongoDBのデータベースを削除 データベースの削除は、db.dropDatabase()を使います。 http://www.mongodb.org/display/DOCS/dbshell+Reference db.dropDatabase(); MySQLでの、"DROP DATABASE database名;" に相当します。 localdbというデータベースを削除する方法です。 [root@xxx ~]# mongo MongoDB shell version: 2.0.4 connecting to: test > show dbs localdb 0.0625GB test 0.0625GB > use localdb switched to db localdb > db.coll_test.insert({x:1}) > show collections coll_tes
MongoDBへ様々なデータ型を保存/取得してみる。オブジェクトマッピング編 - Shoken OpenSource Society MongoDBへ様々なデータ型を保存/取得してみる。バイナリ(BINARY)編 - Shoken OpenSource Society MongoDBへ様々なデータ型を保存/取得してみる。Boolean編 - Shoken OpenSource Society MongoDBへ様々なデータ型を保存/取得してみるシリーズ第4回は、Dateで日付/時間を取り扱ってみます。RubyからMongoDBへ現在時刻をinsertし、日付/時刻を条件に検索してみます。 RubyからMongoDBへ現在時刻を挿入 RubyのTimeクラスを使います。 参考 MongoDBへ様々なデータ型を保存/取得してみる。オブジェクトマッピング編 - Shoken OpenSource
2015.3.14 追記 "鍵でやるべき"とブックマークコメントをもらいましたが、その通りです。SSH認証キーが設定できる環境なら鍵認証でやるべきです。鍵ペアを作成後に公開鍵をGithubに登録し、~/.ssh/configで以下のように設定しましょう。 Host github.com User git Hostname github.com IdentityFile ~/.ssh/{秘密鍵}SSH認証キーが設定できないような環境では、本記事を参考にしてください。 追記終わり Githubへpushするたびにユーザ名(Emailアドレス)/パスワードを聞かれて入力するのは面倒なので、省略したい。 MacとLinuxで確認しました。 1. ~/.netrc にユーザ名/パスワードを書く こんな感じで自分の$HOME直下に.netrcファイルを作成する。 machine github.com
MongoDBへBoolean、バイナリ(BINARY)、Date、Timestamp、などをinsertして保存/取得する方法を紹介します。 サンプルコードはRubyを使いますが、便利なORMであるMongoidはあえて使わずに、プリミティブなドライバであるmongo-ruby-driverで実装してよりMongo Shellに近い操作を確認していきたいと思います。 今回は、そもそもMongoDBのデータ型(type)がRubyのオブジェクトにどのようにマッピングされるかを見てみます。 mongo-ruby-driverをgemからインストールしておいてください。 gem install mongo 環境 OS CentOS 5.4 ruby 1.9.3 gem 1.8.21 mongo 1.6.1 MongoDB 2.0.4 MongoDBのデータ型 まずは、MongoDBのデータ型の
エラー文 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)結論を先に書きますと、下記のページのやり方で解決できました。 [Python] UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 - SumiTomohikoの日記 上記の記事の環境は、Ubuntu 6.10, Python 2.4ですが、私の環境 Ubuntu 7.04, Python 2.5でも全く同じでした。 以下引用 解決方法 以下の/usr/lib/python2.4/site-package/sitecustomize.pyを作成してください。 import sys sys.setdefaul
ruby-gmailを使ってRubyからGmailのメールを受信して本文を取得 - Shoken OpenSource Society これの続きです。 前回に引き続き、ruby-gmailを使ってRubyからGmailからメールを取得します。 今回は添付ファイルの扱いです。 環境 OS CentOS 5.4 ruby 1.9.3 gem 1.8.21 ruby-gmail 0.2.1 mail 2.4.4 実装 ruby-gmailはmikel/mailのラッパーなので、mikel/mailのドキュメントを読みます。 mikel/mail · GitHub Testing and extracting attachmentsという項目にサンプルコードが書いてあります。 mail.attachments.each do | attachment | # Attachments is an
MongoDBへ様々なデータ型を保存/取得してみる。オブジェクトマッピング編 - オープンソースよしみ視点 の続きです。 MongoDBへバイナリ(BINARY)、Boolean、Date、Timestamp、などをinsertして保存/取得する方法を紹介します。 サンプルコードはRubyを使いますが、便利なORMであるMongoidはあえて使わずに、プリミティブなドライバであるmongo-ruby-driverで実装してよりMongo Shellに近い操作を確認していきたいと思います。 今回はMongoDBのバイナリデータ保存/取得に関して書きます。 バイナリ(BINARY)型 Mongo ShellでBINARY型を扱うことは稀だと思いますので省略して、Rubyでの操作から入ります。 BINARY型をRubyで扱う上での注意点 ■保存・・・BSON::Binaryクラスのインスタンスと
Rubyのメール操作ライブラリにはmikel/mailがありますが、それをGmailで使いやすいように薄くラップしたruby-gmailというものがあります。今回はこれを使ってRubyからGmailからメール本文を取得します。 環境 OS CentOS 5.4 ruby 1.9.3 gem 1.8.21 ruby-gmail 0.2.1 mail 2.4.4 インストール ruby-gmailをgemからインストール [root@xxx xxx]# gem install ruby-gmail LoadError: cannot load such file -- mime/message うーん、早速トラブル。 [root@xxx xxx]# irb irb(main):001:0> require 'gmail' LoadError: cannot load such file --
HTTPパラメータ解析用Firefoxアドオン「Tamper Data」の紹介をします。 Tamper Data :: Add-ons for Firefox 以前までこちらWEB開発者は必携かもしれないHTTPパラメータ解析用Firefoxアドオン「UrlParams」:phpspot開発日誌 で紹介されていたUrlParamsを使っていましたが、もう少し高機能なものが必要になって、最近乗り換えました。 □特徴 ・submitする前にパラメータを変更できる ・POSTバラメータの他に、UserAgent・Cookie・ReferなどのHeader情報を変更できる ・一度送信したリクエストを編集して再度送信できる □使い方 Tool -> Tamper DateからTamper Dateを起動させます。 HTTPパラメータ解析をしたい画面まで行きます。 Tamper Dateの画面左上のs
エンジニアなら、開発用・本番用・布教用の3つのiPhoneが必要です。 というわけで、いまさらながらiPhone買いました。 新型MacBookも買いました。 しばらくはiPhoneアプリ開発を行っていきます。 Objective-Cです。 並べてみた。 ちなみに一番右はiPod touch。
TVチューナー無しでTVが見れるという、ちょっと信じられないようなことが、Ubuntuで簡単にできます。 (ちなみにWindowsでもできます) もちろん、国内放送のテレビ視聴が可能です。 環境は、 ・Linux Mint 5 Elyssa(Ubuntu 8.04 Hardy base) ・LKeyHoleTV-ALSA1.17 インストールは簡単3ステップ 1. http://www.v2p.jp/video/Viewer/Linux/ からダウンロード。 どれをダウンロードすればいいかわかんない人は全部試してみて一番きれいに映るやつにするとよし。 ちなみに俺は、LKeyHoleTV-ALSA1.17.tar.gz /home/hogeにダウンロードしたものとして進めます。 2. libglitz.so.1が必要なので $ sudo apt-get install libglitz1 3
静音・省消費電力・省スペースな自宅用Linuxサーバ構築 その3 静音・省消費電力・省スペースな自宅用Linuxサーバ構築 その1 静音・省消費電力・省スペースな自宅用Linuxサーバ構築 その2 今回は、空のHDにPXEブートを使用してDebian/Ubuntuをネットワークインストールした方法を書きます。 富士通のノートパソコン:FMV-830MTにLinuxをインストールする方法ですが、このパソコンにはCDドライブがついていません。なので、インストール方法は、 外付けCDドライブからブート 外付けFDドライブからブート HDドライブを外し、別のマシンでインストールする PXEブートを使用したネットワークインストール になります。 1は手持ちの外付けCDドライブでブートしなかったので×。 2はDebianのインストーラがUSB接続のFDDを認識できなかったので×。 3は1.8インチHD
LinuxでSSHポートフォワードのやり方 学外からsshで入れる大学のサーバー(server.sk.tsukuba.ac.jp)を経由して、研究室のマシン(mylab.sk.tsukuba.ac.jp)にアクセスする方法 SSHポートフォワードを利用する。 $sudo ssh -L 10022:mylab.sk.tsukuba.ac.jp:22 username@server.sk.tsukuba.ac.jp以上のコマンドを実行すると、localhostのport:10022がserver.sk.tsukuba.ac.jpのport:22に転送される。 研究室のマシン:mylabは学内からのアクセスだけを許可しているが、serverを経由することにより学外からのアクセスできるようになる。 具体的には、別ウィンドウで $ssh -p 10022 username@localhostとする。
Linuxでflvからmp3を変換する方法。 ffmpegパッケージを使って音だけを取り出す。Ubuntu7.04にはデフォルトで入っていた。 src.flvからout.mp3を作成するコマンドは、 $ffmpeg -i src.flv -acodec copy out.mp3
このページを最初にブックマークしてみませんか?
『Shoken Startup Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く