ドットインストール代表のライフハックブログ
![名言セレクション | IDEA*IDEA](https://cdn-ak-scissors.b.st-hatena.com/image/square/1f15985244f2599b686ec8d860b448c4fecc4d0c/height=288;version=1;width=512/http%3A%2F%2Fwww.ideaxidea.com%2Fwp-content%2Fplugins%2Fwp-ogp%2Fdefault.jpg)
サンフランシスコ発--先日、Googleの秘密が少しだけ明らかになった。 Googleがデータセンター業務を公開することは滅多にないが、米国時間5月28日、GoogleフェローであるJeff Dean氏が業務の一部を話題に取り上げた。28日に当地で開催された「Google I/O」カンファレンスの超満員の聴衆に対して講演を行ったDean氏は、Googleのインフラがいかに独特かを説明しながら、Googleの秘密を少しだけ明らかにした。 Googleはごく普通のサーバを使用している。プロセッサ、ハードドライブ、メモリも同様だ。 一方、Dean氏は、1800台のサーバで構成されるクラスタは、たいしたものではないというわけではないが、ごくありふれていると考えているようだ。しかし、Googleがそのようなハードウェアを使って、700〜1000台のサーバが使われる一般的な検索クエリに0.5秒以下で応
画像のサイズ設定用ファイルを用意します。 /app/config/app.php <?php define('PIC_WIDTH', 100); define('PIC_HEIGHT', 100); ?> 続いて、コントローラーの設定をします。 /app/controllers/samples_controller.php //設定ファイルの追加 config('app'); class SamplesController extends AppController { //登録 function add() { if(!empty($this->data)) { //画像アップ if (!empty($this->data['Sample']['pic']['name'])) { $tmp_file = $this->data['Sample']['pic']['tmp_name'];
メディア関係者向けお問い合わせ先 メールでのお問い合わせ: pr-jp@google.com メディア関係者以外からのお問い合わせにはお答えいたしかねます。 その他すべてのお問い合わせにつきましては、ヘルプセンターをご覧ください。
コミュニケーションに必要なこと 最近の携帯電話には様々な機能が実装されており、使う人によって重点を置く部分こそ違うが、根本的なことを言えばコミュニケーションデバイスだ。そのため、通話、インターネット、Eメール、SMSなど、人と人とを繋げるための方法や手段がいくつか揃っており、それを補助するための機能があったり、ストレスを感じさせないための工夫がなされているべきだ。 しかし、今の携帯電話キャリアをみると一概にそう言えないような気がする。 機能の数や精度の高いハードウェアが組み込まれていることが、優れた携帯電話を決める基準になって久しい。日本の携帯電話は今度発売されるiPhone 3Gよりも、機能の数が多く、機能ひとつひとつを比べてみても、遥かに優れたスペックを備えている。 もちろん、機能を軽視しているわけでもなければ、機能が少ないほうが良いというわけではない。重要になってくるのは、その実装さ
これまでの採用活動を経て、ベンチャーに向いてない人と、向いている人の特徴が、かなり明確になった: ・ いま、目に見えるものでしか判断できない人と、目の前にあるものを基盤として、将来何が作れるかまで見通せる人。 ・ 悲観的で物事のネガティブな点や人の欠点ばかりが気になる人と、とかく楽観的で物事のポジティブな点や人の長所をくみ取れる人。 ・ 現状に飽き足らず不平・不満ばかりがいつも口に出る人と、たんたんと目の前にある仕事をこなしつつも、その不満な現状をつくりかえようとする人。 ・ メジャーなブランドが好きな人と、メジャーでないことがむしろ好きな人。 ・ 自分なりの明確な判断軸を持っていないのでいつまでも決められない人と、ぶれない軸をもって即決できる人。 ・ 指示されないと動けない人と、指示がない方がむしろ動ける人。仕事を与えられないと動けない人と、仕事を自分から創っていける人。 ・ 将来へのレ
間違いだらけの職務経歴書 ITエンジニアの転職をサポートするという職業柄、これまで数多くの職務経歴書を読んできました。しかし率直にいいますと、必要十分な情報が記載できている職務経歴書に出会うことはほとんどありません。職務経歴書に対して、皆さん大きな誤解をしているのではないでしょうか。 職務経歴書を通して、企業はあなたという人を理解しようと考えています。つまり、企業には職務経歴書に書いてほしい内容があるのです。 では、企業は職務経歴書にどのような内容を求めているのでしょうか。それは、 職務経歴書を見るのは「誰」か? 職務経歴書で知りたいのはあなたの「何」なのか? を考えれば、おのずと答えが出そうです。
Google Developer Day 2008 に行ってきました。 で、基調講演聞いたあと、Google App Engine のコードラボに参加してきました。 まぁ簡単に言うと Hackathon です。 画像掲示板つくってみる ユーザ登録&認証 コメント付加 古いデータは消す な画像掲示板を書いてみました。 #!/usr/bin/env python # -*- coding: utf-8 -*- import wsgiref.handlers, cgi from google.appengine.api import images from google.appengine.api import users from google.appengine.ext import webapp,db class ImageAndText(db.Model): user = db.User
<?php $db = pg_connect('dbname=test'); $sql = " CREATE TABLE artist ( artist_id serial primary key, name text not null ) "; pg_query($sql); $sql = " CREATE TABLE music ( music_id serial primary key, artist_id integer not null, title text not null ) "; pg_query($sql); for ($i = 0; $i < 10000; $i++) { $a_name = serialize(time() + $i); $sql = "INSERT INTO artist(name) VALUES('{$a_name}')"; $res = pg_
開発時にバージョン管理システムを導入することによるメリットは言うに及ばないが、それはプログラマのみならずデザイナーにとっても同様だ。だが、バージョン管理をデザイナーまで普及させるのは非常に困難だ。 メイン画面 やはりインタフェースが鍵を握っている。使い勝手の良い、分かりやすいインタフェースのバージョン管理システムがあれば利用してくれる可能性はありそうだ。 今回紹介するフリーウェアはVersions、Mac OSX向けのSubversionフロントエンドだ。 Versionsは既存のワーキングコピーも簡単に登録でき、HTTP/SSH/SVNプロトコルに対応してリポジトリを登録することができる。何よりファイルの一覧やログの閲覧などが分かりやすいインタフェースでできる点が便利だ。 比較の確認画面 また、ファイルを選択してDiffを表示したり(DiffはFileMergeを利用)、履歴をするのがボ
基本的な操作はオンラインマニュアルをご参照ください。 ※問題が解決しない場合、お手数ですがお問合わせフォームより詳細を明記の上お問合わせください。
こんな話題はいまさらかもしれない! それはわかってます! だけど書きたい! なにって、[OK]ボタンの位置のことです! これって右に置くのが自然だよ絶対!! 理由は単純で、 [OK][キャンセル] は、画面によっては [保存] [取り消し] だとかに名前を変えるし、 さらに、入力が3ページあるようなウィザード形式の画面なんかだと、 [ここまでOKそして次の画面へ]、[間違ったかもしれないから前へ戻って修正] とかになっちゃう。 うん、このウィザード形式の時のことを考えるとわかりやすい! ウェブは横書き! 左から右に読む! 左からやってきたんだから、[戻る] のは左! 右に進んでいくんだから、[進む] のは右! だから、[次へ] も [保存] も [OK] も右が自然! ウィザードっぽい画面の時と他の画面の時とで 「OK的なもの」の位置がぶれていると、少し迷うよね。 だから[OK]は右に統一
CakePHP で SimpleTest を使うときにちょっとした小技の紹介です。 <?php class UsersControllerTestCase extends CakeTestCase { function startCase() { echo '<h1>Starting Test Case</h1>'; } function endCase() { echo '<h1>Ending Test Case</h1>'; } function startTest($method) { echo '<h3>Starting method '.$method.'</h3>'; } function endTest($method) { echo '<hr/>'; } function testIndex() { $result = $this->testAction('/users/i
Google Sitesが一般ユーザも無料で使えるようになった Googleからコラボレーションサービス『Google Sites』の一般公開が5月23日から始まった。それまでGoogle Appsの一部として提供されていたが、一般公開によって誰でも無料でこのサービスを利用できるようになった。Google Sitesは、HTMLを知らなくてもサイトを構築できる「Webベースのコラボレーションサービス」などと言われている。では、他の類似Webサービスと比べて何が違い、何が魅力なのか。実際に触れてみることで色々分かってきた。とくにGoogle Sitesは"Googleならでは""Googleだからこそ"ここまでできると言えるような魅力がたくさん詰まっている。 「Google Sites」のトップページ このレビューではGoogle Sitesの紹介や基本的な使い方、そしてGoogle Sit
注目急上昇中のDaaS最新情報 コロナ禍を背景に利用者と機能を拡大中 Azure Virtual Desktop最新情報 ビジネスの推進には必須! ZDNet×マイクロソフトが贈る特別企画 今、必要な戦略的セキュリティとガバナンス 膨大なアクセスを支える屋台骨 高い安定性とパフォーマンスを両立 ZOZOTOWNが選んだストレージ基盤を解説 RPA見直される”業務”と”人”の関係 人的リソースを単純作業から解放! 高付加価値業務への転換のために 現場主導のデジタル変革 ビジネス変革のための“ITの民主化” そして 変わるIT部門の役割 電話営業・インサイドセールの革新 AIによる自動文字起こし・会話分析が 音声コミュニケーションの可能性を拓く データ活用は次のステージへ トラディショナルからモダンへ進化するBI 未来への挑戦の成功はデータとともにある エッジ市場の活性化へ 高まるIoTを中心
http://openidengine.blogspot.com/ もう晒しても大丈夫らしいので。 Rails でハンドリングする方法は明日辺りに blogspot 側のエントリに書きます。 (RSpec 付いてますが古くなった Spec が混在しまくりなので注意してください) 「ああ動くんだね」って所を MyOpenID.com と通信して確かめられる程度の出来です。 Yadis Discovery, Association 作成, Authentication リクエストをざっくり実装してあります。 Assertion の verification も実装していたのですが、バグが解決せず外しました。 Verifying Assertion プロセス(OP の認証レスポンスをRP側で検証するプロセス)が無いのが痛すぎるので、ここだけでも早めに何とかしたいと思います。 って事でやる気だけは
前に「ホワイトリストやめてくれぇぇ」というエントリを書いたのですが宗旨替えしました。 OpenID はシングルサインオンサービスとして、付帯情報も多分有った方が良くて、ホワイトリストも有りでいいと思ってます。 ここに挙げた方法が best だと言っているわけでなく、シングルサインオンサービスとして良くなるために、必要な事をやればいいという考えです。 今は SSO が実際に必要とされる時期に来ており、OpenID にそこを担って欲しいと思っています。 で、例えば分散 SNS のように URL をリソースとした URL 認証のような仕組みが必要になる場合は OpenID の構成技術を切り出して使う、と。 OP 実装の公開も シングルサインオンを構築したい人向け(イントラやサービスローカル) Yadis や URL 認証のような OpenID の構成技術を単独で使いたい人向け を想定しています。
30 3 月 08 CakePHPでYUIのUploader これの続き とりあえずDBへのファイル情報の保存処理とか例外処理はまだ実装していないけど、複数ファイルのアップロードが問題なくできることは確認。 書きかけのやつからちょっと修正した 適当なコントローラでuploadメソッドを追加 function upload() { Configure::write('debug', 0); if (env('REQUEST_METHOD') == 'POST' ) { $this->autoRender = false; $filedata = $_FILES['Filedata']; App::import('Vendor', 'image'); $ext = preg_replace("/.*\./", null, $filedata['name']); $filename = md
下記ページを参考にさせていただきました。 “jQueryを使ったAjaxファイルアップロード” フォーラム – CakePHP Users in Japan David Golding Design Blog - 上記ページでは jQuery を使用してテキストファイルをアップロードしてテキストの内容を表示するというものですが、画像をアップロードしてアップロードした画像をフォームの下に Ajax を利用して表示するというのをやってみました。 jQuery 使用準備 jquery.js と jquery.form.js を app/webroot/js/ 以下に配置します。 アップロードするビューで上記 JavaScript ファイルを読み込むため下記コードをビューに追加します。 <?php echo $javascript->link(array('jquery.js','jquery.f
woork: Clean and pure CSS FORM design クリーンなデザインでピュアCSSなフォームを作る 次のようなデザインの綺麗なフォームのサンプルがDL可能です。 マークアップは以下のようにシンプルかつクリーン <div id="stylized" class="myform"> <form id="form" name="form" method="post" action="index.html"> <h1>Sign-up form</h1> <p>This is the basic look of my form without table</p> <label>Name <span class="small">Add your name</span> </label> <input type="text" name="name" id="name" /> <
SlowLogの設定 環境設定ファイル(Windowsではmy.ini,Linuxではmy.cnf)に次のような設定を加えるとSlowLogが有効になる。 log-slow-queries SlowLogの有効化(ログファイル名を指定可能) long-query-time=2 SlowLogに記録する処理時間の上限 log-long-format インデックスを使用しないSQL文の記録 long-query-timeパラメータは,SlowLogに記録するしきい値を秒単位で設定する。この場合には,2秒超える処理時間を費やしたSQL文を記録する。また,log-long-formatを指定すると,インデックスを使用しないSQL文もSlowLogに記録する。 SlowLogの確認 SlowLogが動作しているかどうかは,次のコマンドで確認できる。log_slow_queriesがONであれば有効と
Sennaの主な利用用途であると考えられる、 データベース組み込み用途。 ブラジル内部でもSennaを用いたサービスを運用していますが、 その運用ノウハウの一部をメモ。 Sennaはメモリ食い Sennaはインデックスをメモリにマップすることによって 高速な追加・更新・削除を実現しています。 よって、メモリ使用量が多くなっています。 INITIAL_N_SEGMENTSを減らすことによって、 メモリ使用量を下げることができますが、 特に追加・更新においてパフォーマンスが低下します。 また、Linuxの場合、 空きメモリはI/Oキャッシュに割り当てられます。 Sennaのメモリ使用量が多いため、 I/Oキャッシュとして用いられるメモリ容量が減り、 結果としてシステム全体のパフォーマンスが落ちる場合があります。 MySQLのkey_buffer_sizeは、 Sennaと他のインデックスを組み
PostgreSQL: CREATE TABLE ludia_test ( id serial primary key, name text, contents text ); CREATE INDEX fulltext_contents_index ON ludia_test USING fulltext(contents); MySQL: CREATE TABLE ludia_test ( id integer not null auto_increment primary key, name text, contents longtext ); CREATE FULLTEXT INDEX fulltext_contents_index ON ludia_test(contents); MySQLでは、text型ではおさまりきらない作品もあったので、contentsをlongtext型
たとえ簡易なものでも、CMSだったらファイルのアップロードくらいはしたいな、ってことでCakePHP用のファイルアップロード用コンポーネントのfileHandlerを使ってみた。 http://www.reversefolds.com/articles/show/filehandler ちなみにアップロードはできても、削除はできないのでその辺は自前でヨロ。 使い方は、CakePHP Users in Japanの通り。 http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=397&forum=9 これ、アップロード毎に、暗号名のついたディレクトリをつくるのか。 うー、ディレクトリがいっぱいになってしまう。 まあ、便利なのは確かなので、とりあえずこれで行く。 でも、ファイルを沢山アップしたいときもあるので、その時のためにJavaScri
日程のおうかがいは実に面倒じゃないですか? 「合コンは始まるまでが一番楽しい」と誰かの言にありましたが、飲み会のセッティングは正直言ってめんどくさい。何が面倒って、告知から日時・場所決定までのプロセスが……。 特にこの3と4のところですね。日程を聞いても「10日と11日の8時以降」とか「火曜日以外ならOK」というように回答の書式はバラバラだし、なかなか返事を寄越さないのもいるし、それを集計してなるべく全員の都合の良い日時を決めなくてはならないし……。 社内・部署内の宴会ならExcelで表でも作って紙で回覧すれば済む話なんですが、離れた場所にいる人や普段合わない友達などの日程を電話とメールだけで調整するのは、幹事さんにとってけっこうな労力。なんかうまいことできないかなー。と思ったら、あるんですね、スケジュール調整に使えるWebサービスがいろいろ。 一般的にWebサービスというのは、メールアド
ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.
Subversionはお使いだろうか。開発作業には欠かせないツールであるというのは言うまでもないが、バージョン管理という面で見ると何も開発に限った話ではない。普段の業務内で使うファイルだってバージョン管理できると便利だ。 ダッシュボード とは言え、そんなことをするとリポジトリの管理が煩雑になってしまい、ユーザ管理も大変だ。そこでこんなツールを使ってみてはいかがだろう。 今回紹介するオープンソース・ソフトウェアはSVN Access Manager、Subversionのアクセス管理マネージャだ。 SVN Access ManagerはPHP+MySQLで作られたWebベースのSubversion管理インタフェースだ。ユーザやグループを作成し、プロジェクトとリポジトリとを組み合わせてアクセス権限を管理できる。 ログ リポジトリのアクセス権限を管理する設定ファイルを出力することができたり、ファ
« メッセージキュー事始め with Q4M | メイン | フレンド・タイムライン処理の原理と実践 » 2008年06月09日 MySQL のクエリ最適化における、もうひとつの検証方法 EXPLAIN を使用して MySQL の SQL を最適化するというのは、良く知られた手法だと思います。しかし、EXPLAIN の返す結果が、かならずしもアテになるわけではありません。たとえば、以下のような EXPLAIN を見て、このクエリが最適かどうか、判断ができるでしょうか。私には分かりません。 mysql> EXPLAIN SELECT message.id,message.user_id,message.body FROM message INNER JOIN mailbox ON message.id=mailbox.message_id WHERE mailbox.user_id=2 OR
CakePHP でファイルアップロードを簡単に行うコンポーネントです。 ReverseFolds – CakePHP File Uploads データベースにファイル名、MIMEタイプ、サイズなどを記録し、ファイルは指定したディレクトリへアップロードするようになっています。 ビューにファイルアップロード用のタグを設置 <input type='file' name='userfile[]'/> 複数配置したいときは <input type='file' name='userfile[]'/> <input type='file' name='userfile[]'/> コントローラに使用するコンポーネントを追加 var $components = array('FileHandler'); アップロード処理 $this->FileHandler->setDebugLevel(1); $th
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く