はてなキーワード: Rubyとは
調べたら{}のないCみたいな感じじゃない?
perlやらrubyやらよりよほど書きやすそうだけど、なんでそんなに嫌われてるの?
オレはperlに挑んだけど掲示板とチャット作ったくらいで挫折したわ
すげー書きにくい、もうやりたくない
Pythonをかれこれ5年ほど使っているけれど、いい加減頭にきた。
大体頭に来るような内容というのは限られていて大体は
http://www.aoky.net/articles/steve_yegge/tour_de_babel.htm
本当にPythonを殺し、メインのスクリプト言語となる望みを、あるいは何であれメインの言語となる望みを絶ったのは、永久凍土の問題なのだ。人々はいまだ埋め込みインタプリタにTclを使っている。どのような面から見てもTclよりPythonの方が遥かに優れているというのに——ただし永久凍土の問題を別にすれば。
これに尽きる。
よく言われるが、インデントに縛りがあるのもselfが付くのも慣れてしまえばさほど気にならないし、むしろ魅力的とも感じる。
しかし、Pythonを本当の意味で糞たらしめて居るのはその言語を使っているコミュニティがあまりにも思考停止しているからだ。
インデントやselfが気に入らないなんて些細な問題を他の言語使いから散々文句を言われたがために、本当の意味で言語の弱点になっている部分が指摘された時にも「それは言語仕様が悪いんじゃない。言語仕様に沿って考えられないお前の頭が悪いだけだ」と言ってくる。
実際のところ、Pythonの仕様には言い逃れのできない仕様の穴は幾つもある。もちろんよく引き合いに出されるRubyやPerlにも仕様の落とし穴は山ほどある。仕様の穴そのものは実はそんなに深刻な問題ではない。
真に問題なのは、Pythonコミュニティはその仕様の穴を断じて穴と認めない事だ。
言語同士でdisり合いになったとき、何かその穴をつつかれた場合の各人の反応はおよそこんな感じだ。
Perl使い「そうだよね、そこの仕様は頭悪いよね。でもPerl6のこの機能使えばこんなに短く綺麗に書けるんだぜ(と全く読めないコードを出す)」
Ruby使い「うんうん、仕様の話題でもそこは殺人現場とか呼ばれてるね。コミュニティ的にはこっちの機能を使うことを推奨しててそっちはobsolatedだね」
PHP使い「それ言い出したらこっちにこんなに大きな地雷あるし、この地雷なんてもっと大きいぜ。ほんとPHPは地獄だぜ」
Python使い「お前の思考通りに言語が動くんじゃなくてお前の思考を言語に添わせるんだよ、言語の挙動すら理解せずに使おうとするんじゃねえ」
こんな感じに、まず最初に質問者へ人格攻撃を行う。インデント言語であることやselfの問題について未熟なプログラマからのどうでもいい指摘を散々受け流してきたPythonコミュニティは、言語仕様について文句を言われる事に慣れているためまず相手を攻撃する。初心者を寒波が洗礼するのだ。
言語仕様が汚くなっている事まではどの言語も一緒なのだけれど、Pythonコミュニティだけは欠点を認めず必死に(∩ ゚д゚)アーアーきこえないという態度を取る。
これこそがPythonを糞言語たらしめる最大の弱点である永久凍土の問題。コミュニティが凍れば言語の進歩も凍る。
Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1
http://anond.hatelabo.jp/20120118220204
Rubyistってなんであんな小学校の図書室で毎日読書してそうな
顔面オジサン、オバサンばっかなの?
Scalaer: 鼻持ちならない、モヒカン
Lisper: マジキチ
Rubyist: ネクラ、オタク、キモメン、いじめられっこネクラチビメガネ、色黒、キモオタ、顔面オジサン、オバサン
Rubyのブロックが便利すぎて、Pythonをやめたくなった。
いちいちtemporaryな関数を作成してから目的の関数に渡していたのがばからしくなった。
リストやジェネレータ式の内包表記が便利過ぎて
どうせ廃れる。
609
>リストやジェネレータ式の内包表記が便利過ぎて
おれもそう信じてたけど、Rubyの、メソッド呼び出しを続けて書けるほうが便利だわ。
まるでjQueryみたい。といってもjQueryのほうが後発だけど。
たとえば「xsから0以上のものを選んで、その二乗の和を求める」場合
sum([ x*x for x in xs if x > 0 ])
これだと、後ろから読まないといけないんだよね。でも
xs.select{|x| x > 0}.map{|x| x*x }.sum
これなら頭からひとつずつ読めばいいから、わかりやすいし、考えたとおりに書きやすい。
まさにスクリプトって感じがする。
Python: [[x,y] for x in xs for y in xs]
Ruby: xs.map{|x| xs.map{|y| [x,y] } }.flatten(1)
いっぽうメソッドチェーンは
orz.sage().hage().hoge().hige() タイプの問題には向いている
つまり向いている方向がちがう
(まあHaskellなら hige . hoge . hage . sage と書くだけだというのは置いといて)
強い弱いということで言うと、問題を解くのに必要な一番能力が弱い
(限定された)道具を使うという考え方があるようだよ
ベタ再帰は強い(汎用的)、がそれゆえ読むのに注意を必要とする
foldrは再帰よりは弱いが、foldrで表現可能な問題のクラス(原始再帰)はかなり
広いので、mapやfilterで済むならもちろんそのほうが望ましい
ではこの問題は弱いmapやfilterを結合させるほうがいいかというと、
俺はlist comprehensionのほうが集合表記そのもの=whatを表現していて好きだな
Pythonのlist comprehensionのsyntaxはあまり好きではないが
それは大きな問題じゃない
メソッドチェーンってバグをわかりにくくするだけだと思うなあ。もちろん性能面もあるし。linqとかは良いと思うけど。
同じメソッドチェーンでも、linqなら良いけどrubyなら悪い .....
一言で言うと「俺はRubyが大嫌いなんだぁーー」ということですな
内包表記は構文でサポートしないと難しい(マクロがあれば別だが)
メソッドチェーンが関数型の方法に比べて特に優れている点があるようには思えないが
パイプ順に書きたければ書けるし
680,663
Pythonには関数型として致命的な弱点があるから、メソッドチェーンでは簡潔なコードが書けない
たとえば「(1) Rubyは 条件判定が(文ではなく)式」だから以下のようなコードが書ける
if test
if test_1 then test_1_1 else test_1_2 end
else
if test_2 then test_2_1 else test_2_2 end
end
}
あるいは「(2) Rubyはブロック内で局所宣言が可能」だから上のコードを以下のように書き換えてもいい
cond_1 = if test_1 then test_1_1 else test_1_2 end
cond_2 = if test_2 then test_2_1 else test_2_2 end
if test then cond_1 else cond_2 end
}
関数型言語であれば「(1) 条件判定(if/case)が式」で「(2) 局所宣言(let .. in .. end)が可能」なの当たり前
ところが残念な事に、どちらもPythonには欠落しているから、上の例はストレートにコード化できない
だからPythonではメソッドチェーンは使われないし、「酸っぱい葡萄」に見える
Rubyでもリスト内包表記が言語として組み込まれてくれると嬉しい
だと思う
頭に浮かんだロジックをすばやくコード化するのはメソッドチェーンが適しているし、
じっくり腰を据えてコード設計するならリスト内包表記のほうが美しい
自分は、たぶんこのスレもRubyコアの中の人も見ているだろうから
そのうちRubyにもリスト内包表記が実装されるんじゃないかと期待しているw
メソッドチェーンは書き易い
内包表記は見た目が整ってて綺麗、最終的な型がわかり易い
いじょ。
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 流と想像。
これを読みづらいと感じるのは、左から右に流れる
もしかしてアラビア語ネイティブな人からすると逆に読みやすいのか?
http://webrocketsmagazine.com/entry/20111209/html-code-generation-using-excel.html
http://mattn.kaoriya.net/software/vim/20111215034338.htm
http://d.hatena.ne.jp/takuya_1st/20111217/1324105198
真のプログラマーなら単純なHTML生成するのにテキストエディタは使わないよ。単純なHTML生成が必要なプログラマーなら、プログラムでやるでしょ。いちいちプログラムを書くのがだるい?いやいや、単純なHTMLの生成が必要なプログラマーなら、リストやディクショナリといった汎用的なデータ構造やCSVファイルといった汎用的な形式のファイルから、自動的にHTMLを出力するライブラリぐらい書いてるでしょ。わざわざ同じ作業をやるなんてめんどくさい。それにそのプログラムは他でも使うことができるしね。しかもPythonやRubyならほぼシェル感覚で使える。わざわざテキストエディタを使って同じ作業をする必要性はないね。真のプログラマーなら単純なHTMLの生成はプログラムでやるでしょ。プログラマーなんだから。
完全な初心者の状態から勉強を始めてから大体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/
ではでは。。。
2chでは私がぼろくそ言われた( スレのURL探しに行ったら、2ch書き込み情報があり、性格はそれなりにそれなりらしい事がわかった )
http://hibari.2ch.net/test/read.cgi/tech/1317639700/365-
つるんでるは、その方が見る人が多くなるかと思って書いたので、一緒にブクマしてたりとか、リツイートされたりとか、はてなブックマークのお気に入られに、ドワンゴ社員でギークハウス在住の奴が入ってたりとか
まあ、こんなところか
365 :デフォルトの名無しさん:2011/10/28(金) 15:54:08.91
まつもとゆきひろさんの連絡先知ってる人いませんか?
あなたは化け物を作った と言いたい
こんなに素晴らしい人権意識をお持ちのsora_hさんは、最年少ruby開発者だった。。。orz
光り輝く id:kabiy さんを応援してあげて id:kabiyさんは、新しいおもちゃが手に入って大変お喜びのようです。
そして、私を応援してくれる大変素晴らしい方です。 ギークハウス万歳 応援していただいたので、私も応援のお返しのエールを送りたいと思います。
光り輝くkabiyさんに、shine
366 :デフォルトの名無しさん:2011/10/28(金) 16:00:01.19
これは人災じゃないんでしょうか?この人は地震の震災の時の何かの100人ボランティアを使う開発に関わったそうですが
支援や協力をお願いしている部分は関知せず、こちらからしたら嫌がらせにも取れるようなツイートだけして、開き直ってきた
ネットだし事実確認が、ネットを見ただけでは判断できないから、躊躇する人というのもいるかもしれないし
関わりたくないと思う人もいるだろう。みんなそれぞれの事情や都合で生きているのだから
だからと言って、ないがしろにしたり、からかって良いわけはないと思う。
こんなかかわり方は無い
367 :デフォルトの名無しさん:2011/10/28(金) 16:08:25.51
はてなブックマークというもので、わざわざ私のツイートに対し、「warota」と言っています。
ゲームのデバッグのバイトの例を出したから、ruby開発者の自分に何を言っているんだ という笑いだったのかと思いますが
技術の事ではなく、コミュニケーションの取り方というか、それ以前のような気がしますが、
そのような傲慢すぎる関わり方を言っていました。
こんな人 いくら技術力が能力があっても、人間として破綻してないですか?
こういうのは、匿名でしかものが言えない未来がないような人が、する事かと思ってました。
実名で前途有望なはずの人がする事でしょうか?
本当に2chねららしい目撃情報も
376 :uy:2011/10/28(金) 18:00:01.89
可愛そうに ああ可愛そうに ひたすら可愛そうに
そいつは悪くないよw 中学生なんてそんなもんだし、何言うかわからないのが中二病、人それぞれ発病の仕方が違うだけ
むしろ中学生程度を天才だ! っとかいって祭り上げた大人が悪い
そろそろ気づき始めるんだろ
「あれ?自分って天才って言われるほどすごくなくね?あいつのほうがすごくね・・・?うわあああああああああああああ!!!!!!!!!!!!!!!!!1」こうなる。
995 : uy : 2011/10/03(月) 18:35:47.45
初修正報告…ども…
俺みたいな中3でRuby開発に参加してる腐れ野郎、他に、いますかっていねーか、はは
Groovyかっこいい とか Haskell総合IDEほしい とか
かたや俺はRubyコミッター、メーリングリストでBUG報告を見て、呟くんすわ
it'a true Bug.再現率低い?それ、もう仕様でいいんじゃね。
なんつってる間に10時っすよ(笑) あ~あ、義務教育の辛いとこね、これ
377 :デフォルトの名無しさん:2011/10/28(金) 19:47:25.39
uyにだけは言われたくないだろうな
でも、増田は技術系の人が多いから、rubyはrubyってかんじなのかな。日本人が作った軽いプログラム言語? ってことくらいしかしらないけど、私だって名前を知ってるくらいに有名なものに、中学生で携わってるのに、名にこの人格の歪み・・・
今のうちなら治るかもしれないのに
rubyが開発できたら、何をしてもいいんだろうか?????????????????????????????????????????????????????????
わらた
わらた以外
この人は、余計なツイートはして、こちらを支援しようとは全くせず、それだけでなく、ブックマークにあろうことか「warota」と入れているのです。
もしかしたら、わろたは、その文章に共感したからだ、とおっしゃるかもしれませんが、観察だけされてるようなのは、嫌だからやめてほしいとこちらは伝えていたし、いくらその文章で笑えたからと言って、窮状を訴えている人が、馴れ馴れしく「warota」と書かれて嬉しいはずもないので、常識では考えられないくらい異様な事ではないかと思います。
子供だから、人の苦労がわからないのかもしれませんが、こんな人が技術力だけ身に付けて行く事を考えると、恐ろしくなってしまいます。
Ulogで、寄って来ていたプログラマらしい人を、何となく変だったので断ったら
私が困窮を訴え協力を求めようとしているブログの2つ目の方の、証拠の録音をたんたんとあげていくものにしようかと思っていたところに
ネットウォッチって、つまり「観察」なので、困っている人を観察するって、悪趣味すぎます。
こんな事、仕組みを知らない人に言ってもわから無い人には、わからないだろうから、された方は、本当に困ると思います。
ネットしか助けを求める事ができない状態の人もいると思います。
物理的には、ネットというのは、機動性もあり、人の救済が可能なはずですが、心などそれを使う人の問題というソフトの面で、非常に残念な事になっていると思います。
昔2chで、ログの状態で見つかったりして知った現象で、そこしか助けを求めるところがなく精神的に追い詰められた状態の人を、挑発したりして、感情的にさせ、更に集団でいたぶるというのがある。
みんながこれに参加するわけでもないし、集団で叩いているところには近づかない人もいたし、たまに助かってるのか助かってないのかわからない状態で助けられてるのを見ることもあった。
追い詰められているから、感情的に煽られると、普段だったらまたは平常心だったら、相手にしない事でも相手にしてしまう。そういう状態を狙ってる人もいるようだった。
煽りが煽りとわからない状態、周りにマトモなものがない状態の人も中にはいるだろう。
(向こうの方が悪いとか、相手にしない方が良い人間という判断力がなくなっている状態)
叩きや煽りという露骨な事じゃなく、冷静さを装って相手を追い詰める人も居る
相手が感情的になったら、自分は冷静でマトモという態度を取る、、という事もある。
ギークハウス主催者のブログに書き込んでからの事は、少し似てる部分がある。
違うところは、実名出してる人が少し居るという事
はてなは、そんなに2chと似てないが、一部短文で煽る人もいるのでかぶってる部分はあると思うが、そんなにかぶってはいない。
それより驚いたのが、ギークハウスにドワンゴの人が居たという事。
そういう部分だけじゃなく、普通になごめるものもあるというところも似ている。
集団性も似ている。
2chの集団性については、読んだもので強烈なオフ板のものや、運営についての話もあるけど、もっと小規模なすごくくだらないことでも、チームになって仲間が煽られてたら、名無しで助けるというのがあるらしく、電話で聞いて結構真面目に話してくるので引いたw そこまでの熱心さが理解できなかった。 2chの人には物々交換でその場限りの人以外はあった事ないが、コテの人と電話で話したら、そんな話をされた。その板にもあまり行かなくなった。
なんか似てるなあw
そいつが、2ちゃんねらと同じような、ギークハウスと同じようなレベルの事をしてたとしたら・・・・・・・・・・・・・・・・・・・・
ちょっと、へこまない?
へこんでないで、抗議するべきかな?
まつもとひろゆき氏に
いくら技術力があっても、人間的に問題がある人では・・・・・・・・・・・・・・・・
私は、日本一官僚的な中学生だと思いました。。。。。。。。。。。。。。。
http://anond.hatelabo.jp/20111022215058 ここの5番を考える間隔が普通であると思いたい・・・・・・・・・・・・・・・
あれは、何だったんだろう?
ruby開発最年少って・・・・・・・・・・・・・・・・・・・
それなのに、人生おわた人が行くような会社の人とネット上にしても、近い位置にいたり・・・・・・・
私はてっきり親父が昔の自分の画像を使ってるんだとばかり思っていた。
自分にわからない事だからとか、厄介な事に関わりたくないとか、残念ながらこういう人もいるかもしれません。人間、一人一人、自分の都合で生きてますから、自分の事でせいいっぱいな事もあるでしょう。
そういう人が、困った人人権救済を訴えている人が居ても、関わりたくないと言うのなら、まだわからない事もありませんが
この人は、余計なツイートはして、こちらを支援しようとは全くせず、それだけでなく、ブックマークにあろうことか「warota」と入れているのです。
もしかしたら、わろたは、その文章に共感したからだ、とおっしゃるかもしれませんが、観察だけされてるようなのは、嫌だからやめてほしいとこちらは伝えていたし、いくらその文章で笑えたからと言って、窮状を訴えている人が、馴れ馴れしく「warota」と書かれて嬉しいはずもないので、常識では考えられないくらい異様な事ではないかと思います。
子供だから、人の苦労がわからないのかもしれませんが、こんな人が技術力だけ身に付けて行く事を考えると、恐ろしくなってしまいます。
http://tech.g.hatena.ne.jp/itkz/20101125/1290685725
本当に無限に入るんでしょうか?
それって、はてな星の脆弱性じゃないんでしょうか? (追記 確認したらリロードされて、小さくまとまって星の数が表示されてました。何千入れてもこういう形になるから大丈夫なんでしょう。)
最近ギークハウス関係の人がお気に入りに居る人に、よく星を贈られます。
リアル中房にも
まさかマジで厨房とは知らなかったが朝日学生新聞に顔写真付きで記事が載ってるの見て知りました。
その彼は関係者じゃありません、デマがよくないと思ったんですキラキラ☆ブリブリとツイートしてましたが、お気に入りに「こちら、大変読み応えのあるコメント欄となっておりますので、是非ご覧になってみてください」と書いた人http://megalodon.jp/2011-1025-0222-41/b.hatena.ne.jp/entry/d.hatena.ne.jp/pha/20111009/1318158999%23cとギークハウスでドワンゴの人の所に星コメしてる人が居ました。
http://www.diigo.com/item/image/1wnkt/icjv
ツイートも拡散希望で困っている事協力を呼びかけたい事に関するものを、そのようにツイートするのではありません。
こちらは、その事でブログを作ってまでして訴えているのです。身内に苦しめられると言うややこしさを説明する困難とも戦いながら
どうして、こちらが支援を求めている事はやらずに、嫌がらせのようなツイートするのか聞いても、「協力するとは言っておらず一つの震災関係のデマに関する意見として見ただけです.」
それで、嫌がらせのようなツイートはします。ブクマで「warota」と入れてます。http://megalodon.jp/2011-1026-1625-52/b.hatena.ne.jp/entry/twitter.com/Tasmanian_good/status/129056457483235328
前に事件を起こした時も、ネットと現実がリンクしてるのを忘れてるような態度だった
ネットなら何をしても良い ネットなら何をしなくても良い という風潮が生まれたのは、法律はネット人格と言うのを認めてないので、匿名な場合は名誉毀損が成立しなかったからで、認めてないというより対応できてないので規定してなかった想定外だったというだけの事だと思います。
昔から官僚的態度と批判されるものはあったと思いますが、あの中学生の木で鼻を括ったような返信は、まるでそれのようだと思いました。最近の東電についても、エリートにありがちな官僚的態度は、国民に迷惑もかけ、不快感も与え、批判もされてます。それよりもっと変だしエリートかどうかもわからないですが。
前に増田が、はてなで敵を作ると書いた日記は、気持ちはあるけど、かえって迷惑という話でしたが、気持ちもなくて開き直って来るという場合は、どうなるのでしょう?しかも記名で。記名に繋がる状態で。ネットに実名とアカウントが繋がる状態で、この行状って・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
2chの物理板だったか、原子力の事がわかる板で、質問してる人にもっとこういうふうに言えばわかりやすいのに、と京大の先生の事を言ったら、なんでそんな事しないといけないんだ?と書かれた事もあったが、それは匿名だった。
http://anond.hatelabo.jp/20111022215058
この増田は支援学云々言ってるけど、傍観でも積極的傍観とも言えるこのような行為は、一緒の加害行為ではないでしょうか?
ごく普通の感性の人からしたらちょっと考えられない感覚ではないかと思います。
http://togetter.com/li/205729 光り輝くid:kabiy さんを応援してあげて id:kabiyさんは、新しいおもちゃが手に入って大変お喜びのようです。 そして、私を応援してくれる大変素晴らしい方です。 ギークハウス万歳 応援していただいたので、私も応援のお返しのエールを送りたいと思います。 光り輝くkabiyさんに、shine
http://togetter.com/li/205866 こんなに素晴らしい人権意識をお持ちのsora_hさんは、朝日学生新聞に載った大変素晴らしい栃木の中3だった!!!
http://goo.gl/ZjA77 (google cash)朝日学生新聞社に取材されました
http://backupurl.com/km7wzw googlecash保存
他にもギークハウスと初期2chの類似についてなど
ギークハウスは愛知にもあるらしいけど、そこまで巣食われてるかどうかはわからないし、全部がこうかどうかはわからないけど、みんないいひとなのに・・・(pha氏の台詞)なんてのは無いのではないかと思います。
ものすごい反社会性というか、なんていうか意地でも人の役に立たないぞ!という堅い決意みたいなものでもあるのかな?と思ってしまうほどの勢いさえ感じてしまいます。
追記
こんな超優秀な人が!!!
http://megalodon.jp/2011-1027-2233-41/www.atmarkit.co.jp/news/201104/14/sora.html
「デジタルネイティブ」の素顔
2011/04/14
オープンソースのプログラミング言語「Ruby」の開発コミュニティで、いま注目されている人がいる。福森匠大(Shota Fukumori、sora_h)さん、14歳だ。国籍、性別、年齢などは無関係というオープンソースの世界だが、これほど年若い参加者が「コミッタ」と呼ばれる開発のコアメンバーに迎え入れられることは珍しい。Ruby開発に加わった時点では中学2年生。「最年少記録」を塗り替えた。
Action Script は 3 からかなりしっかりしたクラスベースの OO だよ。
JS も馬鹿みたいな使い方しないでちゃんとしたスタイルで使えば OO だし、全てがハッシュというオブジェクトだし、関数もオブジェクトだしその辺わからないと JS をつかっててもコピペプログラミングに終始して面白くないから結局 OO 理解しないといけない。prototype.js や jQuery やの中身とか読んで理解できるくらいになるには。
Perl だって悪しき過去の遺産が残ってるから OO じゃないイメージが一部にあるけど、モダンな Perl は OO だよ。CPAN にあがってるまともなモジュールは殆ど OO スタイルだし、もっとモダンなスタイルの環境でもいける。モダン Perl や Moose あたりで検索してみるといい。今からやるなら OO しかないけど、初心者は昔のうんこを踏みがちだよね。JS も同じ事が言えるけど。
JS や Perl というゆるい LL は OO を理解していなくても一応使えるってだけで、それじゃマスターには程遠い。あと言語仕様でやっちゃいけないことを縛っていないから、しっかりした開発をやるには 規約もしっかりしないといけない。 初心者は最初からいい出会いをするわけじゃないから、誤解が多いのかもしれない。
JS と Perl はレガシースタイルが残ってる例としてあげたけど、LL でも Python や Ruby はもともと OO スタイルしかない。だから、自分でやってることを理解してないと過去のうんこを踏む可能性のあるゆるい LL よりは、どうやっても綺麗にしかかけない Python は初心者向けだと思う。知り合いが何でも良いからプログラミングやってみたいと言い出したら GAE で Python 弄らせる。
ぶっちゃけ LL でもいまどき OO を避けて通るなんて無理。
プログラミングスキルは、本質的には言語に依存しない。 (よほど糞な言語を使うのでなければだが) OO への理解やアルゴリズムの理解ってのは LL か巨大な言語かに依存しない。絵を描くのに道具によって慣れの差はあっても画力は道具を変えても持ち越せる共通した力だというのに似ている。一つの言語をちゃんとある程度マスターすれば、他の言語の習得はとても早い。たとえ最初にやる言語が LL でもね。別の言語をやるときに壁になるのは関数型かそうでないかくらいのパラダイムの差がある場合だけど、JS や Perl でさえ 関数型で使うようなテクニック を実装できるし使いどころがあるから、やっぱり共通点はあって、~だから~を学ばなくていい、なんてのは上達したいなら殆どない気がする。
プログラミングは静的言語(C/C++,Java,C#など)と動的言語(rubyとかpythonとかperlとかいわゆるスクリプト言語)と関数型(lispとかF#とかhaskellとか)を一つずつくらい眺めた方がいいと思う。
どれか一個くらい自分に合ってるのが見つかるかも。
やりたいことにどの実装系が一番適しているかを考えるべきで、実装系を目的に合わせるべきじゃない。
そういう考えでいると、PHPで何でもやる奴とか出てきて迷惑なんだ。
そもそものロジック構築などは、ターゲットには依存しても、言語にはほとんど依存しない。
馴染むための登竜門って意味で言えば、VisualStudioなどのGUIでデバッグが出来る環境をもった言語が良いし、VB,C#などのサンプルが豊富で結果を確認しやすい言語が良いと思う。
RubyをやっていてCとかレイヤの低いことが大してできない。
もう10月なわけで、世の中の中学3年生は受験やらなんやらで忙しそうだ。
俺もそろそろ高校のことを考えないといけない。
そもそもまともに勉強していないから都内でも限られる。頭悪いからしょうがない。
定時制はDQNの巣窟というイメージがあるのでそれだけは嫌だ。
普通科に行ったらリア充生活できるのかもしれないけど、まあまた不登校になったらオワコンなので四部制の情報科にでもする。
そんなこと書いてもどうでもいいと思うので彼女欲しい話をしようと思う。
こんなクズがぐだぐだ書いても多分誰も読まないと思うが。
そんな俺にも彼女が欲しい。
どのくらい欲しいかってジョブズが亡くなって自分の手でAppleの新製品を発表できない後悔の念ぐらい彼女欲しい。
それはともかく彼女がほしい。
中学は中1の夏休みまで行っていたが、その頃に小学校からのクラスメイトを好きになった。
ずっと好きだし、今も好きなわけで、割と身元バレる前提で増田に書いている。
今まで2年半ぐらいこの想いをずっと伝えられないでいる。
リア充になりたい。
俺は別に人間関係で不登校になったとかなんだとかいうありがちな理由で行かなくなったわけではない。
だから行こうと思えば行ける環境にあるわけだし、実際最近行きたくなってきた。
あー学校行ったら好きなあの娘と話せるんだろうなとか毎日考えながらだらだら生きてる。
3年からクラス替えでまた同じクラスになったのに行かないのはすごくもったいない。
クロックの低い年寄りにHTCのデュアルコア端末を使わせるぐらいもったいない。俺にくれ。
自分がコンテンツ価値ある人間だとは全く思ってないが、せめてこの想いを伝えてから死んだっていいのではないか。
14年生きてきたし今更死ぬわけにはいかない。せめて元を取らせろ。伝えてからじゃないと。
あーどうしたら伝えられるかなー
最近恐れていることがある。
ずっと好きだけどそのうち諦めがついたり今好きな娘よりも可愛くて優しい娘が目の前に現れたらどうするか。
もちろん今も好きだし、早く伝えたい。
だからこそ伝えなくてはならない。
別にあの娘は俺のことなんかなんとも思ってないだろうし、もし少しでも考えてくれていたら嬉しいけど多分それはない。
でも考えてくれていたらなーとか考えるとあの娘にも迷惑だしさっさと伝えて片付けたい。
今年中には伝えたいけどやっぱり早ければ早いほどいいわけで、なんとかして伝えたいがなかなか勇気が出なくて伝えられないでいる。
なんかここに書いたら少し気分晴れるかなと思ったらそうでもなかった。
追記
やっぱり学校行けと言われるのは当たり前か。
好きで行ってないわけじゃないから何かきっかけがあれば行けるんだけどなぁ…
111010 0:25追記
http://anond.hatelabo.jp/20111008133632
伝えられなかったら多分後悔するでしょうし、
想いを伝えてきもいとか言われていてもそれはまあ少なからず想定していないわけではないのでなんとかなります。
むしろ何も言われないよりはきもいから無理とか明確な理由が分かったほうがいいので。
もうフラれてもいいのでさっさと伝えたいですね。
111019 0:39追記
俺があの娘を好きになった理由
小4のときの話。
そして、先生がやってくれたんだと思うのだが、俺にクラスの人が書いたメッセージカードとかくれたりした。
学校行けよ的なそういうあれで、あんまり不登校の人いないから聞けないけどだいたい経験あるらしいので割と普通にあるみたい。
その中に今の好きな人が書いてくれていて。
あれって全員分じゃないし先生が勝手に決めたわけじゃないだろうし自分から書いてくれたんだろうなって考えてるうちに…
まずそれが違うなら俺の3年間根底から覆されるわけなんですが。
まあそれはもういい。
自分で書きたいと思って書いてくれたなんて少なくともやさしいんだなーって思うじゃん。少なくとも俺は思った。
こんなので好きになるの多分自分だけだと思うけど。リア充から見たらアホみたいに見えるんだろうな。
それを中1ですでに不登校になった9月の下旬だか10月ぐらいに引き出しから見つけてなんか泣きそうになって、
やさしいんだな、そういえばけっこうかわいかったよね…とか考えてるうちに好きになっちゃった。
なんかごめんなさい。
ここがどういうことを言ってるのかちょっとよくわからないんだけど、
アプリ間の依存関係はまぁそれほど問題にならないからどうでもいいかな。
下位レイヤがほんと酷い。
dllだのランタイムライブラリだの、スクリプト言語の実行環境だの何だの
パッケージ単位で全部解決させようとするからどのインストーラにもいちいちpythonとか入ってやがる。
逆にその辺がまとまってないソフトを入れようとすると、依存関係を自分で解決する必要があって大体ハマる。
| 日記途中だけど緊急事態><、一番下まで呼んで誰か助けてください>< | |
|---|---|
今日から夏休みが始まったのでプログラミングを勉強しようと思う。
3日坊主にならないようにがんばる。
去年の二の舞にならないようにモチベを維持するために日記を書く。
プログラミングができたらかっこいい!
サークルも友達もいなくさびしい夏休みを有意義にしようとするため
都内の大学に通う2年生。
前述のとおりサークルもやってない、友達もいない、典型的なインドアオタク。
でも顔はイケメン。
プログラミングは3年前にJavascriptとHTMLをネトゲでの戦いを整形するために覚えた程度。ほとんど忘れてる。
C言語を大学で習ったが「苦しんで覚えるC言語」というサイトにのっている範囲しかやってない。
一応プログラミングの知識は少しはある。
やっぱり、目標はあったほうがいい。
うーん、やっぱり完全に一致みたいな情報網羅サイトを作ってみようと思う。
色々な技術が手に入りそうだし。
色々な言語も学べそう
| どんなサイトにするか? | 大規模情報サイト |
|---|---|
| 学ぶ言語 | HTML,PHP,Ruby,Javascript,CSS |
とりあえずプログラミングにはエディタとアップロードするやつが必要なので色々いれてみた。
| エディタ | |
|---|---|
| Netbeans | 重い、すごく重い |
| phpエディタ | phpしか編集できない |
| terapad | 色分けが出来ない |
| K2Editor | これが一番最強。でもphpに対応してない |
| HIDEMARU4000YEN | win7じゃ使えなかった。 |
| アップするやつ | |
| FileZilla | 使いづらい、糞 |
| ALFTP | これが一番しっくりきた |
というわけで色々悩んだ結果、基本K2Editor、php編集はNetbeans,アップロードはALFTPにした。
phpとhtmlとrubyやjavascript対応してて色分けも出来るwin7で動くエディタないのが残念
実は1ヶ月前にプログラミングを勉強しようと思ってサーバーは借りてた。
ググったり、2chに質問したりして悩んで悩んでロリポップのチカッパプランを借りる事にした。
http://lolipop.jp/service/plan-chicappa/
| 初期費用 | ¥1,575 |
| 料金(6ヶ月) | ¥3,150 |
| (1ヶ月あたり) | ¥525 |
| 合計金額 | ¥4,725 |
しかしながら無料のレンタルさばより色々といじれて、なにより「お金はもう払った、使わないともったいない」という意識を持つ事でだらけないで出来ると思う。
まず師匠の日記をみてみる。HTMLとCSSからはじめたと書いてあるが、多分これからはじめると飽きる。
なのでWebの情報を自動で集めてくれる(これをスクレイピングという)BOTを作ろうと思う。
日記を読むとMechaniseというのを使ってるらしい。
そうするとRuby jamというもので動いているものらしく、Ruby jamはRubyで動いている。
Rubyは鯖にはいっているがどうやらjamのほうははいっていないらしくMechaniseもはいっていない。ということで
ロリポップの解説ページをみてPuTTyていうのをいれてSSH操作ってやつをしてた。
http://d.hatna.ne.jp/taramonera/20100601/1275388515
このページをみながらやってたら
% vi ~/.cshrc
これを実行して
setenv RUBYLIB /home/アカウント名/lib
setenv GEM_HOME /home/アカウント名/lib/rubygems
:wqで保存終了らしいんだけど、入力したところで終われない><
教えて得ろい人><
こちらに書くのが流行りのようなので、こちらに書く。単に外向けのブログがないだけなので、他意はない。
RubyKaigi 2011が終わった。まずはRubyのパパを始めとするRuby開発者のみなさん、そして参加者のみなさんに御礼を言いたい。何はともあれRubyKaigiは、Ruby開発者同士、Ruby開発者と利用者、Ruby利用者同士のコミュニケーションの場所であった。RubyKaigiは、主催者が企画した講演を参加者に聞かせるだけという、一方向な関係の場ではない。会期中に開かれる講演は撒き餌とか出しみたいなもので、それだけが主眼ではない。それよりも、そこで交わされる会話や議論が貴重で、それこそ、場を提供するスタッフたちが目指していたものなのだ。
そういった意味でも、RubyKaigi 2011は成功だった。重要な決定がなされたり、こうした機会がなければ決して会うことのない人たちが出会ったり、久しぶりの友人と再開したり、そういう場面を会場でいくつも見かけた。RubyKaigiであるからこそ出会った人が、RubyKaigiだからこその会話や議論をしていた。このような参加者同士のコミュニケーションがメッシュ状に展開され、構築されるトポロジーこそが、まさにコミュニティなのだろう。
角谷さんの講演は、そういった気分をよく表現していた。コミュニティは目に見えないものなので、これであると指し示すことができない。とはいえ、私たち個々のコミュニケーションから成り立っているということも事実である。だから、コミュニティを主語にしようとすると、それを構成する個々人のコミュニケーションへの構えを話すことになる。(この落差が誤解の元なのだが、それは別の話であるのでここには書かない。)
私がみなさんにお伝えしたいのは、RubyKaigiが現前してみせたコミュニティは、あなたのコミュニケーションへの構えに過ぎないということだ。RubyKaigiという奇跡的な場は終わる。でも、悲しまないで欲しい。あなたが感じたコミュニティの情熱は、あなたに内在している。なぜなら、コミュニティとは、あなたとあなた以外の人の間のコミュニケーションなのだから。
◆
最後に、実行委員や当日スタッフの皆さんにも最大限の感謝を贈りたい。それから、少しばかりスポットが当たることが少ない人を紹介させて欲しい。
まずは、高橋さんを紹介したい。高橋さんがRubyKaigiの方向性を決め、責任を担う。これがどんなに難しいことか、イベントを主催したことのある人間でしか分からないかもしれない。しかし、彼は最初から最後まで(最後と決めることも含めて)この難しい仕事を全うした。心から賞賛を送りたい。
そして、レオさん。彼はRubyKaigiを国際化した立役者だ。日本の開発者と海外の開発者を結び付け、国際的な輪を広げた。講演のスクリーンでの翻訳だけではなく、日本の開発者に海外の開発者を紹介したり、言語的な障壁を取り除くことに貢献した。彼の成し遂げた事は本当に大きいと思う。
あずみさんはずっと会計を担当してくれた。とても信頼できる人で、仕事が忙しい中でも手間を惜しむことなく、面倒で難しい仕事を丁寧に根気良くしてくれた。とても負担をかけてしまっていたので、ご迷惑をおかけしたのではないかと、ずっと心配をしていた。
他にも紹介したい人はいっぱいいるが、書きかけてあまりにも個人的なメッセージになってしまったことに気付いたので、割愛したい。もしも御縁がありましたなら、いつの日か、また、お目にかかりましょう。
週末に行ってきたイベントだが、ちょっとインパクトが強すぎて、あとたぶん昼から通しで追っかけてるのは自分だけなので、この話誰かに伝えたい!と柄にもなく思ってしまった。
ここまで、日本語でウケを取り、アメリカ人にしか聞こえない英語をしゃべりつつの話。まじありえないレベルの覚悟と実践なんだが・・・!
この人のセッション、ブラジル事情の紹介みたいな話で大ホール側のセッションも覗いてみようかなと思っていた所にこれで、ただちに絶対参加すべきレベルのセッションに格上げされた。こんな人がいるとは。
で、昼休み後の問題のセッション。結局ツイートどころじゃなかったが、こんな感じ:
Javaはあれが酷いとかPHPがとかいう態度でRubyを使うのも無駄だ。
なんという激熱トーク。本当に小さかった南米のRubyコミュニティを仲間と共に成長させ、いまやRubyConf Brazilとか南米で何個もイベントが立ち上がるまでに育てた。この伝道のため、ここ数年で80箇所は回って普及に努めたとかとか。ブラジル事情への関心と関係なく、この熱量を体験できてよかった。
最後の時間オーバー後の「あと一言だけ(本当はあと1分だけと本人は言っていたのだが、わざと誤訳してタイマー役の人に会場から叫んだ自分w)」でどんなにダメだとされていても、諦めずに進めという、過去の偉人が貶められたり失意にあった時代の動画もよかった(もっとも、この話は知っていたのでインパクト自体は薄めだった)。
この後はLTとクロージング。
インパクト強すぎw
これ漫画系展開をバックボーンにしたエンタテイニングなスタイルだと理解せずに真に受けると大変だなと心配になったり。なにしろ上は三行だけど全部通しで書くと
真面目に受け取ったらヤバイ発言多すぎだろ・・・
こ れ が 締 め の 講 演 か よ !
そういえば途中にまどマギネタも入ってた記憶があるのだが、上のインパクトが強すぎてどこかに飛んでった。
その後の高橋さんの最後の挨拶とスタッフを集めてのスタンディングオベーションはちょっとうるっと来た。初参加だから今回の運営自体への思い入れはないのだけど、この回だけでも感激することが多かった。この完成度に達するまでどれだけの努力と熱意が投入されていたかと考えると。
隣の席が実はtdtdsさんでびびってたのだが、最初に立ち上がったのを見て、続く二人目のタイミングが大事!とすぱっと立ち上がってみてよかった。その後前列の人がみんな!立とうよ!みたいにやって一気に雪崩状態。
これで会議は閉幕したのだが、さらにherokuの緊急パーティーが開催され、思い切って行ってみた。まあ、懇親会に輪をかけたリア充な雰囲気でまともに話せなかったのだが、
こんな一日だった。熱かった・・・
最後のRubyKaigi2011ということで、3日間おこなわれたRubyKaigiが昨日終了しました。皆様お疲れ様でした。
Matzをフェローに迎えて、ROMAとかいうKVSをだした、楽天という上場企業があるのですが、どう考えてもおかしいスポンサーの位置なんですよね。
個人事業主や中小企業のほんとに小の企業と一緒のGoldスポンサーになっている。
Matzの声がけで、とりあえず、って感じなのかもしれないけど・・・。
一方、Macだらけの会場に惜しげもなく最大のスポンサーをしているMicrosoft。
RubyのSymbolと文字列の違いを研究室の輪講用に書いたのですが,折角なので公開したいと思います.
元々学部生に対する輪講用に書いた物なので,若干上から目線ですがご了承ください.
文字列とSymbolはよく似ています.プログラマから見ればどちらも文字列です.違いを一言で説明すると『プログラムが扱う』文字列か,『プログラマが見る』文字列かの違いです.例えば変数名は『文字列』ですが,rubyのオブジェクトである『文字列』ではないですよね?
例えば,今あなたがC言語でお絵描きライブラリを作っているとしましょう.その中に,色で塗りつぶすfillという関数があり,色を青・赤・緑の3色から選べ,fillの引数でそれを指定できるとしましょう.
fillの引数の設定方法として一番単純なのが,0を青,1を赤,2を緑として,0〜2で選択させる方法でしょう.しかし,それでは,どの数値が何色か覚えないといけないし,fill関数を知らない人から見れば,どういう意味の引数かすらさっぱり分かりません.
ではどうするかと言えば,普通はBLUE = 0, RED = 1, GREEN = 2と適当に定数を設定して,その定数を引数で指定させますよね.
こうして,fill関数の引数が意味の無い数値から意味のある文字列に変わったことによってプログラムが分かりやすい物となります.さて,ここで注意してほしいのは,ここで言う文字列はプログラムが扱うオブジェクトとしての文字列では無いということです.fill関数の引数として,"BLUE","RED", "GREEN"などとC言語の文字列を渡すということは普通しませんよね.それは,ここで言う文字列は,あくまでプログラマがプログラムコードを分かりやすくするために必要な文字列であって,プログラムがオブジェクトとして扱う(例えば,長さを求めるとかする)文字列ではないからです.
分かってきたでしょうか?
プログラムコード上では(つまりプログラマから見れば)どちらも同じ文字列(文字の列という意味で)ですが,実際に動くプログラムから見れば単なる数値と本物の文字列という大きな違いです.結局,fill関数の引数の具体的な値は何でもいいわけです.プログラマから見て文字列であればそれだけでよく,プログラムが動くときの実際のその中身は何でもいいわけです.これのために存在するのが,Symbolであり,:fooとひとたびSymbolを作成すれば:fooの実態は適当な数値となります.(この数値がいくらかなんていうことはもちろん気にする必要はありません)
そして,もちろん同じプログラム上では:foo == :fooはちゃんと成り立ちます.もうここまでくれば,Hashのkeyとして文字列でなくSymbolを使う理由が分かりますね.Hashのkeyはあくまで,プログラマが見る(プログラムコードを分かりやすくするための)文字列であってプログラムが扱うオブジェクトとしての文字列では無くて,keyの実際の値は何でもいい,からですね.(特別な場合を除いて)Hashのkeyに対してrubyのStringのメソッドを使うなんてことは無いですよね.
しかし,他の軽量言語ではSymbolなどなくHashのkeyとして普通に文字列を使うことが多いです.では,なぜrubyだけSymbolを使うのでしょうか.
その答えは一言でいうと,rubyの(プログラムコード上に直接書かれた,つまりリテラルの)文字列は他の言語と違いimmutable(不変)でない,からです.実際,pythonやjavascriptの文字列(リテラル)は破壊的に変更することはできませんが,rubyの文字列は破壊的に変更することができます. ('abc'.concat('d')の様に)
これがどういう違いを生むかというと,コード上に直接現れる文字列がimmutable(不変)であるならば,実行時に一つだけそのオブジェクトを作成し,後はそれを使いまわすという最適化ができます.
そうした時,Hashのkeyの様なプログラマから見た文字列というのは,プログラムコード上のリテラルとして現れるわけですが,これらは実行時に一つだけオブジェクトが作成され(特にコード上に現れる同じ文字列は全て一つのオブジェクトにまとめると),それらの比較はそれらに対する参照(そしてこれは大抵メモリのアドレスなど単なる数値)の比較で済むので,結局Symbolと同じ様な働きをするわけです.
本当はプログラマが見るためだけの文字列だけど,それをオブジェクトとしての文字列としても,Symbolと同じ様な働き,パフォーマンスが得られるならば,別にオブジェクトとしての文字列であってもいいわけです.
繰り返しになりますが,プログラマが見るためだけの文字列は,その中身・実態は何でもいいわけですが,その実態がオブジェクトとしての文字列でも十分なパフォーマンスが得られるならば,別にオブジェクトとしての文字列でもいいわけです.
さて,rubyに話を戻しますと,rubyはコード上に現れる文字列であっても,実行時にそのコードを通る度に毎回新たな文字列オブジェクトを作成します.
(以下のプログラムを動かすことで確認できる.)
def foo 'foo'.object_id end p foo, foo
つまり,rubyでは文字列が可変であるため,先に述べたような最適化ができない(または難しい)ので毎回新たな文字列オブジェクトが作成されるのです.
こうなると,先ほどの話とはうってかわって,プログラマが見る文字列はその実態は何でもいいのに,それを文字列リテラル(rubyのオブジェクトとしての文字列)にしてしまうと,毎回毎回文字列オブジェクトが作成されてしまうという非常にばかばかしい状況になってしまいます.我々はそれらの文字列オブジェクトに文字列としての操作は一切施さないのにも関わらず,です.
こういうわけで,rubyではプログラマが見るためだけの文字列にSymbolというruby特有のものを使うのです.
もちろん,プログラマが見るためだけの文字列を全て定数として(そしてもちろん中身は適当な値で)定義しても構わないわけですが,Hashのkeyとかで数多くのプログラマが見るためだけの文字列が現れることを考えると,とてもじゃないですけどそんなことは面倒でやってられないですよね.ですので,実行時に自動で適当な値にしてくれるSymbolというものが存在するのです.
以上で,Symbolについての説明を終えます.以下は蛇足です.
最初の方で出てきたfill関数をrubyで実装しようとしたとき,青・赤・緑の各色はその実際の値はなんでもいいのでrubyのSymbolを使って:blue, :red, :greenとしてもいいのですが,ライブラリとかでは大抵ちゃんと定数として定義されていることが多いです.
これは恐らく,定数として明示的に定義することで値の存在を明示でき,ドキュメント化の際にも役立つことによっているのでしょう.
しかし,あくまでこれは外部に公開するようなライブラリでの話であって,自分が使うちょっとしたプログラムならこういう場面でも精力的にSymbolを使っていってもいいと思います.ちなみに,僕ならSymbolを使います.
Symbolだと定義もいりませんし,定数は大文字ですから打つのが面倒ですし,あまりソースに大文字が入ると見た目がすっきりしません(主観).
Symbolは非常に便利なものですので,その意義・用途を十分に理解して,Hashのkeyにとどまらず様々な所で使えるようになりましょう.
P.340
・パスにスペースの入らない(たとえば、My Documentsなどは、途中にスペースが入っているのでエラーになる。アンダーバー「_」は可。)
フォルダ(C\Testなど)を作る。 →以下フォルダAとする。
2/ 実行ファイルを作りたいスクリプト(○○.rb)ファイル自体も、2バイト文字、半角でもスペースの入らないファイル名にする。
→「5-05-04 ride block.rb」といったファイル名は、スペースが入っているのでダメ。
3/ フォルダAに、ActiveScriptRubyをインストールするとできる「ruby console」ショートカット(everythingで検索)のショートカットを、そのフォルダにコピーする。
4/ フォルダAに、実行ファイルを作りたいスクリプト(○○.rb)を、Imgフォルダ等と共にコピーする。
5/ フォルダAに、fontを、fontsフォルダごとコピーする。
6/ フォルダAに、Ruby/SDLのDLLをそのフォルダにコピーする。15種類。
→DLLフォルダを、ではなく、exeファイルの置かれる場所に、DLLファイルそのものを直接並べる。
フォルダAにコピーしたruby consoleを起動 →コマンドプロンプトの後に、「ruby ○○.rb」とし、スクリプトの起動を確認する。
8/ フォルダAにコピーしたruby consoleを起動 →コマンドプロンプトの後に、「mkexy ○○.rb」とする。
→ゲームが起動するので、終了させる。
9/ ○○.exy ファイルを、メモ帳等のテキストエディタで開く
10/ 初期値は「core: cui」となっているのを、「core: gui」に変える。
→変えなくてもいいが、その場合、実行時にコマンドプロンプト窓が出てきて邪魔になる。
11/ フォルダAにコピーしたruby consoleを起動 →コマンドプロンプトの後に、「exerb ○○.exy」←今作ったファイル とする。
12/ 「○○.exe」をダブルクリックして実行、起動しなかった場合、2~5のプロセスに、コピーし忘れがある。
13/ 配布物は以下の通り。
・実行ファイル「○○.exe」 →ファイル名は任意に変更可。(もちろん.exe以外の名前)
・fontsフォルダ
カーネルコミッターでも、処理系実装者でも無さそうな人達が、「Cは滅びず!」と叫んでいる不思議な光景。
http://b.hatena.ne.jp/entry/shyouhei.tumblr.com/post/5545216280/c
http://b.hatena.ne.jp/entry/shyouhei.tumblr.com/post/5603961294/c
Linuxカーネル(せめてPOSIX互換品)を手前が思う言語にさっさと移植すれ。さすればCを滅ぼせん。(ちなみに高機能アセンブラの最適解がCとは俺も思っちゃいない。)
最後のCの牙城、Linux(UNIX)をJavaなり何なりベターな言語にさくっと移植してくれ。それともgoogleビッグブラザー様がクラウドでUNIX鯖を駆逐してくれるのを祈ってればいいのか?
JavaもC#も,それにPerlもRubyもPythonも,実行環境自体はCで書かれている件。コンピューターが「シリコンを基材としたチューリングマシン」であるかぎり,アセンブラとCは滅びない。