はてなキーワード: Hello Worldとは
大昔大学に入って初めてpcを触ったんだけど、まあありきたりにhello worldから始めて講座の最後には「絵を動かす」とかやったよ
それも一応プログラムだよね。現代だと小学生以下がやるようなことだけどさ
興味がある奴はそっからどんどん進んでいく。ただそれだけのことなんだろうな
だからきっと、プログラムに興味があるなら「別に大仰なモノじゃなくてジョーク的なもんでもいいから何か作りなよ」って話なんだろ
「漫画家になりたいけど絵一枚描かない」っておかしいことだからね(まあ、それこそ全部pcでやる作業だけれどもペンタブで絵は描くよね。基本的には。3DCG漫画もあるけども!)
もしネタが浮かばないとかなら、某掲示板行くといつも誰かが「○○作ってくれ!!」って言ってるからソレ作ってやればいいんじゃないの?出来そうなやつを
これ実際に統計とってみると、割と半数以上は増田の指摘通りになるのではないかと思う
※新人に対して言う「何か作ってみろ」にhello worldとか簡単なスクリプトは含まないと思うので、そういうのは除外した統計
本に載ってるHello Worldやサンプルプログラムこそが、著者が最初に一人で作ってみたのを晒してるものなんじゃないか?
いつもホッテントリを賑わせている増田だが、増田が始まってからこれまでの15年間について、年代別にブクマ数ベスト5を調査して、振り返っていきたい。
1位:プログラミング用のフォントを探してたら一日が終わってた(366users)
この時代は「技術のはてな」みたいに言われていたので、こういう記事に需要があって、よくホッテントリ入りしていた。
2位:anond:20061214085342(155users)
3位:手っ取り早くGIGAZINEになる方法(140users)
deliciousとかdiggとか今はもうなくなってるよな。
4位:『はてな』がイノベーターに成り得ない5つの理由(132users)
イノベーターっていう言葉も懐かしいな。イノベーションのジレンマとかが流行った時代。
これも2chのコピペらしいが、こちらはコピペだとわからないように書いている。
1位:何でも楽しいという友人(1613users)
なんでも楽しみながら取り組む人の話。今でいう意識高い系にも通じるものがある。
2位:人月計算とExcelとスーツの世界より(1340users)
新卒でメインフレームの開発現場に回されてしまったが、本当は最新技術がやりたかったという話をポエミーに描いてる。
確か後日談があったような気がする。無事に、自分の望む環境への転職に成功したようだった。
ここまで注目されるような内容なのかどうかは疑問。
4位:聞き上手マニュアル(764users)
5位:ピェンロー(白菜鍋)レシピ(754users)
これも料理ネタ。この時代の増田は料理ネタが豊富だったのかもしれない。
1位:簿記2,3級を独学で同時に3週間で受かる方法(2892users)
資格取得のハウツー物。こういうのもやたらブクマ数稼げる。結果、この年のトップに。
2位:すごい物を見てもへこたれない人(1792users)
2007年の1位記事と同じで、意識の持ち方の問題にフォーカスを当てた記事。
3位:「爆発音がした」まとめ 上(1733users)
「爆発した」という描写をいろんな作家が書いたらどうなるか?というテーマの記事。
なかなか面白い。
4位:内科医が風邪について書く(1379users)
5位:40歳平凡サラリーマンが半年でTOEIC400点から700点を獲得した方法(1038users)
1位:急がばまわれ式・堅実で一番効率的な英語の勉強法(8902users)
英語学習ネタ。そんなに大したことが書かれているわけでもないのに驚異のブクマ数でトップに。
2位:20年来のつらさがほぼ消えたことについて(5198users)
常に頭や体がだるかったのが、自分の体のある性質に気づいてから対策が取れるようになって、人生が激変した人の話。
「つらい、だるい」から「集中できる」状態に変化していく過程が、読んでいてとても心地よかった。
3位:英語コンプの馬鹿でも投資ゼロでTOEIC900に達するたったひとつの方法(3612users)
4位:なんとなく最近不調かな、と思ったら気をつけること(1830users)
この頃から、なんかこういう漠然としたライフハック系の記事が散見されるようになる。
5位:手取り16万で毎月貯金を増やしていく方法(1783users)
リーマンショックの頃の記事だから、こういうのも上がってくるよね。
1位:社会人のための本気の英語学習法(1953users)
こうやって定期的に色んな英語学習法が上がってくるっていうことは、結局正解なんてどこにもないし、学習がうまくいっている人なんてほとんどいないんだろうなぁ。
2位:アフィリエイトで成功して、社会的地位を得る方法。(1149users)
病気解説系のサイトをたくさん作って、そこにアドセンス広告を貼って儲けている人たちに対する告発記事。
この記事がきっかけになって、ここで告発されたサイト群はまもなく閉鎖された。
何年か後になって、どこかの法人がWELQというサイトで同じようなことをやって叩かれていた。いわばそれの先駆け的な出来事だった。
3位:吉野家がソフトバンクだったら(1103users)
当時評判がよくなかったソフトバンクの詐欺的な料金プランをネタにしている。
指導する側に実は問題があったパターンで、こういう話を聞くとすごい考えさせられる。
5位:死ぬほど英語を勉強してきたからわかる、英語学習の限界(952users)
これも英語学習ネタなんだけど、今までのとは違って、それらに対するアンチテーゼになっている。
日本人は絶望的に英語ができないんだからいくら勉強法を変えても無駄無駄無駄ァっていう結論で、これはこれでわかりみ。
1位:ずぼらな俺が4年間の一人暮らしでたどり着いた部屋作り&暮らし方(4051users)
2位:お金持ちに大量に触れて初めて気づいた8の共通点(3363users)
3位:バカでも出来た英語学習方法(2904users)
はい今年もきました、英語学習ネタ。特に珍しいことは書かれていない。
4位:精神論ではない仕事を速くこなす技術(2779users)
ライフハック。言われていることはうなずける内容。
5位:人たらしになるコツ30箇条(2556users)
1位:"Hello world!"(2344users)
プログラムを初めて動かす時のドキドキ感と、人生で初めて体験することのドキドキ感をかけて「hello,world」と表現している。
いわゆる増田文学。
2位:先日倒産したメモリメーカーの友人と飲んできた話(2016users)
日本が他のアジア諸国に打ち負かされ始めている。今考えると、それの走りのような記事。
3位:【2012超まとめ】確実にWEBサービスを作りたい人へ【前編】(1944users)
一時期、個人でWebサービス作って公開するのが流行ったことがあって、これはその経過を増田で公開している。
今はもう誰もこんなことしなくなってしまったけど、いい時代だったなと懐かしく思う。
4位:「柳井正は人として終わってる」を読んで(1872users)
ユニクロがブラックで、っていう今では誰もが知ってる話を増田で告発。この頃は目新しかったのかな。
5位:Objective-C勉強したいならコレを読め2012秋(1381users)
1位:低学歴と高学歴の世界の溝(2179users)
人によって自分の見えてる世界が全く違うことに気づいてしまう話。
2位:プログラミング出来ない奴ちょっと来い(2114users)
プログラミング言語についてではなく、プログラミングそのものについて、その本質を結構詳しいところまで突っ込んで書いてある。
これは有用。今読んでも役に立つ。
3位:ド素人が完全自作SNSを作ってみてわかったこと。(1535users)
Facebookに嫌気がさしたので自前のSNSを作るっていう、もうそれ聞いただけでなんかワクワクしてくる。
いいなぁやっぱりこの時代は。夢があって。
4位:海外Amazon転売楽すぎワロタ(1417users)
これも一時期流行ってたけど、本当に儲かるのかどうかよくわからない謎なところが多かったな。
5位:おっさんが水商売の店に行く理由(1324users)
よくわかる。おっさんになるとこういうのが染みる。
1位:部下がくれたアドバイス(1959users)
うーん、どうなんだろうね。
仕事ができる人って、「自分の頭で考える時間を確保する為に、周囲の人間を手足のように使える人」っていうイメージあるけど。
これも増田文学なのか。
2位:「家事」は、レベルを上げて物理で殴れ(1918users)
3位:anond:20140624211919(1590users)
耳が痛くなるな。最近のネットの誹謗中傷問題とかにもつながってくると思う。
4位:1人暮らしのための料理の豆知識50(1495users)
5位:東京ベイエリア タワーマンションの真実(1432users)
よくわからんかった。
1位:http://anond.hatelabo.jp/20151127035944(2611users)
宝くじで7億当たった人への具体的な助言。
金が自分に定着するには10年かかるっていう言葉に重みがあって、なんかいい。
2位:Yahoo!チャットって場所があったんだよ(1645users)
インターネット老人会の夜噺。ヤフーチャットって全然知らなかったんだけど、そういう文化があったことを知れて、とても面白かった。
3位:( ・3・) クラシック好きの上司がジャズを聴きたいと言いだして(1486users)
4位:メールで使える英語のつなぎの言葉(1445users)
英会話tipsだけど、これはメールに限定している分、ちょっと毛色が違う感じする。
5位:起業支援者なんだけど、普段は言わないことを書く。酔ってるから。(1399users)
意識高い系起業志望者が増えてきていて、それを食い物にする連中も…という話。
1位:我が家のインドカレー(3269users)
インドカレーのレシピ。これが1位にくるっていうのもなんかすごいな。
2位:教授に教えて貰った考え方(備忘録)(2690users)
自己啓発系のまとめ。
3位:めっちゃ怒られているのがテレビで放送されてしまった(2681users)
よその会社の偉い人がしれっと出てきて増田にこういうの書いてるのが笑える。
4位:お坊さんをお呼びした家族葬(D.I.Y.葬)が総額42,360円で完璧に出来たお話(2552users)
本当に最低限でいいのなら、こんな感じでいいのかなと思わされてしまう。
5位:保育園落ちた日本死ね!!!(2125users)
これ、有名なやつね。
1位:https://anond.hatelabo.jp/20170910205249(3653users)
プログラマーになりたい人に向けて、N予備校のプログラミング入門コースをおすすめしている。
どうなんだろうね。
2位:無能と思われたら職場を変えたらいい(2617users)
こういう「あなたが悪いんじゃないよ、環境が悪いんだよ」っていう指摘は、追い詰められてる人にとって救いになるよね。
3位:人生に物語は要らない(2243users)
なんか既視感あると思ったら、2012年の1位の記事「Hello world!」を書いた人らしい。
中卒なんだけど、大学を目指しているとのこと。今どうなってるんだろうね。また何か書いて欲しい。
5位:ソニー株式会社を退職しました(2015users)
ソニーの技術職の内情が具体的に書かれているんだけど、なんかもう色々と無茶苦茶だなぁという印象。
本当なんだろうか。
1位:増田文学100選(3657users)
たくさんありすぎて読む気がしない。誰かおすすめをピックアップして欲しい。
2位:【追記あり】Wi-Fiはタダで使えると思っている奴多すぎ問題(2317users)
携帯売り場に押し寄せてくる情弱客の悲喜こもごも。よくある話だけど笑える。
3位:アホの子教えるのは楽しかった(2039users)
偏差値27から50超へもっていく秘訣みたいなことが具体的に書いてある。
初期のつまづきが見落とされてるだけだから、そこへ立ち返って矯正すればいいと。なるほどね。
4位:後世に残したい美しい言葉 5選(1914users)
5位:NECで何が起きているのか(1745users)
NECの技術部門の内情告発。こういう怪文書的なやつがちらほら転がっているのが増田の醍醐味。
1位:簡単・初心者向けの資産形成 (長期投資)(3264users)
投資系の記事。こういう記事が上位に挙がってくるようになったのは最近のこと。
2位:料理家のアメ横(御徒町)買い出し指南(2562users)
3位:「身の丈に合わせて、大学行かずに就職すればいいじゃん」(2334users)
環境に恵まれずに苦労して大学に入った人が、なぜ学習参考書の編集者になったのかについて書いている。
ちょっと感動した。
4位:【追記あり】臭いおっさんは社会的弱者(2236users)
まぁまぁこういう記事は需要あるよね。普通に風呂入ってるだけではだめなのかと思うけど。
5位:anond:20190530132722(1917users)
1位:【書き起こし】岩田健太郎さんのYouTube動画「ダイヤモンド・プリンセスは...(2439users)
今となってはこんなことで騒いでたのが懐かしくなってくる。
2位:意識の低いフリーランスの生存戦略(2277users)
意識低い系の人の話。意識低いのになんでフリーになったのか謎。
こういうの読んでると、やっぱりサラリーマンが最強だと思わされて、ちょっと安心する。
3位:ケンタッキー初心者指南(2230users)
ケンタに限らずファーストフード系はクーポン使うとかなり安くなるところが多い。
4位:100分de名著シリーズのバックナンバー約100冊を読破したら人生変わった(2002users)
100冊は読まなくていいと思うけど、興味のあるやつをちらほらつまみ食いしてるだけでも、なんか勉強した気持ちになれる。
5位:我が家のタンドリーチキン(1894users)
1位:anond:20210114104835(3443users)
2位:当たり屋対策の集合知(2587users)
当たり屋なんて今の時代に本当にいるのかと思いながら読んでたけど、いるんだな。
ストーカー要素とかあって怖い。
3位:洪水被害にあったらやること(2344users)
こういうのが挙がってくるのも、最近の異常気象を反映してるんだろうな。
4位:anond:20211022205638(2219users)
ライフハック系記事。脳に入ってくる情報に制限をかけて、楽させてあげようっていうことか。
5位:緊急事態宣言に「慣れた」んじゃなくて呆れ果てただけだよ(追記2)(2078users)
まぁでも色々と揉めてたよねこの頃は。
15年間の増田の上澄みだけをさらっと眺めてきたけど、色々と考えさせられることが多かったし、知っておいた方がいい情報もちらほら紛れていて、結構有用じゃん増田といった印象。
いままで増田のこと、便所の落書きだと思ってたけど誤解してたわ。すまん。
はてなにとっては稼働させていてもなんの収益にもならない無駄サービスだけど、その時々の文化を後世に遺すっていう意味でも、今後も続けていって欲しいよなと思った。
前提がよくわからん。
hello worldも知らん初心者に「とりあえずサービスをひとつ作れ」と言うプログラマーはまずいないと思う。
いたら俺もおまえと一緒に叩いてやるよ。
いや、既に書いたとおり「サービスをひとつ作ってみる」というのは「試合をやってみる」と対応する。
「壁に向かって球蹴ってみる」「リフティングしてみる」は「hello worldを出力してみる」「if文を使ってみる」と対応するか。
「サービスを作ってみよう」というのは、
プログラムの仕様を知って、部分練習が出来たら、次は通し練習をしてみましょうね、
まだ分からないことも多いだろうけど実戦形式のほうが理解しやすいですよ、ということにすぎない。
スポーツだって「口で説明するより実践してもらったほうが早い」ということはあるだろう。
その点ではコンセンサスを得られていると思う。
そしてプログラムというのは一人でも試行錯誤しながら「通し練習」できる性質がある。
フレームワークなんかを使えばチュートリアルをこなすだけでそれなりのものが出来あがる。
そして間違っていたら「ここのバグのせいで動きません」と教えてくれたりもするのだ。
もちろんそれで誰に迷惑がかかるわけでもない。
しかしスポーツ、特にチームスポーツで同じように試行錯誤するのは難しい。
ルールや戦術がわからず試合に参加すると、試合の流れに取り残されてボールが回ってこない、
チームの足を引っ張って怒られる、わけもわからず反則をとられる、よくわからない理由で笑われる、
というわけでプログラムのほうが「とりあえず通し練習してみろ」が通用しやすい環境ではあると思う。
サッカーでも「いまからやるのは初心者にルールを教えるための試合です」と言ってちゃんと知識のある人がフォローしながら練習試合をするならいいんじゃないかな。
この間情報システム部ですって人がいた。
「今、会社でスクラムを導入する大きなプロジェクトを任されてて、、、」みたいなこと言ってた。
なんかこれみよがしに分厚いスクラムの本読んでた。スクラムマスターになるんだって。
まずそもそもスクラムというのはIT界隈でシステム開発を進める際のお仕事のやり方です。私も詳しく知らないのでラーメン屋で例えます。
ラーメン屋で新しいラーメンを開発するときに、スープの開発、チャーシューの開発、麺の開発、メンマの開発があるとします。
スープ担当が開発を始めるとチャーシュー担当はこう言いました。
「僕はスープに最高に合うチャーシューを作りたいので、スープの味がわからないとチャーシューを作れません。スープできるまで待ってます。」
「僕もスープとチャーシューに最高に合う麺を作りたいので、スープとチャーシューの味がわからないと麺を作れません。二つができるまで待ってます。」
「僕も。。。
これでは一つの素材を開発している間に他の担当は遊んでしまうことになります。
そこで、みんなが同時に開発ができるように、最初に大まかな仕様を決めて、そのサンプルを作ったりして進めることにしました。
見た目がわからなければスケッチ描いたり、食品サンプル作ったり
大まかな仕様が分かれば、あとは各担当が作業に取り掛かります。
でも進めていく間に、改善できる点や問題点が出てきて、仕様に変更が出るかもしれない。
よーし、そいじゃあ毎朝、進捗をみんなで確認しあおうや。みんな忙しくてあんまり時間取っても良くないし、立ち話で済ませよっか。そうだな名前はスタンドアップにしよ。
毎朝スタンドアップでお互いの進捗確認して、何か変更とかあれば共有しよっか。
あと、進めてく上でいろんな意見交換した方がいいから、週一でよかった点、悪かった点、あとは共有事項とか話し合おうか。そうだな、一週間の振り返りだから英語でカッコよくレトロスペクティブにしよか。
週の終わりにレトロで振り返りを行う。
店主はみんなを纏めたり円滑なコミュニケーションができるようにする、そう彼がスクラムマスターです。
さて話は戻り、知り合いの情報システムの方がスクラムマスターになるんだと。
システム開発じゃないよ。
Hello Worldも知らないんだよ。
ラーメン屋に例えるならこうです。
ある日ラーメン屋でいつものように新メニューの開発をしていると、一人の客が入ってきて言いました。
客「君たちのラーメンを僕の会社の食堂で出したいんだが、何か僕の会社だけのラーメンを開発してくれよ。名前は情シスラーメンがいいなぁ。」
店主「本当ですか!ありがとうございます。是非作らせて頂きます。」
客「うむうむ。それじゃあ明日から早速スタンドアップをしよう。困ったことがあればなんでも僕に相談して。僕は潤滑油だー!」
店主「は?」
客「は?」
店主「いえ、開発は我々が責任を持って行いますので、お客さまは出来上がりまでお待ちください。もちろん途中経過はご報告させて頂きますが。」
客「バカを言わないでくれ。僕はスクラムマスターなんだよ。みんなの意見をまとめてコミュニケーションを促進させなくちゃ。潤滑油だし。」
店主「えっと、、、あ、ラーメンについてお詳しいんですか?」
客「ラーメン?いや?作ったこともないし。見たことはあるけど。それが?」
店主「は?」
客「は?」
なんかこういうウワベだけを真似すること多いよね。
テック企業はみんなスクラムやってるから儲かってるんだ!スクラムするぞ!
なんかシリコンバレーの企業はみんな儲かってるんだって!よし!シリコンバレー営業所作るぞ!視察して表敬訪問だー!
スクラムについて間違ってたらごめんなさい。
僕の今いるところではそこまでスクラムに沿ってやっておらず、スタンドアップでは軽く進捗共有したらみんなでおしゃべりしたりしてます。
スクラムマスターなんてものは見たことなく、いるのはEMとPMくらいです。
多分こういったものは厳しいルールを作り、資格にして、お金を稼ぐ人がいるんだろうなーって思います。
スクラムはただのツールであって、それだけを手に持ってやってこられても、うーん何しに来たのって思っちゃいます。スクラムの創始者だってDeveloperだったわけでしょ?エンジニアの知識なしにスクラムやってもなんのこっちゃわかりません。ましてや外注してたらもう。。。。
久々にWORLDにログインし直すと、いつも見る言葉が視界に映る。
普段はログインしっぱなしのWORLDだけど、最近調子が悪いのでログインしなおしたのだ。
そして知り合いに会いにいく。
昨日からWORLDはこんな感じで、他の人たちは普通に話してるのに、boardでもroomでも私の会話には気づいてもらえないのが続いている。roomでは姿にすら気づいてもらえていないらしい。
全く見知らぬ人と話すのも同様だ。
この世界、WORLDはVRSNSである。バーチャル空間の中に自分や他人のアバターがいて、コミュニケーションを取ることができるサービスだ。
主にboardとroomというシステムがある。boardは近況などを読み書きするシステムで、フレンドの近況なんかも見ることができる。これはバーチャル空間の中にいるならいつでも参照することができる。
一方roomはチャット専用の場所で、roomに集まったアバター同士でチャットをすることができる。趣味のroomや出会いを求める人のroomもあるが、私はまだ学生なので主にクラスメイトたちが集まるroomに入り浸っている。
これだけなら知り合いにブロックされたのかも知れないし、正直心当たりもある。
だが、全く知らない人に話しかけてもまるで聴こえていないし見えていない対応をされるのだ。WORLDの全員からブロックされたのと同等の状態になっている様に思える。
とりあえず、私はサポートAIを呼び出した。自分が置かれている状況について把握しなければ。
呼び出してから秒もしないうちに現れたサポートAIのアバターはそんなことを言った。
昔、システムのサポートを人間がやっていた頃はサポートにすぐに繋がらないのが普通で、その頃の名残りらしい。
サポートに率直に聞いてみた。
「そのご質問にはお答えできません」
「私の姿や声が他の人に見えないし聞こえないみたいだけど、システムの異常?」
「いいえ、異常ではありません。お客さまのその状態は、あと5日ほど続きます」
AIの答えに私は合点する。
この状態になったのが昨日からだから、だいたい一週間のシャドウバンらしい。
私はその苛立ちをAIにぶつける。
「このWORLDは既にコミュニケーションのインフラと化しているのに、他の人と話せないのがどれだけの不利益か分かってるの?」
「しかしながら、お客さまには利用規約の第5条、他の方とのコミュニケーションについての規約違反が確認されました。ご了承願います」
「その質問にはお答えできません」
AIが苦しげな表情のまま言う。
サポートAIのアバターにこういう表情を変える機能が付いてるのは、その方がクレームが収まりやすいかららしい。
私も腹が立っていたが、このサポートAIに怒り続ける気はだんだんと失せてきた。
「まあ、分かった。行っていいよ」
まぁ、正直規約違反扱いされたことについての心当たりはなくもない。ムカつく話だが。
それに、こういった話は具体的な基準をユーザーに悟らせないために、こうした画一的な対応をするのがセオリーになっている。
このまま話を続けても無駄だろう。
サポートAIが立ち去ったあとに、このサポート内容を評価するように促すウィンドウが表示されたが、適当に星1評価にしておいた。
心当たりはある。
最近、そのクソアマはバーチャルアイドルのナンにハマったらしく、クラスメイトが集まるroomで大声で雑語りをしていたのだが、その内容が間違いばかりで聞くに堪えなかった。
私はナンをデビュー時から追いかけているガチ勢だから、新参が大きな顔をしてナンについて語っているのが許せなかった。
そこでナンについての間違いをいちいち訂正していたら、ウザがられて大げんか、結果総すかんを食らったのだ。
WORLDで知り合いに無視され始めたのもこの件が原因だと思ってあまり気にしてなかったのだが、初対面の人とも話せないシャドウバンになってしまうとまでは思ってなかった。
あのクソアマはきっと私をブロックするだけでは飽き足りず、取り巻きを使って通報までさせたのだろう。
それで1週間のシャドウバンになるのは正直納得がいかない。だが、サポートAIの返答はさっきの通りだ。
とりあえず、あのクソアマがどうしてるのか気になるのでクラスメイトが集まるroomに向かってみた。
そこには、わたしが何に怒ったのか全く理解した様子のないクソアマが、あいも変わらず取り巻きに囲まれて、ナンについての雑語りを続けていた。
他にもクラスメイトはいたが、みんな思い思いに話をしていて、私がいなくなったことに全く気づいていない様子だった。
もちろん、私の姿に気づくそぶりを見せる人もいない。
私がこのroomで見えなくなってからもう二日目のはずだ。
普段話す友達のところで会話に聞き耳を立てても、私のことを心配した様子もない。
シャドウバンにまで至ったからには多分クラスメイトほぼ全員があのクソアマの話を聞いて私を通報したと予想できる。
だが、それを後ろめたくも思っていなさそうな様子で明るく話をしている。
他のクラスメイトも皆そうだった。
それにいざ自分がなってみると、何とも言えない気持ちになった。
自分の存在に気づいてもらえない寂しさと怒りが混ざり合った感情だ。
だから、思い知らせなければと思った。
私がここにいるということを知らしめなければ。
WORLDにはスクリプト機能がある。自分がWORLD上で行うルーチンワークをプログラミングして自動化する機能だ。
私はそれを使ってアバター用のアクセサリーの3Dモデルを指数関数的に複製するスクリプトを書いた。
これでroomの負荷が上がり、このroomは強制的に落とされることになる。
これを実行することは当然規約違反だ。
それよりも、自分がいないものとして扱われている現状が嫌だった。
だから、皆を巻き込んでroomをぶち壊して思い知らせてやりたい。
この爆弾スクリプトを実行すれば、このroom内のユーザーは皆自分のアバターが操作不能になって、強制ログアウトさせられるはずだ。
そうすれば、嫌でも皆思い知るはずだ。ここに見えていなくても私がいたということを。
もちろん私も巻き込まれるが、それでいい。
思った通りに強制ログアウトをさせられて、ゴーグルの中で目を覚ます。
WORLDの利用資格を無くした通知だった。
だが、それでよかった。
今ごろ皆混乱しているはずだ。
殆どのクラスメイトはそのメッセージすら無視したけれど、1人だけ、仲の良かったクラスメイトからメッセージが返ってきた。
それで私は悟った。
おそらくではあるが、シャドウバンさせられた私が訪れたroomは本当のroomじゃなくて、コピーされ隔離されたroomだったのだ。
私が爆弾スクリプトを実行したroomにいたクラスメイトたちは、本当のroomからコピーされて映っていた影法師でしかなかった。
だからあのスクリプトの影響を受けず、ログアウトさせられることもなかった。
私は激しい怒りを覚えた。
私はWORLDでどこまでも透明にさせられた。
誰も私に気づかないし、誰も私を気にしてないし、誰も私が起こした事件にすら気づかなかった。
どうして、寂しい、許せない。
そして、WORLDを永バンにまでなった。私はもうこれ以上WORLDに関われない。透明人間どころではなくなってしまった。
もし、爆弾スクリプトの効果と引き換えだったらそれでも良かった。
でも、WORLDの片隅のroomを壊す爆弾スクリプトすら意味のないものに、透明にさせられていた。これでは全く帳尻が合わない。
全て、この世界のせいだ。
私はこの世界にいないことになっている。
だから、私は私の存在を取り戻すために、もっと確実でもっと大きな何かをやらなければと思った。
誰もが私を無視できなくなるような何かを。
私が透明ではなくなるための何かを。
プログラミング未経験から1ヶ月ほどで、将棋の評価値の新たな方法でのグラフ化を行うPythonツールを作った。
https://github.com/k-the-p/notherscore
この記事は2本立てです。プログラミングより結果のグラフや将棋に興味がある方はもう一方の将棋編から読むことをおすすめします。
未経験から1ヶ月!Pythonで観る将ライフを向上させた話(将棋編)
AIはわれわれアマチュアの将棋への親しみを大幅に向上させてくれた一方で、棋士が悩みに悩んだ結果として評価値が下がる手を指してしまったときに、「悪手きたwwww」と騒ぐ主にABEMAのコメント欄には忸怩たる思いがあった。
とはいえ、もう評価値を知らなかった時代に後戻りするなんてことは誰にもできないだろう。そして、電王戦から将棋にハマった自分自身としても、AIを否定はしたくない。
であるなら、AIを用いた新しくよりよい将棋の楽しみ方を探っていくしかないのではないか。
以前から私は、「AIの手を指せるなら人間も苦労しないんだよなあ」と思っていた。あるとき藤森哲也先生がYoutubeチャンネルで言っていたことを聞いて得心がいった。「AIの一手は最強の一手なんです。確かにプラス1000点になるけど一手間違えた瞬間にマイナス何百点になるような綱渡りの手。それよりもアマチュアの皆さんにはプラス数百点で得は少ないけど安全な道、最善の一手を学んで欲しい」(大意)と。
ここで言う「最強の一手」に人間にして最も近いのは紛れもなく藤井聡太四冠であろう。藤森先生はアマチュアに向けて喋っていたが、その葛藤は間違いなくプロの中でもあるはずである。渡辺明三冠が言うように「藤井くんと全く同じスタイルを今から目指しても絶対藤井くんより強くなれない」のは自明であるからして。
私はここにドラマがあると思う。また、最強の一手と最善の一手が等しく「いい手」に見えてしまうわれわれアマチュアとしては、そこを機械に教えてもらえるのであれば、棋力向上にも繋がりそうである。
第1候補手と第2候補手の評価値の差を取ってグラフ化すればよさそう?
(差が小さければ手が広い、差が大きければ絶対手に近い、綱渡り)
目指すのはあくまで便利な将棋ツール。将棋AIを作りたいわけではないので、将棋AI自体は局面を入れたら評価値を吐く謎の箱という扱いでよい。
グラフ化や数値の扱いだけでなく、将棋AIとのやりとりをやってくれるあれこれもあるようなので。
あと習得が楽だと聞いた。その話を教えてくれた人はもう10年間英語学習法をブクマし続けてるけど。
あと「読みやすいコードじゃないと動かない」って設計思想がかっこいい。ついでに言うといわゆる「おまじない」が少なそうなのも魅力。(CのHello worldで挫折した経験あり。studio.hって何……)
プログラム講師をやっている?方が音楽制作を初歩からやってみる、という(残念ながら)リアルタイム視聴者が俺だけしかいないような配信があったので、音楽の基礎(についての知識は持っていた)を教えてあげたお返しのような形で、「pythonでこういうことがしたくてこういうライブラリがあるのはわかった。経験はHTML+CSS(変数導入前、Bootstrapなんてなかった)のみ。どうしたらよいか」という質問をしたら、「progateは簡単すぎると思うのでPaizaが丁度いいのではないか」というアドバイスを頂き、比較もせずに即登録したのだが結果的にはこれがドンピシャだった。
最近流行りの、環境構築不要で講座の内容を書いて覚えるタイプのサイト。
無料で入門講座の序盤を受けていたらふと目に入ったのが、「対象者:これからプログラミングを学びたい方。HTMLがどのようなものかを知っている方。」でYoutuber先生のオススメ完璧か?と思った。そして実際に完璧だった。
基本的に1講座3分+演習1~2問+やりたければ問題集たくさんという形式なのだが、これが簡単すぎることなく難しすぎることもなく、俺の知識レベルにベストマッチだった。基本的に毎回何か書くことになるので、変数とは~みたいな解説だけで終わる回がほぼ無いのも飽きなくてよい。
Python入門(と言ってはいるがまだこれだけで発展編はない)の見出しは「プログラミングとは」「条件分岐・比較演算子」「ループ処理」「リスト」「辞書」「多次元リスト」「関数」「クラス」「クラス発展」「例外処理」に各5~8講座*3分+演習、という感じ。クラス発展の途中で行けそうだと思ったのでドロップアウトして実製作に移った。実際関数まで理解していれば、この程度の小さなツールには十分だった(もしかしたらクラスを使えば多少楽になった場面はあったかもしれないけど)。
また、これは書いてる今気づいたことだが、上のコースで学んだことで、実際に役立たなかったものはほとんどなかった(強いて挙げれば辞書くらい?使えてないだけかも)。このこともコース構成の優秀さを示している。
ここまででだいたい2週間くらい。
もともとこのサービスは知っていたのと、谷合先生が実際に使っていたように、便利そうなライブラリのcshogiが主にcolab(jupyter)上で動かすことを意図しているようだったので、まずここから入った。最初はcshogiが列挙してくれる特定局面での合法手をリストに入れて、そのリストの項目数=その局面での合法手の数を出力することから始めた。これは本当に簡単にできて興奮した。
学習と好きなことが直結してると、こんなサンプルコードみたいな簡単なことで喜べるのでコストパフォーマンスがよい。
cshogiのチュートリアルで紹介されているレサ改というAIがどうもmultipv(有望な候補手を2手以上挙げる)に対応してないらしく、強さ的な問題でいずれ手を出すつもりだった予定を繰り上げてやねうら王との連携を試みる。
makeって何?あー、もりかしてMakefileが無いと動かない?(これを書いている今もこんな理解である)みたいな人間でもなんとかやねうら王をビルド?することはできた。レサ改をcshogiに読ませる数行のサンプルコードがとても役に立った。今でもあの完成品らしき拡張子が無いファイルがなんなのか分かってない。(なお、評価関数nn.binが無いと怒られたのでどこのご家庭にもある水匠4のそれをぶち込んだら動いた。評価関数とやねうら王の分担は今もって理解があやふや)(また、途中でAyane[やねうらお氏謹製ライブラリ]も使おうとしたがcolab上では上手く動かす方法が分からなかった)
一応これでcshogiで局面の最善手と次善手およびそれらの評価値を呼び出せるようになったのだが、単にdebugでずらずらと余計なものまで出力するのではなく、重要な指し手周りのinfoだけ出力するようにしようとしたが、上手いやり方がわからず、結局こうなった。
sys.stdout = open('out.txt', 'a') engine.go(listener=print)
ここは絶対もっとマシなやり方があるはずなので、識者の教えを請いたい。
Colab上でまあまあ目処がついたので、この辺りでPythonの環境を作った。ここまでそれをやっていなかった理由は、「おま環」トラブルの可能性をなるだけ遠ざけておきたかったからである。環境が悪いのか俺が悪いのか分からない、というのは初心者にとって限りなきストレスである。あーネットが繋がらなくてルーターの設定や接続とか支払いとか文字通り部屋をひっくり返しながら調べてたら実はフレッツ自体が落ちてた件を思い出してイライラしてきた。cshogiはJupyter上で動かすことを意図しているようなので、それで動かなければ自分の書き方が間違っているのだとほぼ確実にわかる。
まあこの辺りはいろんなサイト見ながら仮想化などしつつ普通に。仮想化が何か分かってないんですけど。
これまでColab上で書いてきたものは多少の書き換えで動いたので、ローカルにJupyter notebookをインストールして、数字の計算とグラフ化を試みる。
ちなみにこの時点で得られているデータはこんな感じ。
go info depth 1 seldepth 1 score cp -47 multipv 1 nodes 483 nps 241500 time 2 pv 3c3d info depth 1 seldepth 1 score cp -86 multipv 2 nodes 483 nps 241500 time 2 pv 4a3b info depth 2 seldepth 2 score cp -53 multipv 1 nodes 847 nps 423500 time 2 pv 3c3d 9g9f info depth 2 seldepth 2 score cp -68 multipv 2 nodes 847 nps 423500 time 2 pv 8c8d 7g7f info depth 10 seldepth 17 score cp -78 multipv 1 nodes 100163 nps 1963980 time 51 pv 8c8d 2f2e 4a3b 7g7f 3c3d 2e2d 2c2d 2h2d 8d8e 6i7h 8e8f 8g8f info depth 10 seldepth 17 score cp -111 multipv 2 nodes 100163 nps 1963980 time 51 pv 3c3d 7g7f bestmove 8c8d ponder 2f2e go info depth 1 seldepth 1 score cp 117 multipv 1 nodes 206 nps 206000 time 1 pv 2f2e info depth 1 seldepth 1 score cp 78 multipv 2 nodes 206 nps 206000 time 1 pv 7g7f ...
今回の小目標は、goで区切られた中から下から2行目と3行目のcpほにゃららを取得していい感じのリストにする、というものだ。この辺りは正規表現でなんとかなるだろうと見通しを立てたが、実際そうなった。
ただ、後手が見たときの評価値が後手目線なので、それだけにマイナスをかけるのはどうするか(そうしなければ、先手+3000点の次が「後手から見て」-2900点だったりして綺麗にグラフにならないのだ)を調べるのに結構時間が掛かった。
また、詰み周りでまたプラスマイナスやカンストの絡む計算をしたくないのもあり、数値にNaNを入れてグラフ表記を省略することにしたのだが、そうするとnumpyの関係で整数(とNaN)しか扱わないのに浮動小数点で計算しなければいけなくなって若干気持ち悪かったり。まあ動くのでヨシ!
この時点で、ローカルにKIFファイルを保存し、pyファイルでcshogiと水匠を動かし、Jupiter notebookを開き評価値グラフと手の広さのグラフを重ねて表示する、というそれなりのものは出来上がった。
簡単に言えばpyファイルで1手10万局面(森内チャンネルに出てたHEROZの方が使ってた数字をそのまま使っているので特に意味は無い)探索させ、最善手と次善手についての生の評価データを吐き出させ、ipynbでそれを整形し、グラフ化している。
基本的に全部VSCode上でできるので、慣れれば計算時間も含めて10数秒で結果が出るのだが、このワークフローはいかにも美しくない。
なので、Flaskという簡単らしいフレームワークを使ってローカルでWebアプリとして使えるようにしようと思った。inputとoutputをどうにかするだけだから余裕やろ。
Google colabを触り始めてからここまで1日。圧倒的成長!
Paizaラーニング再び。後半ではデータベースとか本格的な話もあるようなのだが、txtに書き込む一行掲示板を作るまでの前半部を高速で履修(演習は全部飛ばした)。なるほどー、こうやってやりとりするのね、と最低限は完全に理解した。
Jupyter向けのコードを普通のPythonに直してあっちで数字を出してこっちでそれを受けて元に戻して……とかやってると循環参照か何かで怒られることに。その対策に細かく部分を分けて関数にしたのだが、その場合ってもしかしてdefの内部しか読まれない?(共通部分も読まれると思ってた)(いや、共通部分は読まれるけど他のdef内が見えないのか?何も分からん)なるほど。こうなると関数の内部から上に戻るためにクラスとか欲しくなるのかなーという感想。
最終的にWebに公開しようとこの時点では思ってたので、txtに一旦出力するのが安全性的にどうかとか考えてたのだが、テキストの読み取り周りでハマる。結局抜け出せず諦めた。
以降は、HTMLにダブルクオートが抜けてるのに一時間気づかないとか、FlaskのXSS対策の対策をするとか、ファイルの書き込み設定をミスって2万手くらい蓄積されて評価値グラフが大変なことになったが、原因に気づかずひたすらグラフ生成部を調べ続けるなど、非本質的な問題にかかずらっていたので書くことは特にない。
なので、最初にgitignoreしてなかったせいで1万ファイルくらい上げそうになったけど、それ以外は特に問題も無く。中間報告からここまで2日ほど。結局1ヶ月かけずにプログラミングをそれなりに身につけることが出来た。「プログラムを覚えたければ作りたいものを見つければいい」というのは本当だな、と改めて思った。
https://anond.hatelabo.jp/20220107060727
どれくらい書けるようになったのか、を見たい方は主にvalue_output.py(将棋AIに思考させてデータを取り出す)とgraph.py(データを整形してグラフを書き出す)を見ていただければいいかと思います。
最初にPaizaを教えてくださったYoutuberの方、cshogiを初心者でも使いやすいように作って展示してくださったTadaoYamaoka様、水匠開発者のたややん様、水匠含めこんにちの将棋AIの基盤を作ってくださったやねうらお様、cshogiを通して利用したpython-shogiのKIFパーサーを書いてくださったTasuku SUENAGA様に、厚く御礼申し上げます。
Pythonの無言ブクマをよく見かけるのでネットワークに続いてちょっと書いてみることにしました。
東大・京大のコンテンツが初心者向けでおススメという言説を見かけるのだけど、これは本当だろうか。私は人を選ぶのではないかと考えています。
あれは確かによくまとまっているし、初心者向けに制作されてはいるのだとは思うのですが「大学の学生に向けた授業で用いる」内容だということを失念して手放しで称賛しているきらいがあるなと。
私としてはあの資料は以下の前提で用意されていると考えています。
とはいえ、資料を読んだ時の理解度など人それぞれですから、私が勝手にそう思っているだけなのかもしれません。
あの資料が本当に初学者である自分に向いた資料であるのか。挫折せずに続けられそうか。それは10分やってみたらわかると思います。
なのでまずは10分だけでもいいので実際に試してみて欲しいです。
なお、10分というのは、Google アカウントをお持ちの方限定で、AndroidもGmailなど、Googleのアカウントなんて持ってないぜという方は、アカウント作成にプラス10分割くか、Googleに与したくないということであれば似たような環境であるAnacondaを導入してJupyterNotebookを起動させるかのいずれかで試してください。
後者はnotebook立ち上げる前にめんどくさくて嫌になる可能性があるけど、ポリシーの問題だから仕方ないよね。
Pythonの実行環境は色々なパターンが増えましたが、2021年現在で一番お手軽に試せる環境は Google Colab です。異論は認めない。そしていまんとこ無料なので安心して欲しい。
Google Colab:https://colab.research.google.com/
アクセスすると「Colaboratory へようこそ」というページにたどり着きます。
タイトルの直下にメニューが並んでおり、そこから「ファイル」⇒「ノートブックを新規作成」と選ぶだけで新しいノートブックが開きます。このノートブックというのが Python を実行するための環境になります。
もしGoogleアカウントにログインしていない場合、ここでログイン処理が間に挟まるので、その場合は粛々とログインするだけでOKです。
再生ボタンのようなアイコンと、その横にテキストボックスが表示されたと思います。このテキストボックスは「セル」と呼称します。Excelと同じですね。
これは所謂Jupyter Notebookというもので、Google Colabのカスタマイズが施された専用バージョンです。
では、このテキストボックスにまず「1+1」と書いて実行してみましょう。
実行は再生のアイコンをクリックするか[Shift]+[Enter]キーを押下するかのいずれかで行なえます。
結果として2と出れば完璧です。
下にもう1個セルが出てきたと思います。今度は次の2行書いて実行してみましょう。
msg_text = "Hello World!"
print(msg_text)
所謂Hello Worldですね。文字列が表示されたと思います。
ここでお気づきかも知れませんが、最初の1+1はprint()を省いても結果が出力されました。
実はGoogle Colab(とその元になったJupyter Notebook)では、print()を書かなくてもセルの最後の結果を表示してくれる機能があります。
これはPython標準機能ではありませんので、その点にはご注意ください。基本的にはprint()などの表示するための関数が必要で、セルで実行する際には例外であると覚えておいてください。
さて、これでPythonを実行する環境が整いました。多分ここまで5分も掛からずに実践できたと思いますがいかがでしょうか。
Pythonプログラミング入門: https://utokyo-ipp.github.io/
この中から以下の2つをGoogle Colabに写経しつつ実施いただきたいと思います。残り時間でぎりぎり終わるところまででひとまずいいかなと思います。10分頑張ってみましょう。
いかがでしょう。Python楽しそうだと思えたでしょうか。このまま学習を進められそうでしょうか。
まず、このまま続けられそうであれば、この資料は向いている(素養がある)のだと考えます。上記で飛ばした以下の項番も含めて順番に項目をやってください。
私見ですが、この資料は学習順序も考えてまとめられた資料と思われるので、つまみ食い的に興味があるところだけというのは余りおすすめしません。
一歩ずつ進めていきましょう。それだけでPythonの入門は可能です。がっつり時間を割けるなら1週間もあれば入門できてしまうでしょう。
一方で、ちょっと無機質すぎて読みすすめるのに飽きてきたという方もいるのではないでしょうか。必要最低限の情報だけずっと読みすすめるって意外としんどいものです。
そんな人は、少しお金はかかりますが、やはり教科書の類を購入することをおすすめします。
体系的にまとめつつコラムなどを挟むことで読み進めやすいように配慮されたもので、挫折せずに最低限の知識を得るための最初の一歩としては、やはり書籍が良いでしょう。
初心者向けに漫画形式にした入門書もありますし、網羅的にまとまった教科書系も人気があります。
まずは最初の一歩だけ、必要最小限の知識を得るための電子書籍であればこんな本もあります。
https://amzn.to/3lOodKF:Pythonに興味はあるけれどもはじめの一歩をなかなか踏み出せないでいる人のためのPython「超基礎編」
Kindle Unlimited 対象なのでPrime Reading 加入者であれば無料で読めるのでお手に取ってみませんか。
これで駄目そうなら「マンガでざっくり学ぶPython」が良いのではないかなと思います。
https://amzn.to/3aL0819:マンガでざっくり学ぶPython(パイソン)
京都大学の資料も拝見しました。こちらも内容としてはそれなりの網羅性があり、脱・初心者にむけた内容にまとまっているとは思います。
難点はやはりアカデミックすぎるかなというところです。
https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/245698/1/Version2020_02_13_01.pdf
東大も京大も「一般的な初学者」向けかというところに疑問符をつけたいのです。2冊目、3冊目辺りの知識強化として用いるのが良いかなというのが個人的な見解で、1冊目はもう少しやさしい内容から始めるというのが良いと考えています。
また、ゼロからの知識習得というものは Web の1ページをつまみ食いしつつ覚えるというのは結構難しくて、それなりに体系化されたまとまった情報を順番に辿るのが近道だという風に私は考えています。
1. 初学者向けのかんたんな Python 本を買う(変数・関数辺りが理解でき、イラストなども交えているのが理想的)
2. 知識補強として京大資料 または東大資料を参照し、復習しつつ 項番1 の本では得られなかった知識の補強を行う(ここで脱・初心者を果たせる)
3. 自分が本当に目指したい分野の知識習得にあたる(項番 2 までで得られるのは汎用的な基礎知識である。画像編集や機械学習・深層学習などはほぼ含まれていない)
そして、項番 1 の候補で挙げた本も250円(Kindle Unlimited対象)と、1,574円です。時給換算で2時間分程度の費用で、右往左往せずに目的地に目指して進むことができると考えたら、そこまで高い買い物でもないのではないかなと考えています。
投げ出したくなるような学習方式に敢えて挑んで、その通り放置してしまうのが一番勿体ないなと思い、この記事を作成いたしました。
なんとなくググったらたどり着きました。Python Japanという老舗のサイトで初心者向けコンテンツを掲載しています。京大/東大の資料より先にこちらを試したほうが良いかなと考えます。試しに覗いてみてください。
ゼロからのPython入門講座:https://www.python.jp/train/index.html
他にも有益なコンテンツが出てくるでしょうから、コンテンツの個人的な評価を anond:20211023221206 の記事にまとめることにしました。
cat filename.jurina
print "Hello world";
public class filename{
public static void main(String[] args){
System.out.println("Hello world");
}
}
と出力するプログラムをjurinaと名付けるとする
cat filename.jurina
int i=1;
print i;
public class filename{
public static void main(String[] args){
int i=1;
}
}
Javaに置き換えて出力するだけのJava プリプロセッサである
今期のSF枠は円城塔脚本のゴジラSPがぶっちぎっていると思う。怪獣と「時空を越えて存在する異次元の物質」「特異点」を絡めたゴリゴリのハードSF。
数理SFとして極めてハードな一方で、怪獣モノとして(今のところ)スルっと見られる異色作。
ただ、いかんせん(文章は読みやすいが文系にはぜんぜんわからない話を書く)円城塔なので、外連味が難解さを越えずに最終回まで走ってくれるかちょっと危惧している。
リゼロ好きだからVivyも見てみるけど、ゴジラのリアタイでめちゃくちゃ盛り上がってるので、「久しぶりの」って言われると違和感がある。
既出だけど「デカダンス」とか、最近だと野崎まどが「正解するカド」、劇場アニメで「HELLO WORLD」やってたし、SFアニメは近年そこまでレアでもないと思う。
昔はプログラムはパンチカードに穴を開けてそれを読み込ませて実行してたんだよ。
UI は紙。
昔の映画で科学者がパンチカードの紙を眺めてるのを見たことない?
このまとめ↓みたいな感じ。
https://togetter.com/li/1317261
あと、今ほどいろんな処理をしてる訳ではないし、CPU の命令セットも少ないから、そこまで大変だったわけではないと思うよ。
雰囲気だけなら brainfuck をやってみると感触をつかめるかも。brainfuck はよりチューリングマシンに近いシンプルな言語。hello world くらいならすぐに書けるよ。
あとはそれを0か1かで表現してパンチカードに穴を開けるような感じだと思う。
https://ja.m.wikipedia.org/wiki/Brainfuck
というわけで、釣りっぽいけどあえて書いてみた。