タグ

tipsに関するtokadaのブックマーク (261)

  • 三項演算子は左辺値にも使える - Craftworks Tech Blog - Branch

    $var = $bool ? $foo : $bar; という書き方はよく見ますが、 if ( $bool ) { $foo = $value; } else { $bar = $value; } 実は、こういう書き方も、 $bool ? $foo : $bar = $value; こう書くこともできます。 可読性とのトレードオフを考慮して使用してください。PBP の Damian 氏は非推奨派です。 LVALUE 属性のなせる業ですね。他に substr() も左辺値に使えます。 ちなみに、この機能はビルトイン関数以外にも Attribute を使って、サブルーチンやメソッドに自分でも実装できます。 詳しくは、perldoc perlsub を lvalue で検索してみてください。 http://perldoc.jp/docs/perl/5.10.0/perlsub.pod

    三項演算子は左辺値にも使える - Craftworks Tech Blog - Branch
  • 現行iPhoneから新型に機種変更しても「iPhone for everybody」違反にならないのかソフトバンクに聞いてみた。 – 和洋風KAI

    昨日、期間が9月30日まで延長になったiPhone 3Gが実質0円で買えて、パケット定額フルが安くなるキャンペーン「iPhone for everybody」 iPhoneをすでに契約済みでもパケット定額フルが安くなる恩恵を受けれるということで、大変オトクなキャンペーンなのですが、気になっていたのが「2年間iPhoneを契約しつづける」という縛り。 7月にリリースが噂されている新型iPhoneに機種変更しても違反にならないのか直接ソフトバンクに電話して聞いてみました! まず近所のソフトバンクショップに電話してみる。 するぷ:iPhone for everybodyに加入して、新型のiPhoneが出た場合それに機種変したら契約違反になるんでしょうか? 近所のソフトバンクショップ:分割が二重になるのはわかるのですが、違反になるかどうかはわかりかねます・・・。 エェ━━━━━( ゚Å゚;)━━━

  • プログラミング格言集

    psychopathより。 金言、格言は古今東西いろいろあるのだが、ここではプログラミングに関する格言がまとめられていたので、抜粋して翻訳してみる。翻訳に間違い等があった場合は、コメント等で指摘してください。 We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil 私たちは、時間の約97%を占めるわずかな効率に関しては忘れるべきである: 時期尚早な最適化は諸悪の根源だ。 - C. A. R. Hoare Walking on water and developing software from a specification are easy if both are frozen 水の上を歩くのと、仕様に基い

  • Windowsのシャットダウンを途中で中止する方法 | ライフハッカー・ジャパン

    忙しいときに限ってパソコンを誤って終了してしまい、再起動までの時間、スクリーンを無言で見守った事が今まで何度あったことでしょう。そのシャットダウンを止める方法があるんです。読者のJohnさんがその方法を解説してくれています。 上級者の読者に方には新しい話ではないかも知れませんが、ビルトインのshutdown.exeユーティリティを使い、シャットダウンを中止させることは可能なのです。ユーティリティへのショートカットを作成しておけば良いのですが、これは通常Windowsフォルダにあるので、パスを下記のように修正してください。 C:\WINDOWS\system32\shutdown.exe -a 末尾にある「-a」がシャットダウンを中止する命令なので、誤ってシャットダウンしてしまった際にこのショートカットを素早くクリックすればシャットダウンを中止することが出来るのです。 シンプルなことこの上な

    Windowsのシャットダウンを途中で中止する方法 | ライフハッカー・ジャパン
  • シゴタノ! — 「人生をEvernoteに詰め込みたい!」というあなたのためのアウトプット収集法まとめ

    私のEvernoteを万一他人に見られたら、リアルで爆発する・・・! それくらい、今の私のEvernoteには、私の人生(ここ数ヶ月)が詰まってます。 何故かというと、twitterをはじめとしたミニブログや、読書記録サービスなど、バラバラにアウトプットしていた情報を、Evernoteに全て集めて管理するようにしたから。パソコンからアウトプットしている情報の多くが、半自動的にEvernoteに投稿されるようになっているんです。 Evernote for iPhoneの便利さに惚れ込んで以来、「とりあえずEvernoteにライフログを全部詰め込みたい!それをiPhoneから時折読み返してニヤニヤしたい!」 という欲求を満たしたいがために試行錯誤した結果が、今回ご紹介するアウトプット収集法まとめです。 1.何はともあれプレミアムアカウントにする » Evernote プレミアムアカウント プレ

  • Ruby on Railsで複数のデータベースを使用する方法 (山本隆の開発日誌)

    『実践 Rails -強力なWebアプリケーションをすばやく構築するテクニック』に紹介されていたRuby on Railsで複数のデータベースを使用する方法。 database.ymlファイルに複数のデータベース環境を指定する。 legary: adapter: mysql database: my_db username: user password: pass host: legary_host new: adapter: mysql database: my_db username: user password: pass host: new_host ActiveRecordのクラス定義で、接続するデータベースを指定する。 class LegacyClient < ActiveRecord::Base establish_connection "legary" end class

  • チケット #13733: truncate tableを行うとngramからmecabに変更される - Tritonn - OSDN

  • PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog

    サボっていた早朝ジョギング@駒沢公園を再開して2週間たち、やっと抜かれる数より抜く数の方が増えてきたmikioです。今回は、PerlRubyのハッシュの代用としてTokyo Cabinetを使うことでメモリ使用量を激減させられることを説明します。 抽象データベースAPI Tokyo Cabinetには抽象データベースという機構があり、先日、そのPerlRubyのバインディングをリリースしました。それを使うと、各種言語のハッシュとほぼ同じような共通したインターフェイスで、以下のデータ構造を利用することができます。 オンメモリハッシュ:各種言語に標準のハッシュと同じく、メモリ上でkey/valueの関係を表現する。 オンメモリツリー:メモリ上の二分探索木としてkey/valueの関係を表現する。 ファイルハッシュ:いわゆるDBMとして、ファイル上でkey/valueの関係を表現する。 ファ

    PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog
  • Tracのワークフローをチケットタイプで分岐する - wadahiroの日記

    かぬさんのtwitterでの呟きで知りました。 そうかAdvanceWorkflowのtriage使えばTicketのtypeで分岐できるのか http://twitter.com/kanu_/status/1516016169 ほほーそんな機能があったのか!!さっそく試してみました。 AdvancedTicketWorkflowPluginをインストールして、trac.iniを以下のように変更。 [ticket]セクションにTicketWorkflowOpTriageコンポーネントを追加。 [ticket] workflow = ConfigurableTicketWorkflow,TicketWorkflowOpTriage [ticket-workflow]セクションを下記のように変更。 今回は、チケットをacceptした際に、チケットタイプがdefectの場合はdefect_wor

    Tracのワークフローをチケットタイプで分岐する - wadahiroの日記
  • before_create gotcha with BetterNestedSet plugin – not so silent (e)

    I’m using BetterNestedSet at work in my Rails work but I’ve been having trouble understanding why my code was giving me an error of “Impossible move, target node cannot be inside moved tree”. I’m trying to create Categories, scoped to certain CategoryTypes. Pretty standard associations. Categories belong_to CategoryTypes CategoryTypes has_many Categories The one thing I’m doing a little different

  • jQuery Tips and Tricks II

    Â This is my second posts about jQuery Tips and Tricks. If you missed my first post, you might want to read it now useful and handy jQuery Tips and Tricks. This time, I found some performance tuning, element manipulations tips and tricks that I believe will able to help you develop a more effective and efficient jQuery script. Enjoy! 1. No conflict-mode To avoid conflict when you are using multipl

    jQuery Tips and Tricks II
  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • 遅延条件ブロックで複雑な条件節を簡潔にする - Hello, world! - s21g

    UL/LIタグを使ってリストを表示するときに、 コレクションが空の場合はULタグを表示したくない場合というのが頻繁にあります。 1  <% if @posts.present? %> 2  <ul> 3  <% @posts.each do |post| %> 4  <li><%= h(@post.body) %></li> 5  <% end %> 6  </ul> 7  <% end %> そういう時は、だいたいこんな感じにコードを書きます。 しかし、条件が複雑になってきたり、複数のコレクションを考えなければ行けない場合に、きれいに記述出来なくなってきます。 そんな時は、以下のようなヘルパを使って、分岐条件を遅延評価するようにすると、処理が簡潔になります。 1  module ApplicationHelper 2  def delayed_if(&block) 3  flag = O

  • VimでGrepする覚え書き 1/2 「内部grep」編 - ナレッジエース

    VimでGrepが使えるのは分かっちゃいるものの、どうもまだ以前からの使い慣れたツール(私の場合はJGREP2)を使ってしまっていたので、ここらで一度VimのGrepについてまとめておきます。 せっかくの便利な機能ですから、やっぱり使いこなしておきたいですね。 以下、まずはVimの標準機能を活用するための解説から。 Vim7からは標準でgrep機能が備わっています。 以下のようにコマンドを実行すると便利。 :vim[grep] /hogehoge/j *.txt | cw これでカレントディレクトリにある全ての.txtファイルから「hogehoge」を検索し、マッチした結果がQuickFixに表示されます。 ちなみに「j」オプションはマッチしたファイルへ自動的にジャンプしない指定、そして「| cw」はマッチしたファイルがあった場合にQuickFixを開きます。 毎回「| cw」を付けるのが

  • LDR/Fastladderの各記事に何かをするUserJSを書くとき(旧:LDR/Fastladderではてなブックマーク登録数を表示させる) - by edvakf in hatena

    タイトル変更した→旧「LDR/Fastladderではてなブックマーク登録数を表示させる」 既にいいのがあったので、ここらへんは読み飛ばしてください。 最速インターフェース研究会 :: livedoor Readerに何かくっつけるGreasemonkeyの書き方 どっかにありそうだったけど探すのが面倒だったので作った。需要があったっぽかったし。 LDR_hateb_count.user.js // ==UserScript== // @name LDR_hateb_count.user.js // @include http://reader.livedoor.com/reader/ // @include http://fastladder.com/reader/ // ==/UserScript== (function(win){ win.ItemFormatter.TMPL.tmp

    LDR/Fastladderの各記事に何かをするUserJSを書くとき(旧:LDR/Fastladderではてなブックマーク登録数を表示させる) - by edvakf in hatena
  • Vi Vim Tips and Tricks

    You can create line drawings in Vim editor using the Vim DrawIt! plugin. You can draw flow charts, ER diagrams, or any other diagrams that can be created as line drawing inside a text editor using this plugin. 2 Steps to install drawit.vim Step 1: Download latest version of the plugin from vim.org Download the [...]

  • さらにMySQLを高速化する7つの方法

    MySQLを高速化する10の方法という記事がとても好評だったようである。記事を読んで頂いた皆さん、ありがとう。 この記事に対する便乗(?)でWeb屋のネタ帳: PostgreSQLを高速化する16のポイントという記事を書いて頂いたようだが、そちらの方もかなり人気だったようである。他人が作ったソフトウェアに改良を加えるというフリーソフトウェアやオープンソースソフトウェアの精神も基は便乗であるので、便乗については大いに賛成したいというかむしろ取り上げてくれてありがとう!!と思うわけであるが、ここでさらに俺はこう考える。 と。 Web屋のネタ帳さんの記事では16のポイントが紹介されているが、漢(オトコ)のコンピュータ道の記事は10の方法だったのであと6つ足りない。オトコは数で勝負!!というわけで今日はネタを振り絞ってさらに7つのMySQL高速化テクニックを紹介しよう。 1. インテルコンパイラ

    さらにMySQLを高速化する7つの方法
  • JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記

    経緯 id:kazuhooku さんが一年前にやってたことですが Kazuho@Cybozu Labs: JavaScript/1.7 で協調的マルチスレッド 今日やっと挙動が理解できたのと、 Weave のソースを読んでいたらこのテクニックをバリバリ使っていて「ちょwwおまwww」ってなったので、自分でも作ってみようと思いました。 ほとんど id:kazuhooku さんのと同じものなので、既出です><当にありがとうございました>< まず、 yield とは何か yield とは、 JavaScript 1.7 から導入された機能です。 以下に yield の細かい挙動を示しておきます。 function f() { // なんかの処理 yield; // ... (1) // なんかの処理 yield; // ... (2) // なんかの処理 } var g = f(); // こ

    JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記