くだらないWebサービス作った
学校の体験入学があって #upcamp に行きたかったけど行けなかったので、おうちハッカソンしてました。
そのときは Chrome 拡張作ってたんですけど、なんか Unstable な API を叩いてたせいかうまく動きませんでした。(nash716/Process-Killer · GitHub)
そこで、方向転換して Web サービス作り始めました。
作り始めたときはとっくに #upcamp 終わってて、若干アレ臭漂ってましたが4時間ほどで作りました。
node + MongoDB で動いてます。ホスティングは heroku と MongoLab を使いました。
好きなものの消費量をカウントするアプリです。
8割のコードが他のサービスの使い回しなので、バグ怖いです。
是非遊んでみてください。
オラブル(オランジーナ+RedBull)
オランジーナおいしいですよね。
僕の場合、オランジーナを飲むと不思議な力がどこからか湧いてきます。
しかし結局は炭酸飲料。RedBullをはじめとするエナジードリンクには敵いません。
「ああ、オランジーナがエナジードリンクになったらどんなに素晴らしいことだろう!」と24時間365日、寝る間も惜しんで考えていたところ、不意に「RedBullと混ぜれば良いんじゃね…?」と思いつきました。
そして今日、念願の夢が叶いましたので、この場にてご報告させていただきます。
オラブルの作り方
必ず自己責任で行ってください。
準備
- RedBull (今回は185mlのものを使用しました)
- オランジーナ
混ぜる
オランジーナとRedBullの比率は、2:3か1:2くらいが良いと思います。RedBull多め。
飲む
オランジーナ生まれの地であるフランスに感謝しつつ、味わって飲みましょう。
片付ける
みなぎってきたところで、片付けをしましょう。
デキる(男|女)になるためには、この作業は必須です。
おわりに
この世には、怖い人たちが作り出したユンブルなるものもありますので、興味のある方はそちらも如何でしょう。
参考:ユンブル by yuzuhara [クックパッド] 簡単おいしいみんなのレシピが125万品
しつこいようですが、オラブル・ユンブルの作成、摂取は自己責任でお願いします。
dotCloud + node + MongoDB
久々に使ったら設定ファイルの書き方ど忘れ&細々とした部分が変わっていたのでメモ。
自分用なので雑です。
アプリケーションの構成は以下の通り。
application - server - server.js - public - css とか js とか - views - ejs とか
1. dotcloud.yml を書く
server: type: nodejs approot: server db: type: mongodb
タブが入ってると怒られるので、空白に置換した。
2. server/package.json を書く
{ "name": "myapp", "version": "0.1.0", "dependencies": { "moduleName": "version" } }
バージョンは "*.*.*" の形式じゃないと怒られる。
3. server/supervisord.conf を書く
[program:node] command = node server.js directory = /home/dotcloud/current
4. push する
$ pwd /path/to/application $ dotcloud create app $ dotcloud push app .
5. MongoDB のコンフィグを入手する
$ dotcloud info app.db config: ... mongodb_password: password ... ... ports: ... url: mongodb://root:password@host:port ...
6. MongoDB にユーザを作る
$ dotcloud run app.db mongo # mongo MongoDB shell version: 2.0.2 connecting to: test > use admin switched to db admin > db.auth('root', 'password'); 1 > use myappdata > db.getSisterDB('admin').auth('root', 'password'); 1 > db.addUser('myappdatauser', 'my_password'); 1
7. サーバのスクリプトを書き換える
var mongo = require('mongodb'); var server = new mongo.Server('host', port, {}), db = new mongo.Db('myappdata', server); db.open(function() { db.authenticate('myappdatauser', 'my_password', function() { }); });
おわり。
おまけ
ログを見る
$ dotcloud logs app.server
ssh
$ dotcloud ssh app.server
このサービスを制限付きとはいえ、タダで提供してくれるのは非常にありがたいですね。
#seccon 行ってきたレポート
19, 20日に開催された、SECCON CTF に参加してきました!
非常に楽しかったです!!
実行委員の方、筑波大学の方、参加者の皆さん、どうもありがとうございました!
以下日記
(CTFに熱中しすぎて、CTF中の記憶が曖昧なので、CTFについての記述は少なめです)
一日目
朝8時頃に家を出ました。
つくばエクスプレス、耳痛くなりますねアレ。
つくば駅周辺、大都会すぎて田舎民にはまぶしかったです。
競技中はひたすら画面とにらめっこしてました。
解けそうで解けないのが非常に悔しかったです。
さらに、ちょうどエアコンの風が出てくるところ付近の席だったようで、半袖半ズボンでCTFに臨んだことを後悔しました。
競技終了後は、交流会でピザとコーラとうまい棒をいただきました。ありがとうございました!
夜
お持ち帰りした問題をみんなで解いていました。
RedBullを飲むと逆に眠くなる怪症状や、突然のアクシデントに見舞われながらも頑張りました。
Webの問題は競技時間中でないと解けないのが痛いですね。
二日目
夜に「こんな感じで行こう」と思っていた方向で問題を解いていたのですが、通りませんでした。
1時間くらい試行錯誤したところで何とか解けました。この問題に10時間くらい使った気がします。
その後いろいろな問題に手を出していたところでCTF終了。
アキバで僕含め6人でラーメン食べて家に帰りました。
まとめ
今回自分はWebの問題を主に解いていたのですが、大きめ(300pt)の問題は1問しか解けず、能力不足を痛感しました。
次回参加するまでにさらに技術磨いておきます!!
結論
大都会つくば
改名のお知らせ
本日をもちまして、ブログ名を「なんとなく開発日記(α)」から「雑記(α)」に変更します。
今後とも雑記(α)をよろしくお願いいたします。
P.S.
課題が終わりません。