「スクラッチ」を含む日記 RSS

はてなキーワード: スクラッチとは

2016-01-21

モテる為に音ゲーをやる

ゲーセンにおける人間関係はおおむねコミュニケーションノートによって形成される。場合によっては、 twitter などの SNS や、2ch、したらば等のスレッド掲示板場合もあるだろう。都会や人口密度の高い地域でのゲーセン人間関係プレイ寄与する所は少ないが、田舎ゲーセンは濃密なムラ社会となっており、常連に逆らう事はすなわち論理的物理出禁危険性を孕んでいる。

そういう前提とは一切関係なく、ゲームをやっていて女性と仲良くなれたらとても良いのではないかと思う。何かを始める動機は人それぞれだし、それが不純でも純真でもどうせ100円1プレイ価値は誰がやっても同じなのだから。完全なる主観適当モテそうな音ゲーを列挙していくので、音ゲー警察諸氏は余り目くじらを立てないでほしい。

それと、ゲーセン常連プレイヤーの顔を意外と見ているし、ゲーセンゲーム機公共であるモテるモテない以前に、人としての最低の水準は守りたい (個人的には、ゲーセンゲームばっかりやっている人間自分も含めそもそもに何らかの問題を孕んでいる気もしなくはないが)。


maimai

現在もっと女性比率が高いと思われる音ゲードラム式洗濯機のようなデザインの(というミームの奔流に飲まれすぎた余り公式自らドラム式洗濯機自称するようになった)筐体であり、2台あるうちの片方がプレイ中の場合もう片方も使用できなくなるという設計になっている。

ゲーセンにいる女性交流するためにもっとも適している音ゲーだと思う。

ただ、私事申し訳ないのだが、肩こりがひどく腕が上がらない為ちゃんとやり込んでおらず、どんな評価体系が存在しており、どういう仕組みでコミュニティが出来上がっているのか全く知らない。ただ普段見ている女性比率と、動画サイト等にアップロードされるさまざまな動画からそう判断した。オフで即ハメ音ゲーに漸近している音ゲーだと考えられる。


チュウニズム

maimaiと同じくセガ音ゲーである操作体系が独特で、上空にあるセンサーの間、虚空へ手を振りぬく操作を求められる。これも結構女性客が付いているが maimai と同じ理由で俺には遊べないので不明比較的生まれて日が浅い音ゲーで、このゲームをやりこむ前に「このゲーム長生きするのか」という事を各自考える必要があると思っている。


ポップンミュージック

10年前のカジュアル音ゲー代表格であり、わずかなアニメ立ち絵(ハリアイ絵)と楽曲フレーバーテキストだけで数多の女性スケブ片手に筐体に釘付けた。直線的でシンプルな縦長の筐体、カラフルな9つのボタンがポップでキュートなこのゲームの目印だ。今でこそ「9ボタンとか多くて難しいですよね~」等と言われるものの、カジュアル音ゲーと競技性のある音ゲーを両立させたその功績は音ゲー界の革命児と言えよう。

最近相対的楽曲のパワーが落ちてしまっているのと、流行性の高い版権曲も2~3作で消えるため男女問わず顧客の定着が行われにくくなっている気がする。ゲーセンでこのゲームをやり続けている女子はコアなユーザーが多く、彼女らと警戒されずに話題を合わせるためにはそれなりの上達が求められるだろう。

ゲームシステム的には、プレイヤー技術を一切要求しない昨今の音ゲー事情としては稀なデザインとなっており(技術要求したら大不評だったので、以後撤廃された)、はじめてすぐの段階でもすべての要素を楽しむ事が可能となっており、やりこまないと話題に乗り込めない……というような事態は発生しない。


beatmania IIDX

段々書くの飽きてきた。IIDXコナミ音ゲーで、サウンドブースのような骨組みのデザインに、2つのスクラッチ、14個のボタン、あと正面に謎のボタンレバーのある筐体である

あらゆる音ゲーの中で最も高密度譜面が降り注ぐゲームの為、その内実はともかく非常にアスリート性を高く感じるゲームとなっている。一方で譜面密度が高いだけでもあり、ある段階を経るまではきわめてシンプル構造となっている。

さて、 IIDX には Single Play と Double Play の2種類のゲームモードがあるが、モテるのは Single Play である。本作中にはプレイの腕前を格付けする段位認定というシステムがあるのだが、大体6~7段くらいでたむろするユーザーが多いため、10段くらい取っていれば大体ヒエラルキーの上の方に位置出来るだろう。

このゲームは腕前による人間の格付けが驚くほど強烈であり、段位が自分より低い相手、段位のクリアランク自分より低い相手自分クリアマークをつけている曲にマークをつけていない相手など、とにかく他プレイヤーより一点でも優位性を見つけて精神を上層におかないと即死してしまう人が多い。そのため、このゲームをやっている女性交流しようと思ったらまず彼女らより上手くなりマウント絶対に取らなくてはならない。より強い雄になる、原始的交流と言える。

スクラッチの独特のアナログ操作感、本作特有の高密度には慣れが必要なため、ある程度上達するまでに要する時間は1年程度だろうか。ゲームの要領が良い人ならば、最高段位である「皆伝」まで1年掛からずに到達するだろう。音ゲーのそれなりの上達は見た目ほど難しいものではない。もちろん皆伝の上も果てしなくゲームは続いていくのだが、一般的プレイヤーは余りそういう事を気にしておらず、ランク評価体系の9割に組み込んでいる。


初音ミク Project Diva AC

ボーカロイド本家元祖ではない)、ミクちゃんである。このゲームが出た当時はボーカロイド東方などニコニコ文化音ゲー寄与する部分が少なく、ボーカロイドの持つ集客性は音ゲーにとってまだ不可侵領域である時代だった。太鼓の達人など、一部先んじて目をつけていた作品もあるが、ボカロ音ゲーと密接に関わるようになるのはかなり最近の話である

そういうわけで、ボカロ御大初音ミクゲーセンにいてさまざまなニコニコ動画名曲を遊べるという事、4ボタンしかないシンプルまりない操作性などの理由で一大カジュアル音ゲー地位を築き上げたゲームがこの作品である女性比率の非常に高い作品であり、混雑時は女性行列男性一人だけ混ざるという事も頻繁にあった。

とは言え、このゲームも既にリリースから5年近く経過している上に、もはや初音ミクボーカロイドの主流ではなくなってしまったこと、ボーカロイドはこのゲーム聖地ではなくなってしまった事などの理由で、最近はこのゲームユーザーもめっきり減ってしまい、まだ更新が続いているにも関わらず、撤去されるゲーセンも徐々に増えてきた。兵どもが夢の跡である


jubeat

立方体をくっつけたような小さな筐体があればそれが jubeat であるボタン数は16個と非常に多いが、叩く場所が光るため光った場所を叩けば良く、ゲーム的にはとっつきやす構造となっている。リリース当初こそキー音もなくモグラ叩きではないかなどと揶揄されたが、若い世代を中心としてウケがよく、カジュアル層の開拓に一役買ったゲームであると言える。

出だしは比較好調で客付きも良かったものの、焼畑農業のようなゲームイベントリリースし続けた結果(だと思う)、定着しているユーザー数はほかのゲームに比べ水をあけられてしまった。

最近はややウェイ系のプレイヤーが多く、ガンダム程ではないがプレイ中に騒ぐユーザーをあちこちで見かけるようになったため、女性ユーザーは少し敬遠気味になっているように思う。流動性の高いユーザーセガ音ゲーほとんど移動してしまったと思われ、モテ目的でこのゲームを遊ぶ理由はどこにも存在しない。


Dance Evolution

kinect を利用したアーケード音楽ゲームであり、画面に表示されたポーズを取るゲームとなっている。他ゲーのコアユーザーに見られる機能性に優れた服装プレイするユーザーは少な目で、ミニスカ可愛い衣装で踊っている女性が多く、ほかのゲームをやるフリをしてしょっちゅうチラ見するのだが、イケメンで流麗なダンスを踊れればモテるのではないでしょうか?


プリパラ

同名の女児向けアニメと連動しているアーケードカードゲームである法律上自販機扱いで、スーパーなどのゲームコーナーでもよく見かける事が出来るだろう。他方バンナムアイカツとは商売敵のため、バンダイナムコゲームセンターでは絶対に見かけることが出来ない。

システムとしては、1プレイする度にランダムで服のパーツ(体上、体下、靴)のどれかと、「トモチケ」と呼ばれる自分データ他人に譲るための半券を得る事ができるようになっており、服装データプレイヤーIDに紐づけられているため、基本的に交換などで手に入れる事は出来ない。唯一ヘアアクセサリだけ交換可能となっており、こちらもトモチケと同じように交流材料となっている。

幼女からまり学生主婦OLなどなど幅広い年齢層を取り込む事に成功している音ゲーであり、しっかりゲームをやり込んでいると、女性から声をかけてきてトモチケやヘアアクセを交換するイベントが発生したりもする。

音ゲーマーとしての腕前はほぼ要求されない反面、無数に存在するコーデを組み合わせるセンスキャラクターへの多少の理解、希少なコーデを入手するための財力と暇が求められる。


2015-11-30

アダルトサイト運営やめました

ギークのオレがエロサイト作ったよ見てねー ガッポガッポ儲けてるぜー」という増田が楽しみで、かつ、羨ましさを感じてた。

オレもやりゃできるんだ!というのを実感したくてアダルトサイト自分スクラッチから開発してしばらく運営してたのだけど、やめました。

リリースしてすぐにアクセスが集まって、すんごいアクセスが集まって、最初めっちゃしかったんだけど、このまま延長していけばもっと伸びることは予想できるのだけど、

なんか達成感を感じてつまんなくなっちゃった

から、やめたよ。

2015-10-24

調布の子育て団体が「子連れオススメ」する飲食店喫煙可のお店ばかり

調布スクラッチなる冊子をみてびっくり。

「お子さん連れの人にやさしい」というマークのついているお店が、喫煙可のお店ばかり。

NPO法人ちょこネットという子育て団体編集しているらしい。

気になってちょこネット運営しているコサイトという子育てサイトをみても、全面喫煙可の店が紹介されている。

いまどき全面喫煙可のお店を子連れで、と紹介する子育て団体がいることに驚いた。

2015-03-12

[]人に写真を渡すときに気をつけてあげてほしいこと

3分写真ハックの時間です。

人が映った写真を相手に渡すときには、とにかくキレイに仕上げるということに注意しましょう。

そうはいっても外で何の準備もないようなところでキレイに撮るのは難しいですよね。

光源

まずは注意してほしいことは光源の位置です。

男性場合は彫りが深いことがかっこよく感じられるので比較的影は気にならないのですがが、女性を撮るときは少なくとも真上からの光は避けて光源をできるだけ横から後ろに回すことを意識しましょう。

そうすれば顔全体が柔らかい雰囲気に写るので余計なものが目立たなくなりますよ。

では本日の本題です。

まず覚えておいてほしいことは、写真には撮った後の絵作りが欠かせないということです。

主に使ってるツールライトルームなのでその用語で書きますね。

まず覚えていただきたいのは、基本的に人が嫌がるのがシワ、吹き出物、頭髪の薄さということです。

シワ消し

シワに効果なのは明瞭度とノイズ軽減の調整です。

女性場合は明瞭度を下げてるとふわっとした印象になり、男性場合は明瞭度を上げるとエッジが利いたクールな印象になります

ノイズ軽減はツルッとタマゴ肌みたいな仕上がりになりますがやり過ぎるとマネキンぽくなってしまうので注意が必要です。

フォトショでいうところのアンシャープマスクダストアンドスクラッチが該当すると思います

部分的にぼかしツールでなでてやるのも同じ効果が期待されます

シワが見える原因は影なのでシャドウを上げてみるのも効果的です。

吹き出物

吹き出物なんてもの時間が経てば消えてしまものです。

それなのに写真に残したままにするといつまでもその時の嫌な気持ちを引きずってしまます

そんなものスポット修正ツールきれいな肌をコピペしてして消してしまいましょう。

どうせ写真を渡すのは一週間とか過ぎた後の話ですね。

相手は消えていることにほとんど気づきませんし、気づいたって恨まれるようなことは絶対にございません。

これはフォトショにも同じツールがあります

同じようにシミや傷跡なんかも気づかれない程度に薄くしてあげたりするのもやさしい心遣いと言えますね。

頭髪

とくに頭髪の薄さは男女問わず気になります

写真では回折光というものが肉眼よりも強く感じられてしまます。その為に細い髪の毛がより細く写ってしまうんです。

そういう時は補正ブラシで露光量を一番低くして生え際や頭頂部周辺をなでてやりましょう。

ハゲおっさんが黒い粉を頭に撒くのとおんなじで、地肌が目立たなくなるだけで髪が薄い印象はずいぶんと和らぎます

それにさっき書いた回折光も弱まるので髪が太く感じられるようにもなります

流量が強すぎると頭頂部に負のオーラをまとったような感じになってしまうので大体1020くらいで調整するのが望ましいでしょう。

フォトショでいうところの焼きこみツールでなでてやるような感じですね。

撮影時、間違ってもハゲに向かってフラッシュたかないでください。こればっかりはレタッチではどうにもできません。

そこに写ってるハゲが知人だった場合、ほかにどんな素晴らしい瞬間が納められていたとしても間違いなくお蔵入りです。

くわえて

それ以外に注意してほしいことは、恥ずかしい瞬間が写っているものはそっと削除してしまうことです。

写真というのは瞬間を切り取りますのでたまに悪意にあふれた写真が撮れてしまうことがあります

ニュースとかで使われる、おいおいそんな写真かわなくてもってやつと同じです。

ついつい面白いものが撮れたからと人に見せたくなりますが、そんな写真を見させられて本人が気持ちがいいわけございません。

しかも何が嫌かってその写真他人の手元に残り続けるわけです。

そんな写真面白半分でも絶対他人に見せてはいけません。それ以降その人から写真を撮られることを嫌がられても文句は言えませんよ。

さらワンポイント

とくに女性写真には、瞳にキャッチライトを入れると超絶ステキになります

まずは瞳の黒目部分を拡大して比較的明るい部分を探しましょう。

その後は修正ブラシを使って露光量を最大にして明るい部分をなぞります

これで潤い輝くステキな瞳の出来上がりです。

フォトショでは覆い焼きツール代用ができます

最後

慣れてくれば一枚あたりにかかる調整時間はたったの数分です。

たったこれだけの手間なのに、意中のあの子キレイに仕上げれば二人の距離がぐっと縮まるかも。

いい写真が撮れたらすぐにtumblrへ放流ね☆

あたなの写真ライフがよりすばらしいものになることを願って、それでは皆さんご一緒に「写真に残すのは記録じゃなくて記憶だ!」

またお目にかかりましょう~

2014-07-22

MySQLライセンスについて

MySQLライセンス関係する仕事をしてたのでひとこと。

 

webシステムでも絶対にソースコード流出したらダメ場合ライセンスを買った方が良いです。

 

http://anond.hatelabo.jp/20140722001658

Webシステムなのが問題なんだ。システムを使う人にソースコードを公開しないといけないんだよ。TOPページとかにリンクを貼るの?ソースコードはこちら、みたいなの。ありえないよね?」

これは大丈夫です。

GPLではソフトウェアの配布時に関係してくるので関係ないです。

 

システムを使った社員ソースコードを持って帰って公開したらどうなるの?機密情報流出だよ。」

これはグレーです。

なんとも言えません。

からライセンスを買いましょう。

 

というのが脅し文句。

ようするに「裁判でどういう判決が出るのか(俺は)分からないので、怖かったら買え」ということ。

でもよく考えるとMySQLが出て長い年月が経ってるのにそういう事例が無い(少なくとも俺は知らない)って時点でリスクなんて無いと思う。

 

でもいまだにwebシステムでも前者の勘違いをして買ってくれる人が意外に多い。

 

http://anond.hatelabo.jp/20140722034243

MySQLを利用したからといって、スクラッチ開発したソフトウェアライセンスGPLになるわけではない

これはMySQLクライアントを利用してDB接続する多くのwebシステムではグレー。

MySQLに同梱されているクライアントソフトを使わずに自前でクライアントを作って接続してる場合は確実にGPL汚染しない。

 

GPLライセンスされたソフトウェアの改変に関わったプログラマコードを持ち帰れるかという問題

前述の通りグレー。わからない。

 

GPLライセンスしたソフトウェアプロプライエタリに戻せるか

無理。だけどGPL汚染してないバージョンからは可能。

一端GPL汚染したバージョンが出回った後でライセンスを変更するのは不可能だけど、

次のバージョンからGPL汚染しないように作り直して、ライセンスを変更すれば、

そのバージョンからプロプライエタリにできる。

 

http://anond.hatelabo.jp/20140722143245

結局、納品物をプロプライエタリライセンスにするためには、お金を払う必要がある。

GPLだけど持ち出し禁止にすれば問題ないとか言う人が居まして。。。

http://anond.hatelabo.jp/20140722001658

有益な話だし、GPL関係でググってこのページを見た人のために勝手に補足と個人的な疑問を放流してみる。

適当に調べてた知識を記憶をたよりに書いているので、間違いがあれば容赦なく指摘して欲しい。

# どうでもいいけど、元増田の話でOSLinuxだったりしたら笑うw

WEBシステムを閲覧した人がソースコードをよこせと言えるライセンスはAGPL

GPL元増田で書かれている通りで、WEBシステムを閲覧しただけではソースコードを請求することはできない。RMSらもこれには気づいていて、この穴を塞ぐためにAGPLというライセンスができた。このライセンスソフトウェアを利用した場合WEBシステムであろうと利用できる人はソースコードの請求を行えるようになる。

これは別にWEBシステムに限らず、ユーザーが何らかの形で利用できるシステムなら、ソースコードの請求が行える。

MySQLを利用したからといって、スクラッチ開発したソフトウェアライセンスGPLになるわけではない

申し訳ないが詳しい所は知識不足でよくわからない。だけど、下記の記事の通り現在の開発元のOracle見解である。すなわち、MyODBC(GPLMySQLODBCドライバ)を使わずGPLでないドライバを用いて接続してしまえば、開発したソフトウェアGPLにならない。

http://plaza.rakuten.co.jp/matsunopage/diary/201011300000/

# 個人的にGPLRMS著作権Hackなら、OracleのコレはGPL Crackだと思っている。「GPL汚染が嫌なら有償ライセンス契約しろ」と言われた話を聞いた事があるからだ。

GPLライセンスされたソフトウェアの改変に関わったプログラマコードを持ち帰れるかという問題

おそらく持ち帰れないのではないかと思う。なぜそう思うかというと、普通プログラマが書いたコード著作権会社に取られるし、GPLライセンスされたソフトウェアを受け取ったのは会社であってプログラマ個人ではない。GPLライセンスされたソフトウェア物理的にもっていく事は可能でも、きちんとライセンスを受けた訳ではないので機密情報漏洩しかならないと思う。

GPLライセンスしたソフトウェアプロプライエタリに戻せるか

単純な興味なのだけど、例えば最初GPLだったが途中からプロプライエタリ(ないし、GPL互換ライセンス)に変更可能なのか知りたい。個人的な考えでは、著作権者全員の合意がとれれば可能という結論。著作物GPLに書かれた通りに扱ってよいとしただけで、著作権者によって著作物の扱い方は変更可能だという考えから。無論、GPLライセンスされたプログラムを受け取った人はソースコードの請求は依然として可能。

参考

http://nippondanji.blogspot.jp/2010/06/gpl.html

http://d.hatena.ne.jp/karasuyamatengu/20110126/1296004598

おやすみ

追記

http://anond.hatelabo.jp/20140722142248

なんで、グレーなのか。なんで、無理なのか。どのような考えでグレー、無理という結論を出しているのかきちんと書いてもらえますか? 私の考えが間違っているならなぜ間違っているか指摘していただけますか? あるいは、下記の増田さんのように具体事例を出してもらえますか? プロプライエタリに戻せないというのなら下記の具体事例はどのようにお考えですか?

http://anond.hatelabo.jp/20140722071548

http://anond.hatelabo.jp/20140722143245
FOSS除外規定のところ

開発したシステム<ー>PHP<ー>MySQL

とした場合に、PHPを飛び越えて(間接的にしか接続していないにも関わらず)開発したシステムGPL適用されるということですか? その場合PHPにもGPL汚染が発生するということになると思いますが、間違いありませんか?(FOSS除外規定を設けているのはMySQLであって、FOSS除外規定無関係な開発したシステムGPLになってしまうと、開発したシステムからGPL汚染が発生するという考えから。)

失礼、下記のパラグラフには誤りがあったので修正しました。

元のパラグラフは下記の通りです。

あと、MySQLデータベースサーバ接続しただけではGPL汚染は発生しません(AGPLはそのためのものなのは前述の通り)。また、PHP接続するクライアントになりますよね。ということは、MySQLと一緒に開発システムを一つのパッケージとして納品しない限りはGPL汚染は発生しないのではないでしょうか?(WEBシステムでそんなこと普通しませんよね。yumとかでインストールするし)

根本的な問題として、FOSS除外規定GPLソフトウェアと他のFLOSSをリンクする際の問題を解決する物であって、MySQLデータベースサーバ接続する場合には関係のない話だと思います。おそらく、問題だとお考えなのはPHPドライバOracle製のGPLプログラムリンクしていたためPHPドライバを利用すればそのような問題が発生するという事だと思います(さらに追記。この通り書かれていますね。よく読んでおらず、失礼いたしました)。現状、PHPライセンスとなっているMySQL Native Driverを利用すればそのような問題は発生しないはずです。

http://php.net/manual/ja/mysqlnd.overview.php


かりに、おっしゃる通り、開発システムもFOSS除外規定に含まれるFLOSSにしなければGPLになってしまうとした場合、それはMySQL独自の問題であり、他のFLOSSに一律で当てはまる問題ではないということでよいでしょうか? なぜこのような質問をするかというとMongoDBが同じような問題を抱えているからです。下記のURLの通り、MongoDBのコアサーバはAGPLですが、ドライバApache licenseを適用し、開発システムにAGPL感染が発生しないようにしています

http://www.mongodb.jp/mongo/licence

上記の様なケースにも実用的に対応する為、(AGPL採用しつつも)我々はあなた方の(MongoDBを利用する)クライアントアプリケーションは(MongoDBとは)別物扱いする事を約束します。これを円滑に行う為、mongodb.orgサポートドライバーあなたアプリケーションリンクする部分)はApache licnese(コピーレフト)の元公開します。


返信お待ちしております

冒頭に書いた通り、間違いがあれば容赦なく指摘してください。

また、具体事例を上げていただいた増田さんありがとうございました。

2014-05-11

SIに入りたい新卒

当方独立系SI文系卒で勤務6年目。

これからSE業界新卒で入ってくる人、転職で入ってくる人へ業界実態スキルについてアドバイス

色々就活生と喋っているが、よく言うことを雑多に記載。

【職歴】

 ・営業社員向けカスタマー管理サービスCRMシステム)構築:1年

 ・中堅企業向け会計パッケージ導入:5年

 ・RFP作成などの上流工程運用保守の下流工程まで経験あり。

【前提】

 ・以下は主にSI企業で上流(要件定義から担当するPM、PLとしてやっていきたい人向けのスキルである

  技術者で食って行きたい人は、全然違うスキル必要なので無視して良い。

必須スキル

 ①コミュニケーション能力

 →何も雑談する力が必要なわけではない。ここでのコミュニケーション能力とは「折衝力、人の輪の中に入っていける力」を指す。

  システムは人が使うものなので、何をするにもまず人と喋って要件を聞き出さないと話にならない。

  技術力があれば良い、と言うのは大きな勘違いで「人に使ってもらえるもの」なので、そこを無視してどんな最新技術を使っても宝の持ち腐れ。

  また、往々にして「システムを導入する=業務をシステムに合わせて変えることが求められる。

  これはパッケージシステム導入に限らず、スクラッチでも同様。その時に「業務を変えたくない」連中が抵抗勢力として現れる。

  そこを説得するものSE仕事。そんな敵の中に飛び込んでいって、説得して、最後には協力してもらうまで信頼を勝ち取らなければならない。

  そんな場でツボを外したことを言おうものなら、相手から無視されて終わる。

  そんなことが起きないための第一歩としてコミュニケーション能力必須

 ②調査能力、つかむ能力

 →この2つはセットで考えたい。近年は技術革新が目覚しいため、全部の技術情報自分で知っているなんて不可能。

  そのためにGoogleなどの検索ツールを活用するが、膨大な情報自分の中でまとめて要点を「つかむ」ことが重要

  細かく知っておくのは専門家領域なので必要ないが、せめて利用しているツールや技術がなんなのかを、

  人に説明できるレベル/類似ツールとの違いを説明できるレベルで知っておく必要あり。

  

 ③1言語以上での構築経験

 →技術力、プログラミング能力必須ではない。上記②の人にやってほしいことを伝えるまでには代用できるからである

  しかプログラマー対峙するときに、相手はプログラミング言語で会話をしてくる(これは誇張ではなく事実

  その時にいちいち②のプロセスで言ってることを調べていては、理解にロスがかかって進まない。

  その時に何か1つでも言語をある程度知っていると、たとえ知らない言語での開発でも言ってることがわかるようになる。

  この感覚は例えが悪いが、ピアノを習っておけば、数年後に違う楽器を触っても上達が格段に早いとか、

  ドラクエをやっておけば新桃太郎伝説攻略スムーズにいく、とかの感覚に似ている。

  土台は同じで表現が違う、ということになるからである

以上が必要必須スキルである

新卒プログラミングやったことがなくても、①・②は社会で鍛えられるし、③は研修OJTという形で経験が積めるから問題ない。

新卒プログラミングやったことある人は、③が経験済みなので、その分有利である

転職場合往々にして即戦力として求められるので、③の経験がないのが大きなネックになる。

巷で言われる業界経験OKとは、③のスキルがない人のことを指すため、

①・②が人より優れてないと厳しい、ということになる。

参考にされたし。

2014-04-09

オブジェクト指向 v.s. 関数型プログラミング

近年、関数型プログラミング重要はいろんなところで叫ばれています

Javaの最新バージョン関数型プログラミングに関する新機能が加わりました。

Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています

プログラミング教科書大手オライリーからJavascript関数型プログラミングを行うための解説書が発行されました。

関数型プログラミングへの注目度は高まってきています

おそらく、みなさんは既にオブジェクト指向が何か、を知っています

でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います

実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、

関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。

この記事を読む方の中で、「関数型プログラミングを取り入れるか・取り入れないか」で切実に悩んでいる人は、おそらくいないでしょう。

この記事はあまりかいところに立ち入りません。関数型プログラミングを使う側の立場に立って、利点や向き・不向き、それが導くスタイルを書きました。

みなさんは鳥のように飛んで、高い空から関数型プログラミングとは何か、何が良いのか、を見渡してください。

ふたつのアプローチ比較

オブジェクト指向アプローチは、名前をつけてプログラムを整理する

関数型プログラミングアプローチは、汎用部品でなんとかする

オブジェクト指向アプローチ

Googleが近年リリースした言語、Goには、”継承”を直接サポートする仕組みが無いことが話題になりました。

また、Mac OSXの基幹ライブラリCore Foundationは、ライブラリ自体C言語で書かれているにもかかわらず、その設計方針は明確にオブジェクト指向です。

継承クラスは、オブジェクト指向必須条件ではありません。

オブジェクト指向本質とは、何でしょうか。

その本質とは"名前をつけて対象を識別し、それを扱うこと"、にあります

最もプリミティブなオブジェクト指向対象は、ファイルハンドラです。あるファイルを開いて、読み込んで、あるいは書き込んで、ファイルを閉じる。

これらの処理をまとめたら、わかりやすいですよね?

対象に関する処理を、対象の周りにまとめる。これがオブジェクト指向の基礎的な理念です。

識別することとイコール比較できることは、とても良く似ています

イコールによる比較は、オブジェクト指向では鬼門であることが知られています

PointクラスインスタンスとColoredPointクラスイコール演算をどう決めればいいかに、正解はありません(詳しくは"effective java"をご参照ください)。

また名前をつけて識別する対象は、フワフワしていてはいけません。

たとえば、"軍人階級"をオブジェクトにしたとしましょう。"大佐"クラスのある兵士名前フィールドや、性別フィールドを持っているでしょう。

ところで彼が昇格したときに何が起こるでしょうか。

新たに"少将"クラスインスタンスが作られます。"大佐"クラスを破棄する前に、名前性別、その他沢山のデータを引き継がなくてはいけません。フィールドを増やしたい場合はその都度コード修正を加える必要があります(*)。

なるべくイコール比較を避けたい。対象不安定なものはいけない。では何に名前をつけて、識別するか。そこにオブジェクト指向技術者の熟練度が現れるのです。

関数型プログラミングアプローチ

一方、関数型プログラミングでは、特定の何かに名前をつけるより、極力、汎用部品でなんとかしようとしま

さな関数を、集めて撚り合わせて、新しい関数を作る。

関数自体リストなどのデータ構造に詰めることもよく行われます

実は、関数型プログラミングというのは本質を表していません。

その真の名は、"値指向プログラミング"です。

関数をはじめとして、リスト・ツリーのようなコンテナ手続きを抽象化したもの、回路を抽象化したもの

あらゆる対象を値として、合成し、ときに分解し、新しい値を作ります

変数という概念必要ありません。

変数適用する処理を作りあげることが、とても簡単だからです。

四則演算定義されたデータを詰めたデータ構造もまた、四則演算可能だったり。

値をイコール比較することも、なんのそのです。

誤解を恐れずに言うと、オブジェクト指向トップダウンなのに対し、関数型プログラミングボトムアップです。

関数型プログラミングの利点

読みやすい・理解やす

関数型プログラミングサポートする言語には、沢山の汎用部品定義されています

このような構造インターフェイスとして、様々なライブラリが組まれているので、

たとえばモナドを知っていれば、30分程度でパーサー(解析機)を理解することができて、

パーサーを理解できれば、JSONパーサー・ XMLパーサー・markdownパーサー・C++パーサー ... などを理解するのはとても容易です。

理解やすいこと。これが関数型プログラミングの大きな利点です。

追記:

また、汎用部品と型のお陰で、ライブラリドキュメントが圧倒的にひきやすい、というメリットも有ります

Haskellな人がPythonにトライした結果 - Togetterまとめ

書きやす

関数型プログラミングは「厳密な事前設計必要とするため、簡単なことをやるのにも時間が掛かる」。

よく誤解されていますが、これはウソです。

スクラッチプログラムするのは、非常に手軽です。

>> map (*2) [1,2,3]
[2,4,6]

邪魔な”儀式”や、"おまじない"のコードが徹底的に撤廃されているためです。

関数型プログラミングコードは、潔癖かつ濃密です。

たとえばC言語でint hoge(int x,int y)が定義されているときhoge(3)はなんの意味も持ちませんが(コンパイルコケますが)、関数型プログラミングでは意味があり、実際に有用です。

上の例では、「掛け算をする」(*)関数は、二引数関数ですが、それに引数を渡して作られた「2を掛ける」関数(*2)は、一引数関数になります

関数型プログラミングでは、「簡単なことは簡単にでき、複雑なことは複雑にできる。ただし、間違ったことは殆どできないか、全くできない」。

多くのバグは、コンパイルエラーとして検出されます

また、静的型付けの力によって、コード補完は非常に強力になっていますインテリセンスの比ではないです。

たとえば、関数中のある表記の型を任意に表示できます(GHC/TypedHoles - HaskellWiki)。

やがてやってくる未来には、プログラムテキストエディタで書くことは時代遅れになっているでしょう。

統合環境サポートで、バグミスの少ない、スムーズプログラミングができます

そしてその環境で動くプログラミング言語は、関数型プログラミングサポートした言語なのです。

いつ関数型プログラミング

以下の様な兆候を感じたら、あなたはそのプログラム関数型プログラミングで書くべきです。

一般に、オブジェクト同士の相互作用が複雑になるほど、オブジェクト指向では手に負えなくなっていきます

そういうときは、オブジェクトを直接扱わず、替わりにその"相互作用"を扱うことで、複雑さを軽減するアプローチ有効です。

それこそが関数型プログラミングアプローチです。

オブジェクト指向の利点

初心者にとっては読みやすい・理解やす

特にオブジェクト指向有効なのはプログラミング初心者がそのコードをいじるかもしれないときです。

関数型プログラミングは、強固さと柔軟さの代償として、高い学習コストを伴います

そのため、初学者にとってはハードルが高いのです。

扱う対象があまり複雑でない時は、書きやす

オブジェクト間の相互作用が複雑でなく、着目している(名前をつけている)概念が安定しているとき

そして、プログラムをいじる人たちの間で共通理解が図れているならば、オブジェクト指向が有利です。

関数型プログラミングの得意分野はなにか

数値計算

遅延評価という機能によって、レガシー言語で扱えなかった、巨大な数を扱うことができます

分数を扱うことができます虚数もです。

関数型プログラミングで書かれたプログラムは、正確さが要求される、金融関連の業界で使われています

テキスト処理

手続きとしてパーサーを記述できるので、テキスト処理プログラムはより理解やすく、メンテナンスやすものになります

関数型プログラミングを知らない人は、「正規表現おk」と言いますが、

彼の書いた複雑な正規表現は、半年後には(書いた本人でさえ)理解できなくなっていることでしょう。

並行処理

手続き一般を扱うことができるので、途中で割り込みのある手続きの表現も容易です。

関数型プログラミングサポートしていない言語ではコルーチン(ファイバー)などをつかってなんとかするしかありません。

さもなくば、非並行処理では普通に関数として記述できるところを、並行処理のために、Builder,Strategy,Command,Interpreterパターンを駆使して書き直すことになります

Javascript使いの方は、Deferredなどの構造を使うでしょう(http://qiita.com/KDKTN/items/4c6986049d204f0645d8)。

C++使いの方はBoostで頑張りましょう。破滅的に解りにくいコンパイルエラーメッセージと格闘してください。

レシピ

もう少し簡単な例をあげます

あなたは、あるレシピにしたがって、自動的料理を行うマシン制御プログラムを書いているとしましょう。

料理レシピは、"手続き"ですよね?たとえば、カレー

1. まず玉ねぎを炒める。

2. 飴色になったら、肉を加えて炒める。

3. 野菜を加える。

4. 水を加えて煮る。

5. スパイスを加える。

しかあなたはこの手続きを関数として表現できるでしょうか。

…できませんよね?何故ならば、各ステップの"間に"、マシンのロボアームの位置や動きを調整する処理が必要からです。

これをオブジェクト指向でやろうとすると、各ステップ副作用として、それらの処理を行うことになります

そうすると、マシンが二機に増えた時などの変更量は、絶望的なものになります

あるいは関数として表現するのを諦め、手順全体をDSL記述できるようにします。

このアプローチ関数型プログラミング的です。しか関数型プログラミングサポートした言語の助けなしでは、そのDSL記述するために沢山のユーティリティコードを書かなくてはならないでしょう。

オブジェクト指向アプローチでこの問題をエレガントに解こうとすると、クラス化の粒度を上げる事になります

野菜クラスフライパンクラス、ボイルクラスフライクラス、焼き加減クラス、アームクラス野菜の大きさクラス、切り方クラス、焼き方クラス、"焦げたよ"クラスetc...

こうすると早晩レシピプログラムコードから消え去ることになります。上記のたった5行は、依存性注入のオブジェクトグラフを構築するコードに取って代わることになります。そこには沢山の挙動制御オプションとして付記されているのです。

カレーなど、ある種のレシピ限定することで、見た目の理解やすさを得ることができますが、一方それは表現力を損なうことを意味します。

C言語などではマクロを使うこともできますが、それは結局、関数型プログラミングアプローチ意味するところと同じになります。すなわち、補助のために沢山のコードを書くことになるでしょう。

GUI

iOSのAppstoreアプリは、"無料"と書かれたボタンを押すと、それが"インストール"ボタンに変わり、それをもう一度押すと、ダウンロードの進捗を表すインジケータに変わり、それを押すとダウンロードキャンセルできます

このように、位置は同じなのに、ステートに依って見た目と機能が変わるボタンは複雑です。

これをオブジェクト指向で実現しようとすると、

1. 三つの異なるボタンを同じ位置に置くか

2. 同じボタンが三つの異なる機能を持つか

という下らない問題にぶつかります

一方関数型では、"機能"、"見た目"、"状態"、を独立に扱って、それらを合成してボタンを作るので、迷うことはありません。

「同じ位置にあるUIオブジェクトは、コード上で(インスタンスとして)独立して、他から干渉を受けない」

この条件が満たされているうちは、オブジェクト指向GUIを実現することに無理はありません。

しかし、携帯端末のような小さい画面で、多くの機能を達成するためには、UI要素はコンテキスト依存的に複雑になりがちです。

近年、PCのディスプレイの大きさは、頭打ちになってきました。

画素数は増えているのですが、MacにおけるRetinaのように、複数ピクセルひとつドットを表すようになってきています

これは、ひとつの画面に置かれるボタンなどのUI要素の数は、これから先の未来で増えることはない、ということを意味します。

したがって、未来GUIプログラミングは、注意深く機能ピックアップして制限するというデザイナー努力を脇におけば、

関数型プログラミングの力を頼るしか無いでしょう。

はじめよう、関数型プログラミング

まり

Haskell さいこうなのおおおおおおおおおおおおおおおおおお!! おしっこ漏れちゃうのおおおおおおおおおおおおおおおおおおおお(゜∀。)ワヒャヒャヒャヒャヒャヒャ

1. google:すごいHaskellたのしく学ぼう を注文する。

2. Download Haskell自分のPCに導入する。

3. コンソールghciと入力して、対話コンソールを立ち上げる。

4. 次の関数コンソールに打ち込んで、結果を見る。即値で書かれているところとかをいろいろ変更してみて、感動する。

take 4 $ map (*2) [1..]

5. ステップ1で買った教科書を読んで、学ぶ。


追記:

いかがでしたか

ちまたには、関数型プログラミングの利点は変数が無いことだ、とか、より安全から、とか、より速いから、などという妄言が満ち溢れています

オブジェクト指向関数型プログラミングは、水と油ではありません。プログラマ自分プログラムに最適なアプローチを選ぶことができます

一般にはあまり知られていないことですが、Haskellにもオブジェクト指向へのサポートがあるんです(Lensライブラリ、これを使用したサードパーティライブラリ最近増えてきています)。

この記事を読んだオブジェクト指向プログラマあなたが、少しでも関数型プログラミングに(そしてHaskell)興味を持ってくださって、ホームセンター大人用オシメのコーナーが大賑わいになれば幸いです。。

2014-03-25

奈良市公式サイトのパンくずはどうすべきなんだろうか

http://blog.seamonkey-delivery.com/web/910/

このパンくずがイケてないのは分かる。

自分開発者だったとしたらどうしただろうか。

パンくずリストを動的に生成する

(どういう経路でこのページにきたかを表示する)

・ 静的なパンくずリストに拘るのであれば、該当のページは多くのコンテンツからリンクが貼られる汎用的なコンテンツなのでパンくずを表示しない

・ 一つに絞って表示する

くらいしか思いつかない。

パンくずリストの動的生成がCMSに備わっていないのであれば、機能追加でお金がかかるので難しいかもしれない。予算オーバーだろう。

スクラッチCMSを作っているとの仮定だが)

役所仕事なので、機能を追加? じゃあ追加費用ね! とはいかないし。

そうなると、じゃあどれを表示するか。みたいな話になるんだけど、こういった議論は大体「全部表示すれば問題ないでしょ。足りないなら問題あるけどさ」という結論に陥りがち。

でも、これは閲覧者のことを考えての結論じゃないからな。

結局、色々考えたけど自分担当者だったら、この表示に落ち着く気がする。

どうでもいいけど、ブコメ

「これダメなの? なんで? 委任状で済ませられる届けが一覧できて便利じゃん。全上階層からちゃんとリンク張られているし。利用者目線だと良いと思うけど?」

というコメントがあった。

このリンク自体はあっても良いものだけど、それはもはやパンくずじゃない。「委任状で済ませられる届けが一覧できる」エリアコンテンツ下部とかに表示しとけば良いだけ。

ブログとかでもあるじゃん。関連記事とかおすすめ記事みたいなエリア。それで済ませれば良いわけ。

2013-09-10

ぐるなびポイントが大変なことになっている

Naverまとめとかブクマちゃう諸君におくる。

ぐるなびポイント「ぐポイント」というものがある。ちょっとからこのポイントの大盤振る舞いっぷりがすごいことになっているが、意識の高いはてなー()の間では認知されていないようだ。なので書く。

ポイントとは、基本的にぐるなび契約してる店に行ったり、メルマガに登録したりするとつくポイントで、1ポイント=1円で使えるものだ。

どうせ使った分の5%還元なんだろ、ポイントをためる労力に見合わんとか思うだろ。俺の話を聞け。これがどう大変なのか箇条書きで書く。

  1. ぐるなびタッチかいう、来店を記録する機械がある。これを初めて使うと1000ポイント1000円のタダメシが食える。
  2. 毎週水曜日は「超得の日」と言って、ポイントで支払った分から最大1000ポイントキャッシュバック1000円のタダメシが食える。毎週だ。
  3. メルマガ登録のキャンペーンをやっている店がある。この店でメシ食ってメルマガ登録すると500ポイント
  4. 何か良く分からんキャンペーンをやっていて、来店タッチ後にスクラッチくじ的なゲームができる。はずれは50ポイント、あたりは2000ポイントメルマガ登録が条件。
  5. 毎週金曜は来店ポイントが3倍。通常は来店タッチして50ポイントのところ150ポイント
  6. 今日から毎週月曜は来店ポイント10キャンペーンなるものを始めたらしい。9月月曜日は来店タッチするだけで500ポイント


5%とかそんなレベルじゃないことが分かっただろうか。650円定食を食って来店ポイント+メルマガ登録で1000ポイントつくことが普通にある。明らかに経済の原則からしておかしい、異次元といってもいいかもしれない。

これを知らないようでは、諸君、情報強者はいえないよ?

さて、これは個人の感想であってぐるなびステマではないので、よろしくない点も書いておく。

まず、ぐるなびポイントが使える店が少ない。サイトで使える店を検索できるが、一人の行動範囲の中にせいぜい十数店舗だろう。新宿渋谷中央区に住んでいる/勤め先のある諸君は選ばれしものだ。23区でも端の方は壊滅的だ。なんとか県にお住まいの君は、えー、お察しください。リンガーハットは全国全店舗で使えるらしいかちゃんぽん食いまくるといいよ。

次に、これを一番伝えたかったのだが、タダメシを食い過ぎると頭がおかしくなる。先週など毎日銀座で昼メシを食っていたが、1円も払っていない。それなりにちゃんとした店で、サラダコーヒーつきのうまいメシを食い、金を払わないで出る。正当な対価を払わないことが、こんなにも、もやもやと据わりの悪いものだと思わなかった。

この大盤振る舞いがぐるなびが儲かっている証拠なのか、食べログに押されてのゴリ押し体力勝負なのかは判断がつかないが、そう長くは続かないだろうと思われる。Naverまとめとかブクマちゃう諸君は今すぐぐるなびのサイト検索して、歯ぎしりをするか狂喜するかして頂きたい。

2013-09-01

BtoBとBtoCの技術が逆転する時代

アーキテクチャWebオンリー偏見満載で語ってるみる。

ここ10年のBtoBの成果は、共通の技術基盤という妄想のために用意された

複雑大規模で、完全に閉じてて、他には誰も使えないEclipseで動く謎のゴミ

JavaっぽいJavaっぽいJavaっぽい何かで

自分達でも持て余して、パッケージ導入とか、結局Strutsスクラッチ開発だったね。

まあ、商売ネタとしては成立してたけど。

Struts1のサポートが切れる蓋を開けた時の状況は、笑いどころか失笑でした。

からってBtoCも凄かったわけじゃない。

やすいはやいゴミを量産する方向にシフトした。

PHPとかPHPとかPHPとかで

そこで事件が起きる。Railsの登場。

ビジネス的には、あんまりインパクトはなかったこれだが、歴史の転換を説明するのには便利。

Railsアーキテクチャは、エンタープライズアーキテクチャパターンを程よい感じに取りこんでいる。

馬鹿にでも使えるようにしたもので、これが世に放たれた。

そこからBtoCのアーキテクチャの質が一気に上がる。

さんざんdisられるPHPの良さは、その哲学の無さだ。

Perlパクりから始まって、Javaクラスパクッて、Railsも速攻パクった。

最近は、所謂関数言語と分類されるパラダイムも最速でパクてる。

そんな感じで、RailsからパクッたフルスタックMVCフレームワークが一気に広まる。

そしてこれらのフレームワークは、金魚のフンSierにとって銀の銃弾だったStrutsを、

鼻で笑えるもので、Strutsドヤ顔してた彼らは、この時点からPHPerからも見下される存在になった。

ORマッパーを知らないおっさん。お元気?

エース開発リーダーさん。そろそろDIコンテナあたりは使えるようになった?

Javaの方が良いとか言うなら、せめてそのぐらいはフォローしたら良いんじゃないですかね。。。

さらには、大手BtoCのアーキテクチャ公開も普通になる。

アーキテクチャは、もはや商売道具じゃなくなった。

長年の秘伝の味を売りにしてたBtoBアーキテクチャは、

その汚い樽が馬鹿にされる時代突入する。

ただ、これは結果から見たもので、本来の本当の流れは、ネットの普及にある。

BtoCの市場が巨大化し、パイが増えて、それだけ技術者も集まった。

人が多ければ、優秀な人材が集まる確率も増える。

優秀な人材プロダクトを作れば、優秀なプロダクトが生まれる確率もあがる。

から進歩も速くなる。

みんなで作れば凄いものが作れるという勘違いは、決してしないように。

これはアーキテクチャにも影響して、その方向性を決めるようになった。

SOAPRESTなんかがまさに象徴

SOAPは、優れていなかったわけじゃない。ただ単に閉じた世界すぎた。

RESTは、実用的なアーキテクチャなんてほとんど無い。ただみんなが適当にやってたのに名前付けただけだ。

だいたい今はそんな感じで

今後はアーキテクチャはBtoCが主導するだろう。



ただし、これはアーキテクチャの話で、品質はまた別ですよ。

そこの社内SEさん。技術キーワードが凄いからって発注しちゃだめよ。

まともなもんが返ってくると期待しちゃいけない。

BtoBは、この鈍行の間、何もしなかったわけじゃない。

たった数パーセント稼働率を上げるために、何十倍時間や金をかけてきた。

実際、そういうものから仕方が無い。

彼らは、そういった品質に命をかけてきた。

設計書の文字のタイポレビューすると、単価計算で1万円以上は余裕でする。

大手Sier役割は、いつまでも必要だろう。

でも、その住人は、そういうものに命を捧ぐ時代である覚悟しないといけない。

2013-07-24

http://anond.hatelabo.jp/20130724111813

というか、金額の根拠って値切るときに値切り材料を持ってくるのは値切る方の仕事じゃありませんか?

 

あなたは、テレビ量販店で買うときに、ショップのひとに原材料費はいくらか教えろというのですか? 仮に原材料費を教えたとしても、そこに研究開発費と利益が乗っているのですが?

また、価格需要供給で決まるものであって、原材料費関係ありません。

 

つか、ソフトウェアの製造原価で大きなものは 『研究開発費』 だっつーの。

カスタマイズとかサポートなら、人月で受けられるけど、 初期のスクラッチを、人月じゃ受けられない。

 

というのが本当だとおもうんだけどね。値切りたければ値切るほうが値切り材料出せよと。なんか、おかしいこといってるのかね。

2013-06-06

http://anond.hatelabo.jp/20130606114046

認証を許可したら

nginx error!

ってなったよ?ちなみにChrome

いくつかのブラウザでチェックした方が良いよ。

キャッシュが残ってて、「たまたま」上手く行くこともあるし。

シークレットモードで試してもいい。

でも自分で考えてスクラッチで創るのは良いと思う!

資格なんかより、より実績になるし。

頑張れ。

アラサーニートがはじめてのweb serviceを作ってみた

概要

http://hakohako.me/

hakohakoは、バンド好きのためのライブ日程共有サービスです。ツイッターフォローしている人のライブ日程をカレンダー形式でお届けします。ちょっとでも気になるバンドを見にいきましょう!

すみませんgoogle chromeしか検証していません。

動機

3つあります

一つ目は、一人でスクラッチで作りたいからです。プログラムを書くことは楽しいです(たいしたものはかけませんが)。しかし、デザイン運用のことは苦手で経験不足でした。これを期にやってみようと思いました。

二つ目は、少しでも気になるバンドを見逃したくないからです。不精なこともありますが、すべてのバンドをチェックできません。いつのまにか来てたりとか、来る前に解散してました。バンドの魅力は、小野ほりでい先生も認めてます

三つは、就職したいから!

構成

一人で小さくwebserviceを作るためにはどうしているかを他の人にも書いてほしいため、自分から書いてみます


言語pythonで、web aplication frameworkはflaskを使いました。rubyphpよりpythonが楽だと思いました。flaskはmicroframeworkで、rubySinatraと似ていて、小さいアプリ作成するのに適していました。

永続化のところは、redisを使いました。結果、redisを使った何かになってしまいました。。。mysqlでもpostgresでも、rdbを使った方がよかったです。ただ、sessionの管理message queueを実装できるので、そちらで功を奏しました。

amazon ec2microで、nginxもuwsgiのreidsもworkerも動かしてます。dot cloudも試していたんですが、無料枠は4月末で終了してました。

デザインが苦手なので、bootstrap、bootswach、font awesomeを使いました。しかし、基礎ができてないためイケてない感があります。ノンデナイザーズブックを読んで出直してきます

javascriptも苦手なので、coffeescriptを利用しました。pythonを使っているせいか、書きやすいし読みやすいです。mvcframeworkは利用していませんが、modelview意識して書きました。

githubgitの代わりに、bitbuckethgを使いました。私にはgithubgitの敷居は高かったようです。bitbucket日本語で利用できるので、楽ですね。hggitよりも複雑なことを感じないです。ただ、gitの方が日本語ドキュメントは多いです。

gruntは、lessとcoffeescriptコンパイルで使いました。リアルタイムで変更を通知するlivereloadも併用しました。

感想

楽しいです!

聞きたいこと
最近オススメバンド

2013-03-25

http://anond.hatelabo.jp/20130325192451

経験則で申し訳ないが、ポインタとかメモリー空間の理解が無いと、例の「Staticおじさん」が生まれるんだよね。

エンハンスではコピペしてちょいちょい変えるだけで凌ぐからバレなくて、

しばらく経って、いざスクラッチをやらすと化けの皮がはがれる。

2013-03-04

http://anond.hatelabo.jp/20130304091843

うるせーから調べてきたけど

鷲宮神社においては、彼らが絵馬に『らき☆すた』の登場人物の絵を描いて奉納する、

記念撮影を行う、コスプレ姿で参拝するなどの行動がマスメディアを通じて報じられた[13][14]。

初詣の参拝客も、2008年にはこの年の埼玉県内第3位となる約30万人、

また2009年には同第2位となる約42万人に達し、関係者の驚きを呼んだ[15]。

なお、初詣の参拝客の過去最高は2013年現在2011年から3年連続で約47万人であり安定している[16]。

こうした「巡礼」を受け、鷲宮町商工会(現・鷲宮商工会)は、町独自のオリジナルグッズを制作

同会青年部の運営する大酉茶屋わしのみやや町内の複数の商店にて発売し[17]、

作者や出演声優鷲宮神社への公式参拝イベントを開催した[18]。

その他にも歳末セールで『らき☆すた』のキャラクターをあしらったスクラッチカードを用いるなど、

様々な地域振興策に取り組んでいる。

鷲宮町もこうした経緯から2008年4月1日付で柊一家を町内の架空の住所に住民登録し、

同年4月7日より特別住民票交付を行った[19][20]。

地元商工会や町まで巻き込んだビッグビジネスになってるみたいよ。

10単位て。引くわー。

この巡礼欲ってのが全然理解できないが。


…っていうことを調べて教えてあげたところで

君は感謝するどころか不機嫌になるだけなんだろうけどね。

どーも事実関係が知りたかったんじゃなくて、

オタクなんか影響力が無いに決まってる!」って思いたかっただけっぽいから。

2013-02-24

http://anond.hatelabo.jp/20130224013039

頭が良かろうと内容が多ければ長文にならざるを得ないのだけど、その点は考慮外なんだろうなあ。

これじゃあ、スクラッチからHello worldくらいしか書けない程度の技術力なんだろうなあ。

2012-12-17

http://anond.hatelabo.jp/20121217134238

いっそのこと見えてる「色」で描いた絵が見てみたい。

黒地に、図工のスクラッチングみたいな感じで。

美しいと思うんだ。

2012-10-04

これからも虚ろな目でスクラッチを削り、盲目的にプレミアム拡張倉庫を購入し続け、金策のために制限時間内でマルチ放浪するだけ。

2012-06-09

上司と部下の日本企業。主人と奴隷外資系

日本企業外資系(ともに金融)に勤めた経験から語る。

日本企業場合

日本企業には上司と部下と非正規しかいない。非正規はよそ者使い捨ての、封建社会でいうと武士の序列に入らない農民みたいなものなのでこれ以上言及しない。

オレにとって上司人間でもさらに偉い人からすれば部下だし、その逆もしかり。つまり相対関係。

そしてそれの80%は入った年次で決まる。つまり同じ会社に何年いるかで決まる。

実力はよっぽど優れたクリエーターとか独占資格を持ってない限り関係ない。

すべては人間関係で決まる、人間関係根本は親と子、弟と兄といった年齢的要素である

年次=企業内での年齢=親兄弟人間関係という図式が成立する。すごい事務処理能力の高い奴は逆にねたまれる。

先輩はいつまでたっても上司だが、後輩はいつまでたっても部下。

そして50歳を超えてその積み重ねてきたスクラッチが削られて、役員になれるか子会社に放り出されるかがようやく決まる。

株主はどうでもいい、なぜなら株主株主自分から

外資系企業場合

外資系企業には主人と奴隷しかいない。

主人とは少数の有能な使役者であり、独立国家皇帝だ。

奴隷はそこにへばりついて仕事をこなす。

優秀な奴隷は、自社や他社から新しい主人として迎えられることもある。

ダメ奴隷は放り出されて砂漠を彷徨うことになる。

上下関係があるという点では日本企業とも同じだ。

けど、重要なのは新しい奴隷も古い奴隷もみな平等にただの奴隷だということだ。

先輩後輩はない。

しかすれば隣で働いている古い奴隷明日には主人となった自分奴隷となっているかもしれない。

すべては絶対主義の実力。

主人は主人で独立している。

隣の古い主人の意見は聞かなくてもいい。聞くのは株主というオーナー意見だけ。

オーナーの一存で放り出されることもあるが、優秀な主人は別の奴隷牧場に今までの奴隷たちを引き連れて、また別の独立王国樹立する。

もちろん使えない主人は使えない奴隷と同様、砂漠を彷徨う羽目になる。

2012-04-11

うちの会社ビルドシステムおかしい気がする

http://anond.hatelabo.jp/20120407162253 に便乗して。

それなりに大きなとある会社プログラマだけど、うちの会社ビルドシステムおかしい気がする

まりにも原始的なので違和感を感じるんだけど、自分ビルドシステムに対する知識が圧倒的に不足しているので、今やってる作業に本当に意味があるのかよく分からない。詳しい人に教えてもらいたい。

環境

でどんな方法ビルドしているかというと

  1. Subversion からファイルをチェックアウトしてくる
  2. バッチファイルを使ってワーキングディレクトリファイルを全部 C ドライブ直下ディレクトリファイルコピーする。 C:\PRODUCT とする。これは決められた名前以外では動かない
  3. メインのソースツリーを製品ハードごとのツリーにエクスプローラーコピーする
  4. 製品ハードごとの依存部分をさらに上書きする
  5. 10個ぐらいあるバッチファイルから必要なものを選んで実行し、ビルドする。スクラッチビルドしかできない

こんなこといちいちやるので、ビルドに数時間かかる

あとソース更新した時の手続きは

  1. 製品ごとのソースツリーで、同じファイルを使っているものには手動で上書きする
  2. 更新したファイルワーキングディレクトリに手動でコピーする
  3. ビルドしたバイナリごとチェックイン

手動でコピーするからよく事故が発生するし、同じファイルが複数箇所にあるので全然履歴が追えない。

あと、中間ファイルや実行ファイル(.o とか .so とか) も含めてごちゃまぜにチェックインされているので、もっと訳がわからなくなってる。

ビルド成功しないのが当たり前」とかいう人ばかりで、正直発狂しそうになる

フォルダツリーがわかりづらいと思うので図を書くと

 /
  Main/         -- 共通ファイルディレクトリ
       foo/
           bar.c
       driver/
           common.c
  ProductA/
       foo/
           bar.c -- ProductA 用の変更が入ってる
           baz.c -- ProductA 専用ファイル
       driver/
           common.c
  ProductA_Orig/ -- ProductA/ 内の ProductA用ファイルが丸々入ってる
       foo/
           bar.c
           baz.c
  ProductB/
       foo/
           bar.c -- Main と全く同じ
       driver/
           common.c
  ProductC/
       foo/
           bar.c
       driver/hoge.c
  ProductC_Orig/
       driver/hoge.c

こんな感じになっていて、共通部分は Main/ の中とそれぞれの ProductA, ProductB, ... ディレクトリの中にすべてコピーされている。

チェックインするときはすべてのファイル、例えば bar.c を更新したら Main, ProductA, ProductB, ProductC の bar.c を手動で更新する必要がある。

ビルドするときは Main/ のファイルを ProductA/ にコピーして、 ProductA_Orig/ の中の機種依存ファイルさらに ProductA/ にコピーする。これは、同名のファイルが Main にもあって、 ProductA のファイルが上書きされるかららしい。

こんな状況なので、ソースツリーは常にビルドが通らない状態

ビルドできないので、最後最後まで結合テストが出来ずに、みんなローカルPCで開発してる。誰かのPCが吹っ飛ぶとその人が開発していた差分消失する。

近々また製品バリエーションが増える...

「ツリーを共通部分と依存部分きちんと分けて、ビルド自動しましょうよ」って上長に提案したら「この会社はこれでやってる。むしろバイナリが入っているのでビルドできなくてもテストできる」という感じであまり真面目に取り合ってもらえなかった。

2012-03-13

書き直したって、いいんだよ

http://www.yamdas.org/column/technique/hatenablog.html

 なお、タイトルに PART I とあるが、このネーミングはメル・ブルックスの『珍説世界史 PART I』にちなんだもので、PART II 以降は存在しない。つまりあなたソフトウェア企業)が絶対すべきでないことは、Joel Spolsky にとってこの文章に書かれることだけなのだ。それは何か?

 プログラムスクラッチから書き直すことに決めることだ。

まぁ、そんなわけないんだけどね。

最近はてな体たらくへの失望感名前を付けたい」というだけの文章にマジレスするのも我ながらどうかと思うし、気持ちは分からなくもないんだが、最近は「はてブ」以外全く使ってない俺でも、長年お世話になってきたはてなに対してそれなりに愛着というものがあるわけで、ディスられるばかりの流れに少しばかり反抗を試みたい。これは、それだけのエントリだ。

というわけで、以下に書くのは、技術の話でも倫理の話でもない。どうか気軽に読んでほしい。

書き直してはいけないのか

実例を挙げる。

今やワールドワイドな影響力を持つ勝ち組ソーシャルサービスTwitterだが、彼らは、ここ数年でバックエンドの大半をスクラッチから完全に書き換えたしかも、RubyからJavaへと、使用言語すら変更してしまった。

http://d.hatena.ne.jp/teppei-studio/20110709/1310168002

もう一つ。Tumblrも、LAMPアーキテクチャからJVMベースへ切り替えた。その過程で、Twitterオープンソース化した技術を取り入れたりもしている。

http://blog.kyanny.me/entry/2012/02/19/002256

『「古いコードクズだ」というのは錯覚だ』というJoelの意見は、一面では正しいが、他の面では間違っている。なぜなら、あるソフトウェアに求められていること(要件)は、時間と共にどんどん変化するから

書き直そうが、書き直すまいが、一番ダメソフトウェアとは「ユーザの要求に応えられないソフトウェア」だ。規模や環境の変化によって古い技術技術限界に直面したり、ビジネス環境の変化に追随する必要が出てきたのなら、「スクラッチから書き直す」のは立派に一つの選択肢だ。

技術の変化

はてなダイアリー最初バージョンがどういうものかは俺もよく知らないが、おそらく「LAMP」がエッジなキーワードとして持て囃されていた頃に書かれたプロダクトなんじゃないかな(間違ってたら突っ込みを)。それから時代下りRuby on Railsに代表されるCoCフレームワークの登場を経て、今や大規模分散や非同期を前提としたアーキテクチャが当たり前の時代。当然改修はしているだろうけど、MySQL職人芸で負荷分散していた時代から大分遠いところに来たのは間違いない。

何より、はてなダイアリーといえば「はてな記法」とカスタマイズ自由度の高さがウリだったわけだが、これらの存在が、今や機能追加や改良の妨げになっているとしても不思議じゃない。

はてなブログ開発の動機として「今どきの技術で、最初からやり直す」というのがあるのは間違いないが、それは「スクラッチからの書き直し」だから悪手なのだろうか。結局のところ、レガシーコードメンテナンスを続ける場合と比べてどちらがより低コスト、という話の結論によるとしか言えない。

ビジネス環境の変化

はてダソーシャル要素といえば「トラックバック」と「idコール」と「キーワードリンク」だったわけだが、全部Twitter(とTogetter)に持っていかれたよね、という話。

から、「はてダver.2」や「ブログ2.0」を望む声が大きいのは理解できるけど、ぶっちゃけ、そんなもんに開発リソースを突っ込んでも勝ち目なんか無い。んで、それに代わるアイディアを持ってる奴はどこにもいないと。だから既存コードの改良ではなくスクラッチから書き直し、スモールスタートでフィードバックを受けながら方向性を考えていく、という方向性はそんなに間違っていないと思う。

ただ、現状を放置すると「それTumblrでできるよ」という話にしかならん、というのはその通りで。それ以外だと、もしgithubblogサービスを始めたりすると、かなり客を持っていかれるのではないかという予感はする。いっそのこと、Tumblrのデッドコピーから始めるのが一番早いのかもしらんね。

技術の体系化の弱さ

少し別の話を。

https://github.com/twitter

これは、Twittergithubレポジトリだ。上でも書いた通り、Twitterサービススクラッチから書き換えた。で、その過程で開発した内部向けのフレームワークを、どんどんオープンソース化している。彼らが、内部の技術をきちんと体系化して再利用可能にしていることの証左と言える。

一方、はてなgithubレポジトリ。正直、サンプルとかプラグインばかりですね、と。

https://github.com/hatena

色々と理由はあるんだと思うが、一つ思うのは職人芸頼りで自分たちの技術を体系化するという部分が弱いんじゃないか、ということ(はてな発のオープンソースで広く使われてるのって何かあったっけ?)。

先ほどから散々「書き直していい」と主張しているが、誰かが言っていた通り、技術本質を捕まえきっていない状態でフルスクラッチをやっても、失敗する可能性は高い。はてなブログがどちらなのかは、中の人しかからないことだけど。

マネタイズ

はてな経営的にあまり状況がよろしくない、という推測はおそらく当たっているのではないかと思う。

タイムラインで、誰かが「まっとうな方法収益化する方法を真面目に考えるべきだった」と言っていたのを見た。それをしていれば、今回のような事態を招くことは無かったのだろうか。

だが、「まっとうなビジネスモデル」とは何だろう。実際問題として、ここ最近成功しているネットサービスビジネスモデルで「ターゲティング広告」と「マスなユーザベースから抽出したビッグデータを解析して売る」以外で何か有力なものはあっただろうか。FacebookにせよTwitterにせよ、収益化の原動力はユーザ行動解析だったりするわけだ(彼らがオープンソース化に積極的なのはインフラ技術差別化の源ではない、という面もある)。

まぁ、あとはガチャだが、どちらにせよ現状では高木先生逆鱗に触れるようなものしかないよね。

そんなわけで、それらに代わる第四のマネタイズモデルを思いついた人は、ぜひ近藤さんに教えてあげると良いんじゃないかな。あればだけど。

最後

今後はてながどうなるかは分からないけど、一つ希望したいことがあるとすれば、故伊藤計劃氏のダイアリーがこの先も保全されることを望みたい。

それは、エントリを全て魚拓しろ、という話ではもちろんない。彼の生前に書かれたエントリは、当時の「はてな」という生態系を構成する一部でもあるわけで、そこから切り離して文章だけをアーカイブしてもあまり意味がない。

まりネット過去を作ってきたものとして、現在適応しながら、未来へと生き残って欲しいと、そういうことです。

2011-07-01

引き寄せの法則リアルタイムで実践する

お金が欲しい。風俗行きたい。イケメンになりたい。

スポーツ万能になりたい。海外旅行行きたい。

頭よくなりたい。筋肉ムキムキになりたい。

人には実に色々な願望がありますが、ほとんどが実現されないのが現実ではないでしょうか。

ちなみにお察しの通り、上に書いたものはすべて私の今の願望です

こういった願望を抱くという事は、現状はすべて逆であるということです

そう、つまり私は正真正銘の【ダメ人間】なのです

でもどうしても願望を実現し、現状を変えたいという強い思いだけはあります

そして強い思いだけもって特に何も変わらない、悶々とした日々をすごしてきました。

が、昨日我が家本棚に「引き寄せの法則」「ザ・キー」という2冊の本を見つけました。

これは母が何年か前に買った本で、今まで特に気にしていなかったのです

昨日なぜか急にこの本が目に入ったのです

母に聞いたところ、「結局宗教っぽくてあんま面白くなかったよ」といわれました。

しかしとても気になってしまい昨晩と今朝で一気に2冊読んでみました。

感想

確かに宗教っぽい。でもこれ全部マジだったら俺も変われるかもw

この日記を書いた理由

実践の方法

とりあえず「引き寄せの法則」よりも「ザ・キー」の方が自分にはわかり易かったので

こっちに書いてあったメソッドとかを一通りやりながら願望を実現してみる。

ザ・キーに書いてあったこと
  1. 願望を実現出来ないのは、自分の思い込みを「クリア」出来ていないから。
  2. クリアにする方法を知る前に、神様になったつもりで、自分がなりたい姿を書いてみる。
    1. 本当に神のつもりになれた?絶対無理とか考えなくていいから、もっと書け。
  3. 願望実現の前に、現状に感謝しよう。
  4. 幸せを問いただす
  5. 自分の中の思い込みを変える。
  6. 愛してると言う。
  7. 望む事をシナリオで書く。

本当はもっと書いてありましたが、自分の中で印象に残った部分だけ抜粋しました。

では、順に実行していきます

1・願望実現のコツはクリアすること
まず、引き寄せの法則とは、僕らが何か思考すると、それを宇宙が受け取って
あとは勝手現実にそれを物質化して叶えてくれる。
ボールを真上に投げたら、重力によってまた自分のとこまで戻ってくるのと同じように
例外なく自分の思考はすべて現実ものとなっている。という法則のことです。
これがなかなか実現出来ないのは、例えば「超絶美人なお姉さんとHな事したい!」と思考したときに
「でも俺ブサイクだし、そんなお姉さんにすかれるわけがない。」とか「第一出会いがねーし!」みたいな
思い込みによってこの願望は実現を阻まれているそうです。
だから、この思い込みをクリアにすれば願い事はすべてかなうです!
というのが一番最初に書かれてました。
2・神になったつもりで自分が何になりたいか。どう変えたいかを書いてみました。
まず1億円くらい手にする。
免許を取って車とバイクを買う。
顔が向井理みたいにイケメンになる。
体がジェイソンステイタムのようにマッチョになる。
スポーツ万能になり、フットサルテニスボーリングゴルフダーツなどの
大会で全て優勝する。
1ヶ月で10カ国以上を旅する。移動の飛行機は全てファーストクラス。
頭がよくなり、業界世界的に有名な人間になる。
かわいい子にモテるようになり、セフレが5,6人くらい出来る。
風俗に週2で通う。
2-1・不可能な事はないので、遠慮せず書く。
結構遠慮しませんでしたが、1億円は「さすがに10億は行きすぎだろ」
とか考えてたので、1000億くらい手にする。に変更。
あと、スポーツ大会は「外人には勝てないよね」って思って国内を想定してたので
世界大会で優勝に変更。
旅行の部分は「10カ国とか時間的にキツいかな?」とか考えてたので
1ヶ月で30カ国に変更。
3・まずは今に感謝する。

著者の友人はこんなことを言ったそうです

多くのひとはその瞬間を生きていない。

常に、つぎの契約、つぎの車、つぎの家、つぎの昇給について考えていて、

パワーの基点、つまり、真の奇跡がいまここにあるということに気づいていない。

「ザ・キー」P75より

確かに、僕も今足りないものばかりだから、これが満たされたら幸せになれると思ってました。
でも、つぎばかり求めてると、つぎが来た時にはまた「つぎのつぎ」を求めるようになり
結局いつまでたっても幸せになれないのだそうです。なるほど。
で、ここでは自分が今感謝できることをひたすら書いていきます特に大きな病気もなく健康に暮らせている。
家族もみな健康である毎日行く場所がある。
毎日おいしいご飯が食べれている。
適度に遊べている。
面白い人達毎日会える。
たくさん寝れてる。
帰る家がある。しかも駅から近くて綺麗で広い。
車も原付もほぼ好きな時に寝れる。

書き出してみるとかなり恵まれてると思ったw
4・不幸せを問いただすメソッドと5の思い込みを変えるメソッド自分にはしっくり来なかったので飛ばしました。

6・愛してるという。

「愛してる」って言う。というか心で唱えるだけでも問題を解決することを

妨げているものを除去することが出来るらしい。

これからはよく唱えるようにしよう。

7・シナリオを書く。

自分が望むことをシナリオのように、既に起こったこととして書くと

その通りになるらしい。

私は、はてな匿名ダイアリーを書いていました。そこには自分が願望実現を
リアルタイムで実践していく様子を記していました。
一度書き終えてからたまたま通りすがった宝くじ屋でスクラッチタイプのくじを2枚購入。
その際には先ほどの教えに従って、売り場のおばちゃんに「愛してます」といいました。(心のなかで)
しばらく歩いていると、後ろから急に「おにーさん!」と肩を叩かれ、驚きながら振り返るとめちゃくちゃ可愛いギャルが・・・
きっと美人局に違いないと思った僕は「すいません」と言い残し足早にその場を去ろうとしました。
しかギャルは「今何してるのー??どうせ暇なんでしょー!カラオケでも行こうよっ☆」と満面の笑みで誘ってきます。
「か・・・可愛い・・」それでもまだ美人局の可能性を完全には否定できないと思った僕は「ごめんないさい。用事があるので」と
ギャルの誘いを断ってしまいました。これが引き寄せの法則の力だとしてもさすがにいきなりは怖いと思ったので自分的には
正しい判断だと思います。結局メアドだけ交換してギャルは去っていきました。
生まれて初めての逆ナンテンションがあがった僕はまたもや目に入って来た宝くじ屋で今度は5枚
スクラッチタイプのクジを購入しました。

近くにあった漫画喫茶に入り、買った7枚のスクラッチクジを一つ一つ丁寧に削っていきます。
この時、なぜか高額当選が当たり前かのような気分に浸っていました。
そして4枚目のクジを削ったときに見事1等当選!!!
当たり前とは思っていたものの、思わず叫びそうになるのを必死に押さえ、喜びをかみしめます。
残りの3枚を削ってみると、ほかにも3等と200円の当選が各1枚ずつまぎれていました。
自分の身に起こったシナリオ通りの事態に足を震わせながら換金へと向かいました。
換金後はもちろん先ほどのギャルに連絡し、早速遊びに行っちゃいました。




さて、とりあえず今から、気持ちい気分で最後に書いたシナリオの場面を想像

愛してるとつぶやきながら宝くじを買いに行ってきます

引き寄せの法則の効果をリアルタイムで実践したいと思います

※購入後につづきを書きます

  • 7/1 18:25編集 -----------------

待っていた人などいないと思いますが、皆様お待たせいたしました!

結果報告!!

ナン:されず・・・でも可愛いギャルとたくさんすれ違いました。

スクラッチ:購入しましたが、今の気持ちだと何か当たらないような気がするので

なぜ引き寄せられなかったのかを反省したいと思います

失敗の原因は・・?

正確にはわかりませんが、少し調べた結果エゴが原因なんじゃないか

という仮説にいたりました。

では、逆ナンされるのを期待しながら歩いてたとき自分の思考を振り返ってみます

可愛いギャルからナンパされるかな~」
「いくら引き寄せの法則とは言えど、ありえないかなぁ」
「ありえないとかって感情を抱いた時点で無理かな」
「いや、ありえなくない!でも逆ナンされたときの気持ちい感情を味わえって書いてあったな」
「そもそも逆ナンされたことないか感情とかワカンなくね?」
「とりあえずワクワクしてみよう!!」
「ワクワク・・・これでいいのかなぁ・・」

と、いう具合に自分の中のエゴが
「逆ナンなんてありえない!引き寄せの法則などあったとしても
お前のやり方は間違っている!」
って言ってる気がして、自信を喪失してたようにも思います

エゴを消すにはどうすれば

実際には願望を実現するのは自分の今いる世界とは別の領域で

エゴには実現する能力すらないのだそうです

そこで、エゴにはそんな能力すらないのだから、否定的な気持ちになるのを

理解してあげつつ、さよならと言って消し去ればよいらしい。

ちなみに、調べてたら「100%バカになる方法」というのを見つけた。

http://www.rubysilver.net/loa/theme/theme002.html

ログイン ユーザー登録
ようこそ ゲスト さん