サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
labs.unoh.net
あやかし陰陽録のカガミかわいいですね。 Keitaです。 ## お知らせ 「当ブログの更新停止について」 当ブログについて更新しない日々が続いておりました。先日、フォト蔵の記事を掲載いたしましたが、今後については記事を新たに更新はしない予定です。 過去記事は、まだ価値があるものも多いためそのままにしておきます。 改めて、終了宣言したのは、きちんとした形で終了をしておかないと新しいものをはじめるにも始められないというという考えたからです。 そんなわけで、今後についてですが、別にZynga Japanでは(NDAに抵触しない限りは)情報配信に制限があるわけではないので、新たな名前で会社ブログを始まるかもしれません。 Zynga Japanも面白い技術の塊です。 もともと、コンソールゲームに強いエンジニアが多いUS Zyngaと、Webエンジニアの多い Zynga Japan のコラボレーション
携帯向けXHTMLを書いているとバッドノウハウばかりが身について行くのですが、その中で私が愛してやまないspacerのことについて熱く語ってみようと思います。 私が個人的に見つけたバッドノウハウばかりですので、これら以外にもっとスマートな方法がありましたら是非ご教示ください。 一般的な使い方 <br /><br />での改行するなんてとんでもない、でも3キャリ対応しようと思ったらline-heightも使えないし。。。そんなことでお悩みの方が良く使っているのがこのspacer。
きゃんきゅーんわんわおんわーんばうきゃんきゃんきゃうんわおんわおんわんきゃんきゃんきゃうんきゃんきゃん! わうわーん。 わんわーんわんわうわん。 わんわおんわんわおんわん! きゃうんわーんわうきゅーんわおんわーんばうわおんわんわおんわん。 わーんわーんきゃんわうわんわんわおん! わんきゃんきゃんわうわーんわんきゃんわおんわんわおんわん! わん。 きゃうんきゃんきゅーん。 わーんわんきゃんわうわーんばうわんわんわうきゅーんきゃんわんわーんわおんわん。 きゃうんわおんわおんわおん! きゃんわおんわおんわんばうわおんわんばうきゃんわおんきゃうんわおん! わんわおんばうきゃん! わうきゃうんきゃんわおんきゃんきゃんわおん! わんきゃんわーんわーんわんきゃうんわんきゃんきゃんきゃんきゃんきゅーんきゅーんわおんわんわおんわーんわーんわんわんわんばうわおんわんきゃんわーん!
いつの間にか会社で古株になったyamaokaです。 webアプリケーションのバックエンドにMySQLを使っている場合、 クエリ(SQL)のチューニングをする必要がありますよね。 皆さんはチューニングの計画をどのように立てていますか。 もちろん、既に明らかに重いことが想定されているページがあれば、 その処理で使われているクエリを中心にEXPLAINなどを使って解析していけばいいと思います。 でもそうではなく、全体的にクエリの見直しやチューニングを行いたい場合は 実際に実行されているクエリを確認していくという作業が必要です。 そこで使うことができる3つの方法について書きたいと思います。 遅いクエリを記録する MySQLにはスロークエリログといって、 実行に時間がかかったクエリを記録する機能が最初から付いています。 /etc/my.cnfに次のように設定を書けば実行時間が1秒を超えたクエリが出力
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
みなさんこんにちは。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 というようにです。 しかしこれで困るのが格納する値の意味が意味合いが変、もしくは冗長的になってまうときです。 例えばユーザーが敵に攻撃を受けて減った分
こんにちは、五十川です。 2010年12月1日に、ウノウがジンガジャパンとなってから初めてのタイトルとなるファームビレッジがリリースされました。ファームビレッジはFacebookで永らくNo.1の座にあるFarmVilleの日本語版ですが、先月そのFarmVille開発のリーダーで、現在はZyngaの共有テクノロジーをリードしているAmitt Mahajanが来日していました。 今回ご紹介するのは、そのAmittが2010年3月のGame Developers Conference(GDC)で行った、Rapidly Developing FarmVille - How we built and scaled a #1 Facebook game in 5 weeksと題したプレゼンテーションです。今回Amittの許可を得てそのときのスライドの日本語版を作成しましたので、それに解説を加えてご
こんにちは、小俣です。symfony1.4にはだいぶ慣れてきた今日この頃、近々登場するらしいsymfony2が速いとかすごいとか噂されているので、乗り遅れないよう情報を仕入れておかねば!ということで、先日ちょうど弊社オフィスを会場に開催されたSymfony2勉強会に参加してみました。そのとき仕入れた情報をご紹介しようと思います。 はじめに:Symfony2は1.x系と内部構造が異なるので戸惑う Symfony1.xに慣れている方にとっては、初めのうちはディレクトリ構造が違いすぎて何処に何があるのか混乱しがちです。私も何度も迷子になりました。少しずつ慣れていくしかありませんが。。。下記にSymfony2の特徴をいくつか紹介してみます。 Symfony2はすべてBundleで構成されている Symfony2では、新しい概念がいくつか導入されていて、まずはBundle(直訳:束)の理解が必要です
こんにちはhohtaです。オフィスが新しくなってからはや1ヶ月、移動したばかりの時はひろびろーとした感じでしたが採用活動が順調らしく、人口密度が上がってきました。 さて、提題の件ですが今回は技術的な話からちょっと離れて弊社にある壁を紹介したいと思います。一口に壁と言っても言語の壁、文化の壁、人生の壁、ぬりかべなど概念的なものから建物の壁面といった物理的なものまで様々ですが、この記事で扱うのは物理的な壁、新オフィスに作られているクライミング(ボルダリング)用の壁を紹介します。 どんな壁? こんな壁です。全長7m、高さ2.2mで手前が垂壁(90度)、奥が110度と角度がついています。建物の構造上高さが少し物足りないですが、そこは課題をトラバース(横移動)メインにしてカバーです。ちなみに、マットは埋込式ではなくボルダリング用のクラッシュパッドを登るときに敷いて使っています。埋込式と違ってスペース
こんにちは。murahashiです。 gitやgit-svnを使うにあたり、試したことや引っかかったことについて、yukiのエントリ ウノウラボ Unoh Labs: subversionリポジトリでもgitが使えるgit-svn のつづきを書いてみました。 Q. ブランチ名を長くしてしまったので手打ちするのが大変です A. bashでgitコマンドを補完します gitのコマンド補完は git-completion.bash が便利です。 fedoraにyumでgitを入れた場合には下記場所にあります。 /usr/share/doc/git-VERSION/cntrib/completion/ 自分の見える場所にgit-completion.bashがなければ、インストール済みのgitと同じversionのgitのソースをダウンロードします。 cntrib/completion/
symfonyプロジェクト全体で共通で利用される設定は、ProjectConfigurationクラス(config/ProjectConfiguration.phpファイル)のconfigureDoctrine()メソッド内で行うとよいでしょう。 以下の例では、クエリーキャッシュと結果キャッシュの両方にmemcachedドライバを設定しています。また、それぞれのデフォルトの存続時間を1時間に設定しています。 class ProjectConfiguration extends sfProjectConfiguration { public function setup() { $this->enablePlugins('sfDoctrinePlugin'); } public function configureDoctrine(Doctrine_Manager $manager) {
こんにちは。vimをビムと発音する派のryosukeです。 ウノウでエディタといえば、以前はvimかemacs、それもvim優勢(ユーザー数的に)だったのですが、最近は色んなエディタやIDEを使ってる人が増えています。 私は以前はemacsを使っていたのですが、今ではemacsでヤンクの仕方を忘れてしまうぐらいにvimユーザーになってしまいました。とはいえ、vimを使いこなしてるとは到底言えず、 最速のキーリピートに頼る毎日です。 そんな私ですが、いくつか愛用しているプラグインがあるので、今回紹介させていただこうと思います。どのプラグインも基本的に ~/.vim/plugin にコピーするだけで使えます。 yanktmp ファイルを経由することで異なるプロセスのvim間でレジスタ(クリップボード)を共有する(かのようにコピペする)ことができます。screenでいくつも vim を開いたりす
こんにちは。kyagi です。今回は 2 月にリリースされた cobbler 2.0.3 のサーバ構築にあたり気をつけることをご紹介します。1.6 系から切り替える方の参考になれば幸いです。 構築手順は 1.6 系とほぼ同様ですが、sudo cobbler check の時点で 2 点ほど見慣れないメッセージが表示されましたのでその対処を含めて以下に展開します。 - 専用のローダのインストールが必要になりました。対処としては sudo cobbler get-loaders すれば OK です。 $ sudo cobbler check (...snip...) 3 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to downl
おはようございます。うちだです。 本日、mixiアプリモバイルにて「バンドやろうよ!」をリリース致しました。是非遊んでみてください。 今回は「バンドやろうよ!」でも使った、Flash Liteコンテンツの合成を軽めに紹介します。 Ming Flash Liteの合成にはMingを使います。 Mingを用いるとswfの合成や変数書き換えが非常に簡単にできます。 但し、一部機能にバグがあるので要注意ですが、合成や変数書き換えだけに利用するのであれば今のところ問題は見つかっていません。 さっそく合成 「バンドやろうよ!」では自キャラクターのギターを持ち替えすることでき、その部分に利用しています。 合成するパーツ毎にswfを用意します 1.swf 2.swf 3.swf guitar.swf ming_useswfversion(4); $swf = new SWFMovie(); $swf-
こんにちは。中村です。 ウノウで運用しているまちつく!はモバイル向けソーシャルアプリとしてmixi版、モバゲー版をそれぞれ展開しています。 開発するにあたって通常のウェブサイトとはいくつか違うポイントに注意しています。プロフィールや友達などの情報を取得するためにプロバイダが提供するAPIを利用することになりますし、通信も「携帯電話 <= プロバイダサーバ => SAPサーバ」という経路になるため、様々な箇所でプロバイダを意識した開発を行う必要があります。 今回は特にAPIを利用する際に注意しているポイントをいくつかピックアップしたいと思います。 APIアクセスをできるだけ減らす オープンソーシャルモバイルに限らず基本的なことですが、APIへのアクセスを可能な限り減らすことでSAP・プロバイダ双方の負荷軽減になり、かつリクエスト毎のレスポンス向上に繋がります。まちつく!ではプロバイダからキャ
はじめまして 3月に入社したデザイナー業務担当のたけぞうです 私はエンジニアの皆さんと違い、絵を描くことを専らとしてきたので グラフィック関連で自分が普段使っている小技を紹介しようと思います 今回はIllustratorの作業効率がちょっとあがる小技です 例えば、上の動物のキャラクターに影をつけようと思います キャラの顔の輪郭部分を選択してCTRL+Fを押すと まったく同じ位置の上に重なるようにコピペしてくれます 上になったパスの塗りを無くし、線オンリーのパスにします 適当な、元の色より濃い塗りで適当に塗っていきます このままだとキャラの輪郭から大きく外れています 次は先ほどと同じCTRL+Fでキャラの顔の塗り側のパスをコピペします 2枚になった塗りのパスとはみ出した影の塗りのパスを両方選択し パスファインダの赤丸で囲ったところをクリックすると・・・ キャラの輪郭に沿って、影塗り部分が切り
一部の人に鳥の人として認識されているyamaokaです。 フォト蔵では最近Varnishをコンテンツキャッシュに利用しています。 具体的には、写真のサムネイルなどの静的なコンテンツをキャッシュするために使っていたりします。 Varnishはコンテンツキャッシュ機能を備えたHTTPアクセラレータです。 同じような目的に使われるプロダクトとしてSquidがありますが、 それよりも高速に効率よく動作することを売りにしています。 サーバーへのインストールについてはCentOSなどRed Hat系のLinuxであれば EPELからrpmを入手するか、 ソースを展開するとredhatディレクトリにspecファイルが用意されているので そちらを利用すれば最新版のrpmが作成可能です。 以下、rpmを使ってインストールしたものとして話を進めます。 起動設定は/etc/sysconfig/varnishです
yukiです。 空前のGitブームもだいぶ落ち着き、最近はGit記事をあまり見かけなくなりましたが、今日は空気を読まずにGit、それもgit-svnについて利用例を挙げつつご紹介しようと思います。 さらっと紹介されている記事は多いのですが、実際にこう使っている、などの例があまりなかったので、今回利用例を含めてご紹介していけたらと思っているので、もっと便利な使い方があるよ!という方の突っ込みをお待ちしております。 まずgit-svnについてご紹介すると、その名の通りgitとsubversionをつなぐ役割を果たすもので、subversionのリポジトリからgitでcloneして利用出来るというものです。 インストールはyum一発で簡単に入ります。 # yum install git-svn よくある例としては、業務で使うリポジトリはSubversionのまま使い続けているけど、個人
はじめまして、去年末に入社しましたkayです。 エンジニアとしてまだまだな私ですので、少し英語のお話でもしようと思います。 私自身、アメリカの大学に3年ほど通っており、ついこの間卒業したばかりなのですが、アメリカにいた頃はスラングだということすら知らずに使っていた英語もたくさんありました。 スラングというのはもともAfrican-Americanが使っている言葉として知られていたと思いますが、今は主に若者の言葉や外国の英語の教科書には載っていない用法のことを指しているのではないかと個人的に思っています。 そして、スラングはアメリカ人たちが楽するために使用されるものが多く、仕組みを理解することで外国人でもだいぶ楽して英語を扱える+英語が得意な人だと思わせられるようになります。 ただ、初心者がスラングばかり(特に文法的に間違っている文)を使っているとちゃんとした英語が身に付かない場合も
次のページ
このページを最初にブックマークしてみませんか?
『ウノウラボ Unoh Labs』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く