28歳最初のエントリー。
本当はみんなありがとうって書こうと思ってたんだけどやっぱやめました。
色々考えた結果、祝ってくれた人や特にプレゼントを送ってくれた人は
「上辺だけの言葉」
(FBとかmixiのおめでとうコメントとかを否定するわけじゃなくてそれは凄く嬉しかったのです)
を求めてるわけじゃないよなと思いまして。
具体的言うと僕は時間やお金を投資して頂いて祝ってもらったわけですからやっぱ成果と言うか恩返しをしないと。
つまりスピーカーとしてのアウトプットの品質向上やサービスの提供だったりムードメーカーだったり。
そういうwinwinな関係を目指して頑張ることが自分の出来ることだと思ったのでこの1年も精進していきたいと思います。
でこれだけだと寂しいのでこの10年を振り返ってみようかと思うとアレやコレや思うところがあってまとめれませんでした。
そんな中下記の増田をTwitterで見かけて思うところがあったのでそれを。
公務員だけど後輩が辞めたんだけどなんかいろいろ考えた。
是非、社会人として現状に不満がある人は読んでほしいです。
自分ならどうするか...と。
簡単にいうと、
・現状に不満があるけど改善が不可能で絶望して、割り切ろうとしたけど我慢できずに辞めた後輩
・同じく不満があるけど諦めて、受け入れてその中で折り合いを付けながら働いてる先輩
のお話。
解釈違うわボケェってツッコミは随時お待ちしておりますw
で僕は高卒後、1年明けて警察官を5年半ぐらい勤めたので近い環境の体験者としてすっごい共感出来ました。
どちら側かと言えば両方に。
ここに書いてあることは悲しいけど結構マジな話で地方公務員の一部は民間のブラック会社に負けてないと思います。
僕の10代は厨二病拗らせて腐ったミカンなヤツだったので新人公務員の頃はそんな環境によく絶望してました。
蛇足ですがここの絶望したってのは何もかもが嫌になって真っ暗になるというよりも自分の世界の外の全てが眩しくて自分が無価値見えるというか存在意義が見えなくなってました。
そもそも学生時代は曖昧な評価で結果だけでは認められない環境が嫌で逃げ出したクズがこんなガチガチな日本人な職場に合うわけもなく。
最初の2~3年はホント絶望してて3秒に一回は辞めたいって思ってました。
そんな感情では当然ストレスも凄く、体調崩したりお肌が荒れたり。
今思えば鬱だったんじゃねーかなと思うこともありました。
それでも当時は前述のとおり、生きるには働かなきゃいけない現実と周囲の「公務員なんて羨ましい」という目に縛られて転職も考えれず八方塞がりでした。
というか就活とかしたことないから転職とかどうすればいいのかわかんなかったんですよ当時。
そうなるとまぁこの後輩みたいになるわけです。
ただまぁ僕の場合、能力が伴ってなかったのでやることやれて無かったですがw
そうなったときに周囲は「自分に火の粉が掛るんじゃないかと不安になって相談に乗ってくれる」のですがそんな人に本音なんて話せるわけもなく。
そのうち折り合いをつけていくのでしょうけど厨二病の僕は何一つ変わりませんでした。
そんな自分が先輩のように折り合いをつけるきっかけは「職場のメンバーの変化」でした。
それまで退職前のロートルに囲まれ、勉強と名の下に雑務を投げられ、仕事になんの意義も見出せていなかった状態。
そこから
出来る係長と出来る先輩と出来る同時拝命(同期の大卒)の平均20代中盤くらいのチーム
というまぁ今思っても奇跡みたいなことになったわけです。
この時の経験は今では本当に宝物で
・モチベーションの高いチームに入ると自然と自分も引っ張られてモチベーションが上がる
・高いスキルの人と仕事をすることがもっとも成長への近道
・成長を実感出来ると仕事は楽しい
※結果が出て認められる(褒められる)ってすっごい大事
・仕事が楽しいと(成功体験を得ると)余暇の使い方が変わる
この辺のことを身を持って体感しました。
特に自分の成長する方法と成果の出し方がわかってくると自然と向上心が湧いてきて良いリズムが生まれます。
こんな奇跡体験がなかったら今も腐ったみかんですw
ではなぜそんな楽しい仕事を辞めたのかと言われると警察と言う組織は半年単位で良くも悪くチームが変わります。
紹介したブログにもあります通り「出来る人はより重要なポストに引き込まれる」わけでお世話になった人たちは全て異動。
また振り出しに戻るわけです。
(まぁ本来はその姿が大半なので当たり前と言えば当たり前なのですが)
ただ前回と違うのは絶望から抜けだした状態なので折り合いを付けながら仕事をこなせるようになってたことです。
しかしながらそこから異動もしたりしながら過ごすと
「少しずつ周囲の低いモチベーションに引っ張られてる自分」
に気づいてきました。
モチベーションとか人間性って周囲の人に引っ張られてお互いに影響し合うんですよ。
そう感じた頃は嫁が居て子供が居る23歳だったわけですが折り合いをつけて働くことに慣れてしまうと今度はそこから出るリスクが目についてしまいます。
新卒1年目の周囲の声を聴くとここの先輩が言うとおり、大手と公務員に大きな差は感じませんでした。
こうなると辞めない理由なんていくらでも見えてきて、この先輩と同様に周囲で辞めていく人を見る度に自問自答をしながら自分を納得させる日々でした。
それでも嫁が背中を押してくれたり、色んなきっかけの末退職したのがリーマン・ショックの1週間前。
あのハローワークの光景はホントに地獄絵図でしたよw
と閑話休題。
話が長くなりましたが
後輩ちゃんは外資系か規模の小さい職場で権限を持たせて貰えるなら仕事が楽しめる
んじゃないかなと思います。
自分は英語力が0なんで外資系は無理なんですが色々仕事した末、今は20人くらいの規模の会社で楽しくやってます。
挑戦したり、変化を伴うことは会社であれば少なからず抵抗があり、規模が大きくなればなるほどハードルは上がります。
逆に規模が小さければチャンスは多いですが収入だったり労働時間だったりの波は大きくなると思います。
その辺のバランスを自分のスキルだったりライフプランだったりと照らし合わして取っていくしかないのかなぁと。
それぞれの良し悪しがあるので自分を振り返ってみて「自分の居場所がここじゃない」って思ったなら転職に動き出した方がいいかなと思います。
仕事が人生の全てじゃないんだけど折角長い時間を仕事に費やすんだから楽しい場所を求めてもいいんじゃないかなと思います。
通勤時間で書いたのでまとまってないけどこのへんでノシ
2012年10月30日火曜日
2012年8月4日土曜日
変態アドベントカレンダー in Summer : ATNDの17日目
この記事は変態アドベントカレンダー in Summer : ATNDの17日目です。
昨日の記事はdproject21さんの
Titanium mobile の Alloyでエロい(?)アプリをつくる。
でした。
皆さん日に日に変態度が増してますね!
さて本日はPostgreSQL 9.2の新機能について触れます。
ホントは変態チックにSQLで因数分解を解いたりとエグい事したいんですけどコレ見てるみんなも変態だからそんなことは知ってるよね!
なのでナゥなヤングにバカウケの最新情報をお送りします。
Q「9.2って何が追加になったの?」
A「色々追加になったから公式ドキュメント嫁」
ってなわけみんな話題になってるレンジ関数とかindex-only scanとかは知ってそうだから別のところを攻めてみます。
個人的にはPostgreSQLの熱いのはJSON型、コレだね!!
前回はArray型とか紹介しましたがやっぱ最近の流行りはJSONだよね。
でJSON型はなにがいいかって?
どうせtext型に丸っと入れてるのと一緒なんでしょwっとか思った人。
違うんです!
ついでに9.1でも拡張すればJSON型を使えるみたいです
で実際の使い方ですが例えばArray型からJSON型にCASTして取り出す場合。
tagsに配列型でデータを入れてるとしましょう。
=> SELECT * FROM t;
id | name | tags
----+------+------------------
1 | パンピー | {従順,賢い}
2 | 廃人 | {自由}
3 | 変態 | {エロい,恐い,希少}
=> SELECT row_to_json(t) FROM t WHERE id = 3;
row_to_json
----------------------------------------------------
{"id":3,"name":"変態","tags":["エロい","恐い","希少"]}
↑↑↑JSONになって帰ってくる↑↑↑
となります。
どうだい?コレならphp標準で対応してるはずのJSONencodeがソースからコンパイルしてしまい、phpのバグでencode出来ないphp5.3.8でも大丈夫だろうぉ?
標準では行の結果をJSONに変換してくれる関数もあります。
当然、tableにJSON型を指定してinsert時に直接JSONを入れてやることもできます。
plv8jsを使えばJSONの中をwhereしたりINDEXを利用することもできるようです。
今後は日本語対応も含めて設計の幅が広がるので期待したいと思います。
9.3ではもっと関数が追加されるかな?
ということで現在はBETA版で正式版は年末ごろになると思われる9.2。
非常に基本性能も向上しておりますので可能でしたら環境のバージョンアップを是非検討してみてください。
昨日の記事はdproject21さんの
Titanium mobile の Alloyでエロい(?)アプリをつくる。
でした。
皆さん日に日に変態度が増してますね!
さて本日はPostgreSQL 9.2の新機能について触れます。
ホントは変態チックにSQLで因数分解を解いたりとエグい事したいんですけどコレ見てるみんなも変態だからそんなことは知ってるよね!
なのでナゥなヤングにバカウケの最新情報をお送りします。
Q「9.2って何が追加になったの?」
A「色々追加になったから公式ドキュメント嫁」
ってなわけみんな話題になってるレンジ関数とかindex-only scanとかは知ってそうだから別のところを攻めてみます。
個人的にはPostgreSQLの熱いのはJSON型、コレだね!!
前回はArray型とか紹介しましたがやっぱ最近の流行りはJSONだよね。
でJSON型はなにがいいかって?
どうせtext型に丸っと入れてるのと一緒なんでしょwっとか思った人。
違うんです!
ついでに9.1でも拡張すればJSON型を使えるみたいです
で実際の使い方ですが例えばArray型からJSON型にCASTして取り出す場合。
tagsに配列型でデータを入れてるとしましょう。
=> SELECT * FROM t;
id | name | tags
----+------+------------------
1 | パンピー | {従順,賢い}
2 | 廃人 | {自由}
3 | 変態 | {エロい,恐い,希少}
=> SELECT row_to_json(t) FROM t WHERE id = 3;
row_to_json
----------------------------------------------------
{"id":3,"name":"変態","tags":["エロい","恐い","希少"]}
↑↑↑JSONになって帰ってくる↑↑↑
となります。
どうだい?コレならphp標準で対応してるはずのJSONencodeがソースからコンパイルしてしまい、phpのバグでencode出来ないphp5.3.8でも大丈夫だろうぉ?
標準では行の結果をJSONに変換してくれる関数もあります。
当然、tableにJSON型を指定してinsert時に直接JSONを入れてやることもできます。
plv8jsを使えばJSONの中をwhereしたりINDEXを利用することもできるようです。
今後は日本語対応も含めて設計の幅が広がるので期待したいと思います。
9.3ではもっと関数が追加されるかな?
ということで現在はBETA版で正式版は年末ごろになると思われる9.2。
非常に基本性能も向上しておりますので可能でしたら環境のバージョンアップを是非検討してみてください。
2012年7月20日金曜日
変態アドベントカレンダー in Summer : ATNDの7日目
この記事は変態アドベントカレンダー in Summer : ATNDの7日目です。
たった一人で数万ステップを扱う変態プロジェクトを支えた技術
でした。
私は数万行もソースを読み書きとか経験ありませんので勉強になりました。
また他の方たちのように変態的なプログラミングスキルはありません。
ですので今日は最近一番勉強してるPostgreSQLの話書きます。
PostgreSQLと言えば高機能・高可用性から多くの実績があります。
コミュニティも活発でソフトウェアのバージョンアップも早く、また日本語ドキュメントも豊富。
(ここまで宣伝)
そんなPostgreSQLですが先日お邪魔した勉強会でこんな場面がありました。
という大変素晴らしい状況になった理由は
ursmさんの素晴らしい発表のおかげ(発表資料)です。
というわけで今日はPostgreSQLの変態的な素晴らしいところを少しだけお伝えしようと思います。
■データ型
ursmさんは配列型を取り上げており、素晴らしい反響でした。
参考までにデータ型の最新のドキュメントはこちら
ぱっと見ても色々データ型がありますね。
その中でも変態的なのは
・ 論理値データ型
・ 幾何データ型
・ ネットワークアドレスデータ型
あたりでしょうか。
というか複合型とか類似データ型とか変態的過ぎて私も勉強不足です(*´ω`*)
例えば幾何データ型を使うと位置情報の計算もスムーズ?に実装できます。
実際に私も使ったことがありますので参考までにどうぞ。
データ型に関しては使い方次第で凄く便利になるので是非。
■参照系
ursmさんは中間参照→LIKE '%hoge%'でもINDEXが有効になるpg_trgmのお話でした。
全文検索については9.1以降でも強化されており、ぜひ一度こちらのドキュメントを一読ください!!
そして私がオススメする参照はSQLのウインドウ関数。
MySQLを普段使ってる人はあまり馴染みがないかもしれません。
実際の使い方はこちらがわかりやすいですね。
要は行を集約せずに比較することができます。
例えば県別に並べたお店のデータを人気順に並べたい。
こういった場合は県でPARTITION BYして人気データのカラムでソートしてやれば出ます。
これは大変便利です。
以上のとおり、触りの部分ばかりでしたが機会があれば是非PostgreSQLを使ってみてください。
他にもPL/SQLであったり、レプリケーションであったりと取り上げたいところは多々あります。
ですが今日のところは仕事中なのでこのへんで。
明日はtanago238さんです。
どんな変態的な内容なのか楽しみですね!!
それでは引続き変態アドベントカレンダー in Summer : ATNDをお楽しみください。
昨日の記事はdproject21さんの
たった一人で数万ステップを扱う変態プロジェクトを支えた技術
でした。
私は数万行もソースを読み書きとか経験ありませんので勉強になりました。
また他の方たちのように変態的なプログラミングスキルはありません。
ですので今日は最近一番勉強してるPostgreSQLの話書きます。
PostgreSQLと言えば高機能・高可用性から多くの実績があります。
コミュニティも活発でソフトウェアのバージョンアップも早く、また日本語ドキュメントも豊富。
(ここまで宣伝)
そんなPostgreSQLですが先日お邪魔した勉強会でこんな場面がありました。
#Postgresキモい #okark01
— ちょいもじゃさん (@razon) 7月 7, 2012
Postgresキモイのねー。 #okark01
— 尾古 豊明(パトラッシュ)さん (@patorash) 7月 7, 2012
という大変素晴らしい状況になった理由は
ursmさんの素晴らしい発表のおかげ(発表資料)です。
というわけで今日はPostgreSQLの
■データ型
ursmさんは配列型を取り上げており、素晴らしい反響でした。
参考までにデータ型の最新のドキュメントはこちら
ぱっと見ても色々データ型がありますね。
その中でも変態的なのは
・ 論理値データ型
・ 幾何データ型
・ ネットワークアドレスデータ型
あたりでしょうか。
というか複合型とか類似データ型とか変態的過ぎて私も勉強不足です(*´ω`*)
例えば幾何データ型を使うと位置情報の計算もスムーズ?に実装できます。
実際に私も使ったことがありますので参考までにどうぞ。
データ型に関しては使い方次第で凄く便利になるので是非。
■参照系
ursmさんは中間参照→LIKE '%hoge%'でもINDEXが有効になるpg_trgmのお話でした。
全文検索については9.1以降でも強化されており、ぜひ一度こちらのドキュメントを一読ください!!
そして私がオススメする参照はSQLのウインドウ関数。
MySQLを普段使ってる人はあまり馴染みがないかもしれません。
実際の使い方はこちらがわかりやすいですね。
要は行を集約せずに比較することができます。
例えば県別に並べたお店のデータを人気順に並べたい。
こういった場合は県でPARTITION BYして人気データのカラムでソートしてやれば出ます。
これは大変便利です。
以上のとおり、触りの部分ばかりでしたが機会があれば是非PostgreSQLを使ってみてください。
他にもPL/SQLであったり、レプリケーションであったりと取り上げたいところは多々あります。
ですが今日のところは
明日はtanago238さんです。
どんな変態的な内容なのか楽しみですね!!
それでは引続き変態アドベントカレンダー in Summer : ATNDをお楽しみください。
2012年7月5日木曜日
ssh経由でデータベースに繋ぐ方法
お客さんの鯖にsshでログインしてターミナルでDBを触ってるサバンナの住人の方へ。
実際のところよくある風景だと思います。
自分もコレがかなり煩わしく、phpMyAdminすら入れれない状況でした。
そんな状況を解決する方法はsshトンネル。
Mysqlでは
こんな感じでSSHクライアントを使ってローカルのSQLクライアントを利用することができます。
LinuxやMacはいいけど問題はWindowsにsshクライアントが標準でついていないこと。
ここではcygwinを例にしてますがcygwinを入れるのはちょっと…って人向けに代替案。
1 Git shell
GitHubを使って居る方でGitHub for Windowsをインストールしてる人はついてきてるはず。
これはcygwinと一緒でsshクライアントがついてくるのでこちらを使ってコマンドを叩けます。
具体的には起動させて以下のコマンドを叩きます。
ssh -N -L 3307:127.0.0.1:3306 ログインするユーザ名@ログインするサーバ -i 鍵
な感じ。
鍵を使っていない場合は -i から後ろはいりません。
A5を使ってる方は後はリンクの通り、接続情報を入力すればつながります。
私はこの方法で繋いでいます。
Githubがまた一歩好きになりました(関係ない)
ついでにLinuxやMacの人はターミナル立ち上げて同じコマンドを叩けばいけます。
2 PuTTY
Windowsのsshクライアントとしてはメジャーなクライアントかと。
こちらはメールをssh経由で使う方法ですがトンネルの作り方は参考にどうぞ。
GUIで出来き、分かりやすいのでオススメです。
3 Tera Term
Tera Termもメジャーなsshクライアントですね。
ここで紹介する例はリモートデスクトップ用のトンネルの作り方ですが参考にどうぞ。
基本的にsshでトンネルさえ作ればローカルにつなげるのと同様にサーバに接続できるようです。
データベースに繋ぐ時は
・ データベースに実際につないでいるのは接続先のユーザ
・ SQLクライアントからはlocalhostにつないでいるように見える
と言う点に注意です。
具体的にトンネル時にサーバ側に指定するポートですが、defaultは
・ mysql 3306
・ postgreSQL 5432
・ Oracle 1521
です。
自分はsshでトンネルしてA5でPostgresもMysqlも繋いでいます。
他の例ではPostgresにpgAdminで接続できるそうです。
ということで現場で生psqlでSQLを書いてたりして苦労してる方は是非一度お試しください!!
実際のところよくある風景だと思います。
自分もコレがかなり煩わしく、phpMyAdminすら入れれない状況でした。
そんな状況を解決する方法はsshトンネル。
Mysqlでは
A5:SQL Mk-2 から SSHトンネルを利用して MySQL へ接続する
こんな感じでSSHクライアントを使ってローカルのSQLクライアントを利用することができます。
LinuxやMacはいいけど問題はWindowsにsshクライアントが標準でついていないこと。
ここではcygwinを例にしてますがcygwinを入れるのはちょっと…って人向けに代替案。
1 Git shell
GitHubを使って居る方でGitHub for Windowsをインストールしてる人はついてきてるはず。
これはcygwinと一緒でsshクライアントがついてくるのでこちらを使ってコマンドを叩けます。
具体的には起動させて以下のコマンドを叩きます。
ssh -N -L 3307:127.0.0.1:3306 ログインするユーザ名@ログインするサーバ -i 鍵
な感じ。
鍵を使っていない場合は -i から後ろはいりません。
A5を使ってる方は後はリンクの通り、接続情報を入力すればつながります。
私はこの方法で繋いでいます。
Githubがまた一歩好きになりました(関係ない)
ついでにLinuxやMacの人はターミナル立ち上げて同じコマンドを叩けばいけます。
2 PuTTY
Windowsのsshクライアントとしてはメジャーなクライアントかと。
こちらはメールをssh経由で使う方法ですがトンネルの作り方は参考にどうぞ。
GUIで出来き、分かりやすいのでオススメです。
3 Tera Term
Tera Termもメジャーなsshクライアントですね。
ここで紹介する例はリモートデスクトップ用のトンネルの作り方ですが参考にどうぞ。
基本的にsshでトンネルさえ作ればローカルにつなげるのと同様にサーバに接続できるようです。
データベースに繋ぐ時は
・ データベースに実際につないでいるのは接続先のユーザ
・ SQLクライアントからはlocalhostにつないでいるように見える
と言う点に注意です。
具体的にトンネル時にサーバ側に指定するポートですが、defaultは
・ mysql 3306
・ postgreSQL 5432
・ Oracle 1521
です。
自分はsshでトンネルしてA5でPostgresもMysqlも繋いでいます。
他の例ではPostgresにpgAdminで接続できるそうです。
@eielh @toro_kun @soudai1025 会話を横から見て参考にして、pgAdmin Ⅲでsshトンネルでリモートのpostgresql見れるようになった。ありがとうm(__)m
— mkonishi1981さん (@ore_public) 7月 5, 2012
ということで現場で生psqlでSQLを書いてたりして苦労してる方は是非一度お試しください!!
2012年7月3日火曜日
第14回オープンラボ備後
祝2周年ということで今回のオープンラボ備後は合宿でした!
場所は府中アンテナさんに提供して戴いた元呉服屋の雰囲気のある建物。
懸念していた暑さは雨のお陰で和らぎ過ごしやすい一日でした。
ということでその内容。
初日
まずはセッション3つ。
その雰囲気はTwitterまとめを御覧ください。
オープンソースの地図作りのお話。
OSMは福山でも4月に開催され、大変好評でした。
やはり自分のやったことが形になると言うのは嬉しいものです。
特に驚いたのがOSMへのコミットの敷居の低さ。
最近はGPSのデータを収集するデバイスが増えてきたのでエンジニアじゃない人も是非。
天気がいい日に府中とかの散策兼OSMなんかは楽しそうですね♪
エンジニアではない経営者から見たFBの話。
自分の周りはエンジニアばかりなのでこういうuser目線のお話は大変勉強になりました。
またFBの広げ方と言うか楽しみ方の話を聞いて、Google+の失敗点も見えた気がします。
WEBアプリを作る側として、こういった向こう側意見を聞く機会を定期的に持つべきですね。
良い教訓になりました。
今回は折り紙を使ったワークショップでしたが毎度のことながらこういうのは楽しいですよね。
個人的にはプロトタイプを作る大切さ(技術基盤を早めに確立させること)感じました。
プロジェクトと言うかチームとしての仕事の進め方は自分の大きな課題ですね。
懸田さんとは機会があればエンジニア・経営者としての仕事の取り組み方のお話をしたいです。
と3セッションあっと言う間でした。
またこの後は呉高専の佐々木くんのアーク放電のデモがありました。
目の前で放電とかインパクトスゴすぎ!!
コレはもうOSC広島のオープンラボ備後枠確定ですw
本当に大型新人をgetできたのは収穫です。
岡山に負けず、広島も盛り上げて行きたいですね!!
そしてデモを見た後は日帰りの人はここで終了。
その後は「ドキッ、男だらけの大懇親会!」ってことでお泊り組8名で鍋。
お酒を呑んだりしながらトークは朝4時すぎまで続きました。
(一番白熱したのはお好み焼きについてでしたがw)
そして私が寝てる間にみんなはうるう秒の確認をしたりした二日目。
朝ごはんはカレーを自炊して食べ、やっとここからハッカソン。
それぞれが自分でテーマを決めて午前中はガリガリソースを書きました。
私は前回のエントリーに書いたGithub上にWEBサイトを構築するのとCSSFramework。
無事、このようにGithub上にサイトをつくれました。
オープンセミナー広島@2013予定地
またCSSFrameworkついてはこちらの資料をどうぞ。
CSSFramework
(適当にclickしたら画面がひらいたりしますw)
他にはKinectを使ったアプリを作ったり、Androidアプリの開発をされてる方もいらっしゃいました。
最後はそれぞれの成果物を発表し、カレーうどんを食べて終了。
終始雨だった天気も最後は晴れて素晴らしい合宿となりました。
最後になりましたが、場所を提供していただいた府中アンテナさん、ありがとうございました。
また主催として多忙な中、準備をしてくれた@lopes_nbさん、ありがとうございました。
そして料理担当のがみさんをはじめ、参加してくださった皆さん、本当にありがとうございました。
次回からは弓本さんから主催がその他に変わるかもしれません。
ですがオープンラボ備後はみんなで育てているコミュニティです。
作りたいこと、試したいこと、みんなに話したいこと、なんでもチャレンジするからラボなのです。
ですので興味がある方、イベントを開催したい方はお気軽にご連絡、ご来場ください。
自分もWEB、RDBと好きなことでオープンラボ備後をどんどん活用して行きたいと思います。
ということでまた2年周期ぐらいで合宿ができたらいいですね!!
場所は府中アンテナさんに提供して戴いた元呉服屋の雰囲気のある建物。
懸念していた暑さは雨のお陰で和らぎ過ごしやすい一日でした。
ということでその内容。
初日
まずはセッション3つ。
その雰囲気はTwitterまとめを御覧ください。
【タイトル】「
OpenStreetMap * はじめました」
【発表者名】丸市さん
オープンソースの地図作りのお話。
OSMは福山でも4月に開催され、大変好評でした。
やはり自分のやったことが形になると言うのは嬉しいものです。
特に驚いたのがOSMへのコミットの敷居の低さ。
最近はGPSのデータを収集するデバイスが増えてきたのでエンジニアじゃない人も是非。
天気がいい日に府中とかの散策兼OSMなんかは楽しそうですね♪
【タイトル】「わたしと、Facebook」
【発表者名】戸田さん
エンジニアではない経営者から見たFBの話。
自分の周りはエンジニアばかりなのでこういうuser目線のお話は大変勉強になりました。
またFBの広げ方と言うか楽しみ方の話を聞いて、Google+の失敗点も見えた気がします。
WEBアプリを作る側として、こういった向こう側意見を聞く機会を定期的に持つべきですね。
良い教訓になりました。
【タイトル】「ふりかえり ワークショップ(仮)」
【発表者名】懸田さん
アジャイルのふりかえりを知るためのワークショップ。今回は折り紙を使ったワークショップでしたが毎度のことながらこういうのは楽しいですよね。
個人的にはプロトタイプを作る大切さ(技術基盤を早めに確立させること)感じました。
プロジェクトと言うかチームとしての仕事の進め方は自分の大きな課題ですね。
懸田さんとは機会があればエンジニア・経営者としての仕事の取り組み方のお話をしたいです。
と3セッションあっと言う間でした。
またこの後は呉高専の佐々木くんのアーク放電のデモがありました。
目の前で放電とかインパクトスゴすぎ!!
コレはもうOSC広島のオープンラボ備後枠確定ですw
本当に大型新人をgetできたのは収穫です。
岡山に負けず、広島も盛り上げて行きたいですね!!
そしてデモを見た後は日帰りの人はここで終了。
その後は「ドキッ、男だらけの大懇親会!」ってことでお泊り組8名で鍋。
お酒を呑んだりしながらトークは朝4時すぎまで続きました。
(一番白熱したのはお好み焼きについてでしたがw)
そして私が寝てる間にみんなはうるう秒の確認をしたりした二日目。
朝ごはんはカレーを自炊して食べ、やっとここからハッカソン。
それぞれが自分でテーマを決めて午前中はガリガリソースを書きました。
私は前回のエントリーに書いたGithub上にWEBサイトを構築するのとCSSFramework。
無事、このようにGithub上にサイトをつくれました。
オープンセミナー広島@2013予定地
またCSSFrameworkついてはこちらの資料をどうぞ。
CSSFramework
(適当にclickしたら画面がひらいたりしますw)
他にはKinectを使ったアプリを作ったり、Androidアプリの開発をされてる方もいらっしゃいました。
最後はそれぞれの成果物を発表し、カレーうどんを食べて終了。
終始雨だった天気も最後は晴れて素晴らしい合宿となりました。
最後になりましたが、場所を提供していただいた府中アンテナさん、ありがとうございました。
また主催として多忙な中、準備をしてくれた@lopes_nbさん、ありがとうございました。
そして料理担当のがみさんをはじめ、参加してくださった皆さん、本当にありがとうございました。
次回からは弓本さんから主催がその他に変わるかもしれません。
ですがオープンラボ備後はみんなで育てているコミュニティです。
作りたいこと、試したいこと、みんなに話したいこと、なんでもチャレンジするからラボなのです。
ですので興味がある方、イベントを開催したい方はお気軽にご連絡、ご来場ください。
自分もWEB、RDBと好きなことでオープンラボ備後をどんどん活用して行きたいと思います。
ということでまた2年周期ぐらいで合宿ができたらいいですね!!
2012年7月2日月曜日
GitHubでサイトを公開する方法
先日、オープンラボ備後の合宿でひむひむ(@eielh)に教えて貰ったことをメモ。
やりたいことは
http://hogehoge-test.github.com/
みたいな感じでGithubを使ってWEBサイトを作る方法。
てなわけで簡単なメモ残しときます。
まずはGithubにアカウントと作ります。
なんだよコレ!って人は適当にググってこんな感じのサイトでお勉強してください。
でアカウントを作ったら公開するためのorganizationsってのを作ります。
organizationsは組織というか開発するためのグループみたいなもんだと認識してます。
作り方は
手抜きなのは許してw
するとorganizationsを作る場所になります。
でcheckが通ったら作成!!
ボタンは下にスクロールすると出てきます。
ここで知り合いのGithubユーザがいれば管理者として追加できます。
やり方はアカウントを入力してADDを押すだけ。
管理者を追加する必要がない場合は青枠のボタンをポチッとな。
黄色部分が作ったorganization nameになっていればOK
次は青枠を押してRepositoryを作成。
次はRepository nameをつけてcheckが通れば作成!
※Repository nameは○○.github.com.gitと言った感じで
を末尾につけて下さい。
(これがアクセスするときのURLになります)
この画面になれば下準備は終了。
日頃からGit使ってたり、CUIが得意な方はページに書いてあるとおりにするとプッシュできます。
Repositoryと同名のプロジェクトを作ってGitの初期化をします。
NetBeansのGitの使い方は公式を参照するといいです。
1 まずはhtmlファイルを作ってcommit
2 gh-pages というブランチを作成
このブランチを作ることで
http://hogehoge-test.github.com.git
のURLでアクセス出来るようになります。
またこれが表示されるサイトのソースになります
3 リモートリポジトリにmasterとgh-pagesをプッシュ
するとGithubにメールがくると思います。
メールが来たらhttp://リボジトリ名でアクセスして表示すれば成功。
後はcommitとプッシュを繰り返してサイトを作ってみてください。
htmlなら表示できるのでJavaScriptやCSSなど使えます。
例えばTwitterBootstrapを使えば告知サイトなどはすぐ作れる思います。
一度慣れると非常に簡単でDNS等の設定も要らないので
・ すぐ作りたい
・ ソースは見られても良い
と言ったニーズのモノはどんどん活用していくといいと思います。
ドキュメントなんかもみんなで改修できるので公開方法として使うのはいいかもしれませんね。
ということで自分もこれを使ってGitの勉強と言うことでOSHの告知サイトを作ってみようと思います。
一緒に作りたいって人はこちらまでどうぞ
オープンセミナー広島@2013予定地
やりたいことは
http://hogehoge-test.github.com/
みたいな感じでGithubを使ってWEBサイトを作る方法。
てなわけで簡単なメモ残しときます。
まずはGithubにアカウントと作ります。
なんだよコレ!って人は適当にググってこんな感じのサイトでお勉強してください。
でアカウントを作ったら公開するためのorganizationsってのを作ります。
organizationsは組織というか開発するためのグループみたいなもんだと認識してます。
作り方は
手抜きなのは許してw
するとorganizationsを作る場所になります。
でcheckが通ったら作成!!
ボタンは下にスクロールすると出てきます。
ここで知り合いのGithubユーザがいれば管理者として追加できます。
やり方はアカウントを入力してADDを押すだけ。
管理者を追加する必要がない場合は青枠のボタンをポチッとな。
黄色部分が作ったorganization nameになっていればOK
次は青枠を押してRepositoryを作成。
次はRepository nameをつけてcheckが通れば作成!
※Repository nameは○○.github.com.gitと言った感じで
.github.com.git
を末尾につけて下さい。
(これがアクセスするときのURLになります)
この画面になれば下準備は終了。
日頃からGit使ってたり、CUIが得意な方はページに書いてあるとおりにするとプッシュできます。
Repositoryと同名のプロジェクトを作ってGitの初期化をします。
NetBeansのGitの使い方は公式を参照するといいです。
1 まずはhtmlファイルを作ってcommit
2 gh-pages というブランチを作成
このブランチを作ることで
http://hogehoge-test.github.com.git
のURLでアクセス出来るようになります。
またこれが表示されるサイトのソースになります
3 リモートリポジトリにmasterとgh-pagesをプッシュ
するとGithubにメールがくると思います。
メールが来たらhttp://リボジトリ名でアクセスして表示すれば成功。
後はcommitとプッシュを繰り返してサイトを作ってみてください。
htmlなら表示できるのでJavaScriptやCSSなど使えます。
例えばTwitterBootstrapを使えば告知サイトなどはすぐ作れる思います。
一度慣れると非常に簡単でDNS等の設定も要らないので
・ すぐ作りたい
・ ソースは見られても良い
と言ったニーズのモノはどんどん活用していくといいと思います。
ドキュメントなんかもみんなで改修できるので公開方法として使うのはいいかもしれませんね。
ということで自分もこれを使ってGitの勉強と言うことでOSHの告知サイトを作ってみようと思います。
一緒に作りたいって人はこちらまでどうぞ
オープンセミナー広島@2013予定地
2012年6月28日木曜日
wgetでPOSTする&POSTデータの+記号が消える
みなさんLinuxのコマンドであるwgetつかってますか?
簡単に出来ることを並べると
・ 再帰的なダウンロードの自動化
・ ログインが必要なサイト監視
・ xmlやJSONの取得
・ データのPOST
など大活躍。
こちらのページはoptionの一覧を詳しく説明してるので一読の価値あり!
例えば下記のコマンドを実行するとdataと言うnameでhogehogeをPOSTします。
wget --post-data 'data=hogehoge' http://hoge.jp
例えばPHPプログラムだけでPOSTするのは結構な手間ですが利用すると実装が楽になります。
また他にもmailのエイリアスを利用した内容の自動転送とかが容易になります。
(両方セキュリティ上の懸念点はあるので仕様と相談してくださいね!!)
ついでにPOSTだけしたい(サイトのhtmlを取得しない)場合は
--spider
を引数でつけてやるとファイルが無限増殖しません。
で実際の使い方はphpなどでsystem関数などに入れて実際のPOSTデータは変数っての多いと思います。
例えばphpだとこんな感じ。
`wget --spider --post-data 'data=" . $data . "&time=" .$time . "' http://hoge.jp`;
(PHPのバッククォートは shell_exec() と等価です)
POSTの数を増やしたい時は&で繋げば増やせます。
でここで大事なのがbase64などの記号の入った内容をPOSTする場合。
wgetのPOSTは中途半端にエスケープまたはURLencodeをしてるようです。
例えばPOSTの際に+を半角スペースに置き換えてしまいます。
つまり
$data = 'hoge+hoge';
をwgetでPOSTすると受け取り側(例はPHP)は
echo $_POST['data']; //←hoge hoge と出力される
となります。
これにより
・ base64変換したバイナリ
・ mail添付ファイルなのどのmimeの内容
などをPOSTした際にちゃんと復元が出来なくなります。
これの対策としては
POSTする対象のデータを事前にURLencodeしてからコマンドの引数にしてやること。
同じくPHPで$dataの中身がbase64encodeされたデータなどで+があるとすると。
$data = 'hoge+hoge';
$data = urlencode($data);
としてから$dataをコマンドに渡せばOKです。
ということで具体的な事例がググっても出てこなこなかったのでメモとして残して置きます。
簡単に出来ることを並べると
・ 再帰的なダウンロードの自動化
・ ログインが必要なサイト監視
・ xmlやJSONの取得
・ データのPOST
など大活躍。
こちらのページはoptionの一覧を詳しく説明してるので一読の価値あり!
ダウンロードコマンドwgetのオプション一覧(linux)
その多彩な機能のひとつ、「データのPOSTする方法」でちょっとハマったのでメモ。例えば下記のコマンドを実行するとdataと言うnameでhogehogeをPOSTします。
wget --post-data 'data=hogehoge' http://hoge.jp
例えばPHPプログラムだけでPOSTするのは結構な手間ですが利用すると実装が楽になります。
また他にもmailのエイリアスを利用した内容の自動転送とかが容易になります。
(両方セキュリティ上の懸念点はあるので仕様と相談してくださいね!!)
ついでにPOSTだけしたい(サイトのhtmlを取得しない)場合は
--spider
を引数でつけてやるとファイルが無限増殖しません。
で実際の使い方はphpなどでsystem関数などに入れて実際のPOSTデータは変数っての多いと思います。
例えばphpだとこんな感じ。
`wget --spider --post-data 'data=" . $data . "&time=" .$time . "' http://hoge.jp`;
(PHPのバッククォートは shell_exec() と等価です)
POSTの数を増やしたい時は&で繋げば増やせます。
でここで大事なのがbase64などの記号の入った内容をPOSTする場合。
wgetのPOSTは中途半端にエスケープまたはURLencodeをしてるようです。
例えばPOSTの際に+を半角スペースに置き換えてしまいます。
つまり
$data = 'hoge+hoge';
をwgetでPOSTすると受け取り側(例はPHP)は
echo $_POST['data']; //←hoge hoge と出力される
となります。
これにより
・ base64変換したバイナリ
・ mail添付ファイルなのどのmimeの内容
などをPOSTした際にちゃんと復元が出来なくなります。
これの対策としては
POSTする対象のデータを事前にURLencodeしてからコマンドの引数にしてやること。
同じくPHPで$dataの中身がbase64encodeされたデータなどで+があるとすると。
$data = 'hoge+hoge';
$data = urlencode($data);
としてから$dataをコマンドに渡せばOKです。
ということで具体的な事例がググっても出てこなこなかったのでメモとして残して置きます。
登録:
投稿 (Atom)