タグ

2012年11月9日のブックマーク (17件)

  • How can I deny a DB access in a view? - tokuhirom's blog

    Here is an example code. DBIx::Tracer can hook the DB access in a lexical context. package MyApp::Web; use DBIx::Tracer; sub render { my ($c, $tmpl, $vars) = @_; my $tracer = $ENV{IN_DEBUGGING} ? DBIx::Tracer->new( sub { my %args = @_; my $sql = $args{sql}; die "Do not execute query in a view: $sql"; } ) : undef; return $c->SUPER::render($tmpl, $vars); } Why do I need to deny it?Designer can execu

    kamipo
    kamipo 2012/11/09
  • Git submodule の基礎 - Qiita

    この記事は Git Advent Calendar 6日目の記事です! Git submodule って最初わかりにくいと思うので、基的な説明をしようと思います。 git submodule とは git submodule は、外部の git リポジトリを、自分の git リポジトリのサブディレクトリとして登録し、特定の commit を参照する仕組みです。 Subversion でいうところの、external と似ています。 さて、解説のため、手元に、リポジトリA (/path/to/a) とAの submodule として、よく使う例として Bootstrap (元Twitter Bootstrap) を登録してみます。 git submodule を理解するうえで重要なのは、 リポジトリAが指し示すsubmoduleとしてのBootstrapのcommit 現在のBootstr

    Git submodule の基礎 - Qiita
  • git submoduleの更新 - rochefort's blog

    2017.8.31 追記 この記事は間違っています。正しくは下記でした。 git submoduleの更新方法を勘違いしていた 昔書いた記事を参考にしてくださった方がいて、 でも「git submodule updateで更新できないよ」と。 gitのsubmoduleだけを最新版にしたい場合のコマンドメモ - Reinvention of the Wheel 私自身もgit submodule updateで更新できると思ってました。 というか、一度も更新処理試してなかった。 結論から言うと これでOKでした。foreach便利。 $ git submodule foreach 'git pull origin master' $ git submodule update ですが、no branch になってしまってるsubmoduleがあったので、pullするのはこっちの方がいいかもし

    git submoduleの更新 - rochefort's blog
  • QuickRunからSQLを実行するための設定(MySQL用)

    この記事は、Vim Advent Calendar 2011 の29日目の記事です。 Webアプリの開発をしていると、少し複雑なSQLを書かなきゃならないとか、開発用のデータを入れ替えたいなどSQLを実行したいと思うシチュエーションが多々あります。そんなとき、皆さんはどのような方法でSQLを実行してるでしょうか?シェルからコマンドを叩いてみたりphpMyAdminのようなWebベースのDBMSを使ったりといくつか方法があると思います。 私はシェルからコマンドを起動することが多いのですが、ほんの一瞬であってもVimから離れてシェルに戻るのが苦痛です。また、DBMSを使う場合でもVimから離れてSQLの編集を行わなければならなかったり、VimSQLファイルを編集してからそれをDBMSにもっていったりと何かと煩雑な作業が入るのが辛いです。 そんな私のようなVimmerのためにVim内からSQL

    kamipo
    kamipo 2012/11/09
  • Heroku と Engine Yard と Elastic Beanstalk - サーバーワークスエンジニアブログ

    こんにちは、営業部という部名を変えたくて他の名前を考えているものの横文字はチャラいなぁという古風の考えを持っているため雲解決部にしようとしている羽柴です。 今日は名曲「部屋と◯シャツと私」に似たような題名できめてみました。 3つのPaaSを比較してみる 早速ですが、AWS Elastic BeanstalkがRubyをサポートしましたね。社内にはRuby on Railsが好きなエンジニアもいますので、PaaS(Platform as a Service)として選択肢が増えたことは嬉しいかぎりです。 そんな中、こんなTweetを見ました。 私たちの会社ではCloudworksなどのサービス提供のインフラとしてHerokuを使っているものの、最近 Engine Yard も熱いなぁと思っていたところで Elastic Beanstalkが Rubyサポートをしたことを受けて、とても目移りして

    Heroku と Engine Yard と Elastic Beanstalk - サーバーワークスエンジニアブログ
    kamipo
    kamipo 2012/11/09
  • MySQLのUNIQUEなINDEXには長さ767byteまでしか使えない件と対策 - tanamonの稀に良く書く日記

    はじめに たとえばこんなDDLを投げる。 CREATE TABLE test ( id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, hoge varchar(256) NOT NULL, UNIQUE KEY (hoge) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; するとエラーになる。 Specified key was too long; max key length is 767 bytes (SQLState:S1000)エラーに書かれているとおり、keyは最大で767byteまでしか使えないらしい。 ちなみにkeyはPRIMARY KEYとUNIQUE KEYがダメ、ただのKEYならOK。 で、どうするか。 1.素直に諦める 上記例ではテーブルがCHARSET=utf8のため1文字3b

    MySQLのUNIQUEなINDEXには長さ767byteまでしか使えない件と対策 - tanamonの稀に良く書く日記
    kamipo
    kamipo 2012/11/09
  • MySQLのPK・UNIQUEのフィールド長制限に立ち向かう - 文系プログラマによるTIPSブログ

    なんとかして制限を超えないといけない時ってありますよね。 MySQLで、InnoDBでPK・Uniqueをはるカラムには、フィールド長の制限があります。 俗に言う767byte問題です。 MySQLの767byte問題 1,テーブルの文字コードをシングルバイトにする 2,カラムの文字コードをシングルバイトにする 3,カラムを分割する 総評 MySQLの767byte問題 プリフィックスは最高で1000バイトの長さまで可能です。(InnoDB テーブルは767バイト)非バイナリ データ タイプ(CHAR、VARCHAR、TEXT)では CREATE INDEX ステートメントのプリフィックス長は文字数で解釈される一方、プリフィックス リミットはバイトで計算されるという事を覚えておいて下さい。マルチバイトの文字セットを利用するカラムのプリフィックス長を指定する時にはこれを考慮に入れておいて下さ

    MySQLのPK・UNIQUEのフィールド長制限に立ち向かう - 文系プログラマによるTIPSブログ
    kamipo
    kamipo 2012/11/09
  • Global Transaction IDを使ってレプリケーション構成とした際の制限 - hiroi10のブログ

    2012/11/08に一部追記しました。 Global Transaction IDを有効にしてレプリケーション構成とした際の制限について簡単にまとめてみる。微妙な訳になっている部分もあるだろうし、勘違いしてる箇所もあるかもしれないのでご注意下さい。 よって、アレ?、というのがありましたら基的には公式ドキュメントを参照して下さい。 むしろ誤りあったら突っ込んでもらえると助かります。 前提 MySQL5.6 RC版(5.6.7-rc)でgtidを使ったレプリケーション環境で確認 トランザクションが使えないストレージエンジンは使用出来ない(MyISAM等) 前の日記でも書いていますが、以下のようにエラーとなります。 ERROR 1785 (HY000): Updates to non-transactional tables are forbidden when DISABLE_GTID_U

    Global Transaction IDを使ってレプリケーション構成とした際の制限 - hiroi10のブログ
  • MySQL5.6で増えたexplicit_defaults_for_timestamp - hiroi10のブログ

    あまりぐぐっても出てこなかったので簡単に書いてみる。 MySQL5.5のmy.cnfをそのまま流用してMySQL5.6を起動すると以下のようなメッセージがエラーログファイルに出力される。長いので改行していますが実際は一行。 121104 22:29:57 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).こちらはMySQL 5.6.6から追加されたexplicit_defaults_for_timestampによるもの。 booleanでデフォルトはFALSE(0)。動的変更は不可となります。公式Doc とりあえずFALSEの

    MySQL5.6で増えたexplicit_defaults_for_timestamp - hiroi10のブログ
    kamipo
    kamipo 2012/11/09
  • GNU Parallel作者が書いたParallel:The Command-Line Power Toolを読んだ

    プログラムを並列処理する GNU Parallel というプログラムがある。このプログラムの作者 Ole Tange が usenix February 2011, Volume 36, Number 1 に “The Command-Line Power Tool” という記事を書いていたので読んでみた。6ページで GNU Parallel の主要機能がひと通り解説されているので、GNU Parallel の機能をピンポイントでしか知らない人(=自分)が読むと、いろいろと使いどころが湧いて来ると思う。 GNU Parallel: The Command-Line Power Tool February 2011, Volume 36, Number 1 Authors: Ole Tange https://www.usenix.org/publications/login/februar

    GNU Parallel作者が書いたParallel:The Command-Line Power Toolを読んだ
  • 脆弱性関連情報の非開示依頼の取下げ申請の結果が返ってきた - 葉っぱ日記

    2008年8月5日に届け出た脆弱性というか仕様というか問題ある挙動について、いつまで経っても修正されず、むしろ問題を公にしてユーザーが自衛するほうが社会的公益性が高いと思い、2012年10月21日に脆弱性関連情報の非開示依頼の取下げ申請をIPAに送ってみたら以下のような返事が返ってきた。 ドキュメント検査だけでは不十分なので、とりあえず、自分の名前や所属、使用しているコンピュータ名等が公に知られたくないという人は、Microsoft Officeで作成されたファイル(PDFに変換したのを含む)を他人に配布するのを避けるとよいと思います。 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - ----------------------------------------------------------------- このメールは、取扱い番号 I

    脆弱性関連情報の非開示依頼の取下げ申請の結果が返ってきた - 葉っぱ日記
    kamipo
    kamipo 2012/11/09
  • Linux の iostat の出力結果を銀行のATMに例えて説明してみる - ablog

    vmstat の"r"列とマクドナルドのレジカウンター - ablog の iostat 版です。 以前、iostat の見方 - ablog というエントリを書きましたが、 絵で見てわかるOS/ストレージ/ネットワーク~データベースはこう使っている (DB Magazine Selection) 作者: 小田圭二出版社/メーカー: 翔泳社発売日: 2008/04/22メディア: 単行(ソフトカバー)購入: 22人 クリック: 303回この商品を含むブログ (36件) を見るP.176 LIST 1 Linuxのiostat -x 30の出力結果を分析 を元に説明してみます。 $ iostat -x 30 avg-cpu: %user %nice %sys %iowait %idle 15.46 0.23 3.70 45.05 35.55 Device: rrqm/s wrqm/s r/

    Linux の iostat の出力結果を銀行のATMに例えて説明してみる - ablog
    kamipo
    kamipo 2012/11/09
  • PNG軽量化の減色と圧縮について | GREE Engineering

    このテーブルの番号は 1 Byte になっているため、0-255 の 256 個しか登録できません。そのため、画像で使用されている色が 256 個より多い場合は、なんとかして 256 個にしなくてはいけません。 この「なんとかして 256 色にする」というのが減色処理で、なるべく元の画像からの変化を分からないようにしながら色を減らしていくためのアルゴリズム実装です。(この記事では減色アルゴリズムについての説明は省略します。) テーブルを作成したら、画像のそれぞれのピクセルを RGB 形式からテーブルの何番目の色を使うかに置き換えます。 上図のように、1 ピクセルあたり 24bit 必要だった画像が 1 ピクセルあたり 8bit になったので、データサイズは大体 1/3 になります。 (パレットのデータに最大 3 Byte * 256 = 768 Byte 必要とか、同じように圧縮されないと

    PNG軽量化の減色と圧縮について | GREE Engineering
    kamipo
    kamipo 2012/11/09
  • Building Gem With Bundler - No F*cking Idea

    Building a new gem ( ruby library ) with bundler is easy task. I found a lot of tutorial on this topic in the web but none of them was covering more then just generating scaffold and packing up the gem. I will try to uncover a bit more. So at the end of this post you will be able to generate new gem, build it and it will have ready support for rspec. First of all you need bundler. To install bundl

    kamipo
    kamipo 2012/11/09
  • デコメール死亡 「LINEの登場」を予測できなかったプロデューサーのお話

    僕はデコメールサイトに関わっていたことがある。事業計画を作り、会社から資金を貰い、サービスを立ち上げた。後発ながらそれなりの規模まで成長させ、他の者に引き継いだ。 立ち上げる際、適当なグラフを作る。ここで言う「適当」は難しいのだけれど、同じスピードでキレイな曲線を描いていくグラフなんて基的に無く、市場変化だったり、サービスのアクションだったり、何かしらグラフを最低2ヶ所は曲げさせる。 数字なんて実際は誰にも分からず、「意思」を反映した方が良いと思っている。もちろん、制度を高めるため、あらゆる数字を集めて、根拠は作る。 そんな中、1点だけ悔いの残る・・・というか想定しなかったことが起こっている。僕は「メールは無くならない」という予想をした。装飾素材自体も イラストのデコメール ↓ 絵文字 ↓ デコアニメ と進化を遂げており、デコアニメは不発ながらも、メールがある限り、メールを装飾する「何か

    デコメール死亡 「LINEの登場」を予測できなかったプロデューサーのお話
    kamipo
    kamipo 2012/11/09
  • Isucon2 参戦記(破) : DSAS開発者の部屋

    #isucon2 参戦記の第二部です。昨日の @methane の記事とオーバーラップする部分もありますが、僕の視点で当日の状況をレポートします。やっと nexus7 が手に入ってご機嫌な @pandax381 です。 決戦、渋谷ヒカリエ 当日寝坊してしまうという笑えない展開もなく、受付け開始と同時に入館し、すぐに @methane と合流。開始時間まで1時間くらい余裕があったので「こんな問題だったらここをこうしよう」といった感じで軽く打ち合わせしていました。 そして、@methane が共同作業用にAWSのインスタンスを上げてくれたので、そこに recaro のソースを持ってきたりしていたら、ちょうどいい時間に。 NHNさんからレギュレーションや注意事項の説明があり、いよいよ #isucon2 スタートです。 事前の打ち合わせ通り、僕はベンチマーク用のツールを走らせながら、どんなHTTP

    Isucon2 参戦記(破) : DSAS開発者の部屋
    kamipo
    kamipo 2012/11/09
  • _level0 | Kayac Interactive Designer's Blog

    KAYAC Front End Engineer チームによるHTML5 iOS Android ActionScript Flash イベント デザイン ニュースのブログ

    _level0 | Kayac Interactive Designer's Blog
    kamipo
    kamipo 2012/11/09