‘未分類’ カテゴリーのアーカイブ

イケテルEngineYard勉強会に参加してきました。

RBCによる主催イベント「イケテルEngine Yard勉強会」に参加してきました。
メインイベントは米EngineYard社のCEOであるJohn Dillon氏によるトーク。

開催時刻から、John氏が来られるまでの間はビジネス勉強会。お題は「ソフトウェア会社を作る。ただしエンジニアコミュニティとどう付き合って会社を育てていくか。」というもの。4班に別れて会社名、業務内容、エンジニアコミュニティとの付き合い方を議論し、模造紙に書きだしていき、最後に各班発表となりました。

で、なんでこういう内容だったかと言うと、Engine Yard社そのものがコミュニティとともに発展してきた会社からなのだと。で後半のJohn氏のトークが始まったのであります。抜粋すると

  • 製品を作って、それと半分近くのコストを掛けて営業マンセールス、マーケティングを行うといった従来のセールス手法は変わっていく。
  • Engine Yard社は売上の20%(間違ってたらごめんなさい)をコミュニティに投資している。
  • コミュニティへの投資、そしてそのコミュニティが製品・サービスを利用してくれる。
  • 当然オープンソースにもコミットしている(パッチの公開など)
  • 顧客にサービスを使ってもらうように営業するのではなく、サービスを使う手助けをする。

 

全てを弊社に適応できるものではないかもしれませんが、ききいってしまう内容でした。

サンブリッジのアレン氏の話は、ズバッと要約すると「シリコンバレーいけ」というものでした。日本でやってることなんて世界の誰も見てない。残念ながらそうなんですよね。

勉強会後は、交流会の場まで用意してもらいました、感謝です。John氏に「普段どんな時間の使い方をしているのか」という質問投げかけるべく、チャンスを狙ってましたが、なんせ人気者ですので最後の最後で捕まえて質問投げた瞬間、ジ・エンドとなってしまいましたが、おかげで円陣の際にはJohn氏の隣をゲットするというある意味幸運さを発揮しました。まあ少しでも話せて良かったです。

スタッフの皆様本当にお疲れさまでした。

なんかすごくまとまってない文章ですが、お許しくださいませ。

Facebooktwitterlinkedintumblrmail

7/7(木)に初心者向け画像加工、HTML、CSS勉強会やります

今週、弊社デザイナーの田頭さんが初心者向けの画像加工と
HTML、CSSの勉強会を開催してくれます。

7/7(木)
14:00〜15:00 画像加工勉強会(初心者向け)
15:00〜16:00 HTML、CSS勉強会(初心者向け)

場所:(有)ランカードコム 大手町事務所
住所:〒852- 8127 長崎県長崎市大手1丁目2-2
TEL:095-801-8880

一般的な内容なので社外の方も希望がありましたら
受け入れOKです。場所が広くないので数人ですが。

ご希望の方は murabe@lancard.com まで連絡くださいませ。

Facebooktwitterlinkedintumblrmail

MacでPPTP(VPN)接続しつつ、通常の接続も行えるようにする方法

Mac OS X 10.5でPPTP接続する方法

MacでPPTP使ってVPN接続するようになって、いろいろと面倒だったことが解決して良かった。
と思っていたのですが、PPTPの方の優先度を上げないといけない場合は、通常の接続が駄目になってしまうようです。
VPN側にインターネットへの制限が掛かっていたりしたら、残念なことになります。
ローカルなネットワークにPPTPに繋ぎながら、それ以外は通常の経路で通信ということで下記にて解決しました。

方法としては、PPTPの優先度は通常のインターネット接続より下げておいて、特定のネットワークアクセスの場合のみPPTPインターフェースを使うようにしてあげればいいようです。VPNを接続した後、ターミナルで下記コマンドを実行すればOK。

sudo route -nv add -net 192.168.13 -interface ppp0

ただ毎回ターミナル上げるのは面倒臭いです。 ちょっと調べると、PPTPが開始するときに実行されるスクリプト(参考)があるじゃないですか。ということで

sudo vi /etc/ppp/ip-up

#!/bin/sh

if [ "$1" = "ppp0" ]; then
/sbin/route -nv add -net 192.168.13 -interface ppp0
/sbin/route -nv add -net 192.168.15 -interface ppp0
fi

のような感じで、route add するスクリプトを書きました。

sudo chmod Cheap Adobe Photoshop CS5 744 /etc/ppp/ip-up

するのをお忘れなく。

もっと楽、シンプルな方法があったら教えてください。

Facebooktwitterlinkedintumblrmail

行事

クリスマスもお正月も過ぎてしまって、いろいろと書くタイミングを逃していまいましたが、
改めて、今年もどうぞよろしくお願い致します。

行事といえば、今はランタンですね。

あまりこういった祭りには参加しないのですが、先週はちょっとお誘われしたので行ってみることに。
なんだかんだ初ランタンかな~

こういうのを間近で見ると、やっぱり感動しますね。

あとはランタン行った証拠みたいなのが欲しかったので、角煮まん買ってほくほくしてました。
まあいつでも買えるんですけどね。笑

あ、今年のバレンタインデーも、社長の奥様からお菓子(プリン)を頂いちゃいました!
ありがとうございます。

女性である私が毎年楽しみにしてます(笑 this

Facebooktwitterlinkedintumblrmail

OSC北海道、セミナー

今回、私はブースで留守番してたのでセミナーで前説やったりタイムキーパーやったりはできませんでしたが、写真ぐらいは撮っておきたい!撮っていきたい!

ということで、はじまる直前

セミナー佳境でもうすぐ終わりってところ

セミナーが終わり、ブースの片付けも終わって油断してる代表

正直、セミナーは人数が少なかったのですが、興味を持ってくださるかたはすごくディープで「やってよかったなぁ」って感じでした。

でもセミナーは寂しすぎたのでもうちょっと事前の宣伝とかがんばろうかな、と思いました。

Facebooktwitterlinkedintumblrmail

OSC北海道、来場者ふえてきました

顔を写さないようにしてるのでわかりにくいですが。

Facebooktwitterlinkedintumblrmail

CakePHP で debug.log にクエリを出力する(手抜き版)

シェル書いてる時とか Web でも Ajax のときとか

「画面にクエリだされても見えないし、困る〜」

ってときありますよね?

「つーか、なんで画面にだすんだ?ログファイルに出してくれればいいのに 」

とか思いません?

で、調べたらみなさんDBのドライバを拡張して対応されてるようです。
ですが、常にクエリをログに書いて欲しいわけでもないし、ドライバ拡張とか面倒。

クエリを画面にだしてるとこどうなってるのかなぁ、と思って調べたら

cake/libs/view/elements/sql_dump.ctp

にゴリゴリに書いてありました。

これマネしてapp_model.phpにでもメソッド作ればいいんじゃないかなーってことで、作りました。

    /**
     * 通常画面に表示されるログを取得してdebug.logに出力する。
     */
    function sqlToLog(){
        $db =& $this->getDataSource();
        if ($db->isInterfaceSupported('getLog')){
            $this->log($db->getLog(), LOG_DEBUG);
        }
    }

元のログ表示と違って明示的に呼び出すものなのでgetLogインターフェースの確認とか要らない気がしますが、一応。

このメソッドを実行すると debug.log にそれまでに実行されたクエリやら付帯情報(画面に表示されてますよね)が書き出されます。注意点として、画面に出すデータを横取りしているのでログに書き出されたものは画面には表示されません。

配列を print_r で出力した形式なので見やすくはないですが、まぁ、十分かな。

Facebooktwitterlinkedintumblrmail

VB.NETのMy.Application.Logを使う

My.Application.Logを使用してトレースする、ログに書き込む
で詳しく説明されているのでメモ程度で。

まず、My.Application.Logを使うためにアプリケーション構成ファイルであるapp.configを編集します。(ない場合は[プロジェクト] > [新しい項目の追加]からアプリケーション構成ファイルを選択)
app.configがプロジェクトに追加された時点でMy.Application.Logに関する記述があるので楽です。



    
        
            
            
                
                    
                    
                    
                
            
        
        
            
        
        
            
            
            
        
    

しかし、このまま何も触らずにプログラム内で

My.Application.Log.WriteEntry("コントロールの初期化")

'Try~Catch内などで
My.Application.Log.WriteException(New Exception("エラー!"))

とするだけでも

DefaultSource   Information 0   コントロールの初期化
DefaultSource   Error   2   エラー!

と出力され使うことができます。

ちなみに出力先のデフォルトは
ユーザーのApplication Dataフォルダ\CompanyName\ProductName\ProductVersion\ProductName.log
ですが、Vista以降はフォルダ構成が変わっているので
ユーザーのAppData\Roaming\CompanyName\ProductName\ProductVersion\ProductName.log
になっています。

Facebooktwitterlinkedintumblrmail

ぼっちBazaar

5/21(土)、『NAGASAKI-IT hands-on Spring 2011』に参加して、ライトニングトークしてきました。

弊社の吉田くんが

「ひとりぎっと 〜ひとりで使うバージョン管理システム導入編〜」

というGitのハンズオンをやるとのことだったので、それにからめて

「ぼっちBazaar 〜ぼっちを感じるバージョン管理〜」

というわけです。

今回、HTML Slidyでスライドを作りましたのでそのまま貼り付けます(slideクラスのdivには枠を付けました)。

目論見としてはスライド自体をBazaarでバージョン管理して編集しながら実演するつもりだったのですが、残念!

時間がたりませんでした(5分枠で何しようとしてるんだという意見多数)。

ぼっちBazaar

〜 ぼっちを感じるバージョン管理 〜

村部淳也(@murave)

3大分散バージョン管理システムといえば


  • Git
  • Mercurial(hg)
  • Bazaar(bzr)

 

異論はありますまい。

ぼっち


数年前からBazaarを使っていますが

他に使ってる人に会ったことがない。

 

何故だろう。

選択理由


  • 日本語ファイル名に強い(Subversion程度には)
    • 日本語ディレクトリで変な動きをしたりはします。残念ながら。
  • Bazaar Explorer の存在

弱点


ともかく日本語の情報が少なかった

 

ドキュメントは日本語化されてるんですがね

弱点解消


しかし、今年になって

「Bazaarでござ~る。猿でもできる分散バージョン管理“超”入門」

というすばらしい記事が!

さぁ「Bazaarでござ〜る」で検索!

エテ公め!


と言いたい所だけど某社のサルの方が上にでてくるのだった。

 

弱えぇ orz

 

「Bazaarでござ〜る バージョン管理」とでも検索してください

最後に、一言


ぼっちになりたくなければGitを使っとくといいと思います。

 

以上。

時間まで適当に実演


Bazaar Explorer 最高

Bazaar Explorer を使うのがお勧め(当然、コマンドラインでも使えますが)。

  • Mac や Linux ならターミナルから起動 
    • bzr explorer
  • Windowsならメニューやアイコンから起動

    管理の基本

    • 共有リポジトリ作成 init-repo (必須ではありません) 
      • 複数のブランチで効率的にディスクを利用させるためのディレクトリを共有リポジトリという。
    • ディレクトリのブランチ化 init 
      • 管理の基本となるディレクトリをブランチという。
    • ブランチ作成 branch
    • 他のブランチを取得 pull (merge) 
      • 他のブランチの変更を取得する場合も使用します。
      • 作業後に他のブランチの変更を取得する場合はmergeを使用する。
    • 作業ブランチに反映 commit
    • 他のブランチに反映 push

      独特(?)なしくみ

      • チェックアウト(バインド・ブランチ) 
        • 他のブランチ(以降、親と呼びます)にバインドされたブランチをチェックアウトという(たぶん)。
        • コミット(commit)すると親にも反映されたり。
        • さらにSubversionっぽくなる感じ。
           

          おわり

      Facebooktwitterlinkedintumblrmail

      CakePHP でシェルを書くときに最初にやったこと(親クラス作り)

      CakePHP にはデバッグで便利な pr() って関数があります。
      出力の前後に pre タグ を付けてくれる print_r() のラッパーです。当然Web用。

      シェルにも欲しいです。てなわけで作りました。

          function pr($obj){
              $pr = print_r($obj, true);
              $this->out($pr);
          }
      

      簡単。こんな感じで使います。

          $popopopooon = array('こんにちわ' => 'こんにちワン', 'ありがとう' => 'ありがとウサギ');
          $this->pr($popopopooon);
      

      このようにコンソールに出力されます。

       Array
      (
          [こんにちわ] => こんにちワン
          [ありがとう] => ありがとウサギ
      )
      

      print_r() は第2引数に true を渡すと出力せずに結果を返してくれるのでオブジェクト構造をログに出したりするときにも便利です。
       
      でもコレ、全部のシェルに書きたくない。

      どこに集約したらいいのか悩んだのですが、実際に実行するシェルの親クラスを作成して継承することにしました。継承の段数が増えるのはあまりすきじゃないのですが、Shellクラス をそのまま継承するよりも1段増やしといたほうがいいかな?って気もしたので。

      appbase.php

      class AppbaseShell extends Shell {
      
          function initialize() {
              parent::initialize();
          }
      
          function startup() {
              //ウェルカムメッセージを消すためにオーバーライド
          }
      
          /**
           * デバッグ用
           */
          protected function pr($obj){
              $pr = print_r($obj, true);
              $this->out($pr);
          }
      }
      

      ついでに startup() をオーバライドしてウェルカムメッセージを消しました。
      こういう事やるには1段あいだに入ってるほうがいいですね。

      実際に起動するシェルは AppbaseShellクラス を継承します。

      aisatu.php

      App::import('Shell', 'Appbase');
      class AisatuShell extends AppbaseShell {
          function initialize() {
              parent::initialize();
          }
      
          function main() {
              $popopopooon = array('こんにちわ' => 'こんにちワン', 'ありがとう' => 'ありがとウサギ');
              $this->pr($popopopooon);
          }
      }
      

      サンプルコードは今テキトーに書いたのでちょっとあやしいかも。

      最後にオチを。

      このprメソッド、実際に作ったんですが普通に print_r() すればコンソールに出力されるんですよねー。「そりゃそうだ」と後で気づいたわけで。

      CakePHP のシェルでは $this->out() でコンソールへの出力をすることになってますが、開発中にしか使わないし print_r() をそのまま使えばいいかなと。親クラスは機能の集約に役立ってます。

      Facebooktwitterlinkedintumblrmail