Home > 未分類 Archive

未分類 Archive

「お泊まりごろごろgeek in twitterアプリ」に行ってきた

いまさら報告。
コンドミニアムに泊まってみんなでtwitterアプリを作ろう。
なる趣旨のイベントに行ってきました。

どんなことしかというと、下のがだいたいの流れです
◆9時に東京駅集合

◆車レンタルしてコンドミニアム(千葉県南房総市白浜)に出発

◆車内からでもあいのりという形でネットをする。雑談でSencha TouchやらTwitter関連の話をする。
途中アクアライン入り口でのメロンパンにテンションマックス。

◆コンドミニアム到着。荷物をおいてお昼に出掛ける。そこで今回のイベントの趣旨を聞きつつゴールを決める。
今回の趣旨は「Twitter APIを利用して、みんなでアイデアをだして、Webアプリを作成しよう」おおまかにこんな感じ。
30分くらいブレインストーミングをして作成するアプリを決めた。
別に目的ある人は、これに参加しなくて自分の作成したいものを作るのもあり(これ自分。協調性ない?汗)。

◆2時くらいから7時くらいまでガリガリプログラミング。得意な分野でわかれたような気がする。
デザイン出来る人はコーディング、JS得意な人はフロントまわり、その他、みたいな。
自分は作業BGMききながらプログラミング。
合宿さいこーと思ったひととき。

◆7時くらいになったら夕ごはん。このくらいになるとだいぶ形になってきた。
正直一日で完成できるくらいのゴールにしたのがよかったと思う。
こんだては主催者の方が野菜たっぷりカレーを作ってくれました。
ほんとありがとう。おいしかったです。というか家みたいな感じでほんとよかったです。
合宿さいこーと思ったひととき。

◆夕ごはん食べ終わって引き続き作業。
ごろごろしながら作業してなんとなく完成迎える。
これ。http://measure.nextfun.asia/
11時くらいまで。そっからお風呂入ったり、布団敷いたりでその日は終了。

◆朝。朝ごはんも主催者の方が作ってくれてみんなでおいしくほおばる。
ありがとう。
10時(だったかな?)前にはこのコンドミニアム出なきゃいけなかったので、
出発。帰路。

◆おわり。
ではなく、なんなとなく時間もあるから千葉のドイツ村に行った。
ビール飲みーの、芝そりーの、ゲーセンやりーの遊ぶ。
これでおわり。

所感:
かなり楽しかったです。
開発合宿は今まで一回も行ったことはないけど、こんなアットホームを感じる合宿はめずらしいと思います。
開発合宿に行く機会があるならこれからも行ってみようと思える経験になりました。
合宿に行った皆様ありがとうございました。

なおなお、2010/10/02に開催されるPHP Matsuriに行きます。
これも日にちをまたいで行われるイベントです。興味ある方はぜひ。

ではでは。

自作サーバカンファレンスに行きました

自作サーバカンファレンスを楽天で開催しました-楽天株式会社 開発部よしおかひろたか

PCも組み立てたことがない私がかなり場違いな場所に行ってきました。

所感は、サーバに関する運用コストを下げる戦略としてサーバを自作する方法があることを知った。あるプレゼンターの会社では、サーバを作成するにあたって総務だか経理だかの女性でもサーバを自作できるほどにサーバ知識リテラシーを上げている。自作サーバをすることによりコスト削減の面と教育の面で有効であることに気づかせてくれた。自社ひいては自分もぜひ作っていきたい。

実際、話の内容は初めて聞くことばかりでした。

サーバ一台あたりの電気使用量は0.7Aから0.8Aだとか。
サーバ一台あたりの電気代がおよそ1833円だとか
電気容量の増設機器は「キュービクル」だとか。

チームラボのサーバ専用に賃貸をかりてサグールハウスと命名する体験談話は、そういうことやってみたいなと思わせるほど楽しいものでした。

自作○○したいですね。

他サイト
はてななどの各社担当者が自作サーバーのノウハウを紹介

ではでは

人生いろいろ、お世話になったサイトいろいろ

  • PHP XMLのパース処理
  • –alldepsオプションを付けてインストールするとこれらが依存しているパッケージも一緒にインストールしてくれる

  • 供給された iPhone OS デバイスが接続されていません
  • オーガナイザーを開いてiPhoneを再起動

  • objective-c 置換処理
  • NSString *hoge = @”日本橋”;
    NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@",[hoge stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

  • amazonの認証が必要になるにつれて[Ruby on Rails] amazon-ecs が Amazon Product Advertising API の署名認証に対応していること
  • require ‘amazon/ecs’
    Amazon::Ecs.debug = true
    Amazon::Ecs.options = {
    :aWS_access_key_id => “自分のアクセスキー”,
    :associate_tag => “自分のアソシエイトID”, #省略可
    :country => :jp,
    :aWS_secret_key => “自分の秘密キー” #←追加
    }

  • UNIX系コマンドで役に立ちそうなサイト
  • # /usr/sbin/usermod -G pppusers lucky

    usermod -G グループ名 ユーザー名

    これでグループ「pppusers」にユーザー「lucky」が追加されました。ここで、オプションの”-G”は大文字にすることを間違えないようにしましょう。小文字を使用して”-g”とすると、プライマリグループを変更してしまいます。プライマリグループとは、ユーザーに関して一番優先されるグループです。あるユーザーがファイルを作成すると、プライマリグループ名でファイルが作成されます。
    それでは実際にどのファイルが編集されたか見てみましょう。

    /etc/group

    xfs:x:128:
    named:x:25:
    console:x:31:
    pppusers:x:44:lucky
    popusers:x:45:

    このように追加したいグループ名の最後にユーザー名が追加されます。

  • gemのインストール済みのパッケージを更新するときにお世話になりましたRuby on Railsとりあえず、Selenium 使用環境の構築まで。
  • Webのバグを燃やしまくるFirebugと、そのアドオン7選

WISH2009に行ってきました。

WISH2009が開催されました。
WISH2009
イベントの趣旨は未来に担うであろうWebの技術・サービスをみんなでシェアしようというものみたいです。

何か情熱を捧げられる技術なり、参考になる発想がないかなとけっこう期待して行ってきました〜。

いや、熱いプレゼンに出会えました。

「Webで日本を元気にする」

そんなメッセージがビシビシ伝わってくるプレゼンを見ることができました。
100shiki運営者の田口元さんのプレゼンです。めちゃめちゃ有名ですよね。

内容は1)彼の新サービスの紹介と2)そのサービスを作成した経緯・目的
3)そのサービスから波及してほしい思いと、その思いを開発者のみんなが実現する方法をブログの方で公開する、というものでした。

まず、新サービスはAction Padという名前です。まだ公開していないらしく、いつ公開するかは言っておられませんでした。
このサービスはどういうものかというと、会議で発生したタスクの管理ツールでしょう。しかしだたのツールではなく、その管理方法のひな形を、日本の会議のデファクトスタンダードにして日本の会議の形を変えていこうという、熱い思いがありました。
さらに、田口さんがAction Padを開発したように、日本全国にいる開発者のみなさんも、自分で開発した成果物から(なのか?)課金する先例を自分がこれからブログで公開するので参考にしてほしいというものでした。

Webの未来を活性化させるアクションだと素直に感じました。これはもう彼のブログをいままで以上にチェックですね。

彼だけでなく、プレゼンターの内容とてもすばらしいものでした。

こちらのブログに今回のイベントの詳細がかなり詳しく載っているので、もっと知りたい方はそちらへ。

特に自分が気になり、今後の動向をチェックしていこうと思ったのが、Xtelです。
もともと知ってはいたのですが、やっぱり要チェックですね。

ではでは

超初級者から脱出するための正規表現 基礎項目15

  • 大括弧の先頭にキャレット文字(^)を付ける。
  • →jの次に母音以外の文字を何か1つ挟んでneが続いているパターンなら一致

    j[^aeiou]ne

  • [[:alnum:]]は[a-zA-Z0-9]と同義
  • [[:digit:]]は[0-9]と同義
  • ピリオド記号(.)1つが、任意の1文字に一致
  • 大括弧記号で挟まれていない場所で、キャレット記号(^)が使われていた場合、行頭に一致させるという意味。数字で始まっている行を探す場合は^[[:digit:]]
  • ドル記号($)は、行末に一致させるという意味
  • 空行に一致させたいなら^$
  • 疑問視符号(?)を付けると、直前にパターンがあてもなくてもよいことを意味し、なおかつ、最大でも1つしか現れてはいけない
  • アスタリスク記号(*)を付けると、直前に書いたパターンが、なくてもよいし、逆に、何回も繰り返してもよい
  • プラス記号(+)を付けると、直前に書いたパターンが、最低1つはなくてはならず、なおかつ、何回繰り返して現れてもよい
  • {数}という式を付けると、直前に書いたパターンが、きっかり指定した「数」の回数、現れなければならないことを示す
  • ちょうと5個の数字が続いた後、大文字の「M」が現れる
  • [[:digit:]]{5}M

  • 大文字のJから始まり、小文字が何個でも続き、最後にピリオドで終わっている場合に一致
  • J[[:lower:]]*¥.

  • rootという単語の後ろに、正規表現の.*というパターンを用いて、任意の文字が0個以上続き、最後にJanで終わっている行を見つける
  • $ ls -l | grep “root.*Jan”

  • 縦記号(|)でどちらのパターンでもよい
  • $ grep “POST.*(Safari|Firefox)” access_log

超初級者から脱出するためのUNIXコマンド10

所有ユーザ変更

$ chown -R user mydir

所有ユーザ、所有グループ変更

$ chown -R user.user_group ./

シンボリックリンク

$ ls -s ~/var/www/htdocs/upload_images /raid/images

外部サーバにコピー

$ scp abc.tar.gz ***.com:.
The authenticity of host ‘***.com (**.**.228.248)’ can’t be established.
RSA key fingerprint is 55:68:58:54:da:2e:80:27:9c:5*********.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘***.com,**.**.228.248′ (RSA) to the list of known hosts.
***@***.com’s password:
abc.tar.gz 100% 557KB 556.9KB/s 00:00

SSH接続

$ ssh ***(ユーザ名)@***.com
***(ユーザ名)@***.com’s password:

tarコマンド 第一引数がどこに何の名前で出力されるか指定。第二引数に圧縮するものの指定

$ tar zcvf ~/Desktop/FukuriCalc.tar.gz FukuriCalc
-c :アーカイブを作成
-f :アーカイブの名前を指定
-v :処理過程を出力
-z :gzipで圧縮することを指示

アーカイブを解凍

$ tar -zxvf ***.tar.gz
-x :アーカイブからファイルやディレクトリを取り出す

LISTEN状態のポートを調べる

$ netstat -an

ディスクの空き容量

$ df -h

一度に複数のディレクトリを作成

$ mkdir -p spy/{ch{01, 02, 03, 04, 05 ,intro, toc, index, bio}}
$ ls -F spy
ch01/ ch02/ ch03/ ch04/ ch05/ chbio/ chindex/ chintro/ chtoc/

ある単語を含んでいないファイルを探し出す

$ grep -lv ある単語 *
-l :パターンと一致した行を含むファイル名だけを書き出す
-v :パターンと一致しない行を書き出す

指定に合致している行の前後1行ずつを行番号も付けて表示させる

$ grep -n -C1 ある単語 ディレクトリ
-n :パターンと一致した行と、行番号を書き出す
-C数 :一致した行の前後、「数」行分を書き出す

一致した行ではなく、一致した数の表示

$ grep -c “ある単語” あるファイル

ファイルの文字コードを調べる

nkf -guess ファイル名

UTF-8に変換し、別ファイルに保存

nkf -w file1 > file2

MAC 開発環境構築

環境構築していきますー。

参考にさせて頂いたサイトがあります。
こういう簡潔な説明を見ると惚れ惚れします。有難うございました。
http://creazy.net/2009/05/macbook_setup5_development.html
http://www.banwanko.net/blog/mac_amp

本当この二つのサイトで事足ります。

ただ自分の環境では違った箇所が一つ。

PHPの設定ファイルをサンプルからコピーして作成
$ cd /opt/local/etc
$ sudo cp php.ini-recommended php.ini

/opt/local/etcの直下でコピー作業してとなってますが、私の環境だと/etc/local/etc/php5/の直下で作業しました。

あと、phpMyAdminもmysqlのパスワードを設定しないと、ログインできませんでした。

その他コマンドでお世話になりそうなサイトです。
http://d.hatena.ne.jp/satotech/20080831/1220180903
(09/08/24追記)
Ruby on Rails環境構築 on Mac

紹介エントリになってしまいました。

ではでは。

Getting Real

調べ物の途中ですばらしいブログを発見しました。
つくるぶガイド
技術ネタを主にエントリにしていますが、その中で、railsアプリのチュートリアル的なエントリを複数回に分けて送っています。また技術ネタだけでなく、合間に小ネタもはさんでくれるので楽しく読めます。
もう終わってしまっているので残念ですが、media techonology labのリンクがあるのでリクルート内の技術者さん達がやったブログなのでしょう。
彼らの今のブログは購読しています。

一つのエントリの中にGetting Real(日本語版はこちら)というRailsを作った人等の考えが紹介されていました。とてもタメになりそうな文章です。まだ読んでないんですけど><。

こういった情報を発信できる人になりたいですな。

しっぽりしっぽり。

ではでは

Ubuntu SVN環境さわり その2

Subversionをネットワークで利用する

  • svnserve
  • svnserveはSubversion単体で動作させることのできるサーバです。TCP/IP接続でSubversion独自のプロトコルを使用します。社内インフラで利用する程度。

    svnserveの設定
    リポジトリの中にconfディレクトリがあります。その中のsvnserve.confファイルに設定します

    $ vim conf/svnserve.conf
    [general]
    anon-access = none
    auth-access = write
    passwrd-db = passwd_file

    anon-accessは匿名アクセスユーザを、auth-accessは認証ユーザを表します。それぞれにアクセス許可を表します。noneは読み書き不可の意味。passwd-dbは絶対パス、相対パスでパスワードが記述されているファイル名を記述します。

    [users]
    username = password
    hoge = fuga

    svnserveが使用するポート3690が/etc/servicesに記述されていない場合は、下記を/etc/servicesに追加します。

    $ vim /etc/services
    svn 3690/tcp
    svn 3690/udp

    またアクセスしたときだけ起動するようにxinetdに設定。
    /etc/xinet.d/svnを作成

    $ vim /etc/sinet.d/svn
    service svn
    {
    desable = no
    socket_type = stream
    wait = no
    user = svnadmin
    server = /usr/bin/svnserve
    server_args = -i -r /var/lib/svn
    }
    $ /etc/init.d/xinetd restart

    svnserveへのアクセス

    $ svn co svn://*****(IP address)/repos/trunk workcopy

  • svnserve+sshの設定
  • $ /usr/sbin/usermod -G svnuser hoge

    hogeのumaskが002だと新たにリポジトリに作成したファイルを他のユーザが変更できなくなってしまうため、umaskを002に変更します。簡単な方法としては、.bashrcファイルの最後に以下の行を追加します。

    umask 002

    最後にリポジトリのパーミッションを変更します

    $ chmod 700 /var/lib/svn/repos
    $ chomod g+s repos/db

    svnserve+sshのリポジトリのアクセス

    svn co svn+ssh://hoge@****(IP address)/var/lib/svn/repos workcopy

    SSHの鍵のことはよく分かりません><。今後やらなければいけないことですな。意気込みを書いときます。何か。

  • Subversion+Apache
  • Apacheと連携すると、Apacheの持っているBasic認証やLDAP認証を利用できるようになります。またhttps通信も行うことが可能になります。
    詳しい設定は下記URLに載ってます。こんな詳しい情報を公開ありがとうございますー。
    http://wiki.lampetty.net/subversion.html

    $ apt-get install libapache2-svn

    $ vim /etc/apache2/httpd.conf

    DAV svn
    SVNPath /var/lib/svn/webapp/
    # Basic
    AuthType Basic
    AuthName “Authorization repository”
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user

    上記のAuthUserFileで指定したパスワードを設定します。

    # 最初はパスワードファイルを作成するために「-c」オプションが必要です。「-c」オプションの後にはパスワード情報を格納するためのファイルを指定します。「-b」オプションを指定した場合、コマンドラインからパスワードが設定できます。
    htpasswd -cb /etc/apache/.htpasswd hoge hogepasswd

    apacheが読み書きできるようにリポジトリのパーミッションを変更。

    $ chown -R useradmin.svnuser /var/lib/svn

    Subversion+Apacheのリポジトリへのアクセス
    書式: http://****(サーバ名)/svn-webapp

こんな感じですー。

参考図書
Subversionハンドブック (Handbookシリーズ)

ではでは。

Ubuntu SVN環境さわり その1

svn環境を設定したんで、再度設定するときのために書き留めておきますー。

下記サイトはすごく詳しく載ってましたのでリンク貼っときます。
http://wiki.lampetty.net/subversion.html

ではSubversionをインストールします

$ apt-get install subversion subversion-tools

Subversionを管理するユーザをsvnadminとして、Subversionを利用するグループをsvnuserとします。
リポジトリのディレクトリ/var/lib/svn/reposを用意し、グループsvnuserからアクセスできるようにします。

$ groupadd svnuser
# adduser -g = ユーザーの所属するイニシャル・グループを指定します。
$ adduser -g svnuser svnadmin
# ユーザーアカウント「hoge」を追加します。-d = ホームディレクトリ(-m = 自動作成)「/hoge」、-g = グループ「svnadmin」を指定します。
$ useradd -d /hoge -m -g svnuser hoge
$ cd /var/lib/
$ mkdir svn
$ chown -R svnadmin.svnuser svn

次にリポジトリを作成します

$ cd /var/lib/svn/
$ svnadmin create repos
$ cd repos/
$ ls
README.txt conf dav db format hoks loks

さらに、このSubversionで管理するディレクトリに対して、Subversionを利用するユーザグループに書き込み権限を与えます。(ここではhoge)

$ cd /var/lib/svn/
$ chmod -R 775 ./repos

svnコマンドでのディレクトリ作成、新規登録、コピー

# ディレクトリ作成
$ svn mkdir file:///var/lib/svn/repos/trunk -m “trunk create”
$ svn mkdir file:///var/lib/svn/repos/branches -m “branch create”
$ svn mkdir file:///var/lib/svn/repos/tags -m “tag create”
# 新規作成(カレントディレクトリをrepos以下にインポート)
$ svn import . file:///var/lib/svn/repos/trunk -m “initial import”
# コピー
$ svn checkout file:///var/lib/svn/repos/trunk trunk

参考図書
Subversionハンドブック (Handbookシリーズ)

その他、差分の表示、競合の編集、トランクからブランチにマージなどがマスターしたい作業です。
ちょっとした意気込みです。何か。

ではでは。

Home > 未分類 Archive

Search
Feeds
Meta

Return to page top