はてなキーワード: サーバとは
ガチでメーラとWordとExcel,パワポ(しかも2003(笑))、teraterm、FFFTP位しかつかわねーからさ
あいつら本気でXP(笑)、メモリ1GBで足りてるとか思ってるからタチがわりーわ。
・コードがかける若手SE(笑)がEclipseとかMySQL、Oracle,Chrome,Firefox,IE,Java,.netと使うからある程度スペックが欲しい。(と言っても今時の5万で買える普通スペックで良い。。)
↓
・若手が新しいPC寄越せと要求
↓
・年食ったコードがかけないSE(笑)はOffice2003(笑)位しか使わないし、めんどくさいから要らないと抜かす
↓
・先輩がいいって言ってるのにお前らが要求するのか?とか言って取り合わない。
↓
・ほんとに必要な最前線の若手にまともなPCが行かない、その結果朝にパソコン起動してメーラとEclipseが起動するのに15分かかる環境の出来上がりwww
一方部課長以上の役職には全員Androidタブレットが支給され
お飾り部長には組織移行都度に新PCが卸される(結局何してるかもしらんがwOfficeとIEしかつかわねーくせによwww)
そりゃ社員がセットアップするし、何も入ってねぇから環境移行もし易いもんなww
もちろんAndroidタブレットはメール確認するくらいにしか使わないwww
iPadやAndroidタブレットのブラウザ、メールをちょこっと触った位で最新になったと思い込むめでたい老害達。
そのHTML5とサーバサイドの開発するのは俺たち若手SEなんだがなwwww
でも結局使わないし飽きて部長のタブレットは机の中に入れっぱかおきっぱ。
クラウドクラウド、SalesforcrSalesforce
クソウォーターフォール維持しながらスピード感がとか寝言ぬかしてんじゃねーぞwwヴォケが。
上の承認が~承認が~って要件定義が~ってお前らクソ共の承認があってスピードも何もねぇだろうがwww
その上テストドリブンしようとすると、要件が固まってないだろ!とか抜かすし、殺すぞ。
結果アホ共が思いつきで言い放った言葉は忘れない
SalesForceのパンフレットに開発は1月を目処に実装する、みたいな文言を間に受けて
え?じゃあ、プロトタイピングとかテストドリブン型とかでやるの?とか聞くと、
いや、客の要件をしっかり聞いて要件をしっかり洗い出して~上司の承認をしっかりと得て手戻りがないように~とか抜かすwwwwww
おい、お前それ今までとかわらねーじゃねーかwwwww
あーいうのは少人数チームで全員が開発者としてプログラムが十二分に書けて仕様書とかの書類を最低限にして
要件定義や決定権限の大部分を現場に委任して優先順位の高い項目からを集中してやるから出来るのであって
日本のほとんどのアホSI企業の典型的なコードの書けないExcel書くだけの御用聞きSE(笑)なんて邪魔以外の何者でもないwww
そんなゴミSE(笑)が多くを占める会社で出来る事じゃねーんだよwwww
あーいうゴミ共は居るだけでどーでもいい好みでの文句をグダグダいうから余計に作業が遅くなるwww
こういうクソみたいなことばっかりやってるから古い日本企業はダメなんだよ、ゴミどもが、さっさと潰れろ。
そして俺はクソSI業界を見限ってソーシャルゲーム業界に転職準備をしているのであった(完)
http://anond.hatelabo.jp/20120207005408
まなめはうす恐るべし
ちなみに私のPCのスペックはPen4 1.6Ghz メモリ1GB HDD 30GBです。
これでメインはJavaのStruts2とSpring Eclipse3.7で組んでます。
これより低い奴出てこいや…
とりあえず一部間違えていたので訂正www
1.HDDは37GBでした。ごめんなさい、実際に見てみたら間違えてました。でもいつもSVNチェックアウトするときとかデカイzipを落とす時はいつも何か消してからしています。
2.ケースはチェーンで鍵がかけられているので開けられません(^p^)よって自分での拡張は不可
後、時々あった。
PGなんてのはゴミがやる仕事だからそんなの気にかける方がゴミ
とか
とか
コードを書かなきゃいけない時点で大手ではない
ちなみにT○SとかI○M、NT○の人もコード普通に書いてたよ。
ってか書くとこは書くでしょww
んで上みたいな考えの人はそれで構わないでしょう。
そうやって思っててコードやプログラム部分なんてどうでもいい。
フロントエンドやバックエンドが発達しても設計書レベルや提案レベルに落としこむ場合に実コードの知識なんて影響しない思うならそれでどうぞって感じ
いつまでも何でもバッチ処理(笑)にこだわる人も良くいますしねwwww
私からしたらいつまでコードの書けないSE(笑)が成り立つか逆に聞きたい位www
ま~コードがかけないSE(笑)からいつも馬鹿にされてるのを知ってるから、コードがかけるSE(笑)はどんどん逃げてっているんですよね~
わざわざプログラム(笑)とか馬鹿にされてまで居るものじゃねーよwww
現在どんどんSI業界から出来る人が率先して辞めてるからwww
ただでさえ人材不足のクソSI業界にいつ影響が表面化するか(もうしてるか?)楽しみですNE!
私は先に役に立たない大量の船頭しかいない泥船から抜け出しますwww
戻って来ることもないでしょう!多分!
それではアデュー!
ソフトウェア開発プロジェクト(一定規模以上)がトラブルが起こって納期までに終わりそうにない、赤字が出てでも終わらせないと困る時の別解
色々な方法があるんだけど、その中でもなぜかこういう方法をとるところが案外少ないように思われるので…。この方法はもちろん万能じゃないので、「こんな欠点がある」って突っ込みはいっぱいあるでしょうが、「いついかなる時でも使えない」話ではないレベルです。
・増員する、ただし、雑用係専用部隊を大幅に。
→業務メインをやる人が増えるとコミュニケーションコストが増大してかえって遅延する現象は散見されますので、そういうコストが相対的に起きにくい仕事になるべく人を投入するという発想です。
ただ、これは、「低時給バイトさん」「事務職」ではだめです(チームの中にそういう人を入れるのはいい場合も多々ありますが、「低時給バイトさん」「事務職」ばかりを多数入れてもソフトウェア開発では大抵困ります。つまり、PG/SEレベルの、ソフトウェア開発の一般常識のある単価の高い人を敢えて雑用や事務に投入するんです。これの一つのデメリットはSE/PGにそんな仕事をさせるとモチベーションが下がって当然なので、長期には向きません。プロジェクトが長いなら少しずつメンバーを入れ替えながらがベターかと。
例)「このデータ加工しといて」と振ってExcelベース(関数とかVBAは使えてよ)なりスクリプト言語なりで加工する人
例)コピーを頼まれたらそれに徹する人 …ここだけ見ると単価高い人をそんな仕事に、と思うかもしれませんが、変にチームに投入して遅延を拡大させるのとどっちがいいんですかって話ですよ。
議事メモではなく議事録が必要なら、録音してテープ起こしするのの草稿を別の人がやる(ここ例えメインの仕事に入ってなくともSE/PGかどうかで品質が随分違う。もっというと、草稿の草稿は音声認識ソフトにやらせる手もある 録音レベルが悪いときついけど)…これは普通のプロジェクトでやってもまずコスト的に割が合わないでしょう。あくまでここに書いているのはすべて「赤字が出てでも早く終わらせる」みたいな特殊な状況なのでやってみるといい場合があるんじゃないの、というお話です。
例)必ずしも雑用ではないが、特にキーマンには秘書をつけてしまえ。その人のスケジュール管理から色々とね。秘書検定もってるエンジニアとかいたら最高ですが(どんだけおるんや) この人に用事があるんだけど今取り込み中…みたいな時って用事がすんでからタイムリーにってなかなかいかないんですよね。秘書がいたらなんとかできませんかね?
人を横断して作業効率化を図れる書類の自動化とか可能なら専任作ってExcel VBAでもスクリプト言語でもなんでもいいので作ってしまえ。
・アメニティの充実を図る。
機材のせいでボトルネックになってませんか?PCの性能は大丈夫ですか?ディスプレイは大きいですか?プリンタやコピー機の数は足りてますか?プリンタやコピー機の速度は十分ですか?カラー印刷出来ますか?ファイル共有サーバが遅かったりしませんか? ※PCを変更すると環境移行コストはかかりますが、一時的なものです。
事務専門でも出来る所では「コピー用紙がなくなってから補充までにタイムラグとかないですよね」とか
ポットに沸かしたお湯が空っぽとかないですよね? …まぁこれはエンジニアじゃない人に任せてもいい領域。
ホワイトボードに書いたものを電子データでPCに送れるとかいまどき常識ですよね?丁寧に書いてあったらOCRも可能ですよね?
経費で、高いのでいいからうまい弁当をオフィス配達してしまえ ※税金の問題等色々あるし、自分で選んだり外食に行く方が効率上がる人もいるので全員ってわけにはいかないんですけど。希望者だけでも。
赤字覚悟で増員してるのに、人を増やしたけど「予算がないからPCにいいのが調達できなくって」って話は実在するようですが、何かおかしくないですか?
1人月60万とか100万とか何人も入れるのに。会計上の問題とか壁があるので表面的な金額では決められないんですけど、でもおかしくないですか?
あ、上記のようなことを実際にやって酷い目にあったエピソードがあったら教えてください。「うまくいかない場面」なんて当然いくらでもあると思うので。
Pythonの方が弄れる対象が多いのに、なんでウェブ系だとPHPの方が流行ってんだろ
端末からのテキスト処理も楽だし、数値計算周りのライブラリも充実しているのに
PHPが優遇されているのって歴史的な経緯以外に何か他の理由でもあるのか?
けどまぁ、情弱な文系SEが大半を占めているバカだらけの日本じゃ別にPHPで困ることもないか
数値計算や端末からのテキスト処理なんてWeb系じゃ大して使わないからなあ…
Pythonに関しては、ZopeさえコケていなければWebサーバ用LLとして大成功していたはずなのに、
Railsなんかが登場したおかげで、すっかり影が薄くなってしまいますた....
ってか、railsにインスパイアされたフレームワークって今じゃ幾らでもあるよね
djangoとかCakePHPとか。rubyってRoRを使いたいユーザを除くと、
pythonやPHPの方がユーザー数は圧倒的に多いと思うんだけど
本家のrailsって、他を遥かに越えるほど良いものなんだっけ?
44
Zopeが登場した当時、「RDB+PHPはもう古い、これからはOODB+ZopeがWebの中軸になる!」と
少なくとも自分はZopeからPythonという言語を知ったし、その時点でRubyは知らなかった
そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう
今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい
djangoとCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう
しかしRailsはRailsでコミュニティの活動が活発だし、その進化は異常に早い
Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoやCakePHPから
何かのイノベーションが提示されでもされない限り、後発のdjangoやCakePHPがRailsに追いつくのは無理
Railsは決して技術的に完璧なWebフレームワークではないんだけどね....(たとえばSeaSideのような.... )
だからこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている
C a k e P H P は う ん こ
CakePHP使ってんの?
可哀そうにw
でもやっぱりいつもの使い慣れたLL(Python/Ruby)で
Webサービスを書きたいってのがある
求人数は
Ruby on Rails>>>>>>>>Django
http://www.indeed.com/jobtrends?q=django%2Cruby+on+rails&l=
どういうことなの?
求人数が多いのはそのためだと思うよ
なんかのミスかと思ったがアメリカでもRuby on Railsは人気があるのかなあ・・・
Pythonのほうが使いやすいと思うのだがフレームワークはRailsが優位なんだろうか
Djangoは周辺ライブラリが微妙だし本体も鈍くさい感じがする。
でも、FlaskはSinatraより好きだから、Pythonが嫌いってわけではない。むしろ好き。
ただ、いざ作り始めるとやっぱりRailsが楽だなあってなって、Railsを使い続けている。
同感だ
同じように思っている人が他にもいて安心した
PHPはフレームワークが乱立しすぎているから、RailsをPHPで実装してみようというやつが出てきた。
それに比べてPythonは、Zopeというデファクトスタンダードが既に存在していたけど、
ただ、どうやってもRailsもどきがRailsを超えることはできないのは間違いない。
パクリはオリジナルを超えられない(キリッ って定型句だけど、
これってキリッって言いたいだけだと思う。
D言語って超えたって?
B言語って超えたって?
PHPで同じ事をできないわけではないだろうけど、Ruby on Railsほど簡潔にはできない
まあくだらねえWEBサービス作って喜んでる情弱は早く死ねって事だよ
そういう理由じゃなくてRailsのほうが単純に情報もプラグインも多いからでしょ
linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん
わざわざ不合理で不完全な言語を使うなんて
もしも
>linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん
真実であるのなら、今頃はdjangoの情報とプラグインが溢れかえっているはず
yumや、gdbとgnomeの拡張がpythonであるからといって、それをwebアプリでも使いたいと思う人は少ないというだけのこと。
ソースからインストールする必要があったとしても、web開発ではrubyを使いたいという人が多いというだけのこと。
というか、世界中のPythonプログラマが Remeber Zope!! を合い言葉に
打倒RailsたるWebフレームワークを開発しているはずだけど、
Railsも登場してから、かなりの年月が経過しているんだけどなぁ....
その間にもRailsはRails 3が登場して、REST/AJAXの強化等の進化が継続しているよ
Ruby では
ary.map {|x| x**2}
map(lambda x: x**2, ary)
となり、lambda の本体が1つの式では表現しきれなくなると
.....
と書き換える必要があります。
f = lambda x:(x and f(x-1)*x)or 1
RubyにはPythonのように「lambda本体は式でなければならない」という限定がありませんから、
f = lambda{|x|if x == 0 then 1 else x*f.call(x-1) end}
または
f = lambda{|x|x == 0 ? 1 : x*f.call(x-1)}
と書けます。lambda内でreturnが使えますから、書きたければ
f = lambda{|x|if x == 0 then return 1 else return x*f.call(x-1) end}
でもOKです。
348
これはPythonをdisっているように見せかけてRubyをdisっているのか? と一瞬思ってしまったw
だってRubyのほうが長くない?CLのfuncallみたいなcall()がちょっとうざいし…
そしてどっちもlambda式の中で束縛変数の名前で再帰可能、と
print [x*2+100 for x in [1,2,3,4,5] if x > 2 and x < 5]
暗号のように見える。
puts [1,2,3,4,5].select{|i| i > 2 and i < 5}.map{|i| i*2+100}
思考の流れと、コードの流れが一致しているので書きやすい。
map(lambda x: x*2+100, filter(lambda x: x > 2 and x < 5, [1,2,3,4,5]))
pythonて可読性が高いのをうたってる割にはそこいまいちだよね
Rubyの場合には、左から右へと無名関数がデータフローあるいは
関数型プログラミングに不慣れな初心者でも、参照透明性のあるコードが自然に書ける
プログラマにとって優しい or プログラミングの楽しさを教えてくれるのがRuby
それと比較すると、Pythonのコードは、関数型プログラミングというものが
いかに高度で難解なものであるかという事をもったいぶってプログラマに押し付ける
もしもPythonしか知らないプログラマであれば、関数型 = 難解 という印象を持つだろう
階乗計算くらいだと単純すぎて、ナゼ重要なのかが分かりづらいと思うのでコードで示す
result_list = source_list.map { |elem|
x = foo(elem.x) # ここが局所宣言を書く部分
x + y # 最後に評価された式の値が、無名関数のリターン値になる
}
Rubyでは、map等に与える無名関数の中で局所的な環境(クロージャ)が作られるから、
x = foo(...) のような代入文がいくつでも(= 複雑な処理でも)書ける
このポイントは、実用的なプログラムを関数型風で書こうとした時に、威力を発揮する
余計分かりづらくなった
高卒ドカタなんだろうなぁと可哀想になる
集合の表記に似せてることが分かるから
355
>map/filterはfor/ifと同じだと言っているだけだから、難解という印象は持たない。
関数型プログラミングに慣れた、あるいは得意な人であれば、そういった印象なんだろね
Rubyの魅力はこれから関数型プログラミングを学ぼうとする初心者、 あるいはそんな初心者へ教える立場から見た、優しさ or 分かりやすさなんだ
[1,4,3,2].sort.reverse.map{|x| x.to_s}.join('-')
Pythonだと読みにくい。
'-'.join(map(str, reversed(sorted([1,4,3,2]))))
Pythonでは思考の流れと一致しないばかりか、「カッコだらけ」のコードになると.....
カッコだらけのコードを分かりやすくする基本的な方法は静的単一代入じゃないか
Rubyのやり方は基本ではなく玄人のやり方だろ
Pythonでは組み込みの型でメソッドチェインはやって欲しくないな
似たようなコレクションtuple,deque,array,queue等にも同じメソッドが必要になってくるし。
372
外部のライブラリでも列挙可能なものは、たいていEnumerableモジュールをimportしてますね
Rubyユーザーは列挙可能なものはmapやselectできて当然だろって思ってる気がします
Pythonは「何かを便利に書くためのしわ寄せ」をはっきり寄せてくる
得意と不得意を言語レベルではっきり主張するのでメリケン好みと言えなくもない
Rubyは全方位になんとなく八方美人なので、全体的になんとなく書きやすくてなんとなくキモくて遅い
「書きにくいってことはその処理に向いてないってことだから諦めろ」を地で行く
無名関数が文を使うほど複雑なら名前を付けるのが Python 流と想像。
これを読みづらいと感じるのは、左から右に流れる
もしかしてアラビア語ネイティブな人からすると逆に読みやすいのか?
Webシステムとは縁遠い事務職のリーマンが、ある日思い立って、ニッチな用途の検索エンジンサービスを作ってみたので、ちょっと書いてみようと思います。
ちなみに、検索エンジンといっても、googleカスタム検索とかのお茶濁し系じゃなくて、apache Solrというオープンソース検索エンジンを、VPS上で動かしているという、それなりに本
気度の高いものです。
なんで素人がそんな物騒なものを動かす羽目になったかは、後述。
やりたい構想みたいなことを思いついたのは、もう6、7年前ほど前のこと。初めて独り暮らしを始めたときに、ひどく不便を感じたことがあり、こんなサービスがあったら便利だなあ、
ちなみにその妄想をふと高校の同期に話したとき、そのサービスはどこにあるのか?!と、えらくがっつかれたのを、覚えてます。まあ、俺と同じく偏執狂の奴だったからだと思います
が。
ただ、しがない事務職リーマンということもあり、当然、技術も無く、そのときは、やるならこんな名前のサービス名だろうなあ、とか、そんな妄想レベルで、話は終わっていました。
そんな感じで、5年ほど月日は経ち、なんとなくリーマン人生の流れも見えてきたところで、以前、妄想していたことを、ふと思い出しました。
5年も経ったら、さすがに自分が考えたようなこと、誰かがやっているだろうと調べてみたところ、意外なことに、競合になるようなサービスは存在せず。ちょうど異動があって、少し時
間が出来たこともあり、じゃあ、着手してみようかと思い立ちました。
やりたいことは、大手サイトの情報検索。ただ、商品ページ内の特定情報、それも、商品ごとに正規化されていない表記を、正規化して抽出する必要があったので、大手サイトの既設API
だけではとても実現不可能でした。
まあ、だからこそ、5年間、誰もやろうとしなかったんでしょうが。
ということで、とても一発では解決できなさそうな内容だったので、自分でなんとか実現できそうな機能に細分化して、各個撃破していくことにしました。
随分と考えた結果、
以上に区分できると考えて、これらを各個撃破していくこととしました。
また、技術もなく、プログラミングも出来ず、ましてやlinuxサーバのお守りをしたことなんて当然ないので、インターネット上に置くサーバですべての処理を完結させるのではなく、イ
ンターネット上に置くリソースは最小限に留め、できる限り、勝手がわかる自宅のwindowsパソコンで処理を行うことにしました。
ちなみにさらっと結論だけ書いてますが、ここまで至るまでに、いろいろと調べ続たり、考え込んだりしていたので、思い立ってから3ヵ月は掛かってます。。。
さて、やる方針を決めたあと、はじめに着手したのは、要の検索エンジンサーバです。
いろいろとググって調べて、mySQLというやつか、apache Solrというやつかに絞りましたが、結局、Solrを使うことにしました。
MySQLのほうが実績は多そうだったのですが、Solrのほうが検索専門で、滅茶苦茶動作が速いらしいということ、MySQLでも出来るが特に速度が遅いらしい全文検索機能も使いたかったこ
と、あとファセット機能がジャンル絞りこみに便利に使えそうだったので、というのが理由です。
ちょうどSolr本が発売されていたこともあり、それを参考に、自分が使うように設定ファイルを変更していきました。
しかし、初めは設定ファイルの内容も意味不明な上に、私の書き方も雑なのか、少しいじっただけでまったく動かなくなる。結局、設定ファイルを一文字ずつ変更しては動作検証、とい
った始末で、進捗は地を這うよう。ある程度思い通りにSolrを扱えるようになるまで、3ヵ月以上掛かったでしょうか。。。
さらに、検索エンジンのフロントエンド(Solrの検索結果を、htmlに変換するプログラム)も書かなければならない。プログラミングが出来ない人間には、これが本当に辛かった。
Solr本に、いろんなプログラミング言語でサンプルがあったのですが、迷った末に、わずか数行なら書いた(≒コピペした)経験があるという理由で、javascriptを苦渋の選択。
しかし、選択はしてみたが、基礎が本当に無いから内容がサッパリ頭に入ってこない。こちらも、わかるところから本当に1文字ずつ変えていくといった手探り状態。
プログラミングについては、今回のためだけだから、といった理由で、一切基礎をやらずに着手したのが裏目に出たのか、サンプルのソースをモノにして、書き上げるのに、ゆうに半年
以上。本当に時間が掛かりました。
さらに、Solr周りで計9ヶ月間ハマっていた頃、忘れもしない、kanzen21のおっさんが彗星のように現れて、衝撃を受けることになります。
大手サイトのページをクロールして検索エンジンを作る手法は、私と考えていた構想の枠組みとまさに「完全に一致」な訳で。。。
図書館事件に注目していたのも同じで、あまりの一致具合に衝撃を受けっぱなしでした。
その後の成り行き等も含めて、興味深く観察させて頂き、本当に参考になりました。
そんな感じで紆余曲折もありましたが、ようやく難題だった、プログラミング関連に目処が立ってきたので、あとはクローラと肝心のデータ処理です。ここからは、勝手知ったるwindows
まず、クローラですが、専用のクローラをwindows用に探してきたり、それを設定するのも大変なので、今回はテレホーダイ時代に使っていたような、フリーのweb巡回ソフトを利用する
こととしました。指定のhtmlをダウンロードしてくるだけなので、別に変に新しいものに手を出す必要もないので。
また、ダウンロードしてきたhtmlファイルについては、これまたフリーの日本語処理ツールでcsv方式に加工することにして、処理ルール部分を相当に作り込みました。
このあたりは、全体を通して見てもキモの部分なんですが、ある意味、ちょっとしたパズル感覚だったので、プログラミング言語の部分と違って、かなり楽しかったです。
あとは、msdosのバッチファイル(これは前から知っていた)で、これらの処理を繋ぎ、cygwinのcurlとかいうツールで、連続して検索エンジンサーバにcsvファイルをアップロードする
仕組みを作りました。
検索エンジンサーバには、容量は少ないが、安くて高性能という、今回の用途にピッタリだった、さくらのVPSを借りて設定。CentOSのサーバ構築ホームページを見ながら、サーバとか
Solr管理URLとかにセキュリティを掛けて、こちらも素人ながら、意外とすんなり設定。
ホームページは、vpsサーバに相乗りさせるのではなく、別にさくらのレンタルサーバを借りました。apacheの設定方法等を習得する必要がありませんし、vpsのリソースをapacheと分け
合う必要が無くなるので。ホームページのhtmlファイル、cssファイル等も調べながら設定し、画像も準備しました。
あと、構想を思いついたときに妄想していたサービス名の.comドメインは、すでに他者に取得されていたのですが、どうも使っている風にも見えなかったので、whoisで出てきたメールア
ドレスに連絡して交渉し、幾ばくか払って買い取りました。
結局、足かけ18か月。ようやく完成。
楽天市場の家具を、幅x奥行x高さ(家具サイズ)で検索できる、楽天市場・家具カテゴリ専門の検索エンジン
この商品数規模(データ収録約30万アイテム)で、1センチ単位で家具のサイズ指定検索が可能な手段は、商用サービスも含めて、ほかには存在しないと思います。
kanzen21と違って、エロじゃないから華はないけどね。。。
ちなみに冒頭で少し書いたきっかけですが、就職して独り暮らしを開始したときに、新しい家にピッタリサイズの家具が欲しかったのですが、これが楽天で探すのは至難の技でして。
楽天で家具を探してみようと思った人には判っていただけると思うのですが、楽天では、価格では範囲指定やソートができても、サイズでは検索出来ないんです。
これは、楽天では、商品のサイズ情報は商品の自由記述欄に記載することになっているためで、商品ごとにサイズの記載方法がバラバラのため、検索が事実上、不能となっています。
家電製品とかに関しては、種類が少ないこともあり、メーカーのホームページとかでサイズを確認した上で、商品型番で検索すればいいので、それほど問題にはならないのですが、家具
って、種類が非常に多く、型番もあったり無かったりで、家電のようにサイズを調べることができません。
・・・ということで、カグサイズでは、楽天の商品ページにいろいろな書式で書かれているサイズ情報を拾って解析して正規化し、範囲指定やソートして検索ができるようにしています
。
また、単に寸法サイズを拾うだけでは、梱包サイズとか引き出し内寸とかも引っ掛かってしまうので、それらは出来るだけ排除して、商品の外寸が優先して引っ掛かるよう、アルゴリズ
ムを調整しています。
単位(センチとミリ)に関しても、商品ごとにバラバラ(単に単位だけでなく、商品説明のどこに"センチ"とか"ミリ"と記載しているかについてもバラバラです。)なので、サイズ表記
の前後の状況をみて、正しいと思われる単位で拾うようにしています。
あと、変わった使い方としては、欲しい家具の価格比較みたいなこともできます。
家具は、同じ商品でも、店ごとに型番が違ったりすることがよくあり、簡単には価格の比較が行いづらいジャンルの商品です。
しかし、型番は違っても、同じ商品なら原則、サイズは同じですから、欲しい商品とまったく同じサイズで検索をかけると、同等商品があるのかどうか比較しやすい・・・といった使い
方もできます。
と、そんな感じで、しがない事務職リーマンが作ってみた、ニッチな用途の検索webサービスを、サービスインさせて頂きました。
一般に公開されていて、誰でもアクセスできる情報でも、ニーズが有りそうな切り口の条件で検索性を高めれば、新しい価値を創造できるんじゃないかという実験です。
もしよろしければ、ぜひ、使ってみてくださいー。それでは!
----------
サーバ室は携帯の電波が届きにくく、最低限の仕事上の連絡以外は誰とも連絡を取らなかった。
ただただ、作業に集中した。何も考えず。
病院と家との往復。帰宅したら、疲れて眠るだけだった。食べることすら忘れていた。
彼の事を忘れたいわけではもちろんなかった。
でも彼の事を思い出すと、どうしても後悔の底に落ちて這い上がってこれなかった。
そんな生活を2ヶ月続けて、私の心は壊れそうになっていた。
「例の彼とはどうなったの?」」と聞かれるのが怖かったから。
壊れていたのは心だけではなく、体もだった。
1年前に普通に着ていたはずの服が、ぶかぶかで着られなくなっていた。
5年間使っていた金属バンドの腕時計も、コマを詰めなければいけない程になっていた。
会う人会う人に「痩せたね」と言われ、そのうち「大丈夫?」と心配されるようになっていた。
着られる服は全くなく、買いに行ってもサイズが合わないような状態だった。
もう、限界だった。
仕事に没頭する事で彼の事を考えないようにしていたはずなのに、
仕事に集中できず、彼の事ばかり考えるようになっていた。
それまで私は、夏休みを1週間取る以外で長期休暇を取ったことは一度もなかった。
そんなに仕事が好きだったわけではないけれど、
盆・暮れ・GWが書き入れ時の医療SEは、簡単に長期休暇は取れなかった。
それに自分の仕事には責任を持ちたかったので、あえて休暇を願い出ることもしなかった。
そんな私が、初めての長期休暇を上司に申し出た。
激務が数ヶ月続いていたこともあり、休暇はあっさり認められた。
少し心と体を休めようと思った。
私のスケジュールが突然「休暇」になった事を心配した別の部の同期から、電話がかかってきた。
「大丈夫だよー。ちょっと忙しくて疲れたから休んでる。すぐ戻るよ」
そう言ってごまかした。本当の事が言えるわけもなかった。
当時私がいた部は、元々希望していた配属先とは違っていたし
仕事内容自体も、どうしても好きにはなれなかった。
プログラミングができない、サーバの知識もない、そもそも大学は文系の私に
SEなんて務まるわけもなかった。
配属されて初めてのプロジェクトでは、仕事がきつすぎて毎日泣いていた。
何かうまくいかないことがある度に、辞めたい辞めたいばかり言っていた。
実際、その年の頭には、転職活動を始めようとしていた。
そんな私に、彼がこんな事を言ったことがあった。
舞ちゃんがいつも頑張ってるの知ってるよ。
どんなに夜遅くなっても、自分の仕事に責任持って最後まできっちりやってること知ってるから。
そういうのちゃんと見てるから、辛いのは分かるけど、でも簡単に辞めればいいなんて言えないよ。
彼にそう言われてから、私は辞めたいと言わなくなっていた。
彼は仕事ができる人だった。だから彼に少しでも追いつきたくて必死で勉強して、プログラミングアレルギーも克服した。
今の私を彼が見たらどう思うかな…。
そして私は、当初の予定を1週間延ばしたものの、3週間で職場に復帰した。
復帰後は、少しでも負担の少ない仕事を、という上司のはからいで、
同じ部内で別のグループに移って、全く違う仕事をすることになった。
(というか無理矢理食べさせようとしたんだろうが)
でも、彼とよく会っていた福岡にはどうしても行きたくなかった。
福岡だけでなく、彼と一緒に行った場所を私は避けるようになっていた。
ただ、九州支社はその年の5月に別の場所にできた新しいビルに移転していて、
いつもなら、空港内にある有名なクロワッサン屋でクロワッサンを買う。
彼に「美味しいから一度買ってみなよ」と言われて買ってからお気に入りだった。
もう、クロワッサンを買う気ににもならない。
仕方なく、売店でお土産を買って時間を潰して搭乗時間を待った。
羽田で福岡行きの飛行機を待っていたら、偶然同じ便で福岡に向かおうとしていた彼に会ったこともある。
博多駅から九州支社に向かう途中の道、彼と電話しながら歩いたこと。
色んな事を思い出しすぎて潰れそうだった。
結局その日は、ほとんど眠ることもできず朝になった。
翌日は土曜日で、午後から横浜に行く用があったものの、他にする事がなかった。
ふと、ある男友達の事を思い出した。
その人は会社の同期ではあるものの、職種が違うため仕事での関わりが全くなく、勤務地も違っていた。
それでも入社してすぐの研修で同じクラスになって仲良くなってから、
定期的に二人で飲みに行っていた。彼と付き合っていた時も月1程度で会っていた。
私にとっては完全に「友達」で、恋愛対象として見たことは一度もなかったし、
それは相手も同じで、私を女として見ることはなかった。
だから、二人で会っても大丈夫だと思っていたし、彼に対して、悪いことをしている気持ちには当然ならなかった。
その友達に彼のことは話した事は一度もなかったし、
私の色恋沙汰について何か聞いてくることもほとんどなかった。
ちょうどいいや…。
さすがに当日に連絡しても空いてないだろうなー、と思いつつ、メールをした。
いるー!
その日は横浜で待ち合わせをし、東急ハンズで買い物をして、飲みに行った。
それからの週末はしょっちゅう旅行に行き、家にいることはほとんどなかった。
そして、旅行のお土産だとか色々理由をつけて、その男友達と頻繁に飲みに行った。
色々深く聞いてこないその友達が、一番都合がよかった。
そしてその人と一緒にいると、不思議と気持ちが落ちついた。
前年の年末は、彼がリーダーをしていた病院で正月にシステム本稼動があり、彼は当然仕事をしていて、一緒にいられなかった。
来年は一緒にいられたらいいね、と言っていた。だから、日本にいる事すら嫌だった。
そうやって、現実から目を逸らすことで、どうにか自分を保っていた。
F1が好きだった彼と私は、いつも月曜日にF1の話をしていた。
這い上がれなくなるので、私は見るのをやめた。
二人とも読書が好きだったので、会うとよく読んでいる本の話をした。
仕事が早く終わった時はいつも本屋に行って本を買っていたのに、本屋に近づくことすらできなくなっていた。
私はIT系専門学校に通っている。わかりやすく言うとプログラマ養成校だ。これからそういう学校に行こうと思ってる奴、考えている奴らに、長所短所をシェアしようと思う。
・良いところ
基本情報がとれること。あえてあげるならこれであろう。今のシステム開発業界はリーマンショック以来の冷え込みがつづいている。昔ならプログラム未経験でもホイホイやとってくれたものが、今ではベテランでもどんどん切られる。そういう時代である。私も面接時に基本情報をもっていることが評価された。大学などでは基本的に資格取得のための授業をしてくれない。そのため独学でやる必要がある。もちろん独学で取れない資格ではないし、独学がのぞましい。しかしこれは全ての情報系検定の基礎になるものである。できるならば誰かに教えてもらうのが好ましいと思う。私は今はプロジェクトマネージャ試験という、試験の勉強をしている。これは情報系国家試験の中で”Level4”に区分される高度試験である。(ちなみに基本情報はLevel2)実はこのプロマネ試験、基本を取っていれば以外と独学でいけるのだ。これは他のLevel4試験にも言えることだと思う。基本的な知識は基本情報で勉強し、高度試験ではそれの読解、論述が出題されるイメージだ。高度試験取得のためにも、基本情報はしっかりと教師に教わったほうがよいと私は考える。
・悪いところ
企業側からの専門学校の評価が低い。これにつきる。正直そのへんの大学よりは授業内容も深く、仕事に活かしやすい。しかし、最低学歴として大卒を設定している企業が非常に多い。とくに中堅・大手にはその色が強い。そのため、それまでITとは無縁だった文系大学生にも追い抜かれてしまうのだ。ただこれについては本人のやる気しだいだといえる。yahooやドワンゴなどの一部の企業は専門からでも採用している。そういった大手を狙うならば、入学したその日からそれに向けて努力すべきである。情報知識などは正直ほどほど。求められるのは圧倒的自主性とコミュ力。例えば自分でサーバつくっちゃったよ~とか、クラスメイト巻き込んでサイトたちあげたったなど、クリエイティブな活動が評価される。
結論から言うと、純粋にプログラマを目指したいならこれほどよい教育環境はないだろう。短期間で資格習得することができ、実務に近い授業を受けられる。しかし大企業などを目指したいなら専門学校に来るべきではない。3流でも4流でもいいから大学に行くべきである。そして目標が曖昧な奴な絶対に来ないほうがいい。そのへんの専門とは違い、ほとんどの授業が座学である。それに耐え切れずに挫折したクラスメイトも普通にいる。適当に遊びたいならファッション系か3流大学にいくべきだ。この記事が、未来ある若者のためにならんことを
THE MANZAI って4時間くらいあったけど漫才部分だけ見たら単純に半分で済む量。とはいえ2時間で無駄なくやったら尺足らずだし、それはまあ説明部分もあるからよしとしよう。でもなげーよ。
他にももう、終わったな、と思わせる演出が多数あったが、とにかくキビキビとやってないんだよ。キビキビと。ダラダラしてる。
→参加意識を煽っているけれど、笑うたびにボタンを押すということは漫才の面白さに集中できない。仕様ミス。先にアプリを落として一斉に送信させるというのも、問題がある印象。フジの企画に問題がある。
ワラテンのグラフと一緒に、同じ番組内で同じ漫才を再鑑賞するのは、前半見ていなかった人向けのサービスのつもりだろうが、間延びしてしまいおかしい。参考にはなるが、「ほお」で終わり。ビデオなら絶対飛ばすところ。
問題2 慢心した優勝特典
フジテレビレギュラー番組、漫才師だが漫才の番組が貰えるわけではない。漫才の番組が貰えるのなら嬉しいだろうが、単なるトークタレントとしての役回りが回ってくるのであれば矛盾しすぎている。副賞の各番組ゲスト、っていうのも結局はトークで呼ばれるのが半分以上だから名前を売る以上の意味が無い。まったく売れなかった若い人ならそれが価値を増すが、パンクブーブーではドラマを作れない。
結局は予算削減策でしかなく、フジも落ちる所まで落ちているとしかいいようがない。またフジは自分の価値を高く見い出しすぎ。
ただ控えめに協賛した、日清のどん兵衛はいいと思う。あんな数(10年分)本人が食べたら確実に身体を壊すけど、楽屋において後輩にあげる分には後輩が何年も食に困らないからね。
問題3 無駄な演出
フジの番組全般に生でやるとダラダラとした無駄な部分+小難しい説明だらけである。進行押しの間の時間調節なら、わかるのだが、入場演出で無駄にリムジンとか入れて、オープニングから30分以上漫才が始まらないってどういうことだよ。ワラテンの説明も長い、フジのサイトにこさせるための小細工とはいえ。投票トラブルを避ける意味では完璧な説明であったが、視聴者にはまったく無駄でチャンネルを変えさせるレベルの話。あんなの事前に別番組で説明して分散ダウンロードさせるとか、Dボタン側に逃がして文字で済ますとかできるだろ! 俺は一斉送信でサーバが落ちないかのほうが気になったよ。
あと、有名人を客席に散らせ「これくらい入れておけば受けるだろう」的な考え。
バブル期に入った人が作ってるんだと思うが、視聴者は漫才が見たいんだよ。モデルの顔が見たいんじゃねえんだよ。制作者側がバカにするのも大概にしろ。有名人を呼ぶならコメントを全員取れよ。メイクまで入れて客席で笑うだけで、ノーコメでギャラ貰って帰る奴を許すほど度量はこっちにはねえよ。
問題4 THE MANZAIの本来的な部分を踏襲していない点
初代のTHE MANZAIは元々洗練されてない舞台漫才をショー化するものであった。横澤さんが死んでいるとはいえ、当時のTHE MANZAIに敬意をはらっているのは西川さん位じゃないか…。2011年版としての進化がアレなのかもしれないし、余計なものを入れずに「4分見せている」ということは評価できるとはいえ、余計なものばかりつっこんでいる部分は「製作者側が漫才の力を信じていない」というようにしか取れないんだよ。
笑えるものを評価しよう、という意味合いでは、この矛盾があるものをあえて入れるという意味で審査は厳正であったのだろうが、全体には今回はコントっぽい物が多かった。コントであろうと面白いものを評価する、というのは正しいが漫才としてちゃんと漫才な作品をもっと増やさないと絶対的にダメだし、これも制作側がコントのほうが面白いと思っている証拠としか思えない。
あとたけしの茶番ダブルブッキング演出は不要。(いい訳としてはわかるが、別に漫才師がつっこみでいった通りOPが長くなければ全部の漫才を見れるわけだし、あとハラハラしないものを入れてどうするのかというか、単にたけしがTBSに入るまで、という尺を稼いだだけでしかない)
生で見なくてよかった。
また、15年くらい不遇な人たちが多かったので、それに光が当たるのはとてもよいことなのだが、雇用されない関係のため数百円のギャラからのスタートでも文句を言わず、売れないまま10年以上のキャリアが必要とされる日本では、漫才師として暮らしていくことが非常に難しいということがよくわかる。
皆主な仕事を漫才にして女の人に扶養してもらったりしているようだが、本来的な収入はある状態で、漫才は副業でやるのが適正だと思った。言ったらハングリーさがないといわれそうだが、べつに先輩たちが作ったストーリーに乗る必要ないだろ。黙ってればいいのだ。
先日「Flashエンジニアが今後10年食べていくには?」というテーマを元に
Flash に精通した Web 技術者達のディスカッションが行われる催し物があった。
http://www.publickey1.jp/blog/11/flash10.html
この記事だけでは内容が省略しすぎているため
時間があれば是非録画の模様もみていただきたい。前半初頭は音量が小さいので注意。
こういった催し物は面白いなと、私はとても楽しく見させていただいた。
http://www.ustream.tv/recorded/19073524
http://www.ustream.tv/recorded/19074357
ディスカッションでは Flash だけではなく HTML5 についても触れている。
ディスカッションの感想をディレクションや営業を行なっている知人に聞いたり、
ネット上の反応を見てみたところ以下のような意見がいくつかあった。
「『Flash が好きな人』だけではなく HTML5 派の人との対談もあればよかった」
「Flash 派の人の話だから HTML5 が使えないという話はいまいち参考にならない」
『Flash 派』『HTML5 派』という くくりで考えてしまう人は
まだまだ多いと実感する。
パネリスト達は
過去から現在までに様々なプログラミング言語を利用し、あらゆる技術に精通している。
Flash という表示媒体/環境開発がベター(時にはベスト)だと考え、
Flash をよく扱っている、という旨を話している。
最後の締めとして
Flash よりも優れたものが登場するのであればそちらに移行するでしょう、
とも言っている。
これだけの説明があったのに
ディスカッション内で触れた HTML5 に対する否定的な話は、
『Flash 派』とやらのポジショントークだと目に写ってしまったのだ。
Java やら C やら objective-c やら perl やら php やら
サーバサイドからスマホ用ネイティブ言語を用いてのアプリ制作まで
色んな事やってます、と言っても
現在世の中には HTML5 を推し、合わせて Flash を否定する記事が結構出回っている。
技術者が話す専門的な用語の飛び交う話よりも
HTML5 vs Flash 的な読みやすい記事に耳を傾けてしまう人はいる。
Apple 製品を好む人は「ジョブズがそう選択したのだから」と
なおさらこういった記事に目を向けてしまう。
「Flash vs HTML5 の話にのせられてしまうのは、よくわかっていない人だ。」
ディスカッション内では、
ネット上の煽り記事を読み不安に思ったクライアントから連絡を受け
きちんと状況をゼロから説明するハメになってしまった、という内容があった。
似たような状況になっている人もいるのではないだろうか。
当方周辺では、
「Flash は駄目だ」「Flash でなくても HTML5 ならできるはずだ」
「HTML5 は Flash の代わりになるものだと言われている」と
クライアント、あるいは仕事先の関係会社から耳にする機会が増えてきた。
技術者の及ばないところで
ベターではない技術が選択、あるいは勧められてしまう やっかい性。
その記事は世間の目には届かない。
TV CM でバンバン流れている iPhone や iPad では Flash を見ることができない
という状況に乗じた
勘違いを正すためには、今までよりもより一層
あるいはメッセージを発信するよう心がけていかねばならないと感じる。
パネリスト達のような
Flash を扱う事が可能な技術力を持ち合わせている人にとって
Flash が終わろうが、代わりの技術が HTML5 やらその他何になろうが
大した影響はない。
『プログラミング』についての話をしてみる事にする。
「世にあらゆるプログラミング言語があるが
「何か一つ言語を習得し
『Flash の事は全く知らないがプログラミングプロフェッショナルの人』
が近くにいるならば是非上記について伺ってみてほしい。
その通りだと答えてくれるはずだ。
他の言語で作ったものを Flash のプログラミング言語に移植することも容易いのだ。
ここで上記三行の「他の言語」を「JavaScript」に置き換えてみてほしい。
HTML の DOM 操作に必要な言語は JavaScript である。
言語は、Flash ならば ActionScript、HTML5 ならば JavaScript を用いる。
画面描画は
あるいは用意されている描画用 API を ActionScript で呼び出し、
あるいは用意されている描画用 API を JavaScript で呼び出す。
Flash と似たような技術として Java Applet や Shockwave があるが、
これらも一緒で
言語を変え、その技術に合わせた描画を行う処理を記述するだけだ。
Web 技術者が何かに属していて、何かには属していないかのような区別の仕方は
的がはずれている事を なんとなく感じていただけただろうか。
仕事に対し、あるいは表現したい事に対し、ベターな選択を行うだけの事なのである。
環境や表示内容に合わせ両方を採る選択もあるだろう。
パネリストの中に ActionScript が好きだ、という人がいた。
これは別に
Flash が好き(製品のファン)だから ActionScript が好き、と言っているのではない。
ActionScript が優れたプログラミング言語だと判断しての発言なのだ。
HTML5 を選択するだけの事であり、
その別の技術を選択し、
Flash より優れた技術が登場しなければ Flash を使い続ける、
ただそれだけの事なのである。
もう少し突っ込んだ話をすると
Flash のプログラミング言語である ActionScript(ActionScript 1.0)と
HTML 表示制御を行う言語 JavaScript は 実は同じ言語仕様である。
『ECMAScript』という単語で調べてみてほしい。
「Flash と HTML5 は対立するもの」と考えていた人、
あるいは ActionScript や JavaScript を触れたことがない人にとって
「え?そうなの?」と思う人もいる事だろう。
JavaScript は大規模開発に向いていない、という話は聞いたことがないだろうか。
同様の言語仕様である ActionScript 1.0 はこの問題を解決するため
ActionScript 2.0 から ActionScript 3.0 へと進化していった。
Flash は開発がし易い、という話がよく挙げられるが
その理由の一つがこれである。
現行の JavaScript と ActionScript 1.0 は ECMAScript 3 準拠に対し、
ActionScript 3.0 は ECMAScript 4 準拠である。
言語として進化しているものを Flash は採用しているので
開発は抜群にし易い。
ECMAScript 4 準拠の JavaScript も登場する日もあったかもしれなかったのだが、
ECMAScript 4 標準化が白紙、
ECMAScript 4 は無かったことになってしまったのだ。
ActionScript 3.0 で作成したプログラムが
ちなみに JavaScript は大規模開発に向いていない、という事に対し、
最近では Google が新言語 Dart というものを開発している。
位置づけとしては ActionScript 2.0 に近いと比喩した人もいる。
ActionScript 2.0 はコンパイル時 ActionScript 1.0 に変換されて出力される。
Dart も同じく JavaScript 変換機能を持つ。
先の事は誰にもわからない。
HTML5 が成長するとは必ずしも言えない。
技術者は身を持って知っている。
表示と動作の差異、技術者はずっと苦しめられてきている。
めんどくさい。コストがかかる。
HTML5 も同じ道を辿るのでは、と言われてしまうのも仕方がない。
実際に HTML5 の各ブラウザの実装具合はバラバラである。
Flash はといえば、
今でも 10年以上前のスクリプト言語 (ActionScript 1.0 よりも前の言語)で
Flash が動作するブラウザがいつまで携帯に搭載され続けるのか、
まだ誰にもわからない。
今後も当面携帯向け Flash を作り続ける事になるのかもしれない。
携帯向け Flash は一つの容量が小さいというのが救いである。
IE6 対応 HTML サイト制作にせよ、携帯向け Flash 制作にせよ
状況に応じて何を選択するかを判断できるほどの技術力を身につける事
選択する技術に何ができて何ができないのか、
どの技術を組み合わせるとよいのか、
自ら判断できるようになった時、一人前の Web 技術者になったと言えるだろう。
一つ何かをモノにしてしまえば前述の通り移行は容易い。
それを極めるくらいまでとことん勉強してほしい。
続けていくと見えてくるはずだ。自信という名の悟りの道が。
気になった点をいくつか。
現状の HTML5 の実装具合のバラバラさに対し、
「(HTML5の)表示の差分を埋めてくれる何かが登場するかもしれない」
と言う発言があった。
言った当人も会場にいる人達も、きっとこう思っただろう。
「それってなんて Flash Player?」と。
「あれはやめたほうがいい」という発言があった。
勝手に注釈するのであればこの発言は
「Flash で作られた重たい Web を HTML5 でまた再現するつもりなの?」
という皮肉であろう。
FuelPHP Advent Calendar 2011 の 15日目。
FuelPHP の URL とコントローラの関係から続いて寄稿します。
早速ですが本題。
といって、そもそもの経緯を先に。
fuelphpを試そう!ってなもんで既存のサーバでPHP5.3にしよう〜という所が発端。
既にyumでPHP5.2ベースで環境が構築してあったせいで、色々とconflictしてインストールに手間取る。。。
案外、環境構築ってはまると手間よねーといった意味合いも込めて、
今後の参考迄に割とストレートにいける様にセットアップ手順をログります。
今回はせっかくなので、色々と最新パッケを用意します。
なので、fuelphpを動作させるために、今回は最新のRPMパッケからPHP5.3をインスコ。
$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
(PHPを先にインストールすると色々こけるので先にmysqlをセットアップ)
で起動テスト。
いや、こけた。
起動せず。。
ふむ。repositoryをremi-testにしなければダメな模様。
再度インストールの場合には依存関係のパッケージでconflictするのでとにかく消す。
ごっそり消す!!
でインストール。
$ sudo yum --enablerepo=remi-test install mysql mysql-server
$ sudo /etc/init.d/mysqld start
Starting MySQL: [ OK ]
いった!
自動起動設定だけ済ませて次へ。
既存のphp5.2以前がある場合は、やはりとにかく、ごっそりremove!!
で以下に続く。
$ sudo yum --enablerepo=remi install -y php php-mysql php-xml php-mbstring php-common
ほんとはハマった辺りのログとかも入れた方がいいんでしょうが、今回はこれでご勘弁。
ソースから入れた方が楽だよなぁ・・・と何度か方向転換しかかりましたが・・・なんとか。
明日16日目は@madmamorさんの「FuelPHPのcoreクラスを拡張してみる。」ですね!
おたのしみに!
第1章 プログラミング概念入門 1.1 計算器 1.2 変数 1.3 関数 1.4 リスト 1.5 リストについての関数 1.6 プログラムの正しさ 1.7 計算量 1.8 遅延計算 1.9 高階プログラミング 1.10 並列性 1.11 データフロー 1.12 明示的状態 1.13 オブジェクト 1.14 クラス 1.15 非決定性と時間 1.16 原子性 1.17 ここからどこへ行くのか? 1.18 練習問題 第1部 一般的計算モデル 第2章 宣言的計算モデル 2.1 実用的プログラミング言語の定義 2.1.1 言語の構文 2.1.2 言語の意味 2.2 単一代入格納域 2.2.1 宣言的変数 2.2.2 値格納域 2.2.3 値生成 2.2.4 変数識別子 2.2.5 識別子を使う値生成 2.2.6 部分値 2.2.7 変数の,変数への束縛 2.2.8 データフロー変数 2.3 核言語 2.3.1 構文 2.3.2 値と型 2.3.3 基本型 2.3.4 レコードと手続き 2.3.5 基本操作 2.4 核言語の意味 2.4.1 基本概念 2.4.2 抽象マシン 2.4.3 待機不能な文 2.4.4 待機可能な文 2.4.5 基本概念再訪 2.5 メモリ管理 2.5.1 末尾呼び出し最適化 2.5.2 メモリライフサイクル 2.5.3 ガーベッジコレクション 2.5.4 ガーベッジコレクションは魔術ではない 2.5.5 Mozartのガーベッジコレクタ 2.6 核言語から実用的言語へ 2.6.1 構文上の便宜 2.6.2 関数(fun文) 2.6.3 対話的インターフェース(declare文) 2.7 例外 2.7.1 動機と基本概念 2.7.2 例外を持つ宣言的モデル 2.7.3 親言語の構文 2.7.4 システム例外 2.8 進んだ話題 2.8.1 関数型プログラミング言語 2.8.2 単一化と内含(entailment) 2.8.3 動的型付けと静的型付け 2.9 練習問題 第3章 宣言的プログラミング技法 3.1 宣言的とはどういうことか? 3.1.1 宣言的プログラムの分類 3.1.2 仕様記述言語 3.1.3 宣言的モデルにおいてコンポーネントを実装すること 3.2 反復計算 3.2.1 一般的図式 3.2.2 数についての反復 3.2.3 局所的手続きを使うこと 3.2.4 一般的図式から制御抽象へ 3.3 再帰計算 3.3.1 スタックの大きさの増加 3.3.2 代入ベースの抽象マシン 3.3.3 再帰計算を反復計算に変換すること 3.4 再帰を用いるプログラミング 3.4.1 型の記法 3.4.2 リストについてのプログラミング 3.4.3 アキュムレータ 3.4.4 差分リスト 3.4.5 キュー 3.4.6 木 3.4.7 木を描画すること 3.4.8 構文解析 3.5 時間効率と空間効率 3.5.1 実行時間 3.5.2 メモリ使用量 3.5.3 償却的計算量 3.5.4 性能についての考察 3.6 高階プログラミング 3.6.1 基本操作 3.6.2 ループ抽象 3.6.3 ループの言語的支援 3.6.4 データ駆動技法 3.6.5 明示的遅延計算 3.6.6 カリー化 3.7 抽象データ型 3.7.1 宣言的スタック 3.7.2 宣言的辞書 3.7.3 単語出現頻度アプリケーション 3.7.4 安全な抽象データ型 3.7.5 安全な型を備えた宣言的モデル 3.7.6 安全な宣言的辞書 3.7.7 資格とセキュリティ 3.8 宣言的でない必要物 3.8.1 ファイルを伴うテキスト入出力 3.8.2 グラフィカルユーザインタフェースを伴うテキスト入出力 3.8.3 ファイルとの状態なしデータI/O 3.9 小規模プログラム設計 3.9.1 設計方法 3.9.2 プログラム設計の例 3.9.3 ソフトウェアコンポーネント 3.9.4 スタンドアロンプログラムの例 3.10 練習問題 第4章 宣言的並列性 4.1 データ駆動並列モデル 4.1.1 基本概念 4.1.2 スレッドの意味 4.1.3 実行列 4.1.4 宣言的並列性とは何か? 4.2 スレッドプログラミングの基本的技法 4.2.1 スレッドを生成すること 4.2.2 スレッドとブラウザ 4.2.3 スレッドを使うデータフロー計算 4.2.4 スレッドのスケジューリング 4.2.5 協調的並列性と競合的並列性 4.2.6 スレッド操作 4.3 ストリーム 4.3.1 基本的生産者/消費者 4.3.2 変換器とパイプライン 4.3.3 資源を管理し,処理能力を改善すること 4.3.4 ストリームオブジェクト 4.3.5 ディジタル論理のシミュレーション 4.4 宣言的並列モデルを直接使うこと 4.4.1 順序決定並列性 4.4.2 コルーチン 4.4.3 並列的合成 4.5 遅延実行 4.5.1 要求駆動並列モデル 4.5.2 宣言的計算モデル 4.5.3 遅延ストリーム 4.5.4 有界バッファ 4.5.5 ファイルを遅延的に読み込むこと 4.5.6 ハミング問題 4.5.7 遅延リスト操作 4.5.8 永続的キューとアルゴリズム設計 4.5.9 リスト内包表記 4.6 甘いリアルタイムプログラミング 4.6.1 基本操作 4.6.2 ティッキング(ticking) 4.7 Haskell言語 4.7.1 計算モデル 4.7.2 遅延計算 4.7.3 カリー化 4.7.4 多態型 4.7.5 型クラス 4.8 宣言的プログラムの限界と拡張 4.8.1 効率性 4.8.2 モジュラ性 4.8.3 非決定性 4.8.4 現実世界 4.8.5 正しいモデルを選ぶこと 4.8.6 拡張されたモデル 4.8.7 異なるモデルを一緒に使うこと 4.9 進んだ話題 4.9.1 例外を持つ宣言的並列モデル 4.9.2 さらに遅延実行について 4.9.3 通信チャンネルとしてのデータフロー変数 4.9.4 さらに同期について 4.9.5 データフロー変数の有用性 4.10 歴史に関する注記 4.11 練習問題 第5章 メッセージ伝達並列性 5.1 メッセージ伝達並列モデル 5.1.1 ポート 5.1.2 ポートの意味 5.2 ポートオブジェクト 5.2.1 NewPortObject抽象 5.2.2 例 5.2.3 ポートオブジェクトに関する議論 5.3 簡単なメッセージプロトコル 5.3.1 RMI(遠隔メソッド起動) 5.3.2 非同期RMI 5.3.3 コールバックのあるRMI(スレッド使用) 5.3.4 コールバックのあるRMI(継続のためのレコード使用) 5.3.5 コールバックのあるRMI(継続のための手続き使用) 5.3.6 エラー報告 5.3.7 コールバックのある非同期RMI 5.3.8 二重コールバック 5.4 並列性のためのプログラム設計 5.4.1 並列コンポーネントを使うプログラミング 5.4.2 設計方法 5.4.3 並列性パターンとしての機能的構成要素 5.5 リフト制御システム 5.5.1 状態遷移図 5.5.2 実装 5.5.3 リフト制御システムの改良 5.6 メソッド伝達モデルを直接使用すること 5.6.1 1つのスレッドを共有する複数のポートオブジェクト 5.6.2 ポートを使う並列キュー 5.6.3 終点検出を行うスレッド抽象 5.6.4 直列依存関係の除去 5.7 Erlang言語 5.7.1 計算モデル 5.7.2 Erlangプログラミング入門 5.7.3 receive操作 5.8 進んだ話題 5.8.1 非決定性並列モデル 5.9 練習問題 第6章 明示的状態 6.1 状態とは何か? 6.1.1 暗黙的(宣言的)状態 6.1.2 明示的状態 6.2 状態とシステム構築 6.2.1 システムの性質 6.2.2 コンポーネントベースプログラミング 6.2.3 オブジェクト指向プログラミング 6.3 明示的状態を持つ宣言的モデル 6.3.1 セル 6.3.2 セルの意味 6.3.3 宣言的プログラミングとの関係 6.3.4 共有と同等 6.4 データ抽象 6.4.1 データ抽象を組織する8つの方法 6.4.2 スタックの変種 6.4.3 多態性 6.4.4 引数受け渡し 6.4.5 取り消し可能資格 6.5 状態ありコレクション 6.5.1 インデックス付きコレクション 6.5.2 インデックス付きコレクションを選ぶこと 6.5.3 その他のコレクション 6.6 状態に関する推論 6.6.1 不変表明 6.6.2 例 6.6.3 表明 6.6.4 証明規則 6.6.5 正常終了 6.7 大規模プログラムの設計 6.7.1 設計方法 6.7.2 階層的システム構造 6.7.3 保守性 6.7.4 将来の発展 6.7.5 さらに深く知るために 6.8 ケーススタディ 6.8.1 遷移的閉包 6.8.2 単語出現頻度(状態あり辞書を使用する) 6.8.3 乱数を生成すること 6.8.4 口コミシミュレーション 6.9 進んだ話題 6.9.1 状態ありプログラミングの限界 6.9.2 メモリ管理と外部参照 6.10 練習問題 第7章 オブジェクト指向プログラミング 7.1 継承 7.2 完全なデータ抽象としてのクラス 7.2.1 例 7.2.2 この例の意味 7.2.3 クラスとオブジェクトを定義すること 7.2.4 クラスメンバ 7.2.5 属性を初期化すること 7.2.6 第1級メッセージ 7.2.7 第1級の属性 7.2.8 プログラミング技法 7.3 漸増的データ抽象としてのクラス 7.3.1 継承グラフ 7.3.2 メソッドアクセス制御(静的束縛と動的束縛) 7.3.3 カプセル化制御 7.3.4 転嫁と委任 7.3.5 内省 7.4 継承を使うプログラミング 7.4.1 継承の正しい使い方 7.4.2 型に従って階層を構成すること 7.4.3 汎用クラス 7.4.4 多重継承 7.4.5 多重継承に関するおおざっぱな指針 7.4.6 クラス図の目的 7.4.7 デザインパターン 7.5 他の計算モデルとの関係 7.5.1 オブジェクトベースプログラミングとコンポーネントベースプログラミング 7.5.2 高階プログラミング 7.5.3 関数分解と型分解 7.5.4 すべてをオブジェクトにすべきか? 7.6 オブジェクトシステムを実装すること 7.6.1 抽象図 7.6.2 クラスを実装すること 7.6.3 オブジェクトの実装 7.6.4 継承の実装 7.7 Java言語(直列部分) 7.7.1 計算モデル 7.7.2 Javaプログラミング入門 7.8 能動的オブジェクト 7.8.1 例 7.8.2 NewActive抽象 7.8.3 フラウィウス・ヨセフスの問題 7.8.4 その他の能動的オブジェクト抽象 7.8.5 能動的オブジェクトを使うイベントマネージャ 7.9 練習問題 第8章 状態共有並列性 8.1 状態共有並列モデル 8.2 並列性を持つプログラミング 8.2.1 さまざまな手法の概観 8.2.2 状態共有並列モデルを直接使うこと 8.2.3 原子的アクションを使うプログラミング 8.2.4 さらに読むべき本 8.3 ロック 8.3.1 状態あり並列データ抽象を構築すること 8.3.2 タプル空間(Linda) 8.3.3 ロックを実装すること 8.4 モニタ 8.4.1 定義 8.4.2 有界バッファ 8.4.3 モニタを使うプログラミング 8.4.4 モニタを実装すること 8.4.5 モニタの別の意味 8.5 トランザクション 8.5.1 並列性制御 8.5.2 簡易トランザクションマネージャ 8.5.3 セルについてのトランザクション 8.5.4 セルについてのトランザクションを実装すること 8.5.5 トランザクションについてさらに 8.6 Java言語(並列部分) 8.6.1 ロック 8.6.2 モニタ 8.7 練習問題 第9章 関係プログラミング 9.1 関係計算モデル 9.1.1 choice文とfail文 9.1.2 探索木 9.1.3 カプセル化された 9.1.4 Solve関数 9.2 別の例 9.2.1 数値例 9.2.2 パズルとnクイーン問題 9.3 論理型プログラミングとの関係 9.3.1 論理と論理型プログラミング 9.3.2 操作的意味と論理的意味 9.3.3 非決定性論理型プログラミング 9.3.4 純粋Prologとの関係 9.3.5 他のモデルにおける論理型プログラミング 9.4 自然言語構文解析 9.4.1 簡単な文法 9.4.2 この文法に従う構文解析 9.4.3 構文木を生成すること 9.4.4 限定記号を生成すること 9.4.5 パーサを走らせること 9.4.6 パーサを「逆向きに(backward)」走らせること 9.4.7 単一化文法 9.5 文法インタプリタ 9.5.1 簡単な文法 9.5.2 文法のコード化 9.5.3 文法インタプリタを走らせること 9.5.4 文法インタプリタを実装すること 9.6 データベース 9.6.1 関係を定義すること 9.6.2 関係を使って計算すること 9.6.3 関係を実装すること 9.7 Prolog言語 9.7.1 計算モデル 9.7.2 Prologプログラミング入門 9.7.3 Prologプログラムを関係プログラムに翻訳すること 9.8 練習問題 第2部 特殊化された計算モデル 第10章 グラフィカルユーザインタフェースプログラミング 10.1 宣言的/手続き的方法 10.2 宣言的/手続き的方法を使うこと 10.2.1 基本的ユーザインタフェースの要素 10.2.2 GUIを構築すること 10.2.3 宣言的座標 10.2.4 リサイズ時の宣言的振る舞い 10.2.5 ウィジェットの動的振る舞い 10.3 対話的学習ツールPrototyper 10.4 ケーススタディ 10.4.1 簡単なプログレスモニタ 10.4.2 簡単なカレンダウィジェット 10.4.3 ユーザインタフェースの動的生成 10.4.4 状況順応時計 10.5 GUIツールを実装すること 10.6 練習問題 第11章 分散プログラミング 11.1 分散システムの分類 11.2 分散モデル 11.3 宣言的データの分散 11.3.1 オープン分散と大域的ネーミング 11.3.2 宣言的データを共有すること 11.3.3 チケット配布 11.3.4 ストリーム通信 11.4 状態の分散 11.4.1 単純状態共有 11.4.2 分散字句的スコープ 11.5 ネットワークアウェアネス 11.6 共通分散プログラミングパターン 11.6.1 静的オブジェクトとモバイルオブジェクト 11.6.2 非同期的オブジェクトとデータフロー 11.6.3 サーバ 11.6.4 クローズド分散 11.7 分散プロトコル 11.7.1 言語実体 11.7.2 モバイル状態プロトコル 11.7.3 分散束縛プロトコル 11.7.4 メモリ管理 11.8 部分的失敗 11.8.1 失敗モデル 11.8.2 失敗処理の簡単な場合 11.8.3 回復可能サーバ 11.8.4 アクティブフォールトトレランス 11.9 セキュリティ 11.10 アプリケーションを構築すること 11.10.1 まずは集中,後に分散 11.10.2 部分的失敗に対処すること 11.10.3 分散コンポーネント 11.11 練習問題 第12章 制約プログラミング 12.1 伝播・探索法 12.1.1 基本的考え方 12.1.2 部分情報を使って計算すること 12.1.3 例 12.1.4 この例を実行すること 12.1.5 まとめ 12.2 プログラミング技法 12.2.1 覆面算 12.2.2 回文積再訪 12.3 制約ベース計算モデル 12.3.1 基本的制約と伝播子 12.3.2 計算空間の探索をプログラムすること 12.4 計算空間を定義し,使うこと 12.4.1 深さ優先探索エンジン 12.4.2 検索エンジンの実行例 12.4.3 計算空間の生成 12.4.4 空間の実行 12.4.5 制約の登録 12.4.6 並列的伝播 12.4.7 分配(探索準備) 12.4.8 空間の状態 12.4.9 空間のクローン 12.4.10 選択肢を先に任せること 12.4.11 空間をマージすること 12.4.12 空間失敗 12.4.13 空間に計算を注入すること 12.5 関係計算モデルを実装すること 12.5.1 choice文 12.5.2 Solve関数 12.6 練習問題 第3部 意味 第13章 言語意味 13.1 一般的計算モデル 13.1.1 格納域 13.1.2 単一代入(制約)格納域 13.1.3 抽象構文 13.1.4 構造的規則 13.1.5 直列実行と並列実行 13.1.6 抽象マシンの意味との比較 13.1.7 変数導入 13.1.8 同等性の強制(tell) 13.1.9 条件文(ask) 13.1.10 名前 13.1.11 手続き抽象 13.1.12 明示的状態 13.1.13 by-need同期 13.1.14 読み出し専用変数 13.1.15 例外処理 13.1.16 失敗値 13.1.17 変数置き換え 13.2 宣言的並列性 13.2.1 部分停止と全体停止 13.2.2 論理的同値 13.2.3 宣言的並列性の形式的定義 13.2.4 合流性 13.3 8つの計算モデル 13.4 よくある抽象の意味 13.5 歴史に関する注記 13.6 練習問題
完全な初心者の状態から勉強を始めてから大体5ヶ月でウェブサービスが完成したので何を用意したり何をどうやって勉強したらいいのか色々書いてみました。
アイデアはあるんだけど、プログラムとか難しそうで自分にはウェブサービスなんて作れないと思ってる人がいたらその敷居を少しでも低くできたらいいなあなんてと思ってます。
ちなみにボクはぼんやり1年くらいはてなブックマークにのってる記事を見ていてプログラムとかできたらいいよなあなんて思っていてようやく重い腰をあげた人です。
さらに自分は文系で数学も英語もロクにできない人なので、基本的に誰でもサイトは作れると思います。
そもそも中学生でもプログラミングができるんだから大人に出来ないわけないですよね。
これからウェブサービスを作りたいっていう方の参考になればと思います。
※自分も初心者なのでまちがってることがあったら教えてください。
●何を用意すればいいのか
※自分がWindowsなので何個かWindows向けのソフトを紹介しています。
※Macの方は申し訳ないですが、Mac向けのソフトをご自分で探してください。
(1)メモ帳
アドビのdreamweaverっていう便利なソフトがあるらしいですがお金もかかるし別に必要もないと思います。
ただのメモ帳だと使いづらいのでボクは「TeraPad」っていうフリーソフトを使っています。
例えばプログラム言語ごとに表示を切り替えると、関数とかコメント部分の色が変わって見やすくなって便利です。
・TeraPad : http://www5f.biglobe.ne.jp/t-susumu/library/tpad.html
サイトを作っても各ブラウザごとに見え方が違うのでそれぞれ確認するために何種類かブラウザをインストールしましょう。
ボクはIEとFireFoxとChromeの3つをそれぞれ表示して確認していました。
OperaとかSafariも本当は確認しないといけないと思うんですがこの3つで十分だと思います。
(3)XAMPP
ザンプって読みます。ざっくり言うとローカル環境(自分のパソコン)でプログラムを動かす環境を作るソフトです。
いちいちサーバーにアップロードしなくても、プログラムが動くかを確認できるので便利です。
またレンタルサーバーでプログラムが暴走してしまうと迷惑がかかるらしいのであらかじめ自分のパソコンで確認するのがいいようです。
・XAMPP: http://www.apachefriends.org/jp/xampp-windows.html
(4)ドメイン
何とかドットコムっていうやつです。ネット上の住所的なやつです。example.comとかexample.netとか。
ボクはお名前.comでドメインをとりました。ドメインの個人情報を隠せる?サービスがあるのが理由です。
まあどこで取っても大して変わらないと思うので目についたところで取るといいと思います。
「.com」だったら年間1000円くらいです。長すぎるドメインはとらない方がいいかもです。
(5)サーバー
ネット上にファイルをアップロードするところです。ドメインが住所だとすると土地みたいなイメージです。
ボクはさくらインターネットさんのレンタルサーバー(スタンダードプラン)を借りています。
理由はグリーの社長さんがほめてたから。お金も月額500円なので安いです。
同じ500円だとニコニコ動画のプレミアム会員になれますね。ちなみにボクは一般会員です。
さっきファイルをアップロードとかさりげなく書きましたが、そのファイルをアップロードするソフトがFTPソフトです。
ボクはFFFTPを使っています。最初使い方がわからなくて戸惑いましたが慣れれば簡単です。
・FFFTP : http://www2.biglobe.ne.jp/~sota/
(7)FireMobileSimulator(FireFoxのアドオン)
携帯電話のサイトを確認するには基本的に実機で確認するのが一番ですが、個人で全部そろえるのは難しいです。
そこでFireFoxのアドオンのFireMobileSimulatorという拡張機能を使って簡易的に確認するのがおすすめです。
XAMPPのようなローカルサーバでも確認することができます。
・FireMobileSimulator : http://firemobilesimulator.org/
FireMobileSimulatorで確認できるといってもやはり見え方は違います。念のため実機で確認しましょう。
ボクはiphone使っていてそれの確認はしてるんですが、androidの友達がおらんのでまだ確認してなくて実はまだ不安だったりしてます。
上と同じようにやはり実機で確認した方がいいです。特にガラケーは見え方もそうですが、プログラムがうまく動かなかったりします。
例えば、AUだけフォームに「enctype="multipart/form-data"」を入れてると文字化けするという謎の現象が起きたり。
他にも色々あって制作に時間がかかったのは正直このガラケーのせいです。色々3キャリアで統一とかしてくれないんですかねえこれ。。。
友達のY君とMさんとNさん本当にありがとうございました。匿名ブログだけど感謝してます。
●何を勉強すればいいのか。
さて具体的に何を勉強すればいいのかわからない人がいると思いますが、以下を勉強すればウェブサービスが作れます。
ということでひとつずつ説明。
マークアップ言語っていうらしいです。プログラムじゃなくてhtmlファイルを作る言語です。
とりあえずhtmlでサイトの文書の論理構造を書いて、cssでサイトの見た目をキレイにするものだと思ってください。
適当に検索すれば勉強できるサイトがたくさん出てくるのでそこで勉強してください。
本も売ってますけど基本的なところは難しくないので買う必要はないと思います。
調べると、html5とかxhtmlとかあって戸惑うかもしれませんが、とりあえずPCとスマホなら何でもいいと思います。
(ガラケーについては各キャリアごとに対応させる必要があります。書くとすごい長くなるのでガラケー用にサイトが作りたいなら調べてみてください。)
ただhtml5が一番新しいので今後勉強される人はそれの方がいいかもしれないです。
ちなみにボクはたまたま見たサイトがxhtmlの説明だったので今回はxhtmlで作りました。
まだボクは90年代初頭のホームページみたいなデザインしかできないので偉そうなことは言えないんですが(笑)
最初はhtmlだけでサイトが作れると思っていたんですが、はてなのような動的なサイトを作るときは何かしらプログラミングする必要があります。
んで、いろいろ調べるとperlやらRubyやらJAVAやら色々でてきて一体どのプログラム言語がいいのか悩むと思いますがウェブサービスが作りたいならPHPがいいと思います。
理由はウェブに特化した言語っていうのと他に比べると簡単で勉強時間が少なくて済むらしいので。
PHPなんかで本なんか買う必要はないらしいんですが、ネットのサイトだとよく理解ができなかったので本を買いました。
以下の書籍がとてもわかりやすくていいです。おすすめです。やっぱり本は体系的にまとまってるので勉強がしやすいです。
この本の通りやっていけばとりあえずプログラムが動く感覚が得られます。
あとすごい賢そうなことをやってる感覚になるので頭がよくなったような気がしますよ(笑)
MySQLもこの本で勉強ができます。MySQLというのはデータベースで、そういうソフトです。
他にもOracleとかPostgreSQLとかあるらしいですが、
とりあえずMySQLでSQL文っていうのを勉強するとデータの検索だったり、データのアップデートだったりが数行でできたりするのですごい楽になります。
決して簡単ではないですけど、思ったより難しくはなかったっていう印象です。
自分は大抵その時理解できなくてもだいたい一晩寝てから、もう一度頭からやり直すと理解できました。
(3)Apache
ボクはさくらさんのレンタルサーバーを借りていて今回はあまりいじってないんですが例えば「.htaccess」という名前のファイルを作るとapacheの設定をいじることができます。
例えばアクセスされたくないファイルがあったらそういう指定を「.htaccess」というファイルに書いておけばアクセスされないようになります。
基本的にパソコンと同じように作ればいいです。ボクは以下の本を見て勉強しました。
「iPhone+Androidスマートフォンサイト制作入門(たにぐちまこと)」
正直ネットの情報でも十分だと思いますが一度体系的に勉強するのもいいと思います。
ガラケー向けのサイトの制作は特殊で一度頭真っ白の状態で勉強した方がいいです。それだけPCとスマホとは全然違います。
ネットにも情報はたくさんありますが、断片的なものなので以下の書籍で体系的に勉強してから補助的にネットで調べた方がいいです。
この本は実践アプリケーション集というだけあってそのまま使えるコードが収録されているのがとてもいいです。
正直PHPのプログラミング自体はそこまで難しいという印象はなかったんですが、この本に出会わなかったら多分ガラケー向けのサイトは作れなかったと思います。
もしガラケー向けのサイトが作りたいならこの本を買うのが近道だと思いますよ。
CakePHPとかSymfontとかいうのがあるらしいです。
このフレームワークを使うとあらかじめある程度のところまでできてるんで、ボクみたいに全部TeraPadで手書きしなくてもいいみたいです。。。
(2)javascript
PHPはサーバーで動作するプログラム言語ですがjavascriptはブラウザ上で動作するプログラム言語です。
非同期通信なんていうよくわかんないけど何かすごいこともできたりするらしいですよ。
●もし調べまくってもわからなかったら
もし一日中検索してもよくわからなかったらそういう時はネットの頭のいい人たちに質問しましょう。
ボクは以下のサイトで質問していました。
(1)ヤフー知恵袋
巷ではヤフー知恵遅れなんて言われてますが、コンピュータ系の質問に関してはしっかり教えてくれる人がほとんどです。
ポイントを100枚くらい使うとカテゴリマスターなんていう天才が回答してくれます。
(2)2ちゃんねる
どういうスレッドなのかよく読んで質問しないとボロクソに言われますが、2ちゃんねるなのに皆さんすごい優しく教えてくれます。
たまにケンカしてたりすることもありますがそのときはケンカが終わるまで待ちましょう。ケンカの流れで質問がスルーされたりします。
ヤフー知恵袋も2ちゃんねるもそうですけど、質問するときは自分の環境をしっかり書いて何がしたいのか、どんなエラーがでるのか明確に書きましょう。
回答する人もわからないですし、自分がほしい回答がまず来ないと思います。
あと当たり前ですが回答してくれたらお礼をしっかりいいましょうね。
●こうして出来上がったウェブサービス
こうやって今回できあがったのが6人まで登録ができる招待制のレンタル掲示板です。
「ひそり-秘密共有ネットワーク」(http://hisori.com/)です。
なんだ掲示板かよー!!とか言わないでください(笑)これでもけっこうがんばったんで。。。
そういえばサイトを作ろうと思った経緯を書いてなかったんでちょろっと書いておきます。
ボクはミクシィとツイッターをやってるんですが、一瞬その時だけ仲のよかった人の更新とか見たくなかったりするんですよね。
でもマイミクを外したりフォローを外したり小心者のボクにはできなかったりするわけです。
そもそもあーいうソーシャルって自分のキャラに一貫性をもたせないといけないから窮屈なんですよね。
例えば、会社の同僚には真面目を絵を書いたようなキャラだけど学生時代の友達には下ネタ好きのどうしようもないキャラだったりすると
マイミクやフォロワーにその会社の同僚がいたら、下ネタなんか書きたくても書けないという窮屈さがソーシャルにはあるわけです。
だったらあらかじめ人数制限しておいて、例えば同じ学生時代の人しか見ることができないサイトがあれば
下ネタだって気にしないで何でも書けるよねっていう考えに至ったわけです。
今回6人までという人数制限と招待制っていう形にしているのはそういう理由と本当に仲のいい何でも話せるグループに使ってもらいたかったからです。
んで、ネットにそういうのがなさそうだったので勉強がてら自分で作っちゃえ!ってことで今回作りました。
ちなみに何で秘密共有ネットワークなのかというと「招待制無料レンタル掲示板」だとどんなサイトかイメージがつかないと思ったからです。
じゃあ何て名前にしようかと考えた結果、秘密でも何を書いても大丈夫ですという意味を込めて「秘密共有ネットワーク」って名前にしました。
とまあ、そういうことで初心者でボクみたいな完全文系の人でもこれくらいのサイトなら作れるんで
もしプログラムとか難しそうとかそういう理由でウェブサービスの制作を躊躇してる人はぜひチャレンジしてみてださい!!
※もしサイトが変な挙動がしてるとかあったら更新報告用にツイッターのアカウントを作ったんでよかったら教えてください。
http://twitter.com/#!/hisori_com/
ではでは。。。
講演一発目。
ソフトバンクモバイルの中山五輪男(いわお)さん。iPhoneの販推をやっている「シニアエヴァンジェリスト」だ。
現在、割合の25%超を占めているのが卸・小売業、次いで20%のメーカーである。
メーカーとしては製造現場にて指示書がペーパーレス化したり、営業のプレゼン媒体になったりしているとのこと。
一方、金融機関としては試験導入中の期間が複数あり、今年以降に爆発的に増える見込み。
スマートデバイスの契約数はますます右肩上がりに増えていく見込みである。
紙、デジタルサイネージ、薬の包装、音楽、映像からアプリを通じてwebに接続できる。
セカイカメラがARのひとつ。ドラゴンボールのスカウターみたいに、現実世界に外部から呼び出した情報を付加する。
http://tm.softbank.jp/business/white_cloud/videos/smartcatalog/
CA用の研修マニュアルは3冊2.1kgしていたものをiPadにすることで0.7kg(おそらくバッテリーは除く)にした。
この研修マニュアルは搭乗するたびに持ち込む性質のものらしく、軽量化はありがたい話。
また、電池の持ちがよく、ウイルスもゼロ件(ご存知Androidは質の悪いアプリにウイルスが潜んでいる)
浄水施設の点検をペーパーレス化、点検項目の漏れのチェック機能をつけている。
テクノツリー社という小さな会社が製造・流通のマニュアル作成に長けているとのこと。
(6)HOYA (SUNTECH)
感光式のサングラスで色の変化スピードを説明するときにビジュアライズすることで、営業説明と使用感のギャップが減ったらしい。
(口頭説明ではわかりにくく、事後的なクレームが多かった)
(7)AIU保険
東日本大震災の損害調査として米本社からiPadが送られ、SmartAttackというシステムを活用。
割愛
(9)BMW
iPad(280台)によって営業4-5日から1.5日減でクローズ
顧客とのコミュニケーションとして、車の外装・内装のシミュレーション、仮想の工場見学などを行える。
割愛
thinkpadを全部iPadにリプレース。営業のツールとしてアプリや映像を活用。(個人に営業トークに頼らず、営業フローを標準化したと言える。)
Microsoft ExchangeやOutlookは全部Google App (26000 ID)にする予定。BCPとして日本にサーバを置いてられない。
http://tm.softbank.jp/business/concierge/dm/
(14)iPhone 4S
「Siri」が特徴。業務システムに応用されるというのが講演者の予想。
twitter:@iwaonakayama
二発目。ヤマサのマーケティングの話。「(自称)超成熟マーケット」の醤油。
Facebookやtwitterなどあらゆる媒体を使って、消費者を包括的に網羅して360度にアプローチしようと試みていた。
消費者は中身を知りたがっているのであり、メーカーの中身を見せて、コミュニケーションをとれば、味方につけられるようだ。
三発目、DNPのC&I事業部(Communication & Information)メディア・コンテンツ本部の講演。
後段はB2Cにソーシャル・メディアを用いてアプローチするノウハウをDNPが持っているという話。
たしかにソーシャル・メディアによる販促は効果測定が難しい。そのノウハウを仮にDNPが持っているのならば素晴らしいことだ。
果たしてソーシャル・メディアはB2Bに使えるのか。会場から質問が出た。
回答はB2BでもB2Cと本質は同じであるという。しかし、それは本当であろうか。
たとえば、車のボンネットが新日鉄製であろうがJFE製であろうが消費者にとってはどっちでもいいんではないだろうか。
わからん。
http://anond.hatelabo.jp/20111029232710
の続きね。結構気になっている人が多いのだなと思ったので、さらに追加解説を。
最初に書いておくと、Amazonはアコギだけど、ユーザーには(短期的に)歓迎される可能性が高い。
それ故に対応を間違えると、日本の電子書店は太刀打ちできずに壊滅するだろう、
それはAmazonが世界最大級の小売りで十分利益を上げているからだ、という話。
(あくまでも友人が出版社につとめていてその話を聞いた中から)さらに説明しようと思う。
迷惑かからないようにぼかして書いてあるし、版面権や絶版、DRMや市ヶ谷方面の話題は煩雑すぎるので割愛している。
一ツ橋が出版社の全てみたいな話をするな!とか気になる人も居ると思うけれども、大枠で読んで欲しい。
(それに、これがググらずに判る人は、たぶん説明は不要で十分判ってると思うので)
最初に「経費圧縮による分は、安く出来るはずだ」というところから。
取り分は、作者(10%)→出版社(60%)→取次(8%)→書店(22%)→読者
例えば講談社がOnline書店を新たに作ったとして、取り扱いの本が講談社だけなら、取次8%分は削れる。
なぜなら、取次とは「多数の出版社と多数の書店を繋ぐ役割」だから。
ここで「多数の出版社と、講談社Onlineを繋ぐ役割」だと、0%ではできない。
そして、経費が削れても、利益を上乗せする方向にいっちゃいけないって事はない。
「ネットでの課金徴収、データ管理やバックアップにサーバ管理で、コレぐらいの値付けはしても使ってもらえるだろう」
という見込みがあってやってしまっても悪くはない。
それは「そこは消費者に還元しろよ」という感情はわかるけれども、商売としては別。
元々「電子出版なら安くなるはず」と圧力のある状況で売っても、一冊あたりの利益は薄い。
すると、その面倒なところ(他の出版社への声かけ、販売対応、サーバ管理等々)を、既存出版の割合でやってくれるなら、ギリギリなくはないかな、
といくつかの出版社は考えてもおかしくない、というのが前回のお話。
まずは、お金の流れの一般論として再販制度の仕組みについて触れておこう。
(矢印がお金の流れ、その逆向きが本の流れ)
判り難いので、具体例で列挙すると以下のような感じになる。
(出版の70%は作者の10%含み。本屋群の78%は、本屋の取り分の22%を引いたもの)
これに月末締めの翌月払い、条件返本相殺締日とかが絡むけども、胃が痛くなるので割愛した。
……ついてきているだろうか?
差し引きで見てみよう。
ほぼノーリスクで作者は100万円を手にするのに対して、本屋は頑張って110万、出版社も250万。
クリエイターに対する印税10%が低すぎると思っている人は、少しだけで良い。お金の流れを追って欲しい。
(ただ、返本率は、実際には4割程度だろう)
また、取次の集金機能にも着目して欲しい。
配本流通集金と、色々やってるのが取り次ぎだ。
さあ、管理も煩雑、処理も大変、もはや本が札束に見えてくると言う悲惨な状況下の中、Amazonが提示したのが55%という数字だ。
さて、例のリーク記事のAmazonが提示した契約書とされている部分、実はあの式にはちょっとしたポイントがある。
Amazonは当月中の各本件電子書籍の顧客による購入の完了につき、希望小売価格から以下に定める金額を差し引いた正味価格を出版社に対して支払うものとする。
先ほどの金額の流れを見た後だと、気がつくことがないだろうか?
そう、これは「出版社に対してAmazonが支払う金額」についての式なのだ。
具体的に見てみよう。
1500円のハードカバーを、出版社が「電子版だから、じゃあ1000円にするよ」と希望小売価格を決めたとする。
Amazon.com でのKindle版の価格から鑑みるに、おそらく、500円で売るだろう。つまり50%OFFだ。
すると、希望小売価格 1000円x55%=550円を差し引いた金額、450円をAmazonが出版社に支払う事になる。
希望小売価格は出版社が決められるが、紙の本より高くは出来ない。
そして、Amazonは希望小売価格から55%を引いた額を出版社に払えば良い。
50%OFFで売れば、Amazonの儲けは、一冊あたり5%になる。
どういうことになるか、火を見るよりも明らかだろう。
Kindleが8000円、Kindle Touchが1万円ぐらいで発売されてしまったら、どうなるだろうか。
紙の本には手に取れる書き込みできる、そして所有する喜びがある。
しかし、紙の本 1500円 vs kindle本 500円 ならどちらを選ぶだろうか。
10冊買えば本体代の元がとれると思った時に、Kindleデバイスを買わない自信があるだろうか。
Kindleデバイスを売る為だとか、ロングテールで値下げせずとも良い本から利益を回収する為だとか、色んな理由があるだろう。
でもきっとAmazonは、市場で無視できないサイズとなって十分利益が回収できるようになるまで、じっくりゆっくり粘り強く低調に成長を続けるだろう。
なぜなら、オンライン小売の巨人は、他で利益を出せば良いからだ。
もちろん出版社は、1500円の本を、他の電子書店には1000円で卸して、Amazonには1500円で卸すことだって出来る。
忘れてならないのは、Amazonは1500円x45%=675円を出版社に払うことだ。
他の電子書店は、1000円で卸された本から20%だけとって800円払うこともできる。売れればだが。
そして、Amazon対抗のためだけに他の電子書店に750円で卸したとして、電子書店側も決意の10%として675円を出版社に払っても良い。
1万冊売って75万円利益の電子書店、しかも様々なフォーマットでデバイスも様々で、本当に継続できるだろうか。
読者が安い本を買うことは止められない。非難も当然出来ない。
安いKindle版を出さずに独自の電子書籍を出す出版社に、文句を言わないだけの理性があるだろうか。
そして、(アメリカのペーパーバックがでかくて重いという理由があるにせよ)電子版が紙の本を売り上げを上回る世界で、
Amazonを無視して自己流を貫く事での機会損失を、オーナーや株主は許容できるだろうか。
流石にアマゾン、(アメリカ市場からの推測でしかないが)相当にえげつないことをする。
出版社は、既存の電子書店に卸してもAmazonに卸してもそう代わりはないが、消費者は安い方から買う。
そして、Amazonは限界まで値引きをして売るだろう。ダンピングにならないように5%程度の利益を抑えた上で。
黒船Amazonが、日本の電子書店と違う点は、既に成功したネット上の小売業者である点だ。
赤字をものともせず待ち続けられるのは、アメリカの市場で証明済みだ。
商売なんだからきちんと儲けてくれよ、金なら払うから経費圧縮分は利益にしてくれよ、
そう消費者が言ってくれないことは判ってる。
でも、電子書籍は安くて当たり前、デジタルなんだから薄利多売で消費者に還元してくれ、
そういう意見一辺倒だと、現状ではAmazonは無視できる存在ではない。
そしてこれは、Amazonの用意したハードルを乗り越えて契約できる出版社が増えれば増えるほど、