「HELLO WORLD」を含む日記 RSS

はてなキーワード: HELLO WORLDとは

2009-05-21

もう仕事したくない

つらいので愚痴らせて欲しい。

愚痴ればたぶん元気になるらさ。。。


毎日毎日残業。この半年間、

平日は1日に5時間も寝れない生活をしている。

それでいて上司は「残業を減らせ」の一点張り

自分は毎日定時に帰るくせに。

今日もあなたが忘れていた仕事の尻ぬぐいで

残業しましたが、何か???

ぼくは技術とか物作りとかをほざく、大手IT企業に入社して1年になる。

ものづくりねえ、でも実際はこの現状。プロジェクトマネジメント

称して下請けをいじめるだけ。自分ミスを、下請けに無理言ってやらせるだけ。

ねえ、会社の先輩さ。普段偉そうにして下請けに威張っているけどさ、

あなた、自分一人じゃHello worldも作れないよね?

今日も下請けからJUnitも知らないって小馬鹿にされていたけど、

会社をなくして、あなた一人だけになったとき何が出来るのさ?

よくわからない数式とか振り回して、

もっともらしいこと言って「分析」とか称したってさ、

それが技術なの???

部長、本部長のゴキゲンをとるには良いのかもしれないけどさ、

本当にそれが技術なの?

2009-03-10

http://anond.hatelabo.jp/20090310102337

PG/SE経験者だけど、どうも言ってる事が分からなかった。

元増田からみたら「勉強不足」なのかもしれんが。

もしプログラムを絵に例えるなら、道具があっても描けない、じゃないと思うんだ。

デッサン力なんかでもない。

共通点として言えるなら、絵は自由な表現の芸術だって事。

「木をかいてください」

といわれて、

鉛筆リアルポプラを描く人。X丁目の喫茶店の前ね。

水墨画で松の木を描く人。ついでに山まで見えるよ。亀もいるよ。

アクリルガッシュでポップでアイコン的な「木」を描く人。

 赤い○なのにりんごに見えつけちゃったり。

・墨汁で「木」と漢字かいちゃう人。あらま達筆

プログラミングって言っても、様々な表現方法がある。

道具だって有料から無料まで、使いたいものを使えば良い。

できあがった木が良いか悪いか、唸らせるかがっかりさせるか。

それは使い手や見る人にゆだねられるから、完全、完璧な物なんてないし、正解だって。ない。

やたらこなれたから良いかと言えば、そうじゃない。

発想力や着眼点は、経験だけが生むものじゃないから。

道具の使い方が下手だって、発想と機能がちゃんとしていれば

実は見た目ではなかなか気付かないのも似てる。

「は?木なんか描いて何の意味があるの。

ヌードだよヌード

って事だってあろう。

だから、HELLO WORLD!も近道や解決策とも言い切れないと思うんだ。

同じ物を同じ品質で、道具をコテコテに指定して、作り続ける(コーディング)のだったら元増田の絵の例えは分かる。

でも「プログラミング」といわれると、どうにも納得がいかない。

ちなみに「夢は」を尋ねた増田です。

2009-03-02

http://anond.hatelabo.jp/20090302112055

ばかやろう、才能なんて言葉で片付けたらお前の可能性はそこで限界だ。

小説にもプログラムにも才能はいらない、必要なのはたったひとつ「理解しようとする心」だ。

それと、日本には「下手の横好き」という言葉があってだな、70過ぎたクソジジイ将棋で孫をボコるくらいは法律で許されている。

小説なんて最初は二次創作でいいんだ。

自分の好きなキャラが、物語で描かれていない部分ではこんな日常を描いている……、そういうことを想像してみろ。

プログラムも最初は二次創作でいいんだ。

いつも使ってるあのシステム、あの使いづらい部分をこう変えてみれば使いやすいんだけどなぁ……、そういうことくらい思っているだろう。

さあ、原稿用紙に、テキストエディタに、"Hello World!"と書き込むことからお前の可能性は始まる!

2009-02-23

何を勉強していいのかわからない。

何を勉強していいのかわからない。

プログラムというものに興味を持ち、独学で勉強した。

言語Hello Worldぐらいは書ける。erlangハノイの塔を解いた時はこんなに短く書けるのかと感動した。でもいずれの言語もちょっとずつしかかじって無くて、自分がこれから何を勉強していいのかわからない。

Java, C++, Ruby, Python, JavaScript, PHP, erlang, 最初は練習用の問題みたいなのを解いているのが楽しくて、ブログとかで目につく言語で気になったものを選びながら各言語でやってみた。でもこのあと何をしたらいいんだろう?

オブジェクト指向クラスと違うの?プロトタイプベース?何ソレおいしいの?

こんな僕は何を読んで、何を学べばいいのでしょう。

2008-08-30

ギークオタク恋人サプライズで愛を告げるための3つの方法

1つめ プログラミング言語を習ってみる。

なんでもいいから、今恋人が興味を持ってたり得意としてたりする言語を習ってみる。

そうすると、たいていの場合はまず最初は”Hello World”の表示のさせ方を教えようとする。

最近Rubyとか流行なので、put とか教えてくれるんじゃないかな。

そこで教わった通りに、ただし”Hello World”のかわりに"I love U"とでも表示させてみよう。

顔を赤くしてくれたりするから、萌えるよ!

2つめ メイドカフェに倣ってみる

メイドカフェに倣うと言っても、メイドの格好をする必要はない。一ネタのために買うには他の用途のない服装であるからだ。

貴女の恋人メイド好きなら、一度くらいは我慢して着てみてもいいかもしれない。

まあとにかく、服装はなんでもいい。いつも通りのシャツとスカートとかそんなんでいい。

それから恋人がやってきたらすかさず「おかえりなさいませ、ご主人様」と言う。

これには真剣に自分はメイドだと思い込むくらいの演技力が要求される。心しておいた方がいい。

試しに言うと分かるが、これはかなりバカバカしい台詞である。吹き出さずにいるのは至難の業だ。

そしてオムライスでもお好み焼きでもいいので、とにかくそういった調味料を上にかける料理を用意する。

作れない時は出来合いのものでも買ってきたらいい。

ちなみに自分はオムライスは作れないので、ピカタを五枚焼いて「あ」「い」「し」「て」「る」と一枚ずつ書いた(不器用なのだ)

見た瞬間は脱力されるが、そのうち耳が赤くなる。やっぱり萌える

3つめ ラヴクラフト御大に頼ってみる

まず、恋文を用意する。貴女の愛すべきギークオタクなバカ野郎への愛を綴ったラブレターである。

便箋や封筒には凝りたいところだが(最近は林檎のマークとかウケるかもしれない)、凝ったところで気遣いに気づかない可能性があるのは承知しておくべきである。

ギークオタクというのはそういうところに気が回らないか、気づいてもそれを不合理だと捉えて気遣いだとは思わない習性を持つものが多くいるものだからだ。

そして用意した封筒を、部屋の窓に貼付ける。

この場合に利用するのはメンディングテープや弱粘着両面テープなど、はがしやすいものにしておくことに注意すること。

そうして恋人がやってきたら、恐怖にうち震える表情を作り、か弱い風情で外を指差して「窓に!窓に!」と叫ぶ。

最初は不審な顔をされるが、中身を読めばやっぱり赤くなる。萌える

以上が自分が実践済みの愛を告げる方法である。

是非とも諸姉には、できれば諸兄にも「これはウケるぜ」という方法をご教授願いたい。最近ネタが切れてきて、なかなかサプライズが用意出来ないのである。

2008-06-18

Automake

そうです、私がグヌウの信者です。

今日の話題はAutomakeです。

Automakeを使うと、何がうれしいのか。

それは、Makefileを書くのが楽になるからです。

プログラムに新しいソースファイルを追加するときは、

Makefile.amファイル名を追加するだけでよくなります。

Automakeを使うのに最低限必要なファイルは「configure.ac」と「Makefile.am」の二つだけです。

あとは、「autoreconf -i」とかしておけば、必要なファイルは全て自動で揃いますので心配ありません。

手順1:以下の三つのファイルを同じディレクトリに作ります

Makefile.am

# プログラム名とそのインストールディレクトリ(ここではbin)の指定
bin_PROGRAMS = helloworld 

# プログラムhelloworldを作るのに必要なファイルの指定
helloworld_SOURCES = helloworld.c

configure.ac

# Autoconf初期化([パッケージ名]、 [バージョン])
AC_INIT([hoge], [1])

# Automake初期化([オプション])
# ( foreignオプションをつけると、NEWSとかREADMEとかを作る必要が無くなる )
AM_INIT_AUTOMAKE([foreign]) 

# 作成するファイル
# ここでは、Makefile.in から、Makefileを生成することを指定
AC_CONFIG_FILES([Makefile])

# C言語ファイルサポートするように設定
# (具体的にどんな意味があるのか分かってない(汗)
AC_PROG_CC


# config.statusや、Makefileを作成する(らしい)
AC_OUTPUT()

helloworld.c

/* これは単なるサンプルプログラム */
#include <stdio.h>
int main() { printf("Hello World!"); }

手順2: autoreconf -iを実行します

手順3: ./configureを実行します

手順4: makeを実行すると、helloworldコンパイルされます。

ワンポイントメモ: 「ターゲットがありません」系のエラーが出たら、Makefile.am記述ミスが考えられます。見直しをしてから、./configureからやり直すと、幸せになれるかもしれません。

2008-03-30

http://anond.hatelabo.jp/20080330162718

何をしたいのか初めからわかってたら、こんな所で質問なんかしないよなー。

と、最近思うようになった。

これに対する適切な答えは、具体的な言語なりツールなりを紹介して、

Hello World!」を書かせることだと思う。

(もし紹介する言語が手続き型プログラミングに適していない場合は、この限りではない。)

それで、もし質問者が「何か、これは思ってたのとは違う」と言うのであれば、

別の言語を紹介する。

最初から適切な質問と回答がとりおこなえるほど、わたしたちは賢くない。

具体的な実践を通してしか、プログラミングは理解できないと思う。

2008-02-02

http://anond.hatelabo.jp/20080202132133

低級言語で頑張って"Hello World"作ってた自分から見ると、Java/PHP/Perl/Rubyのような超高級言語でさくさく高度なWEBアプリケーションを作ってる人がとても羨ましく見えると同時に、「大した苦労もしないで、俺はやったぞみたいな顔するんじゃねえよ。」とついつい思ってしまうことがある。アセンブリ言語ときたら比較命令を発行するたびに分岐先ラベルをいくつも定義しないといけないような面倒臭さがあった。それでも、それ以前のハンドアセンブル組や、機械後を生で見たり、パンチカード使ってたような人達から見れば甘いと思うだろう。

と、俺のひがみを書いてみるテスト

でもね、今さらアセンブリ言語C/C++勉強するのは時代遅れだと思う。もちろん、携帯電話などの組み込み産業ではそういった言語はまだまだ健在だし、パソコンで何かを制御したりするようなニッチ産業でも生き続ける、「使える言語」であることに違いない。でも入門者にお薦めするような言語ではない。昔ならBasicじゃ遅いからCかアセンブリ言語で書くという動機があったが、今じゃPerl/PHPでも十分に動作は速い。ちょっとしたGUIを作りたいならTcl/tkか、Javaを使うべきだ。VBもいい。C++&DirectXはよっぽどプログラミングに熱中できる人が使えばいい。あくまでパソコンに限定した話だけどね。

プログラミングするのは何もパソコンだけじゃないんで。マイコンとか一杯あるから。線と線をつないで、発行ダイオードとかをピコピコ光らせるの。完成すると楽しいよ。よく、はんだごてあてすぎて、部品こわしちゃうけど(汗)。

もし、私が「アイツ、○○なんて言語使ってらー」なんて言って来たらぜひ、「○○言語を使うと、○○が簡単に記述できて便利だよ。」と、そのとき使ってる言語の利点を教えてください。私も所詮、いま使ってる言語のことしか知らないんで、ついつい、違う言語には拒否反応を起こしてしまうんです。

2007-12-03

anond:20071203015407

ごめんね、結論意見、実はたぶんあまり似てないんだ。

ええと、あなたの意見の否定と捉えないでね、単に、前書いた文の補足と捉えてね。

人工無能って書いたから誤解を招いちゃったみたいだけど、人工無能じゃなくても、例えばHello Worldって表示するプログラムでも、Windowsでも良かったんだ。でも、Hello Worldって表示された結果が重要なんじゃなくて、その働きが重要だと思う。だから、物語登場人物は、それがどんなにリアルでも、心と言い換えるつもりにはなれない。私的に、「心=脳の働き」であって、「脳≒機械」「脳の働き≒プログラム」ってことを書いたつもりだったんだ。物語登場人物には、思うに、この働きが無くて、ただ「心の結果」みたいなものや、その時々の状態のようなものが記されているだけに思える。働くのは作者の脳と読者の脳で、登場人物は単にそれらを働かせる情報でしかないと思うんだ。或いは、読者の心の中に登場人物の心があるというか……。

2007-11-09

Pythonではなぜ string.len() でなく len() なのか?

http://anond.hatelabo.jp/20071021143442

その理由は知らないが、なければ作ればいいじゃないか。

class MyString(str):
    def length(self):
        return len(self)

というクラスを作って

string = MyString("Hello world")
print string.count("o"), string.length()

Rubyライクにやれば

2 11

とでるよ。え、リストもlist.length()が使いたいって?それも簡単。

class MyList(list):
    def length(self):
        return len(self)

l = MyList([1, 2, 3, 4, 5, 6])
l.length()

6

きちんと他のメソッドも使えるよ。

l[1:]

[2, 3, 4, 5, 6]

l.reverse()
l

[6, 5, 4, 3, 2, 1]

ね。簡単でしょ。

Pythonは仕組みが統一されているものが多いので、いじりやすいのですよ。上の例のやつは組み込みクラスオブジェクトユーザー定義のクラスオブジェクトがおおむね統一されているからこそ簡単にできる。他にも関数なんかもほかのオブジェクトと同じオブジェクトなので、高階関数なんてもの簡単に作ることができて関数プログラミングぽくできる。例えば今はなきapply関数なんかは

def myApply(func, *args):
    return func.__call__(*args)

と定義できる。実際に

def sumUpThree(num1, num2, num3):
    return num1 + num2 + num3

でためしてみる。

myApply(sumUpThree, 1, 2, 3)

結果はちゃんと

6

とでる。将来廃止されそうなmap関数も簡単に定義できる。他にも複数の引数をもつ関数の部分適用のようなことを行う関数も次のように簡単に定義できる。

def partial(func, *oldArgs):
    def wrapper(*newArgs):
        return func.__call__(*(oldArgs + newArgs))
    return wrapper

sumUpThree関数テストすると

sum_1 = partial(sumUpThree, 1)
sum_1(2, 3)

6

sum_1_5 = partial(sum_1, 5)
sum_1_5(9)

15

sum_10_20 = partial(sumUpThree, 10, 20)
sum_10_20(30)

60

こういう風に高階関数が簡単にできるのは関数オブジェクト関数の実行とはメソッドの呼び出しにすぎないからだ。以上のように組み込みオブジェクトユーザー定義オブジェクトの差があまりないことや関数オブジェクトであることに見られるようにPythonは仕組みが統一されていてシンプルだ。そのためひとつのことがわかれば他のこともわかることが多いし、簡単にいじることもできる。

だからなければpythonをいじればいいと思うよ。

最後にラムダ式信者のためにpartialをラムダ式を使って書いておく。

def partial(func, *oldArgs):
    return lambda *newArgs:func.__call__(*(oldArgs + newArgs))

Pythonラムダ式がだめだといわれているが、こんな風にかけたとして何がうれしいというのだ。

2007-10-21

why not string.len()? Ruby vs. Python

Ruby vs. Python

Python:

string = 'Hello world'

print string.count('o'), len(string)    # prints 2, 11        why not string.len()?

Ruby:

string = 'Hello world'

puts string.count('o'), string.length    # prints 2, 11


Ruby Python の比較

2007-10-20

[][][][][][]

twitter

TWTR: Summary for Twitter, Inc. Common Stock- Yahoo! Finance

Twitterの株式公開初日。株価は74%上昇して45.10ドル。時価総額は318億ドル | TechCrunch Japan

Twitter、今年6月にユーザー5億人超か―ブラジル急成長、ツイート数では日本語が依然英語に次いで2位 | TechCrunch Japan

GOOG: Summary for Alphabet Inc.- Yahoo! Finance

rails

Railsにある20%のソリューションで問題の80%を解決できるようにしています。

Twitter創始者が語るWeb 2.0要諦@IT

http://www.atmarkit.co.jp/news/200711/16/twitter.html

ウィリアム氏がOdeo内で始めた小さなプロジェクトが「Twitter」だ。

Ruby on Railsを使って2週間で最初の動くバージョンを 作り上げた



はてなブックマーク - Route 477 - Ruby基礎文法最速マスター&Ruby書籍紹介

Ruby on Railsで10分で作るTwitterもどき

Ruby on Railsをすぐ使う - Ruby on Rails 2.0アプリを1分で作る:ITpro

Ruby on Rails 2.0アプリを10秒で作る2.0

katoy: cocolog: Rails 2.0.2 は 5 行でアプリ雛形作成/起動ができる!

Railsの教科書

Ruby on Rails チュートリアル:実例を使ってRailsを学ぼう - Michael Hartl (マイケル・ハートル)

Ruby on Rails ガイド

Ruby on Rails

Rails基礎文法最速マスター - cod.note

クックパッド

クックパッド株式会社 に行ってきた! - 941::blog

Ruby on Railsで1億PVのサイトの開発が出来て、エンジニアは5人しかいない

クックパッド(株)【2193】:株式/株価 - Yahoo!ファイナンス

Wantedly

ウォンテッドリー株式会社 に行ってきた! - 941::blog

ココロオドル仕事を見つける方法 | 仲 暁子 | 本 | Amazon.co.jp

Wantedly 航海日誌 — 私のようなの素人のためのHacker Way

Wantedlyを2年間Herokuで運用した話

はてなブックマーク - アイディアに価値はない by 仲 暁子

python

http://anond.hatelabo.jp/20130101082333

rails

[ruby][camping][4kb]

[ruby][sinatra][シナトラ]

Focus on Technology:Ruby on Railsとエンタープライズを結び付ける「Merb」 (1/2) - ITmedia エンタープライズ

Rubyに恋をし、Rubyが長きにわたって存在すると感じた人はたくさんいる。そして彼らはもっと強力なものを求めたのだ」

Merb 1.0 リリース記念に、Merb がどんだけすごいのかを紹介した海外の記事を翻訳してみた

速報: Merb と Rails が統合 - kwatchの日記

http://www.google.com/webhp?hl=en

http://www.google.com/search?hl=en&q=ruby&btnG=Google+Search

ブラウザで Ruby on Rails 開発! Heroku を使ってみよう - WebOS Goodies

ブラウザでRails開発が完了する衝撃の簡単さ - builder by ZDNet Japan

CやPerl、Python、Rubyをブラウザ上で実行できる「codepad」:phpspot開発日誌

C言語をブラウザで実行、Ruby/Python/Perlも然り | マイナビニュース

Rails Ruby Rubyなら"Hello World"が公式サイトをたずねて2分 Rubyなら”Hello World”が InstantRails を解凍してから2分 - opportunity_costの日記 Ruby on Rails 2.0アプリを1分で作る:ITpro UK STUDIO - Ruby on Rails 2.0アプリを10秒で作る2.0 Rails 2.0.2 は 5 行でアプリ雛形作成/起動ができる! JRuby on Railsに15分でアプリをデプロイする方法 | マイナビニュース プログラミングを独習するには10年かかる はてなブックマーク - スラッシュドット ジャパン | Ruby on Railsは万能薬ではない [Ruby][Rails]Sites Powered by Ruby or Ruby on Rails  こんなフレームワークを作るにはC++やJavaやPerlやPHPでは無理で、Railsを作るにはRubyかSmalltalkを使うしかなかったのである。 hp12c - Railsでブログを作ろう!(Creating a Weblog in 15 minutes)  Ruby on Rails学習の高速道路 - バリケンのRuby日記 - Rubyist diaspar.jp - 



Odeo内で始めた小さなプロジェクトが「Twitter」だ。Ruby on Railsを使って2週間で最初の動くバージョンを作り上げたという。

Ruby on Railsで1億PVのサイトの開発が出来て、エンジニアは5人しかいない

http://blog.kushii.net/archives/1350951.html

http://d.hatena.ne.jp/gamella/20081027/1225119262

3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。

Gregg PollackとScaling Railsハウツー

1つには、Railsアプリケーションをうまくスケーリングするために必要なすべての情報Rails開発者に与えること。

開発者は、これらの技術使用する必要はないかもしれません。

しかし、できれば、開発者ビデオを見て、何百万人の同時ユーザーを扱うRailsアプリケーション

作成できます、とクライアントに言える自信を持ってもらいたいのです。

2番目に、Railsアプリケーションをスケーリングすることがどれほど簡単かを、他の言語開発者に示すこと。

http://www.infoq.com/jp/articles/gregg-pollack-scaling-rails



Ruby on Railsで10分で作るTwitterもどき - ZDNet Japan

http://japan.zdnet.com/video/screencast/story/0,3800079413,20354695,00.htm

Rails 2.0.2 は 5 行でアプリ雛形作成/起動ができる!: katoy: cocolog

http://youichi-kato.cocolog-nifty.com/blog/2008/01/rails_202_5_9198.html

Ruby on Rails 2.0アプリを1分で作る - Ruby on Railsをすぐ使う:ITpro

http://itpro.nikkeibp.co.jp/article/COLUMN/20080606/306873/

ブログとショッピングサイト作成のケーススタディを解説します。音楽系サイトを選んだのは、画像、音声、動画など、今のWebで考えられるほとんどのコンテンツを扱っており、Railsの良さを一番実感していただけると思ったからです。

30分で Rails youtubeアプリ - 脱・下流エンジニア (仮)

hp12c - Railsでブログを作ろう!(Creating a Weblog in 15 minutes)

Ruby on Railsで10分で作るTwitterもどき - ZDNet Japan

RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series): Michael Hartl, Aurelius Prochazka: 0785342480795: Amazon.com: Books

Practical Rails Social Networking Sites (Expert's Voice): Alan Bradburne: 9781590598412: Amazon.com: Books

Beginning Ruby on Rails E-Commerce: From Novice to Professional: Jarkko Laine, Christian Hellsten: 9781590597361: Amazon.com: Books

Rails Pocket Reference (Pocket Reference (O'Reilly)): Eric Berry: 0636920520702: Amazon.com: Books

http://127.0.0.1/phpmyadmin/ http://127.0.0.1/mysql/

http://127.0.0.1:3000 http://localhost:3000/entries/

http://127.0.0.1:3001

http://127.0.0.1/

http://127.0.0.1/cgi-bin/c.cgi 

C:\InstantRails\cgi-bin\c.cgi

http://127.0.0.1:7000

キーワード「ruby」を含む新着エントリー Ruby Inside: The Ruby Blog

Rubyとは - はてなキーワード

 Ruby関連MLの自動翻訳サイトが公開 - JRubyのNutter氏に触発 | マイナビニュース

ruby-list

rails:ML

Rails Forum - the ultimate Ruby on Rails community

ruby-talk

Route 477(2007-02-05)

gem install hpricot

gem install mechanize

# インフォシークから株価取得して整形:特定属性持っているtableを取得

yahoo の最新トピックスをゲットしてみる

watirを試す

コードを実行すると、IEが立ち上がって、

勝手ログインし、メールの画面まで行く。

2007-09-19

[]4日目

Eclipse経由を諦めてAptana IDEをそのまま使うようにした。

なんかこれは、まんまEclioseなのかもしれない。同じコードから作られてるのかな?

使いやすいよ。

昨日の続き

昨日の続きでこれをやった。

Windowsで簡単にRuby on Rails:Instant RailsAptana

http://japan.zdnet.com/sp/report/story/0,2000056431,20352478-3,00.htm

まずは、図11のようにテーブル名の単数形である「category」、「recipe」でそれぞれモデルを作成する。「GO」ボタンクリックするだけだ。

まったくもって何を言っているのかわからない。

そして図11なる画面をどこで呼び出すのかもわからない。

「みちこさん?パソコンを立ち上げるっていうのは縦に置けばいいのかいのぉ・・・?」

つまりはそういう感じだ。

うりうり探してたら、初期表示画面の画面下部のタグにGenerators画面があった。

scaffoldを実行とか書いてある。何これ趣味悪い。

scaffoldって絞首とか処刑とかそういう意味じゃなかったっけ?

足場っていう意味もあるのか。なんか違和感

で、なんなんだ!?

なんだかよくわからないまま連載終了。・・・くっ。

Aptana Eclipseプラグインで始めるRuby on Rails

Aptana Eclipseプラグインで始めるRuby on Rails

http://blog.codezine.jp/editor/2007/06/aptana_eclipseruby_on_rails_1.php

前にも見たことがあるこれにもどってきた。

現段階の環境構成でAptana IDE経由でRubyHello Worldを試す。さくさく。

おー。

この一連のコラムが、いままでの中で一番わかりやすかった。(目次はわかり難い)

ちなみにscaffoldの回のurlはここ。

http://blog.codezine.jp/editor/2007/08/ruby_on_railsscaffold_1.php

上のコラムをやって疑問点、へーっと思ったこと

Aptana IDEブラウザ内臓ってどこから呼び出すんだろ?

→下部WindowにあるServerタグのところにアイコンでLunchBrowserというのがあった。

ウインドウ:設定のところでFireFoxにも変更できる。

設定ついでにワークスペースエンコードの設定の欄を発見utf-8に変換した。

エンコードの状態をステータスバーなどに表示させておく方法はないのだろうか?探したが見つけられなかった。)

Generatorsタグが消えてしまった。

パースペクティブRubyになってた。これをRuby on Railsに。

Rake tasksを実行したりするとGeneratorsのプルダウンが出なくなる。なんでだろう?

ウインドウで新規ウインドウを開いたりして誤魔化している。

なんとかならないものか。

http://blog.codezine.jp/editor/2007/06/ruby_on_rails_migration1.php

RailsではmodelファイルDBのテーブルと対になります。

いわゆるO/Rマッピングというやつです。

へーーー!!そういう意味だったのか。

今日感想

今年買ったメーカー製のほとんど素のマシン

メモリを512MBしか積んでないのでページングしまくり

しかたがないのでこまめにテストサーバーを止めて対応。

IDE系統でメモリ食ってるのかな?落とすと300MB近くあく…。

1Gまでもっていかれちゃうと終了もままならなくなるので注意が必要そう。

Hello worldレベルでこんなんなってちゃ世話ない。

win系がダメなだけかな?

  • テーブル単体のI/Oはできるようになった。

複数を組込むにはどうしたらいいのだろうか。

さすがにheader/detailでDB参照したい。

追記:なんか少し調べたけどもしかしてRuby on RailsってO/Rマッピングオンリー…?

そんなまさか…。いや、いくらなんでも…。

http://www.web-career.com/seminar/ruby_on_rails.html

  • 今週中に予定していたアプリを作りこむのはムリ。

作る内容をもっとシンプルアイディア勝負なヤツに変えようとおもう。

[Ruby]3日目

http://anond.hatelabo.jp/20070918200857

2007-09-14

初めてのJavaScript - HTMLファイル

<html><head&gt;<title>Hello JavaScript World!</title><style type="text/css">
<!--
  .select {
    margin-left: 30px;
    padding: 0 2px;
    width: 6em;
    border: dotted 1px;
  }
  .select p {
    margin: 2px;
  }
-->
</style></head&gt;<body><script type="text/javascript">
<!--
  // step 1 : output text
  document.write("Hello world!");

  // step 2 : output html
  document.write("<br/><b>Hello javascript world!</b>");

  // step 3 : manipulate DOM
  var p1 = document.createElement("p");
  p1.appendChild(document.createTextNode("Hello DOM world!"));
  document.body.appendChild(p1);

  // step 3 : interactive, using function, event handler
  function solid() {
    this.style.borderStyle="solid";
  }
  var p2 = document.createElement("p");
  p2.appendChild(document.createTextNode("Hello interactive world!"));
  document.body.appendChild(p2);
  p2.addEventListener("click", solid, false); // not solid()

  // step 4 : using object, prototype, closure
  function P(str) {
    this.str = str;
  }
  P.prototype.regist = function(parent){
    this.elem = document.createElement("p");
    this.elem.appendChild(document.createTextNode(this.str));
    parent.appendChild(this.elem);
    var self = this;
    this.elem.addEventListener("click", function(){self.act()}, false);
    // otherwise
    //  this.elem.helloworld = this;
    //  this.elem.addEventListener("click", function(){this.helloworld.act()}, false);
    // bad way
    //  this.elem.addEventListener("click", this.act, false);
    //  this.elem.addEventListener("click", function(){this.act()}, false);
  };
  P.prototype.act = function(){};

  var p3 = new P("Hello prototype world!");
  p3.act = function(){
    if (this.elem.style.borderStyle == ""){
      this.elem.style.borderStyle = "solid";
    } else {
      this.elem.style.borderStyle = "";
    }
  };
  p3.regist(document.body);

  // step 5 : inheritance
  function SELECT(parent, str) {
    this.str = str;
    this.regist(parent);
  }
  SELECT.prototype = new P();
  SELECT.prototype.act = function(){
    p4.elem.style.borderStyle = this.str;
    p4.div.style.display = "none";
  }

  var p4 = new P("Hello world!");
  p4.div = document.createElement("div");
  p4.div.className = "select";
  p4.div.style.display = "none";
  p4.select = [
    new SELECT(p4.div, "none"),
    new SELECT(p4.div, "dotted"),
    new SELECT(p4.div, "solid")
  ];
  p4.act = function(){
    p4.div.style.display = "block";
  };
  p4.regist(document.body);
  document.body.appendChild(p4.div);

//-->
</script></body></html>

webサマリ始まりました。

Hello world !! こんにちは世界!! こんにちは皆さん!!

webサマリネットにある記事のまとめを作成して、世界中の人と共有するサイトです。

あなたも、一緒にLet's サマリ!!

以下はサイトの説明になります。興味が湧いたかたはご覧下さい。

------------------------------------------------------------------------------------------

webサマリはwebの記事のまとめを集めるサイトです。それはブログを書く事や、トラックバックを書く事とは少し違います。

元の記事があってそれをわかりやすくまとめたもの、要約、それがサマリです。由来はsummaryです。

世の中にはいろんな人がいます。面白い考え方をする人、どんどん発言する人、反論する人、認める人、話をまとめるのが上手な人。

僕はこの「話をまとめるのが上手な人」に注目しました。

どんなにわかりにくいブログでもまとめるのが上手な人にかかれば、読みやすく、理解しやすくなるはずです。

得意なまとめるのが得意な人チャンスですよ!!是非webサマリで貴方の力を存分に発揮して下さい。

面白そうなんだけど長過ぎて読む気になれないブログ、内容が単純にわかりにくい記事、[後で読む]が付いている記事、

これらの記事に対してサマリを作成しましょう。

分かりやすくまとめられたサマリを読んで、ざっと概要をつかんで興味が湧いたら始めてその記事を見に行けば良い。と僕は思います。

逆にブロガーの皆さんはどんどん、長くて面白くて中身の濃いブログを書いて下さい。webサマリで貴方ブログをまとめます!

あなたのMYブックマークタグは後で読むであふれていないでしょうか?

あなたはブログが長過ぎて途中で読むのをあきらめたことはないでしょうか?

あなたはホットエントリーチェックするのに何時間も費やしてないでしょうか?

あなたは人の話をまとめるのが上手いと言われた事はないでしょうか?

あなたはブログを読んでいる内に結局ブロガーの言いたいことがわからなくなってしまったことはないでしょうか?

あなたはネット情報を収集する時間を少しでも短くしたいと考えたことはないでしょうか?

「あるあるww」と思ったそんなあなたには是非webサマリを勧めます。

ここまで読んでくれてありがとうございます!続きは webサマリ

2007-09-13

初めてのJavaScript - アドレスバー

エディタなしでも大丈夫。アドレスバーJavaScriptを実行してみよう!

これでも一応javascript

アドレスバーに入れた場合、最後の値が表示されます。

javascript:"Hello world!"

ダイアログで表示

サンプルでは良くあるけれど、実際、ダイアログはほとんど使いません。でもちょっとしたデバッグには便利です。

javascript:alert("Hello alert() world!")

このとき「alert()」とは「window.alert()」を表します。windowオブジェクトブラウザの表示ウィンドウを表すオブジェクトです。windowオブジェクトプロパティやメソッドを使用する場合は、alertに限らず「window.」が省略できます。

ドキュメントに表示

これが「print "Hello world!"」に一番近と思います。

javascript:document.write("Hello document.write() world!"); document.close()

documentオブジェクトは表示中のドキュメント全体を表すオブジェクトです。

DOMで追加

Document Object Modelを利用して要素を追加します。

javascript:document.write("<html><body></body><html>"); document.close(); var p = document.createElement("p"); p.appendChild(document.createTextNode("Hello DOM world!")); document.body.appendChild(p);

現在ドキュメントHTMLであれば、先ほどの「document.write()」はHTMLを扱うことになります。これを使用してbody要素を作っておき、そこへp要素を追加しています。

[追記] createTextNodeを使用するように変更しました。

イベントハンドラを使用

DOMを使用した場合のメリットは後で要素を扱えることです。

javascript:document.write("<html><body>Hello world!</body><html>"); document.close(); p = document.createElement("p"); p.innerHTML = "Hello javascript world!"; document.body.appendChild(p); p.addEventListener("click", function(){this.style.borderStyle="solid"}, false)

イベントハンドラの使用方法は幾つかありますが、ここでは「addEventListener」を使用します(申し訳ありませんがIEでは動きません)。この例では、イベントに対するコールバック関数として無名関数の「function(){……}」が登録されます。p要素がクリックされたとき「function(){……}」が呼び出されます。このとき、this(変数ではありません!)が、要素pを示します。

2007-09-10

Gauche によるもう少し効率的なバージョン

(define str "Hello world")

(let ((a 0))
  (let1 b (with-input-from-string str
	    (lambda ()
	      (port-fold
	       (lambda (c b)
		 (if (eqv? #\o c) (inc! a))
		 (+ 1 b))
	       0
	       read-char)))
    (print a " " b)))

あるいはこう。

(use srfi-1)

(define (times* e n)
  (map (lambda _ (e)) (iota n)))

(define-macro (with-gensyms var . body)
  `(let ,(map (cut list <> '(gensym)) var)
     ,@body))

(define-macro (with-gensyms* var n . body)
  `(let ((,var (times* gensym ,n)))
     ,@body))

(define-macro (port-vfold proc seed reader)
  (with-gensyms
   (loop %proc v)
   (with-gensyms*
    pr (length seed)
    (with-gensyms*
     npr (length seed)
     `(let ((,%proc ,proc))
	(let ,loop ((,v (,reader)) ,@(map list pr seed))
	     (if (eof-object? ,v)
	       (values ,@pr)
	       (receive ,npr (,%proc ,v ,@pr)
		 (,loop (,reader) ,@npr)))))))))

(receive (a b)
    (with-input-from-string "Hello world"
      (lambda ()		    
	(port-vfold
	 (lambda (c a b)
	   (values
	    (if (eqv? #\o c) (+ a 1) a)
	    (+ 1 b)))
	 (0 0)
	 read-char)))
  (print a " " b))

文字列操作関数って高価じゃね?

Re: Re: Ruby Python の比較

Haskell

main = putStrLn $ p "Hello world"
p s = (show $ length [x | x <- s, x == 'o']) ++ ", " ++ (show $ length s)

二時間くらい調べて書いた。

後悔はしてない。

Re: Ruby Python の比較

悪魔perl:

$,=", ";
$\="\n";
$_ = "Hello world";
print scalar(@{[/o/g]}), length;

printを知らないjavascript:

string = 'Hello world';
string.match(/o/g).length+', '+string.length+"\n";

ちょっと趣旨は離れるけれど。他言語はどんな感じ?

2007-09-09

[]Ruby Python の比較

文字列 'Hello world' の o の合計数は2、全文字数は11

Ruby vs. Python

Python:

string = 'Hello world'

print string.count('o'), len(string)    # prints 2, 11        why not string.len()?

Ruby:

string = 'Hello world'

puts string.count('o'), string.length    # prints 2, 11


2007-09-19 - 偏った言語信者の垂れ流し

2007-09-28 - プログラミング日記

jijixi's diary - Ruby に比べて Python の面倒なところ

激しく同意 - 日記を書く[・ _ゝ・]はやみずさん

Django勉強会始まったよ|| Woops'dez | Bloggin'

バベル案内

Pythonはグローバルスコープローカル(関数)スコープ以外のスコープを何も持っていない。

だからPythonには「本物の」OOシステムがあるのだとしても、クラスは自分のインスタンス変数にさえアクセスできない。

あらゆるインスタンスメソッドに対し"self"パラメタを渡す必要があり、そうやってインスタンスデータにself経由でアクセスするのだ。

だからPythonの中のものはすべて、self、selfself、selfselfself、selfSELFselfSELF__SELF__であり、

たとえあなたがホワイトスペースの問題を気にかけないとしても、これはあなたの頭をおかしくするだろう。

2007-08-08

http://anond.hatelabo.jp/20070808134415

プログラミングなんて誰にでもできる」という思想は、案外広く信じられているようで、とくに「そこそこできる」人にそういう傾向があるように思う。もちろんそんなのは嘘っぱちだ。

例えば、100m走で走りきれないという人は、まぁそうそういないだろうけど、オリンピック金メダルをとれるかというと、いやずーっとレベルを下げて運動会の100m走で一位の旗を誇らしげに持てるかというと、それだって無理な人には無理だ。それと同じ意味プログラミングは誰にでもできることではない。

もちろんプログラミングで一位になる必要なんてどこにもない。だけど考えて欲しい。100m走では1位とビリの差は数秒もない。オリンピックレコードと二十代平均の記録を比べても、多分倍半分も違わないだろう。もしプログラミングの世界にもこれが適用されるなら世の中はもっと幸せになっているはずだ。

たとえ話が何か違う方向に行ってる気がするんだけど、気のせいだろうか…。

ぶっちゃけ言うと、意味が分かりにくい。

思うに、そこそこ出来る人に案外広く信じられている「プログラミングなんて誰にでもできる」を敢えて100m走に置換するならば、「100mなんて誰でも走れる」になるのでは?20秒とかそんな条件はない。

もちろん、「誰にでも..」は何に於いても嘘っぱちだ。身体的条件その他諸々により、「特別な事情がある場合を除き」みたいなprefixは必ず付く。

では100m走とプログラミング根本的な違いは何か?

100mという距離は別にしても、「走る」というのは人間の基本行動であり、特別な訓練を受けなくても"ほぼ誰にでも"できる事だろう。特別な事情がある場合を除いて。

対してプログラミングの方はというと、知らない人は知らないし、出来ない。当たり前だ。

というか、足し算だって何だってそうだ。

プログラミングは(普通)PCが必要だったりして、ちょっと入門の敷居が高いだけで。

つまり?そこそこ出来る人に案外広く信じられている「プログラミングなんて誰にでもできる」は、「誰でもHello Worldくらい、やろうとしてできねーこたぁねぇ」くらいじゃないんですかね。と。

本当に「Fizz-Buzzくらい誰でも書けるでしょ?」なんて信じ込んでる奴は、なんていうかオワッテル気がする。

ええと、なんていうか、揚げ足とってサーセンッシタ!

ああ、それと、皆が皆本当にプログラミングがデキたら少なくとも俺はくいっぱぐれて幸せじゃないので、ちょっと特殊な技能のままでいてほしいなーなんて思ったり!

あと、それと、「誰でも...」レベルの人が間違ってプロ状態になっちゃってたりして、そこそこ出来ると信じてる俺としてはちょっといけすかん状態なので、誰かなんとかしてください。

2007-06-30

http://anond.hatelabo.jp/20070630153808

妙に「世界に1つだけの、お前のプログラム」という言葉が気に入っているみたいだけど

やっぱりそれはある程度何かの言語を学んだ人が全く新しい言語に挑戦するときしか通用しないと思うよ。

経験が皆無で、プログラミングの勘が無い人というのは、どこを変えてみたらいいのかがまず分からないんだよ。

Hello World!程度ならまだなんとかなるだろうけど、

if文やfor文、ましてや再帰関数なんて出て来た日にはもう、書き換えた部分と出力の変化の因果関係がつかめない。

因果関係を理解するために出力を変更することも出来ない。

だから最初、もう本当に最低限のルールだけはネットなり本なりで学んでからやるべきだと思う。

とにかく書け!パクれ!実行しろ!っていうのは賛成だけどね。

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