サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC24
labs.unoh.net
あやかし陰陽録のカガミかわいいですね。 Keitaです。 ## お知らせ 「当ブログの更新停止について」 当ブログについて更新しない日々が続いておりました。先日、フォト蔵の記事を掲載いたしましたが、今後については記事を新たに更新はしない予定です。 過去記事は、まだ価値があるものも多いためそのままにしておきます。 改めて、終了宣言したのは、きちんとした形で終了をしておかないと新しいものをはじめるにも始められないというという考えたからです。 そんなわけで、今後についてですが、別にZynga Japanでは(NDAに抵触しない限りは)情報配信に制限があるわけではないので、新たな名前で会社ブログを始まるかもしれません。 Zynga Japanも面白い技術の塊です。 もともと、コンソールゲームに強いエンジニアが多いUS Zyngaと、Webエンジニアの多い Zynga Japan のコラボレーション
こんにちは。お久しぶりです、yamaokaです。プライベートなブログにも書きましたが、現在は株式会社デジタルガレージで写真コミュニティサイト「フォト蔵」の制作・運営をしています。 この半年でフォト蔵が変わったこと フォト蔵がデジタルガレージに事業譲渡されたのは2012年4月でした。もう4ヶ月が経つのですね。その前後からいくつかの変更を行ってきているのでまとめて紹介します。 スマートフォンへの対応 2月にwebのスマートフォン版をリリースしています。もともとフォト蔵ではTwitterからのご利用が非常に多く、スマートフォンへの対応は急務でした。実は制作には非常に長い期間がかかっているのですが、リリースできて本当によかったと思っています。そして現在、アップロードを簡単に行える方法がない(メールでのアップロードのみサポート)のでアップロードをサポートするためのアプリの開発を進めているところです。
携帯向けXHTMLを書いているとバッドノウハウばかりが身について行くのですが、その中で私が愛してやまないspacerのことについて熱く語ってみようと思います。 私が個人的に見つけたバッドノウハウばかりですので、これら以外にもっとスマートな方法がありましたら是非ご教示ください。 一般的な使い方 <br /><br />での改行するなんてとんでもない、でも3キャリ対応しようと思ったらline-heightも使えないし。。。そんなことでお悩みの方が良く使っているのがこのspacer。
きゃんきゅーんわんわおんわーんばうきゃんきゃんきゃうんわおんわおんわんきゃんきゃんきゃうんきゃんきゃん! わうわーん。 わんわーんわんわうわん。 わんわおんわんわおんわん! きゃうんわーんわうきゅーんわおんわーんばうわおんわんわおんわん。 わーんわーんきゃんわうわんわんわおん! わんきゃんきゃんわうわーんわんきゃんわおんわんわおんわん! わん。 きゃうんきゃんきゅーん。 わーんわんきゃんわうわーんばうわんわんわうきゅーんきゃんわんわーんわおんわん。 きゃうんわおんわおんわおん! きゃんわおんわおんわんばうわおんわんばうきゃんわおんきゃうんわおん! わんわおんばうきゃん! わうきゃうんきゃんわおんきゃんきゃんわおん! わんきゃんわーんわーんわんきゃうんわんきゃんきゃんきゃんきゃんきゅーんきゅーんわおんわんわおんわーんわーんわんわんわんばうわおんわんきゃんわーん!
いつの間にか会社で古株になったyamaokaです。 webアプリケーションのバックエンドにMySQLを使っている場合、 クエリ(SQL)のチューニングをする必要がありますよね。 皆さんはチューニングの計画をどのように立てていますか。 もちろん、既に明らかに重いことが想定されているページがあれば、 その処理で使われているクエリを中心にEXPLAINなどを使って解析していけばいいと思います。 でもそうではなく、全体的にクエリの見直しやチューニングを行いたい場合は 実際に実行されているクエリを確認していくという作業が必要です。 そこで使うことができる3つの方法について書きたいと思います。 遅いクエリを記録する MySQLにはスロークエリログといって、 実行に時間がかかったクエリを記録する機能が最初から付いています。 /etc/my.cnfに次のように設定を書けば実行時間が1秒を超えたクエリが出力
入社3ヶ月目のsaekiです。 今回はPuppetのGUIツール「Puppet Dashboard」でExternal Nodes機能を使用する方法を紹介しようかと思います。 Puppet Dashboardのインストール方法は公式ドキュメントを参考にしてください。 Puppetは0.25.5、Puppet Dashboardは1.0.4を使用しています。 ■できること - マニフェストではなくdashboard上でnode設定ができます。 - node(またはgroup)毎にclassを設定やParameterの設定ができます。 ■使用方法 - classを登録する dashboardにclassを登録します。 1. マニフェストのclassを作成します(例はhosts) class hosts { file { "/etc/hosts": owner => 'root',
こんにちは。yukiです。 今日はテストや普段の開発に便利なツールのご紹介をしたいと思います。PHP限定のツールですので、ご了承下さい。 ZyngaJapanでは、昨日リニューアルオープンした「ファームビレッジ」でも、Jenkins(旧Hudson)によるCIを行って開発しており、TDDやJenkinsでのCIを利用する文化がだんだんと浸透してきています。Jenkinsのプラグインとして利用できるものも多くありますが、当然ながらコマンドラインからも利用出来ますので、コミット前に自分のコードをチェックすることもできます。 phpcpd コードの中でコピー&ペーストで記述されている部分を検出してくれます。 どの程度の重複から検出するかを柔軟に設定できるので、まず大きな部分から修正するなど判断ができ便利です。 $ phpcpd /path/to/project phpcpd @package_v
突然ですが、symfonyのエキスパートになりませんか?HIROKIです。 PHPのフルスタックフレームワークであるsymfonyについて共著した書籍が発売されました。私はテスト駆動開発(TDD)とsymfonyによる自動テストについて執筆しました。 具体的にはLimeを利用したユニットテストをはじめ、sfBrowserを利用して、ブラウザアクセスをエミュレーションした自動テストを書くことによって、実際に人間がブラウザを通してアクセスしている内容まで自動テストにします。これを、テストファーストのアプローチで開発する内容になっています。 TDDや自動テストを書くというのは、プログラマーとして、プロとしてのスキルです。これを機会に、ばっちりテストコード書けるぜ!という人が増えることを願っております。 本書は symfonyプロジェクトに存在するドキュメントやリファレンスを読む前に必要な前提知識
Flashエンジニアnao ozawaです。最近あんまりゴリゴリとFlashでコーディングしていません。なんでかなぁ!まるで働いていないみたいじゃないですか。一応ちゃんと仕事してるんですよ? まぁ、そんな感じの毎日なので、実はここ数日、作業のかたわら、スマートフォン向けページのレイアウト方法を色々考えております。 ・ブラウザの画面回転するのめんどくさくね? みなさんご存知のように、iPhoneを筆頭に最近のスマートフォンは、携帯を横に向けると、合わせてくるりと画面が横レイアウトに変わります。斯(か)く言う私も初めてソレに遭遇したときには驚きを隠せず、暫くは日がな一日iPhoneをくりくりと縦にしたり横にしたりして過ごしていたものです。それはそれは楽しかった。 が、しかし、最近スマートフォン向けのページを作る側にまわってみて、はじめて気がついたのです。 画面の幅が変わるのって、めんどく
Keita です。 サンフランシスコで開かれたSymfony Liveで、Fabien Potencier氏によるHTTP Cacheという発表がありその中でESI(Edge Side Includes)の紹介がありました。 下の画像はちょっとみずらいですが、たとえばこのラボブログのレイアウトだと大枠の部分は常によりユーザに使いフロントの所(つまりCDNやキャッシュサーバ)側でキャッシュされていてAの部分とBの部分それぞれのコンテンツを別々にインクルードする形でキャッシュ制御することができます。 Symfony2のサイトsymfony-reloaded.orgでも、マニュアルがありますので、詳細はそちらを参考にしていただくとして、その中に、Varnishでもその機能が利用できることが紹介されていますので試してみたいと思います。 Varnishのインストールについては省略してとりあえず設定部
こんにちは。kyagi です。今回はサーバ情報を収集する Ruby スクリプトを書く方法をお知らせいたします。具体的には Facter モジュール(※1)の紹介と使い方になります。 Ruby にはサーバのホスト名、IP アドレス、OS、ハードウェアなど様々な情報を収集するために Facter というモジュールが提供されています。RPM では「facter」というパッケージ名で提供されています。ターミナルから実施できるインターフェイスとして同名の「facter」というコマンド(※2) が用意されており、以下のように実施するだけでそのサーバの色々な情報を一度に取得することができます。 $ facter (... snip ...) architecture => x86_64 domain => local.hoge.bar.net (... snip ...) ipaddress_eth0
こんぬつは&はじめまして。 12月に入社したサカモトです。 私は元々SONYとかNintendo機向けの家庭用のゲーム開発を生業にしてきましたが、ついこの前からSNSアプリの開発をしています。 私と同じように、家庭用ゲーム機のプログラマーからSNSゲームのプログラマーに転身したいと考えている方のお役に立てればと思い、私の経験を元に '転職するために必要なもの' のお話をさせていただきたいと思います。 採用されるために必要なもの ご自身で事業を始める場合には必要の無い事ですが、どこぞの会社さんに所属したいとなるとまず雇って頂くほかありません。そこで、採用されるために必要とされるスキルや経験を挙げてみたいと思います。 身近なところで弊社ZyngaJapanのエンジニアの採用ページを見てみると「必須スキル・経験」として以下のような事が書いてあります。 3年以上のプログラミング業務経験 また
flashエンジニアのnaoです。 ディスカバリーチャンネルの番組に「怪しい伝説」(Mythbusters)ってのがありますよね。そう、"ワイヤーが切れて自由落下するエレベーター、地面に衝突する寸前に中でジャンプしたら助かるんじゃね?"とか、あほう 希少な検証をやるあの番組です。 ちょっと考えればわかりそうな事を真面目に検証する彼らを生暖かく見守る私ですが、この度自分自身、都市伝説に遭遇いたしました。 その都市伝説というのが、標題の「Flash CS5のswfはCS4よりファイル容量が大きい!?」なワケであります。 私の所属するプロジェクトでは、前任のflashエンジニアがFlash Profesional CS4で開発を行い、私を含めた後任のチームはCS5で開発を行っております。 この時に、前任からの引き継ぎ注意事項として 『swfファイルはCS4で書きだしたほうが軽くなる』 とい
yamaokaです。 だいぶiPhoneやAndroidといったスマートフォン向けのwebページを作ることが増えてきたのではないでしょうか。ちょっとした気配りで使いやすくなるケースもあるかなと思うので、いくつか使えそうな工夫について書いてみたいと思います。 ただし、今回はiPhone向けです。 タップされた場所をハイライトする iPhoneのSafariでは「-webkit-tap-highlight-color」という拡張された属性があり、タップされた箇所に色を付けることができます。CSS3ではRGBaによる色指定ができるので、半透明の色を指定すればタップされた箇所をわかりやすく示すことができます。例えば、-webkit-tap-highlight-color:rgba(255,0,0,0.40);と指定すると薄い赤色を付けることができます。「outline:none;」と併せてリンク文
こんにちは。入社6ヶ月目のyusukeです。 Webエンジニアの方がルータを触る機会は、少ないと思います。 ということで、Yamahaルータを例にルータの設定方法を紹介します。 1. Yamahaルータへのログインについて Yamahaルータへのログインは、通常以下の2つの方法いずれかでログインします。 - シリアルコンソールケーブルを使用したログイン シリアルコンソールケーブルを直接Yamahaルータに接続します。 シリアルコンソールケーブルはクロスケーブルとDSUB9 or 25 と RJ45 変換コネクタでも自作できます。(ルータの購入時に付属している場合もあります。) - telnetまたはsshを使用したログイン これは、ご存知のようにtelnetコマンドやsshコマンドを使用したログインです。 いずれもログインした後の設定方法は同じです。 ログイン時パスワードを入れてロ
こんにちは。12月に入社した@chobi_eです。 私が所属しているチームではお菓子系男子が30%を超えているという素敵チームで 毎週チーム内の漢の子がお菓子を焼いてくるという状況でハッピハッピハッピーです。 今日は私が学んできたPHP Extension作成についてのノウハウの一部を 公開しようと思います。 PHPExtension作成についての資料はklabさんやyoyaさん rskyさんの記事が参考になりますが私のようにPHPは書けてもCが書けない人には具体的にhello world以降何をすればいいのかがサッパリよく分かりません。 そこで先人達が作ってくれた偉大なライブラリをPHPで扱えるようにする為にC/MigemoのPHPバインディングを作ってみましょう C/Migemoをインストールしてみる 読者の方の中にはC/Migemoをご存知でない方もいらっしゃるかと思いますので簡単に
明けましておめでとうございます&はじめまして。12月に入社した加藤です。 FlashLite 2.0をやるつもりで入ってみたらバリバリ1.1だったので、出す機会を逸していたネタをここで出したいと思います。 FlashLite 1.1の制限にはいろいろありますが、開発する上で一番困るのは100KB制限です。 100KBと言うと、このページの右カラムに並んでいる著者一覧の写真が一つだいたい8KBくらいですので、だいたい12枚分になります。その中にグラフィックとスクリプト両方をつめ込まねばなりません。 普通のFLASHならパブリッシュ設定の「ムービーの圧縮」にチェックを入れれば圧縮が有効になるのですが、残念ながらFlashLite 1.1ではその機能はグレーアウトされて使えません。 そういうわけでFlashLite 1.1のエンジニアは日々シェイプの最適化から変数名の文字数まで、地道な作業
でいられる、成長するためには理想的な環境です。 ※参考「情熱プログラマー」第一章の4 とは言え、そういう状況で安穏としているわけにもいかないので、少しでも早く周囲にキャッチアップできるよう努めました。 それらについて、これから述べます。 ■周りの人の助力を仰ぐ 入社直後にアサインされたプロジェクトが佳境を迎えていたことに加え、個人的な経験やスキルは以下のような状況でした。 symfony→使ったこと無し TDD(テスト駆動開発)→未経験 memcached→使ったこと無し Git→使ったこと無し 結構テンパっていたのですが、良き先輩であるチームメンバーに積極的に教えを乞いました。 質問する際は、ノートに図を書いたりして持って行くと、こちらの「聞きたいこと、理解できていないこと」が伝わりやすくなります。 ※無闇矢鱈と質問しに行ってお仕事の邪魔をしたことがあります、ゴメンナサイ...
明けましておめでとうございます。@emorinsです。 みなさんモジュール開発ではどのようにデバッギングしていますか?モジュールになると普段使い慣れたデバッグツールが使えず、手動の動作確認だけで済まされている方もいらっしゃるのではないでしょうか。 今回はC/C++開発ではメジャーなメモリデバッガ『Valgrind』をPHP拡張モジュールの開発で活用することで、普段使い慣れたツールでのデバッグの例をご紹介します。 1.PHP拡張モジュールの作成 まず開発用にPHPをデバッグモードでビルド。 #cd ./php-5.x.x #./configure --enable-debug #make #make install PHP拡張モジュールを作成 #cd ./ext #./ext_skel --extname=zynga_func #cd zynga_func 16行目から18行目をコメントアウ
初めまして、11月に入社したQA担当のものです。 短期間の開発はどうしても少ない工数でテストを実行したい...と、だんだん重要になってくる。その中でアジャイルテスティングが最も有効で、尚且つ効率で不具合を発見できる方法と思います。 アジャイルテストは反復 (イテレーション) と呼ばれる短い期間単位を採用することで、リスクを最小化しようとしている。アジャイルテストは4象限の分類で説明されている。 概要は以下のとおり。 第1象限はチームを支援する技術面のテスト → テスト駆動開発などアジャイル開発の中心 第2象限はチームを支援するビジネス面のテスト → 顧客の視点からのハイレベルの機能テストなど 第3象限は製品を批評するビジネス面のテスト → ユーザー受入テスト、探索的テストなど 第4象限は技術面のテストを使った製品の批評 → パフォーマンステスト、セキュリティテストなど この4現象
みなさんこんにちは。11月に入社したデザイナーの935です。 デザインの仕事をしていると「バッチ処理ではできない複雑な作業を複数のファイルに一度に適応したい」という気持ちになることがありませんか?そんなとき私はjsflなんかと比べると若干マイナーな感のあるphotoshopのスクリプトを愛用しています。 でも、photoshopのスクリプトってメニューからだと「一度に開いたファイル一つ」にしか適応できないですよね?そうすると、せっかくスクリプト書いたのに「それってなんか片手おちじゃない?どうせなら一度にやってよ」という気持ちになるわけです。 そこで今回はドロップレットを使って複数のファイルにスクリプトを適用する方法をご紹介したいと思います。 まあ、特定のフォルダのファイルリストを取得してforで回すようなスクリプト書いてもいいんですが、今回はドロップレットを使って気軽にやってみましょう。
12月に入社したものです。 得意なアプリケーションはIllustrator そこで、現在使っているJavaScriptを共有させていただきます(`・ω・´) 基本OSはWindowsですがMacでも起動します。 注意点:ソースコードで使用する"\"マークは"/"に変更しないと起動しません。 それでは、現在使っている自動化スクリプトです↓ 【他のアプリケーションを起動する】 ■プログラム説明 起動したいアプリケーションのパスをファイルオブジェクトとして作成します。 ■ソースコード fileObj = new File("実行へのアプリケーションパス"); fileObj.execute(); ▼使用例(Photoshop) fileObj = new File("C:/Program Files/Adobe/Adobe Photoshop CS5/Photoshop.exe");
こんにちは mayutan です。 ラボブログを書かないとクビだと脅されたのでクリスマスに泣きながら書いておりますが 皆様いかがお過ごしでしょう。 今回のレディの嗜みですが、 レディたるもの、キーバリューストアくらい扱えないとなりません!!!!!!111 という事で membase についてご紹介しようと思います。 最近猫も杓子もソーシャルソーシャルわっしょいわっしょい!といった感じで、 これまでのシステムとはまた違った独特の工夫を皆様されていると思うのですが、 memcached を使っている方はかなり多いのではないでしょうか。 ここにプラットフォームから取得した情報や、あまり更新されない情報などを保存して、 DB やプラットフォームへのアクセスを極力減らす、という使い方がメジャーだと思います。 そして、同時に「これ永続化できたらもっと便利なんじゃないの?」って皆思ってるで
メリークリスマス!11月に入社した関山です。 みなさんはPHP開発に何を使っていますか? 僕はMac用のエディタTextMateとmi、コンソールではvimを併用していますが、入社を機にEclipseでのPHP開発にトライしました。 Eclipse for PHP Developersをインストール Eclipse DownloadsよりPHP開発ツール (PDT) がセットアップ済みのパッケージEclipse for PHP Developersが入手できますので、これを使いました。バージョンは最新のEclipse Helios (3.6.1 SR1)です。 プラグインをインストール ローカルで開発するだけならそのままでも大丈夫ですが、僕は以下のプラグインをインストールしました。 Babel インストール直後はUIが英語なので、プラグインで日本語化します。 「ヘルプ」>「新規ソフトウ
こんにちは、7月からphpを始めた細川です。 phpの作法で<?phpではじめたファイルを?>で閉じない、というものがあります。これまで、あまり考えずに従ってきたのですが、よく考えてみると「タグを閉じない」というのは直感的には不作法です。 検索して調べてみると、以下のような記事が見つかりました。 http://zendframework.com より引用 PHP コードのみからなるファイルでは、終了タグ ("?>") は決して含めてはいけません。これは必須なものではなく、 終了タグを省略することで、ファイルの最後にある空白文字が出力に影響することを防ぎます。 「決して」含めてはいけない。ということで、わりと大事のようです。 そこで、実際にタグを閉じると何がおこりうるのか調べてみることにしました。 まず、以下のようなphpファイルtest.phpを用意しました。
こんにちは。目下Symfony2を勉強中のtakaです。 Symfony1.4ではsfFormを使った事があるのですが、いくらか苦戦したというか、sfWidgetFormが面倒というか、これは使えば楽なのか?何なのか?良く判らなかったので、今回Symfony2でどのように実装していくのかFormsを試してみました。 まず、Symfony2についてですが、12/01時点ではSymfony2 PR4が公式サイトにて公開されていました。今回はこれを使ってやってみます。環境は適当にCentOS5.5にPHP5.3などなどを入れてcheck.phpが動く事を確認しました。ダウンロードして展開するとsandboxとありHelloアプリケーションが既に用意されています。 Controller名はhello/signupとします。 1 signup: 2 pattern: /hello/signup 3
この記事は、Symfony アドベントカレンダー 2010に参加しています。 Symfonyアドベントカレンダー 2010 | 日本Symfonyユーザー会 前の記事: Symfony2 + MongoDB ODM を使ってみる - 今日も適当ダイアリー こんにちは。murahashi sanemat kenichi です。開発で重要なのはフィードバックのサイクルを素早く回すことですよね。 こうなってくれるとうれしい。 落ちるテストを保存するとred 通る実装を保存するとgreen 簡単に達成するために必要なのは次の4つです。 テストコードのグルーピング、ファイル更新検知、ファイル対応関係、screenのstatus line Symfonyの場合の話を順にみていきます。 一発でグループ分けされたテストコードが走る仕組み Symfonyは簡単 $ php symfony
Puppet, Facter? Puppetとは、システム管理を自動で行うためのツールです。 Facterは、システム情報(OS, FQDN, IPアドレス)などを収集するRubyライブラリです。 Facterによって取得できる項目のことを fact と呼びます。 下記が詳しいです。 オープンソースなシステム自動管理ツール Puppet Custom factを使用するための事前準備 下記のサイトを参考に事前設定します。 Docs: Plugins in Modules puppet master、client両方で下記の設定ファイルに、pluginsync = trueを追加します puppet.conf: [main] pluginsync = true puppet master上でのcustom factの配置パスは下記の通りです。 fact path: <MODULEPATH
皆様、こんにちは。 トクヤマです。 今回はTipsでも何かをお伝えするものでもなく、逆に皆様のご意見を承りたいと思っています。 変数名というのはプログラマーやエンジニアで個性が強くでる部分ではないかと思います。 所属する会社やグループで決められた命名規則に沿って変数名を決めている方も多いと思いますが 内心はもっとこんな命名をしたい!なんて思っている方も多いのではないでしょうか。 例えば私は業務や私用を含めPHPを主に使用していますが私用的な変数名の付け方は格納する値の型+格納する値の意味(英名で)にしていて、 それをキャメルケースで命名しています。 ゲーム開発でユーザーの体力を格納する変数名は $intUserHitPoint というようにです。 しかしこれで困るのが格納する値の意味が意味合いが変、もしくは冗長的になってまうときです。 例えばユーザーが敵に攻撃を受けて減った分
次のページ
このページを最初にブックマークしてみませんか?
『ウノウラボ Unoh Labs』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く