タグ

ブックマーク / labs.unoh.net (27)

  • ウノウラボ Unoh Labs: シェルの仕組み(前編)

    尾藤正人(a.k.a BTO)です 社内勉強会でシェルの仕組みというのをやってみましたので、資料を公開します。 シェルはUNIXを使う上で、必ず使用される非常に身近なツールです。 毎日使用しているツールにも関わらず、具体的にどのような動作をしているのか知らない方も多いのではないのでしょうか。 シェルの使い方に関する情報はたくさんありますが、シェルの実装についての情報はほとんどないなと思ってシェルを題材に取り上げました。 シェルにはUNIXプログラミングのエッセンスがぎっしりつまっています。 シェルの内部の仕組みが分かるようになると、UNIXプログラミングが分かるようになると言っても過言ではないのかもしれません。 シェルの仕組み(前編) - Upload a Document to Scribd 社内勉強会中にustreamで動画を流していたのですが、動画を保存するのを忘れてしまいました。

  • ウノウラボ Unoh Labs: 携帯とCookieドメイン

    こんばんわ五十川です。 しばらく前になりますが、ソーシャルスクラップブックclippのモバイル版をリリースしました。cippモバイルではドコモ以外は、セッション管理にCookie(のみ)を利用することにしたのですが、そのときCookieドメインではまりました、というお話。 PC向けclippのドメイン名は、トップページなどのユーザ共通ページは「clipp.in」、ユーザ個別のページは「{username}.clipp.in」(例えばclipp-info.clipp.in)となっています。ケータイサイトをマルチなサブドメインにする例はあまり多くないと思いますが、clippモバイルでは、ルーティング直すのめんどくさいという怠け者な理由で、PC版のドメイン名がそのまま使えればいいなと思って取り掛かりました。しかし、その目論見はあっさりと破綻することになるのでした。 以下の内容は手元の数多くない端

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: PHPで携帯位置情報を扱うライブラリ「Geomobilejp_Converter」を作りました

    中村です。 PHPで携帯の位置情報を簡単に取り扱うことができるライブラリ「Geomobilejp_Converter」を作りました。もう半年近く前に作ったものですが、コードを少し整えたので公開することにしました。 GPSに対応した携帯では、各キャリアで指定されている特定のHTMLを記述することで、携帯サイトに位置情報(緯度経度や測地系)を送信することができます。この位置情報を利用すると、「位置情報付きで掲示板に書き込む」などの機能を実装することができます。 キャリアによっては位置情報のなかに土地名を含むものもありますが、通常は緯度経度だけでは土地名がわかりません。そこでGeomobilejp_Converterでは、docomoの提供するオープンiエリアのiエリアデータファイルを利用して土地名を関連付ける機能を実装しています。iエリアデータを利用することで、各キャリアで共通したiエリアコー

  • ウノウラボ Unoh Labs: TCP/IP入門

    尾藤正人(a.k.a BTO)です このブログを読んでる方にはWebプログラマが多いかと思いますが、Webの仕組みを基礎から理解してプログラムは書いてますでしょうか。 もちろんそんなことは知らなくても抽象化されてるので気にする必要は全然ないのですが、やはりエンジニアとしてはちゃんとどういうものか理解してプログラムを書いた方がよりよいプログラムが書けると思います。 そこで先日の社内勉強会で、TCP/IPについて軽くおさらいしてみました。 かくいう僕もTCP/IPについて勉強したのは7, 8年前だったのでいろいろ復習してたんですが、忘れていたり、実はちゃんと理解できてなかったことがありました。 せっかくなので資料を公開しておきます。 よかったら参考にしていただければと思います。

  • ウノウラボ Unoh Labs: Ext JSをUIに使って携帯サイトのシミュレータを作ってみた

    五十川です。 携帯サイトの見栄えをシミュレートするウェブアプリ作りました。と言っても、実際に作ったのはかれこれ半年以上前で、手直ししてから公開しようと思ってたら、結局「guid=ON」を付け足したくらいであとは放置だったので、さすがにいい加減晒そうと。 任意のヘッダでリクエストして、レスポンスの絵文字とか変換してサイトの見栄えを確認するというものですが、これはそもそもExt JSをいじってた頃に、Ext JSでこういうの作ればいい感じになるんじゃね?ということで、丁度2.0がリリースされた頃にデモ用に作ったものなのでした(なので、かれこれ半年以上前) 実機テストの代用になるわけでは、もちろんありませんが、絵文字も含めたマルチキャリアでの見栄えを手軽に確認したいときなどに、わりと便利に使えてたりします。 スクリーンショット 機種ごとのプリセットのヘッダグループをYAMLファイルに書いておいて

  • ウノウラボ Unoh Labs: CSSによるデザインワークと相性のよいHTMLって?

    yamazakiです。最近だいぶあたたかくなってきましたね。おかげで日中眠くて仕方ないわけですがいかがお過ごしでしょうか。 ウノウに入る以前も含めてそれなりに長いことHTMLCSSを書いてきたわけですが、今回は試みに、「だいたいこういうところに気を使われたHTMLだと、CSSでのデザイン適用やレイアウトがやりやすいな」というこれまでの経験則を簡単ですがまとめてみたいと思います。 まあ、このあたりはCSS書く人とHTML書く人の間でちゃんとルールを決めておけばいいだけの話なので、そもそも何の役に立つのか疑問といえば疑問ですが(笑 たとえばユーザがCSSを書いてスキンを作れるようなサービスを作る際、どういったHTMLにするかを決める、みたいな時には少し参考になる、かもしれません。 ID、クラスを適切に割り振って、要素がCSS側から一意に特定できるように たとえばグローバルナビゲーションとカ

  • ウノウラボ Unoh Labs: プロセスの監視を行う デーモン monit

    こんにちは satoです。 monitは プロセスの監視を行うデーモンです。 条件とそれに伴うアクションを指定することができます。 条件とは例えば以下のようなものがあります プロセスが起動していなかったら 特定のプロセスのメモリの使用量が あるサイズを超えたら 特定のプロセスのCPUの使用率が 50%を超えている状態が 10分続いたら 特定のポートに接続できなくなったら など アクションには以下のような物があります 起動、再起動する アラートメールを送信する ユーザスクリプトを実行する など これらを組み合わせて、プロセスの監視を行います。とくにユーザが作成したプログラムの監視などに効果を発揮します。インストールは RedHat系なら yum install monit で入ります。(CentOSや商用のRedHatはrpmforgeをリポジトリとして追加する必要があります) 主な設定ファ

  • ウノウラボ Unoh Labs: Apache MPM の基礎をしっかりと理解しよう!

    naoya です。最近、とうとう花粉症の季節に入ったので、生まれて初めて空気清浄機を購入しました。 さて、今日は Apache HTTP サーバの MPM (Multi Processing Module) について解説したいと思います。普段、ウェブサーバを構築するとき、Apache HTTP サーバを使うことが多いと思いますが、Apache HTTP サーバを使う上で MPM について理解しておくことは大事です。 この MPM ですが、Apache HTTP サーバではリクエストを処理する部分のことをさします。MPM は、Apache HTTP サーバ 2.0 系から採用されています。Apache HTTP サーバの MPM には、次の種類があります。 prefork worker perchild winnt それぞれの MPM について解説します。まずは、一番代表的な prefork

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: Webデザインの「カン」を養うためにしたら面白いかもしれないこと

    こんにちは。yamazakiです。今回はちょっと趣向を変えて、技術や手法ではなくて、デザイナとしての「カン」を養うために個人的にやっていること、やったらいいと思うことを簡単にまとめてみました。 左利きになったつもりで、左手をメインに使う生活をしてみる 例えば駅の改札口で、切符を入れるところはなぜあの位置にあるのか、自動販売機の硬貨投入口はなぜあの位置なのか。カメラのボタンの位置はなぜあの位置なのか。普段何気なく使っているものにもやはり「そうしたほうがよい理由」が潜んでいます。その「理由」を発見する上では、マイノリティの立場になってみると面白いです(海外に行くと逆に日のことがよくわかる、というのと同じようなものかもしれません) というわけで、簡単なところで、左利きになったつもりになって行動をしてみると色々な発見、気づきがあります。 何かを買ったら取扱説明書を見ずにどこまで使いこなせるか試

  • ウノウラボ Unoh Labs: Emacsを自分で拡張する際のTips

    ウノウでは少数派なEmacsユーザのbokkoです。 今回は自分でEmacsLisp(以下、elisp)を書いてEmacsを拡張する際のTipsについて紹介します。 拡張する際に気に留めておくこと Emacsを拡張する上で覚えておくべきなのはEmacs上で行える対話的な動作は「M-x 関数名」で実現できるということです。例えば、C-bはカーソルを1文字分左へ戻しますが、これは「M-x backward-char」とタイプすることと同じです。もしC-bが押しにくい(多分私だけです)のであれば、以下のようなelispを評価してキーバインドを変更することができます。 (global-set-key "\C-l" 'backward-char) Emacsではこのようなキーバインドに限らず、あらゆる操作をelispを使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: Linuxをネットワーク経由で自動インストールする方法(後編)

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: Linuxをネットワーク経由で自動インストールする方法(後編)
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • ウノウラボ Unoh Labs: jQueryのパフォーマンス最適化に関するTips

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: jQueryのパフォーマンス最適化に関するTips
  • ウノウラボ Unoh Labs: 携帯サイトとクローラ

    harukiです。 ケータイユーザも検索エンジンから来るユーザも増えています。 そのため、携帯サイトも検索エンジンのクローラへ対応する必要があります。 ・Mobile Link Discoveryの記述を追加する PC用のページのheadタグ内に <link rel="alternate" media="handheld" href="(ケータイURL)" /> の記述を追加するだけです。 Mobile Link Discoveryに対応しているサイトでは、ケータイからのアクセス時に直接アクセスしてもらえるようになります。 Mobile Link Discovery 仕様 http://www.sixapart.jp/docs/tech/mobile_link_discovery_ja.html 検索エンジンでは、Googleモバイルのgoogle mobile proxy http

  • ウノウラボ Unoh Labs: Rubyでネットワークサーバを書く

    尾藤正人(a.k.a BTO)です 先日公開したブラウザだけでネットワーク対戦ゲームができるサイト「プラッシュ」では、 フラッシュとネットワーク通信を行う専用のXMLSocketサーバを開発しました。 このXMLSocketサーバはrubyで書かれています。 LLでデーモンを書く需要が、それほどあるとは思えませんが、デーモンを書く際に気をつけた点、工夫した点をまとめてみたいと思います。 なぜrubyを選んだのか rubyを選んだのには理由は2つあります。 Railsを採用した LLで早く開発をしたかった 僕も昨今のRailsブームにのって個人的にRailsを使い始めていました。 プラッシュは完全に新規プロジェクトで環境を選択する事ができたので、迷わずRailsを選択しました。 では、なぜCのようなコンパイル言語で書かなかったのか。 速く動くものを開発するよりも、早く開発をしたかったからです

  • ウノウラボ Unoh Labs: 正規表現の勉強法

    bokkoです。 テキストの整形処理を行う上で正規表現は非常に重要です。正規表現なしでテキストの整形処理をするくらいなら自分で正規表現ライブラリを書いてやるという人がいるのかどうかは知りませんが、実際、相当大規模なWebソフトウェアのプロジェクトならそっちの方が早いかもしれません。なんだか自分で書いてて何が言いたいのかわからないような文章になってしまいましたが、私が言いたいのは正規表現はそれくらい強力で、習得して使う価値があるということです。 ただ、正規表現にはじめて触れる場合、非常にとっつきにくく思う方もいると思います。私も最初、意味のわからない文字の羅列に圧倒されたような気がします。 このように最初の段階でとっつきづらく思ってしまうのは大抵慣れの問題なので、とりあえず、正規表現を使ったプログラムでも書いてみるのが一番の近道です。何かしらのテキストを整形するというのがいい題材ですが、私が

  • ウノウラボ Unoh Labs: 「サーバサイドCSS」という選択

    miyakeです。突然ですが、CSSって書くの面倒ですよね。何らかのプログラミング言語を知っている人間から見ると、CSSというのは言語としてはかなり貧弱です。 もちろんCSSはプログラミング言語では無いので、それを貧弱だと言われてもCSSもいい迷惑かも知れません。でも、 div#content { ~ } div#content div.entry { ~ } div#content div.entry p { ~ } div#content div.entry ul { ~ } こういう大したことをしていないのに、コードがどんどん長くなっていくのを見ると、もう少し何とかならないものかと思ってしまいます。 コピペするにしても、 コピー元にカーソルを移動 範囲選択してコピー コピー先にカーソルを移動 ペースト という操作が必要になります。数が増えてくるとコピペのミスも発生しかねませんし、id