「Ruby on Rails」を含む日記 RSS

はてなキーワード: Ruby on Railsとは

2019-04-17

若者応援おじさんの思い出

https://twitter.com/MAEZIMAS/status/1113114798672113665

若者説教する老害は二流。

一流の老害は「君たちこそが真のニュータイプだ」とか言って、若者自分既得権益確保のための鉄砲玉にする。

…いやマジ本当に、若い人気をつけてね。若者説教おじさんは、せいぜいまだ極限の不愉快ですむけど、若者応援おじさんに乗せられると最悪人生詰むので…

というツイート流行っているので、私が遭遇した若者応援おじさんについて書こうと思う。

当時の私は親との折り合いがつかず、学力もそこそこあったし、勉強もしていたのにも関わらず大学に進学せずにフリーターをしていた。実家を出たかったし、大学にも進学したかたから金の工面が当面の目標だった。そんなとき出会ったのが若者応援おじさんのAさんである。Aさんはバブルの頃に就活をしていて、まだインターネットやパーソナル・コンピュータというのが流行る前から電子工作プログラミングをやっていた人だった。実際、経歴を聞いてみると10回以上転職を繰り返しているものの、有名企業(今にして思えば、カビ臭いSIerだが)で部長をしていたことがあって、年収が1700万ぐらい稼いでいたこともある人だった。

最初出会ったとき自分が如何にすごいかということを熱心に語っていた。80年台後半ぐらいのコンピュータ開発の大型プロジェクトに関わっていたとか、セキュリティ専門家とか、今までに触ったことのあるプログラミング言語が300個を超えるとか。でも、当時の技術的なトレンド(MongoDBRuby on Rails、AngularJSとか)についての知識が限りなく少なく、「フレームワークなんてその場で覚えればいい」みたいなタイプだった。中学生の頃にラジオ工作したとか、はんだごてで電子回路設計したとか、そういう話は熱心にするのに、Bram Moolenaarの名前を知らなかったりした。要は、最近プログラマがどういう関心やインセンティブプログラミングやってるかを知らずに、過去の栄光を語ってるようなタイプだったと思う。

まぁ、それでも、その人のコネで中規模程度のSIer入社して、そこそこいい感じの待遇だったように思う。当時の私の技術力は『わかりやすJava入門』『たのしRuby』を一通り終わらせて簡単言語仕様を把握したぐらいでろくにコードも書いたことのないような人間だったから、定時で帰れて手取り二十万もらえるのは甘い汁を吸えたとは思うんだ。

でも入社を決めた一番の理由が、そのAさんが私の関心に理解があると思っていたからだ。というのも、当時の私は「人工知能人工生命に興味があります。三年後に大学入学するまでにプログラミングスキルを磨きつつ生活費学費を稼ぎたい」ということを明言した上で、それを叶えてくれる会社を探していた。技術力はないものの、「自頭がいいか入社してからプログラミングを覚えればすぐに戦力になるよ」と複数人間から言われていて、それぞれ就職先を紹介してもらえるような状況になっていた。今から思えば、そんなコードを書けない人間を自頭なんて胡散臭いもので褒めるような人間は信用してはいけないと思うし、口車に乗せられたと思うのだけど。そこは自分にも甘いところがあったように思う。あ、あと、補足しておくと、当時はDeep Learningなんていうのは全く人口膾炙してなかった時期で、スチュアート・カウフマン金子邦彦に憧れてたような、周回遅れの複雑系に魅せられた若者が私だった。

駄文を書き連ねてしまったが、要は

①親との折り合いが悪く、大学に進学したいが、金が足りない

実家を出るために生活費を稼ぐ必要があったが、飲食バイトとかではスキルが身につかない状態で、価値の高い若い時間無駄にしてしま

③そんなところに現れたのが過去の栄光を話す若者応援おじさんのA

自分殆どコードを書いたことのない業務経験で、21世紀になっても複雑系の話に興味をそそられるような斜に構えたスノッブ

という状況設定理解してくれればいい。

では、入社後の話をしよう。私が配属されたプロジェクトは80万行程度のJavaコードで動いてるBtoB向けの製品保守開発してるプロジェクトだった。やってることはGoogleAmazonMicrosoftみたいな大手ならやってるようなサービスの完全下位互換みたいなソフトウェアを、情弱だけど社員数は多いみたいな企業に売りつけるような仕事だ。国産とか、セキュリティとか、そういうよくわからない言葉を並べ立てて、海外UIも洗練されていて、優秀なエンジニア管理してるものセキュリティ的に怪しいと不安煽り立てて売りつけるようなやつだ。そんなクソみたいな製品でも年間5億円ぐらいの売上になるのだからIT系って糞だなって思う。ネット上では優秀な人間ばかりがアウトプットしてるし、NDAの名の下に詐欺まがいのソフトウェア(今回の例なら無料UIも洗練されていて、使いやすサービス)が明るみにならないのだから、こんな国はさっさとスクラップ・アンド・ビルドすればいいのにって思うよ。IT化されてないのが時代錯誤で〜みたいな記事ネット上でもバズるけど、実際には10年前のスパゲッティコードを惰性と不安につけ込んで売りつけるようなSIerがたくさんある。そんで、そんな意味不明ソフトウェアを導入すれば、どこに何があるのか分からないUI操作に大切な業務時間を奪われて、日本全体の生産性が落ちてしまう。ユーザー時間生産性を奪い、開発者にとっても技術負債しかならないようなソフトウェアを売りつけてる悪性腫瘍みたいなSIerはさっさと滅んでしまえばいいと思うよ。

まぁ、私が配属されたプロジェクトはそんな感じだ。まるで意義を感じないが金にはなってるプロジェクトに配属された。そのプロジェクトの根幹部分は一人のエンジニア設計開発しており、そのエンジニアは既に退職して、どこに何が書いてあるのかわかってない人間が後任として保守を行っている。盲腸みたいに全く有難みのない機能を増やすことでより高く売りつけるようなプロジェクトだった。

そのプロジェクトの中にいる人について話そう。プロジェクトマネージャー仕事漬けで毎月350時間ぐらい働いている60連勤とか当たり前で、常に酔っ払ったような、眠そうな目をしてる人だった。にも関わらず、同じプロジェクト人間仕事がなさすぎて業務時間中に関係ない談笑をしたりしていた。プログラマテスター文書作成をするスタッフが40人ぐらいいるところで、閑散期(機能追加のサーバーリリース前以外)は暇そうにしてる人が多かった。プロジェクトマネージャーを除いて。要は、PM一生懸命働いているが、その一生懸命さは惰性で行われており、無能なのに業務時間が長いPMがいて、その人が全部仕事をやってしまう。他人に頼めない性格らしくて、存在意義が分からない業務他人に頼んでは「なぜこんなこともできないんだ?」って怒鳴るのが生きがいみたいな人だった。頑張ってることがアイデンティティになってて、その頑張りに意味があるのか、必要なのかという吟味ができず、タスク他人に振ることもできず、情報もそのPM一人だけが握っているから、周りの人も「私が仕事を請け負いましょうか」ということもできない。それで新入社員をイビるような存在意義のわからない仕事を振って、できなかったら人格否定をするような感じの。

私が受けた仕事ととしては、週に1回ベンダーのところに会議をしに行くんだけど、そのときの社内の資料を全部紙でプリントアウトして持っていくというのがあった。文書作成スタッフ製品仕様Wordでまとめて、600ページぐらいのpdfにしたものが1500万円ぐらいで売れるらしく、その増えた言語仕様プリントアウトしてベンダーのところまで持っていく。追加された仕様以外にも、今週やったテスト内容をExcelで纏めたものプリントアウトしたりしていた。紙の量で言うと、一回の会議で2500枚ぐらいで、それをキャリーケースに詰めて客先であるベンダーまで持っていくらしい。聞いた話では、その2500枚の会議資料殆どまれずに捨てられるのに、そのPMベンダーにその慣習を廃止しようとは提案しない。ベンダーとの週一の会議の他にも、進捗報告を主とする社内会議があって、PM以外の人はあのプリントアウトする悪習は廃止すべきという話が上がっているのにPMが首を縦に振らないから一向に改善されない。まぁ、そのプリントアウトするのをやるのが私の仕事だったわけですよ。毎週4時間ぐらい掛けてWordExcel文書サイズとか調整してさ。元の文書サイズや余白が狂ってるのに、客先に失礼だと言われて、手直しして、プリントアウされたコロコロコミック何冊分だよ? みたいな紙の束をホチキスで止めていくんだけど、ホチキスの止め方が汚いとやり直し。

じゃあ、なぜPMは頑なに意味のない業務をし続けて、それによって新入社員を使い潰そうとするのかと言えば、弊社の業績が悪くて倒産しそうだったときにそのベンダーが手を貸してくれたからそのときの恩義があるとかなんとか言っていた。だから、靴を舐めるようなことをするし、他人生産性を奪うようなクソ製品を世の中に出して何も感じないらしい。読みもしない産業廃棄物を作り出して、それを無碍にされて喜んでいるような業務が、今の日本の何割を占めているのだろう? そのPMの口癖は「俺はプログラミングは全くわからないが、こんなプリントアウト段取りもできないようなやつはプログラミングなんてできないと思うよ」だった。FizzBuzzどころか変数関数すら知らないような人間にこんなことを言われるのは屈辱だったし、これが高卒経験就職することなのだろうと思った。

他にも、私が受け持った仕事に、製品が動くかどうかを確認するテスターという仕事があった。RSpecSelenium自動化しようと言っても、そんな技術を持ってる人がいなかったから、一々自分でその製品を触って仕様通りになっているか確認しないといけなかった。画面遷移が600ページのpdfになっているから、それを見ながら正しい画面遷移ができているか確認する業務だったが、正直人間のやる仕事ではないと思う。画面遷移だから前のページから次のページに移行したときに前にどのページだったなんてスクショを撮ったぐらいじゃわからないのに、「このテストExcelにした内容じゃ、本当にテストしたのかわからないだろう?」と言われた。言われたとおりにExcelファイルスクショをひたすら貼り付けていたというのに。しかも、その他にも特定ファイルアップロードするときにどの条件だとアップロードができないか判別するテストをどうやって行うのか考えろというのがあった。今までにテスターをやっていた人に聞いても指針なんてないと言われ、「賢い人はそういうのを考えつくものだ。俺はパソコンに詳しくないが」とPMに言われ、嫌気が差した。

まぁ、ここまで書けば、如何にブラックと言うか、理不尽で不合理な職場かというのはわかったと思うけど、いい面もあったんだ。前にも書いたように、未経験高卒手取り20万貰えたのは嬉しかったし、研修のない会社だったから、最初の二ヶ月ぐらいは一人で勝手勉強しててと言われたから、実働換算で時給3000~4000円ぐらい貰える計算だったのかな。一番瞬間時給が高かった日はメールの返答に20分ぐらい使ったときだったから、日給1万、実働換算の時給が30000円ぐらいになった。それぐらい放任されていた。

最初社長が「君にはソースコードUMLを書いてもらおう」とか言って、クラス図を書く練習をしていたんだけど、現場の人は「今更UMLなんて必要ない」「ソースコードを読めばわかる」と言って、全く必要とされていなかった。だから業務とは関係ないTCP/IPRubyGit勉強をしていた。家のことで勉強に対してモチベーションが落ちていた私は、金を貰えるという環境では目の前の勉強に集中できるようになって、元の勉強するための生活リズムっていうのか、そういうのを取り戻せた。それは当時の私にとっては有難かったと思う。

ここまでをまとめると

無料で使えるサービス下位互換といえるような、他人生産性と金無駄にするような製品を開発してるプロジェクトに配属された

PMけが忙しく働いて、周りの人の割り振りができていない。

PM多忙なのはしなくていい仕事を引き受けているだけ。

社会悪のようなソフトウェアを売りつけて金を稼いでいるプロジェクトだった。

仕様書やテスト内容のプリントアウトという必要ない業務をしたり、指示内容と叱責内容が矛盾する理不尽を受けなければならなかった。

しかし、勉強してるだけで月20万貰える環境は有難く、当時の私にとっては願ったり叶ったりだった。

では、次に私がその会社入社から辞めるまでの経緯について書こう。最初のうちは、自分勉強時間を取れていたし、振られる仕事理不尽で意義を感じられないものであるものの、すぐに終わることが多かったか問題ないと感じた。それが徐々に仕事が増えていき、勉強時間が取れなくなっていった。

ここで若者応援おじさんAの登場である。Aさんは私と会ったときは有名企業に勤めていて、そこを辞めて私を紹介してくれた中小企業で働き始め、その数カ月後に私を紹介してくれた。元々、その会社社長とは懇意にしていたから、一緒に働こうという話が何十年も前からあって、今回ちょうどタイミングが合ったから、その友人の会社の重役として就職したらしい。私が就職したのはその数カ月後だった。

Aさんは「何か問題があったら、部下や上司という立場を気にせずに忌憚なく言ってほしい」「俺は人を見る目はある方だ。君は一本芯の通ったところがあるから、周りに流されずに新しいことをできるだろう」「君には将来性がある」「俺は新しい会社でも権力を持ってるからへんなことを言ったり、したりしてる人がいたら遠慮なく言ってほしい」とかそういうのを入社する前に言っていて、まぁ、色々とおかしいところ、FAKE野郎みたいな発言が多かったけど、そこだけは信じてたんだよね。本当に騙すんだったら、そんなすぐに辞められるようなリスクを上げるような発言はしないだろうってさ。ちなみにFAKE野郎って感じたのは、一方的自分の話だけをして、私が質問すると煙に巻いたり、私のことを買ってるという割には私の話をすぐに中断させて自分の話をし続けるとか。その人はFラン出身だったから、ちょっとインテリなことを言うと「君は変わってるね」って言ったり、きょとんとした顔で10秒ぐらい固まった後、すぐに自分の自慢話を再開したりと、決して自分の知らないことや分からないことを認めようとしなかった点だ。他にも、「私と働きたいと言ってくれていた会社はあったけど、そこは技術的に成長できそうだけど給料は月7万程度でバイト身分から、迷ってるんですよね。バイトから自由時間は多く取れるんですけど」みたいな発言をしたら、鳩が豆鉄砲を食ったような顔をして、私が感じていた不安を取り合ってはくれなかった。Aさんは「俺は社内で影響力を持っているから、君を正社員にすることもできる」みたいな話を延々としてたのに、いざ蓋を開けてみると、「君の面接での受け答えが駄目だから契約社員として雇用することになった」「あれから上層部に渋られてしまって、請負契約にすることになった」と話が二転三転していった。だったら、他にも選択肢があったのに、他のところに就職したのにと思ったが、自分能力や経歴で負い目を感じていたから強く言うことはできなかった。高卒就活するというのはそういうことだ。他にも選択肢があるのにも関わらず、どうせ労働に関する知識がないと足元を見られて、条件を徐々に下げられ、他に選択肢をなくした後で、悪い条件で働かざるを得ない状況になっていた。結局、勤務時間タイムカード管理されてるのにフリーランスとして請負契約を結ぶという偽装請負契約させられ、もっと技術力を磨ける選択肢は潰されてしまっていた。

私は会社問題点を丁寧に分析してpdfにまとめてAさんに送ったんだ。それが間違いだった。如何に会社がそのベンダーに良くしてもらったか、大変なのをわかった上で俺たちが会社を立て直してきたかということばかりを話していた。百歩譲ってそこはいいとしても、ベンダーとは関係なく職場環境を良くするための話までいい加減に聞かされてうんざりしていた。

「Aという問題があります。その背景にはBがあります。そのためにはCという解決策があります

という話をしたときに、「Bぐらいみんな当たり前にしている。君だけ特別扱いすることはできない」みたいな返し方をされて、問題が発生してる事自体はないものとされていった。結局、職場にはびこる不合理で理不尽業務ルール改善することはなく、私への人格攻撃で終わってしまった。

毎日どうでもいい作業で疲れ切って勉強時間が取れなくなってしまった私は、最初出会った頃のAさんの言葉を信じて、「私が本当にしたいことは、仕様書やテスト時のスクショプリントアウトしたり、よくわからないテスターをやったりすることではない。このままでは、プログラマとしてのキャリアを積むための勉強時間を作ることもできないし、業務内でコードを書くこともないか業務時間を短くしてほしい」と言った。少なくとも、最初Aさんと会ったときは、「君には人工知能このエントリーをはてなブックマークに追加ツイートシェア

2019-02-25

就職できなかった

情報系19卒。webエンジニア志望だった。

就活中にRuby on Railsつかってブログ作ってみたりした。

結果、就職できなかった。

4月から既卒

浪人もしてるし留年(休学)もしてるし在学中に不安障害になったことがある(今は、薬を飲んでいない)。

マイナスばかり。

就職したい。

2018-12-22

勉強が苦手

流行ものに弱いのでしばらく前からPythonとか機械学習勉強してるけど、モノになるころには流行りが終わってそうな気がしていまいちモチベが湧かない

そもそもつのことを集中して取り組むのが苦手

一昔前に某勝間さんとかの本の影響で英語会計統計流行った時があったけど、自分英語統計は元々身についていたので会計をやろうとしたら何が面白いのか分から簿記三級の勉強すら投げ出してしまった

その後も流行りにつられてRuby on Railsとか関数型言語とか中国語とか手を出しては投げ出しを繰り返しているので機械学習もそうなりそう

月2万円くらい技術書を買ってるけど読まずに積んでるだけなのでもはや買うこと自体目的になってる

C++以外の言語存在意義が分からないし機械学習実践的なことより数学の本読んでる方が楽しい

こんな僕でもGAFAに入れました

2018-12-06

Ruby on Railsで土日で作れるアプリアイデアください

転職活動してるんだけど、自分プロダクトあった方がいいかなと思ってるんだけど

さくっと作れるかんじのアイデアが何も浮かばなくて困ってる

TODOリストとかそういうのをvue.jsとか使ってSPAっぽくしたら反応あるかなとか思ってるんだけど

そのへんどうなのかな、誰かよろしくお願いしま

2018-11-25

とりあえず食い扶持稼ぐためだけに中小派遣IT屋に就職することが目的なら

独学でプログラミングやりました、で十分だな

Javaって言っとけば間違いない

ケイケのWebサービスアプリ開発会社場合はなんだろう

やっぱりRuby on Railsあたりなのか

趣味サービスアプリ作ってあわよくば収入を、って層はUnityあたりかな

2018-11-19

1ヶ月でJavaをマスターする学習カリキュラム

どうやったらプログラミング経験者を1ヶ月で一人前のJavaプログラマーにできるだろうか?

 

基礎

 

応用

 

これらを1ヶ月程度で詰め込むことは可能なのだろうか?

1ヶ月でJavaマスターした人がいたら、教材とか順番を教えてください。m(__)m

 

Railsエンジニア研修

はてなブックマークでバズってた宣伝を見ると、4ヶ月の研修Railsエンジニアを育成していた。

研修の成果を3行で

 

ざっくりスケジュール

4月
5月6月
7月

かなり余裕のあるカリキュラムで、OOPの基本を学ぶなら、(静的な型付けがないけど)Rubyはいいよね。

Java最初に覚えるべき知識が多過ぎて、初心者学習用途には向いてないと思う。

PythonRubyなど、グル言語LLプログラミングの基本を理解する。その後にJavaで肉付けする。という順番が良いと思う。

 

でも、いきなりJava現場に放り込まれたら、そうも言ってられないわけで、無理矢理でも1ヶ月でJavaマスターするしかない。

この無理ゲークリアするためには、教材と順番を工夫するしかないだろう。

どうだろ?

2018-11-04

増田プログラマー養成講座 その17 Webアプリの骨組み

前回は、Webアプリの完成見本を先に見てみました。

今回は、Webアプリを作る途中の過程を見て、作る雰囲気を一緒に味わってみましょう。

 

フレームワーク使用ルール=「設定より規約」=手抜きをする仕組み

最近フレームワークは、「設定より規約」(CoC、convention over configuration)という発想で作られている。

フレームワーク規約使用ルール)に従うと、プログラマー作業量が減って、楽ができる。

 

設定より規約(convention over configuration)とは、開発者の決定すべきことを減少させ、単純にするが柔軟性は失わせないというソフトウェア設計パラダイム

使用しているツール実装した規約開発者の望む動作と一致していれば、設定ファイルを書く必要もない。実装規約と望みの動作が違っている場合必要動作を設定しなければならない。

 

最近フレームワークは「設定より規約アプローチ採用しているものが多い。

例えば、Ruby on Rails、Kohana、Grails、GrokZend FrameworkCakePHPSymfony などがある。

 

CodeIgniter使用ルール

CodeIgniter使用ルールは、マニュアルチュートリアル確認できる。

↑このページの「アプリケーションフローチャート」を見てみよう。

 

  1. 一番左の「index.php」が、Webアプリ入口になっている。(エントリーポイントフロントコントローラーパターン等ともいう)
  2. から2番目の上段「Routing」で、URLに応じて、仕事の振り分け先を決定する。(ディスパッチ、マッピングルーティング等ともいう)
  3. から4番目の「Application Controller」で、具体的な処理の指示を出す。
    1. Application Controllerは、「Model」に必要データを用意させる。
    2. Application Controllerは、「View」に表示用の画面を作らせる。
    3. Application Controllerが、index.phpに表示用の画面を渡す。
  4. 表示用の画面(最終的な処理の結果)を受け取った「index.php」は、ユーザーブラウザー)に画面を渡す。

 

 


 

それでは、CodeIgniterプログラマーが用意する部分のM(Model)とV(View)とC(Application Controller)を、骨組みから作ってみよう。

事前準備として、前々回と前回のWebアプリ完成見本を用意するところまでやっておこう。

 

スケルトンとは?

スケルトン(skeleton, 骨格)とは動物人間の骨格。

コンピュータプログラムコードの骨格部分。プログラムコード作成では、初期段階でスケルトン作成し、その後で詳細部分を肉付けしていく。

 

 

 

Application Controllerの骨組み

まずは、MVCのCの骨組みを作ろう。

Controllerは、ユーザーからリクエストを受け付けて、ModelViewに指示を出す監督です。

 

上記フォルダの中に「Welcome.php」というファイルを作る。(デフォルトであるはずなので、それを使ってOK

 

CodeIgniterルールで、Application Controllerを置く場所は「application/controllers」というフォルダになっている。

CodeIgniterルールで、一番最初に呼び出されるApplication Controllerは「Welcome.php」というファイルになっている。

→これは「C:\xampp\htdocs\waf\application\config\routes.php」という設定ファイルで決められている。

$route['default_controller'] = 'welcome'; // 別の名前にすれば変えられる。

 

「Welcome.php」の中身を以下にように変更する。

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Welcome extends CI_Controller

{

 // 初期画面

 public function index()

 {

  echo "Here is index()";

 }

 // 更新画面

 public function update()

 {

  echo "Here is update()";

 }

 // 削除画面

 public function delete()

 {

  echo "Here is delete()";

 }

}

これがチャットApplication Controllerとして動作する最小限の内容=骨格だ。

 

継承

class Welcome extends CI_Controller

という行に注目してみよう。

CodeIgniterで用意されてる「CI_Controller」クラス継承して、プログラマーが「Welcome」クラスを作ってる。

継承によって、フレームワークが用意してる様々な機能をWelcomeクラス内で使えるようになる。

 

URLリクエスト)とControllerの対応マッピング)のルール

「Welcome」クラスの中に、「index()」「update()」「delete()」という3つのメソッドを用意した。

CodeIgniterURLは、Action Controllerのクラス名やメソッド名とひもづけられている。

今回作るWebアプリだと、

「http://localhost/waf/クラス名/メソッド名」

という対応関係になっている。

(例)

http://localhost/waf/        →Welcomeクラスindex()メソッドが呼び出される。

http://localhost/waf/welcome/index  →Welcomeクラスindex()メソッドが呼び出される。

http://localhost/waf/welcome/update →Welcomeクラスのupdate()メソッドが呼び出される。

http://localhost/waf/welcome/delete →Welcomeクラスdelete()メソッドが呼び出される。

 

 

 

Viewの骨組み

次にMVCのVの骨組みを作ろう。

ビューは、表示する画面の部分です。HTMLWebページの構造を書きます

 

 

welcome_index.php編集

以下の内容にして保存する。

<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>新規投稿</h2>

 </body>

</html>

 

chat_update.php編集

以下の内容にして保存する。

<?php defined('BASEPATH') or exit('No direct script access allowed');?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>編集</h2>

 </body>

</html>

 

chat_delete.php編集

以下の内容にして保存する。

<?php defined('BASEPATH') or exit('No direct script access allowed');?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>削除</h2>

 </body>

</html>

 

Viewファイルの追加に合わせて、Controllerも一部変更します。

 

Welcome.php編集

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Welcome extends CI_Controller

{

 public function __construct()

 {

  parent::__construct();

  $this->load->helper('url');

 }

 

 // 初期画面

 public function index()

 {

  $this->load->view('welcome_index');

 }

 

 // 更新画面

 public function update()

 {

  $this->load->view('chat_update');

 }

 

 // 削除画面

 public function delete()

 {

  $this->load->view('chat_delete');

 }

}

 

(変更点の説明

コンストラクターの追加

コンストラクター「__construct()」は、クラスからインスタンスが作られるとき自動的に実行されるメソッドだ。コンストラクターは、初期化最初にやっておくべき下準備を書いておく。

$this->load->helper('url');

CodeIgniterには、リンクの表示を補助する「URLヘルパー」という機能が用意されている。

上記のように書くとURLヘルパーを呼び出して、使えるようになる。

Viewファイルの以下の行でURLヘルパーを使っている。=「base_url()」という関数URLヘルパーの1つ。

<base href="<?php echo base_url(); ?>">

 

ビュー読み込みメソッドの追加

$this->load->view('welcome_index');

というメソッドによって、Viewファイルの「welcome_index.php」を呼び出し、画面を出力します。

 

これでMVCのCとVの骨組みができた。

今の段階でWebブラウザーで各ページを表示させると、各Viewファイルの中身が表示される。

 

 

 

Modelの骨組み

次にMVCのMの骨組みを作ろう。

モデルは、具体的な処理内容(ロジック)を書いて、データを読み書きする部分です。

データベースを操作するSQL文もモデルに書きます

 

上記フォルダの中に「Chat_model.php」というファイルを作り、以下の内容にして保存する。

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Chat_model extends CI_Model

{

 public function __construct()

 {

  parent::__construct();

  $this->load->database();

 }

}

 

CodeIgniterで用意されてる「CI_Modelクラス継承して、プログラマーが「Chat_modelクラスを作ってる。

「Chat_modelクラスコンストラクターには、以下のように書いている。

$this->load->database();

これは、データベースを使用する準備だ。

 

Modelの追加に合わせて、さらにControllerも一部変更します。

 

Welcome.php編集

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Welcome extends CI_Controller

{

 public function __construct()

 {

  parent::__construct();

  $this->load->model('chat_model');

  $this->load->helper('url');

 }

 

 // 初期画面

 public function index()

 {

  $this->load->view('welcome_index');

 }

 

 // 更新画面

 public function update()

 {

  $this->load->view('chat_update');

 }

 

 // 削除画面

 public function delete()

 {

  $this->load->view('chat_delete');

 }

}

 

コンストラクター

$this->load->model('chat_model');

と書いて、「Chat_model」というモデルを読み込むようにした。

これで、モデルに用意するいろんな機能コントローラーで使えるようになる。

 

 

 

以上で、MVCの骨組み(スケルトン)だけを作成するプロセスを見ていきました。

まだ中身はスカスカで、何も機能がついてませんね。

次回は、データベースのCRUD操作を行なって、チャットメッセージを追加/取得/変更/削除する機能実装してみましょう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベースの参考書

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

anond:20181031014212 増田プログラマー養成講座 その14 Webアプリの試作品作成

anond:20181101225335 増田プログラマー養成講座 その15 Webアプリの完成見本

anond:20181101230220 増田プログラマー養成講座 その16 Webアプリの完成見本(続き)

anond:20181104161900 増田プログラマー養成講座 その17 Webアプリの骨組み ←★今ここ★

anond:20181104233013 増田プログラマー養成講座 その18 SQLデータの追加と取得

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-22

増田プログラマー養成講座 その9 MVCフレームワーク

前回はオブジェクト指向プログラミングOOP)で使う様々な仕組みについて学びました。

今回はOOPWebアプリを作ってみよう!

 

今日学ぶこと

 

OOPの使いどころ

OOP文法を学んだ後、OOP長所が発揮される場面をどうやって説明したらいいのか?を考えてみた。

横田意見を参考にして、「フレームワーク」を使って、OOPの使い方を見てみよう。

 

フレームワークとは?

framework →「枠組み」「骨組み」「構造」などという意味英語

システム開発で使われる「フレームワーク」とは、よく使われる機能のパーツを用意して、まとめて1つのパッケージにしたプログラム群のことだ。

 

イメージとしては、いろんなおかずが入ってる豪華な幕の内弁当のようなものだ。

ただし、ご飯のマスだけが空になっていて、プログラマー自分ご飯を用意しないと、弁当としては完成していない形になってる。

普通の白いご飯を作って追加しても良いし、好みや必要に応じて、炊き込みご飯やまぜご飯を作って追加しても良い。

ゼロから豪華な幕の内弁当を作るのは大変だけど、ご飯だけ用意すれば完成するので楽ができる。

 

プログラムの開発でフレームワークを使うと、プログラマー必要最小限のコードを書くだけでアプリを完成させられるので楽ができる。

 

ライブラリーフレームワークの違い

フレームワーク」と似た用語で「ライブラリー」という用語がある。

イメージとしては、ライブラリーは、ばら売りのおかずだ。

弁当を作るときに使いたいおかず(ライブラリー)を自分で考えて探し出し、選ばないといけない。

フレームワーク最初からおかずが全部用意されているので、自分でわざわざ選ばなくてもOK

 

プログラム動作で見た場合フレームワークライブラリーでは決定的な違いがある。

↑このページの「図1●フレームワークにおける制御の反転」という図解を見てみよう。

制御の反転」(Inversion of Control、IoC)といって、自分の書いたコードが主役から脇役になってる点が違う。

 

(主役と脇役という説明は適切ではないかもしれないけど、イメージとしてはそんなかんじ?)

 

MVCフレームワークとは?

フレームワークはいろんな機能全部入りで、こいつを使えば、ちょっとコードを書くだけで、高機能アプリがすぐに作れる。

ここでは「MVCパターン」という仕組みで作られた「MVCフレームワーク」を使ってみよう。

 

MVCは「Model」「View」「Controller」の略で、MとVとCの3つを自分で用意すれば、アプリが作れちゃう仕組みだ。

MVC歴史は古くて、GUI(Graphical User Interfaceグラフィカルユーザインタフェース)を作る方法定番だ。

→「MVC 仕組み」でGoogle画像検索すると、分かりやすい図解がいろいろ出てくる。

 

(参考)

Wikipedia説明は、文章学術的で難しいけど、正確な説明になってると思う。

↑このページの「MVC概要」という図が、MVCの仕組み=動作の流れを分かりやす説明してる。

 

MVCの仲間たち

MVCパターンと似たような仕組みが、他にもいろいろある。

 

こういうプログラム設計に関するノウハウは、「アーキテクチャー・パターン」という分野に蓄積されている。詳細はGoogle検索してみよう。

 

WAF(Web Application Framework

Webアプリを作るときに使われるMVCフレームワークには、いろいろある。

WAFを使うと、Webアプリが手軽に作れる。

 

有名なものとして、

などが挙げられる。

 

PHPOOP学習しているので、ここではPHPのWAFの1つであるCodeIgniter」を使ってみよう。

 

CodeIgniterコードイグナイター)

CodeIgniterは使い方がシンプルで、覚えるルールが少ないので教材に向いているだろう。

それでは、CodeIgniterを使ってみよう。

 

準備

↑このページの「Downloadから「3.1.9.zip」という圧縮ファイルダウンロードする。(2018年10月現在バージョン3.1.9でした)

 

ダウンロードしたファイル解凍して、「CodeIgniter-3.1.9」というフォルダが出てきたら、「waf」という名前に変えよう。(「waf」はWeb Application Frameworkの略。)

今「waf」フォルダの中には、「index.php」というファイルや、「application」「system」などフォルダがあるね?

この「waf」フォルダを以前用意したXAMPPの中にコピーする。(参照:anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備)

=「C:\xampp\htdocs」(Cドライブの中の「xampp」の中の「htdocs」というフォルダ)の中に「waf」をコピーして下さい。

=「C:\xampp\htdocs\waf」という位置コピーできたらOK

 

動作チェック

これで「Welcome to CodeIgniter!」というWebページが表示されたら、CodeIgniter動作確認OKです。

 

CodeIngiterの設定

$config['base_url'] = 'http://localhost/waf/';

 

Webアプリ作成

それでは「Hello, world!」と表示させるシンプルWebアプリを作ってみよう。

 

MVC「C」作成する。

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

 

class Hello extends CI_Controller {

 public function index()

 {

  $this->load->view('hello_index');

 }

}

ここで注目して欲しいのは、「class Hello extends CI_Controller」という部分です。

フレームワークが用意している「CI_Controller」というクラス継承して、自分で「Hello」というクラスオブジェクト設計図)を作っている、という点です。

ここでOOPの仕組み~継承を使ってるわけですね。

 

MVCの「V」を作成する。

次に、

<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>

<!DOCTYPE html>

<html>

<head>

 <meta charset="utf-8">

 <title>Test</title>

</head>

<body>

 <p>Hello, world!</p>

</body>

</html>

 

これでWebアプリができました!

今回は簡単なので、MVC「M」は用意しませんでした。(CとVだけで完成)

 

Webアプリ動作確認

Webブラウザーで「http://localhost/waf/index.php/hello」というURLアクセスして下さい。

画面に「Hello, world!」と表示されたら、Webアプリ作成成功です!

 

Hello, world!」の表示だけではショボ過ぎるけど、Webフレームワークを使えばもっといろいろな機能が作れます

詳細は、CodeIgniterマニュアルを参照して下さい。

↑このページで「ユーザガイド(日本語)」を読んでみて下さい。

 

まとめ

 

次回は、OOP理解を深めるための参考書を紹介してみます

 

Webアプリを作るときデータベースがないと不便なので、次の次ぐらいにSQLを学ぼう。

MySQLデータベース)を使えば、掲示板などのWebアプリも作れるようになります

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう ←★今ここ★

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-20

anond:20181020133341

PythonがあればRuby不要

Ruby on RailsがなければRubyは普及しなかった。

2018-10-14

anond:20181014202553

そもそもRuby on rails自体が苦行。

1からRedmine導入がめんどくさ過ぎて死ねる。

重いしであんなもん使う理由が無い。phpで充分。

またMacはいアップロードソフトがない。Cyberduckかいゴミ

Ruby on Railsを使うならMacが良い

WindowsRuby on Railsを使うのは苦行

2018-10-02

Ruby on Rails チュートリアルがなんか気が重い、やる気が起きないのってフォントのせいだ

フォント変えてみたら一気に読みやすくなった

だいぶ損してると思う

2018-07-18

株式会社はてなで何か仕事ないの?

様々な事情企業就職できない人がいますね。

起業フリーランスなら勝手に始めることができます。(雇われる必要がない)

問題は、どんな作業をやって対価をもらうか?ですね。

 

自宅でパソコンを使う仕事

まだまだ探せば、パソコンを使う作業はいろいろあるでしょう。(あえて書かないけど違法ギリギリ仕事もたくさんあります。)

 

プログラマー

子ども向けの分かりやすプログラミング教本があります

 

ソニックガーデンという会社なら、Ruby on Railsを使えるようになったら、在宅勤務でプログラマーができます

 

小学生程度の学力しかなければ、プログラミングは難しいでしょうか?

絵が得意なら、イラストレーターになれるけど、どうですか?

歌が好きなら、DTM音楽制作とかもできると思うけど、どうですか?

何か自分が得意なことで、パソコンをやってできる作業はないでしょうか?

 

雇用確保、就労支援

今の日本に足りないものは何でしょうか?

 

あ、ここまで書いて気がついたけど、株式会社はてなで何か仕事ないの?(タイトル変更w)

http://hatenacorp.jp/recruit/

 

anond:20180717173436 誰でもいいか病人の僕を雇ってほしい、ほんとお願いします。

2018-06-02

その、興味の無いRuby on Railsとかの作業シニアエンジニアからレビューツッコミが入ると、かなり「ゲンナリ」するんですよねえ…

機能要件は満たしてるんだしどうでもええやろ、と…

プログラマやってるんですが、どうもこれじゃないよなあ… と感じています

Ruby on RailsとReactでWebアプリケーション作る作業をやってるんですが、正直RoRにもReactにもWebアプリケーションにも興味は無いのですね

なので、あまり熱心にこれらの技術を覚えようという気もないわけです

機械学習やりたいんですけど、なかなか時間が取れずにつらいですね

2018-05-31

PythonRuby どうして差がついたのか....

Python・・・機械学習に使われるようになって一気に普及

Ruby・・・Ruby on Railsのおかげでライト層に広まるも上級者には響かなかった

2018-05-27

吾輩は無職である。暇だから初めてWebサービスを作ったのである

吾輩は無職である。職はまだ無い。どこで無職になったか、とんと見当けんとうがつかぬ。

何でも薄暗いじめめした所で手斧を投げられていた事だけは記憶している。

吾輩はここで始めて増田というものを見た。

しかもあとで聞くとそれは増田という人間中で一番獰悪な種族であったそうだ。

・・・

まぁ、前置きの冗談はこの辺までとして、前々から作りたいな思っていた

Webサービスを中々時間が取れず作るのを諦めていたのだけど、

まぁ無職になって時間も取れたので作った次第です。

自身プログラミング生業とする職業では無く、学生時代特にプログラミングついて何か

勉強をしていた訳では無かったので一から勉強になりました。

始めたのが昨年末大晦日ちょい前なので、約5ヶ月掛かり、当初想定していた期間より

かなりの時間が掛かってしまい、反省点等含めその辺の事を書けたらなと思います

■やりたい事(実装した事)

ゲームユーザー同士を繋げるマッチングサイト出会い系ではないよ。)

ログイン機能

タスクベースでのチケット管理

・簡易コメント機能

・簡易評価機能ポイント

ステータス動作変更処理

タグをつける

上記DB管理

構成を書いた方が良いと思うので

以下になります

構成

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

サーバさくらVPS 2G

OS:CentOS 7.5

WebサーバNginx 1.14

WSGI:uWSGI 2.017

FW:Flask 1.0.2

RDBSQLite3 3.7.17

ORM:SQLAlchemy 1.2.7

言語Python 3.6

フロントPure JavaScriptのみ

その他ツール等:Let's Encrypt/fail2ban/等々

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

上記を見て貰えれば分かるかと思いますが、最近流行りの

フロントエンド技術等は一切入ってはいないです。

ほぼ、既存ベーシックサーバーサイド側の制御のみです。(jsで非同期通信はしてます

SPAとかVueとかの言葉最近知りました。。。

ほぼ開発終わりかけに知ったので、流石に今から構成

変えるのもなと思い、取り敢えず上記です。

■選定理

まずWebサービス作るにあたり、何が必要だろうと思い

まずは開発言語だろうと、プログラミング言語の選定で

RubyPythonかで悩みました。

Rails名前を良く聞くのでRuby on Rails触ったのですが、

Railsには馴染めなかった(扱えなかった)ので

何かマイクロFWの方が良いのだろうと、Sinatraいこうか思いましたが

Railsの印象が強く残った為、Rubyは止めてPythonに移りました。

今度は初っ端からマイクロFWが良いだろうとFlaskのサンプルを試すと

比較プログラミング学者でも扱いやすく覚える事も少ないので、PythonとFlask

の組み合わせで決定。

(気軽にプログラムを書け、自分イメージしている処理や制御を素直に実現できる点が

 書いていて気持ちが良いです。まぁ分からない所も有りますが、そう思わせてくれる点

 が良いです。モチベーション的に)

NginxとuWSGIの組み合わせはFlaskで検索すると一番でてくるのでこれに決定。

SQLite3 はマイクロFWから軽めのDBでたぶん大丈夫だと思ったのでこれに決定

ORM(SQLAlchemy)も検索で一番出てくる為。

■開発概要

・まずPythonの開発環境を整えようとなり、WindowsVagrantインストールして

 仮想マシン環境構築。ゲストOSの中にPyenv等を入れPython環境構築

上記構築後に取り敢えず小さなサンプルから作ろうとなり、簡単CRUDをFlaskで行える様にしました。

 これができた時は嬉しかったです

上記が出来てから、本番の開発に移りCRUDベースにひたすら肉付けていく

ユーザー登録機能作成/ログイン機能作成/ユーザー情報表示/編集機能/チケット作成/及び編集/バリデーション

上記平行してDB機能作成実装/検索機能作成

・細かいViewの調整とスマホ用のView作成レスポンシブルでは無いので)

・本番用のさくらVPS環境構築とセキュリティ用のツール導入とLet's Encryptでhttps

上記以外の細かい調整等含め、約5ヶ月になります

■悩んだ点/反省

・悩んだのがタグ機能周りになるとどうすればよいか、かなり悩みました。

結論を言うとToxi法を使用しましたのですがここにたどり着き、理解するのに結構時間がとられました。

また、実装したらしたで、今度はそのタグ機能検索するとなると検索ワードが1つとは限らないので

クエリーを動的に生成する必要が有り、これも実装するのにかなり時間が掛かりました。

SQL文だけならば比較的すぐに検索でヒットしますが、それをSQLAlchemyでどう実現すれば良いかから

かなり時間が掛かりました。DB設計SQLAlchemyの文法に自信は無いですねぇ。。

・1次情報リファレンスから情報得ることがほとんど出来ず(たまにはできたが)、

他人咀嚼した情報からしか情報を得る事ができなかった。

(恥ずかしながら、咀嚼されなければ理解がおぼつかない状態

Stack OverflowQiita個人ブログが無ければこのサイトできなかったので

自信の咀嚼力強化が必須だと思いました。

作成結構時間が掛かったのでもっと短くしたい

総評

・5ヶ月と時間が掛かりまた反省点も多々有るが、とりあえずサービス公開まで

もっていけた事が嬉しいです。ただただ嬉しい。

・FlaskとSQLAlchemyの情報日本語が少ないので公式リファレンスとStack Overflow

行ったり来たりしたおかげで英語アレルギーがそこまで無くなった。

成果物

・で、作った成果物は以下になります

https://gamesanka.com/

ゲームサンカと言います

オンラインゲーマー向け(e-sports)のマッチングサイトになります

名前安直小学生が5秒で考えたような名前ですが、安直で気に入っています

作った理由は、僕はBF1が好きなのでオペレーションキャンペーンと言うモード

やろうとしたのですが、時間帯が悪いのか過疎なか分からないが全然マッチングしないのですよ。

やりたいのにマッチングしないので出来ないどうしよう、と。

また、昔セールFarCry3をかなり昔に購入した時(既に4が発売済み)にCO-OPモード全然マッチしない事が有り

旬が過ぎたオンラインゲームは中々マッチしなくてほぼシングルモードしか出来ない事は割とあると思うんです。

今だとBF4もかなり人数がいない状態なので特定マップのみとか。

なのでオンラインゲームマルチプレイCo-opで人を集めたい時、PUBGやFORTNITE等バトロワゲームスクワッドを

募集する時、オンラインゲーム大会e-sports)を開きたい時に利用して貰えると嬉しいです。

主に想定ユーザーと考えているのは、FPS/TPS/RTS/MOBA等のPCゲーマーをメインに考えていますCS機やTCGでも

使って貰えると嬉しいです。

あとViewレスポンシブでは無く、PC用とスマホしかなくタブレット用の中サイズViewが無いのでご了承下さい。

タブレット解像度が高い方はPC用で見て頂ける助かります

最後にお願いがあります

僕と一緒に以下のゲームを遊んで頂ける方を募集しています

遊んでも良いよという奇特な方がいましたら当該サイト内でコメント頂けると幸いです

・BF1(PC版)

・Dead by Daylight(PC版)

それでは長々とありがとうございました。

・・・

無職はただ楽である。いな楽そのものすらも感じ得ない。

日月を切り落し、天地を粉韲して不可思議無職に入る。吾輩は死ぬ

死んでこの無職を得る。無職は死ななければ得られぬ。

南無阿弥陀仏なむあみだぶつ南無阿弥陀仏

ありがたいありがたい。

2018-04-06

anond:20180406215342

Rails Tutorial ちゃんと終えてるならそこまでの知識で作れるサービス何かひとつ作って見せられれば拾ってもらえるよ

就活中も本で何か勉強したいならちょっと情報が古いが実践Ruby on Rails 4あたりでもやっといたら

2017-10-28

Webサービスの自社開発

俺もWebサービスを作り続けよう!

 

はてなブックマーク - 【7年かかった】19歳から7年、1人で30個のWebサービスを作り一発当ててもう働く必要がなくなったので振り返ってみる - 考えすぎてしまう人のブログ http://b.hatena.ne.jp/entry/blog.sesere.net/entry/2017/10/27/183957

 

俺はPHPさくらVPSで稼いでいる。

Ruby on Rails特に便利だとは思わなかった。

みんなはどう?

2017-10-01

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

慶應の就職が東大より良いと言われる"からくり"

東大と一橋の学生が10人ほどいた。ほかの大学の内定者はいない

旧帝大とかだけの懇親会は既に何回も開催

ttps://bit.ly/2wxjrK0

就活貴族

ttps://bit.ly/2mMeF2i

東大業者の51%、1604人は就職せず大学院や他の学部へ進学

ttps://bit.ly/2s9YMY0

帝大と商大が80円,早慶クラス75円

ttps://bit.ly/2IajWLq

帝大65円 早慶55円

ttps://bit.ly/2ryVtbO

東大一橋の男だけに可能就職活動

ttps://bit.ly/2OZzQg1



世襲文化に思う。

血脈採用

教授の子入学

ttps://bit.ly/2rEEXqI

早稲田政経でさえ一般入試は40%

ttps://bit.ly/2rCbz52

慶應法は入学者の6割以上が推薦等の現実

ttps://bit.ly/2KM1QjE

慶応大学医学部一般入学者の3分の2は補欠合格

ttps://bit.ly/2kkoc0R

偏差値40から受験勉強3ヵ月で慶應大学総合政策学部AO入試入学

ttps://bit.ly/2LCzp96

『私、おバカですが、何か?』偏差値40のかしこ生き方

AO試験を受けて合格する

早稲田 政経

ttps://amzn.to/2G349Ms

慶應生でも上場企業入社できるのは半分もいない

ttps://bit.ly/1I690Hj

就職ランキングは「20年前の」を見てみよう 「今では…」の企業大人気だった

ttps://bit.ly/2If57Yg

カネボウ千代田生命

ttps://bit.ly/2kxHlfO



学閥で一番笑ったのが昔向かいに住んでた有名企業に勤めてるW卒のおっちゃんが上がK卒になった途端飛ばされて下がみんなK卒で揃えられたと聞いたこ

ttps://bit.ly/2IrjrAb

丁度バイトしてた時慶応学閥早稲田閥にひっくり返されてしまった事があり有力者が軒並み子会社会社に出向される姿を観てブルーになった事がある。そこには知っている人のオヤジさんまでいて..... だから就活の時は大手ってほんと受けなかった。大手はどこも同じだと思ったか

ttps://bit.ly/2IbfCf5

人事でフェアな会社などないよ 出身大学差別あるなら道は二つ

ttps://bit.ly/2Ok7hJX

社内政治というのは政治で守られている人は「政治はない」と言い政治不利益をこうむった人は「政治がある」と言うので前者の人の言うことだけを聞いて判断できないようだ

ttps://bit.ly/2ruvbHw

エコノミスト誌の記事東大 VS 慶應」についての所感

ttps://bit.ly/2KVxXi4

東大卒でないと露骨馬鹿にするので非常に嫌われていた

ttps://bit.ly/2HTo6ey



最小条件集団実験

集団ひいきの武士道vsウィン・ウィンの商人

自分と同じグループの人に対してひいきするのは見返りが期待できると思うからであって同胞に心から同情するせいではない

ttps://bit.ly/2wSF71B

会社学閥ができる心理学的な理由と上手な付き合い方

ttps://bit.ly/2IbxVoc

韓非子 説難

弁舌を率直に簡潔にすると知識が足りないとして退けられ

丁寧に幅広く論じたてると冗漫だと思われて別の者と代わらされる

ttps://bit.ly/2KUOItr

説難

まれ場合はいいことを言っても受け付けられず

いよいよ遠ざけられるだけである

ttps://amba.to/2aYtjNP

余桃の罪



派閥をなくす決め手は信賞必罰の断行である

そうすれば派閥による昇進や派閥によるかばい合いはなくなる

非情のススメ 超訳 韓非子

信賞必罰

ttps://bit.ly/2wyebne

すべては数字成果主義 「評価に情」でみんな不幸に

ttps://bit.ly/2K7G5y1

学閥コネ出世させると組織が傾く。大英帝国100年の植民地行政からエビデンス

ttps://bit.ly/2ToK2k3

泣いて馬謖を斬る

ttps://bit.ly/2CPjeTD

不適切な人事は組織の敗北につながる■勝てない提督卑怯司令官をすぐさま更迭した米軍

ttps://bit.ly/2Lte2G8

10代の終わりに実施した学力テストの点数が50代や60代までそれも正解のないビジネス世界通用するものだろうか

仕事の頑張りとは関係ないところで評価されるのなら真面目に仕事をするモチベーションも高まらない

ttps://bit.ly/2wnMxcv

三略 乱源 背公立

ttps://bit.ly/1WOeC4B

唯才是挙



Pulling Your Own Strings(自分自身を操る糸は自分で引け)ダイアー

自らの運命コントロールせよ。さもなければ

他人コントロールされることになるだろう

ウェルチ

自分自身の主人でない者は決して自由ではない

エピクテートス

孤独の裏には自由があり自由の裏には孤独がある

ttps://bit.ly/2nCe2tN

嫌われるということは自分自由に生きていることの証し

岸見一郎

嫌われる勇気

ttps://bit.ly/2LCYepQ

課題の分離

ttps://bit.ly/2OLls9A

自他境界線

ttps://bit.ly/2vRu9bM

自分自身の魂のうごきを注意深く見守っていない人は必ず不幸になる

アウレリウス

嘘で固めた自分で愛されるよりも

本当の自分で嫌われた方が気持ちがいいではないか

ジッド 1947年ノーベル文学賞

自分自分らしくありたいと考えた結果

たとえ友人を失ったとしても誰が気にするだろうか

シャネル

ろばを売りに行く親子

ttps://bit.ly/1eoTE8B



.

幸福への道はただ一つしかない。それは意志の力でどうにもならない物事は悩んだりしないことである

エピクテートス

権内 権外 分限自覚 エピクテートス

時間とは出来事

出来事にはコントロールできる出来事と出来ない出来事があります

ttps://bit.ly/2KRpXyk

自分未来は変えられる。他人過去は変えられない

ttps://bit.ly/2KMylyt

「なんとなく」を可視化し「変えられるもの」に集中する

ttps://bit.ly/2rA5uoT

最近他人を説得したり意見することにエネルギーを使うことをやめました。それよりも自分を変えることが大切

ttps://bit.ly/2rxGcbU

あなたを大切にしない人をあなたが大切にする必要はない

ttps://bit.ly/2K5LWk2

人の時間には限りがある。だから他人人生を生きて時間無駄にするな

ジョブズ

公益目的とするのでないかぎり

他人に関する思いで君の余生を消耗してしまうな

アウレリウス

中ぐらいの勝利で満足する者は、常に勝者でありつづけるだろう

反対に、圧勝することしか考えないものは、しばしば、陥し穴にはまってしま

マキアヴェッリ

人間関係は腹六分

ttps://bit.ly/2IaIm7O

メガバンク

メガバンク(都銀)の頭取の学歴から見る学閥の状況

2年目で3分の1が退職

ttps://bit.ly/2rLu0DV

50才で銀行本体残るのは1人の例も

ttps://bit.ly/2rBUB5Z

同期入社の203人のうち、彼が202人目に銀行を離れることになった

ttps://bit.ly/2qIn8Xo

ttps://bit.ly/2IA1AVc

ttps://bit.ly/2xmr46m

コンサル

15人の同期が12年でゼロに 外資系コンサルをクビになっても恥ずかしくない

ttps://bit.ly/2jQOkjD

当時の同期は全員辞めてると思う

ttps://bit.ly/2RSYgYF

証券

超高速取引

ゴールドマン・サックス人間トレーダーは600人から2人へ

ttps://bit.ly/2F4FJpr

他の投資銀行も同じ

ttps://bit.ly/2G1bVM8

商社

伊藤忠歴代社長は主要都市型私大に不利は他と変わらず

ttps://bit.ly/2TMCfMc

三井物産が新社長を発表!私大出身者の社長ゼロ”の壁は壊せたか

ttps://bit.ly/2GLHPwD

7人分のハンコ

ttps://bit.ly/2Gbk4wd

与えられた仕事を社内のルールに従ってこなす能力は身につきます

ttps://bit.ly/2uwinCk

資本主義とは株主(利益株主のもの)か雇い主か雇われ人(配属上司ガチャ・交換可能歯車企業内でしか使えないスキルノルマ・転勤・社内政治ラットレース)の立場で「会社(株主)の資産増やしゲーム」に参加する事

会社経営は「資産増やしゲーム

ttps://bit.ly/2MxZwOd



五公五民

就職後も17年近くは税金を払うためだけに働いてる

ttps://bit.ly/2rVYfbx

サラリーマンはただの奴隷

みんなよく自社株持たずにそんなに一生懸命仕事できるなあ

自社株を持たずに働くのってまるで株主と国の奴隷みたい

ttps://bit.ly/2PC5XG5

1ドル報酬減らし配当受け取る経営トップ増加

ttps://bit.ly/2H34Idk

社長給料30万円です

なんでこんなに安いと思って調べると、株の配当が約3億円でした

しかも株はほとんど一族で占めています

ttps://bit.ly/2Efoq4n

「年1000万円超の配当がある」経営者567人

103人が1億円を超える配当収入

ttps://bit.ly/2KBK71Y

お金持ちになりたかったら、自分ビジネスをすること。会社は9割の人にはいい働き方だけど、1割の人にはピンハネ率と、社内政治に費やすコストが多すぎて、割に合わない

ttps://bit.ly/2ryiN9q

選択の科学

社長平均寿命従業員平均寿命よりも長い。その理由裁量権まり選択権の大きさにある

ttps://bit.ly/2PpKC2y

サラリーマン社長よりオーナー社長のほうが、ずっと長生きする

ttp://exci.to/2JakBk8

20歳のときに知っておきたかたこスタンフォード大学集中講義

人々が必要とする新たなサービスやモノを作って、おまけに雇用も生み出して、その結果、自分お金持ちになる

ttps://bit.ly/2I68d4E

お金持ちになるための4要素「ESBI」

ttps://bit.ly/2yzd4DI



上場企業の53%!知られざる「同族企業大国ニッポン

ttps://bit.ly/2G8t0OZ

資産管理会社配当金に対して支払う税率は0%

ttps://bit.ly/2EvDzPV

従業員首にならない程度に一生懸命働き、経営者は従業員がやめない程度に給料を与える

ttps://bit.ly/2EMLAPP



100円で投資信託

ttps://bit.ly/2Cdk9gH



トヨタの株を取得すれば、あなたは連結32万人超のトヨタ社員全員と関係を結んだことになる。

32万人が生み出した富の一部を、配当として受け取れる

ttps://bit.ly/2ryuq0U



アクティブ運用の9割、指数に敗北 15年間比較

ttps://on.wsj.com/2C8NQ2G

1965年にSP500に投資していた場合2015年の終わりには資産が約114倍に増えます100万円を投資していた場合約1億1400万円

ttps://bit.ly/2KeFbwc

50年で資産7000倍

バフェット

ttps://bit.ly/2I69b0G


鶏口牛後/「金を残すは下、事業を残すは中、人を残すは上。」

自分より優れたるものを自分の周りに置きし者ここに眠る。カーネギー

自分で仕事をするのではなく、仕事をさせる適材を見つけることが大切だ。カーネギー

コンピューター本質は「自動処理」にある

ロボットは手足の生えたコンピューターである


デジタル情報革命プログラミングをして、給料要求せず・サボらない、複数コンピューター複数ロボット24時間365日働かせろ!)

プログラミングがもたらす最大のメリットって。「合法的奴隷を持てる」ってことなんだよね。 コンピュータという、疲れを知らない奴隷を。

ttps://bit.ly/2I6esFX

全てのWEBエンジニアはいま「産業革命前夜」のイギリスにいる

ttps://bit.ly/2HI91gn

ソフトウェア世界を飲み込む理由

ttps://bit.ly/2Wv39KG

なぜコンピュータを学ばなければならないのか 21世紀君主論

ttps://bit.ly/2URsMUj

ttps://bit.ly/2SulJ2m

Facebook役員プログラミングを学ぶのなら生涯仕事に困らないことを私が保証しよう」

ttps://bit.ly/2ELTYwS



Twitter創始者が語るWeb 2.0の要諦

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

ttps://bit.ly/2KdcKim

Ruby on Rails10分で作るTwitterもどき

ttps://bit.ly/2KVdAl8



19歳から7年、1人で30個のWebサービスを作り一発当ててもう働く必要がなくなった

ttps://bit.ly/2ysT1Km

30代後半や50代からでもソフトウェア開発者になるのには遅くないという10人の実例

ttps://bit.ly/2M6Dh6l



いくら稼げるか」ではなく、「何を学べるか」で仕事を探しなさい

ttps://bit.ly/2EMLAPP

知識への投資が最も利回りが良い

..

形跡管理

ttps://bit.ly/2oX2MM8

バッグインバッグ

ttps://bit.ly/2s3Ghn9

標準化

ttps://bit.ly/2LgODQq

生還した戦闘機

ttps://bit.ly/2sz5jus

常に分母は何かを考えよ

ttps://bit.ly/2QSamkG

合理的無知

ttps://bit.ly/2wyiukL

中庸

デカルト

認知資源無駄遣いを防ぐ

ttps://bit.ly/2KXAM1M

世界成功者たちが「毎日同じ服を着る」興味深い理由

ttps://bit.ly/2ryA03r

86400ドルプレゼント

ttps://bit.ly/2rrHMv5

25000ドルアイデア

ttps://bit.ly/2Kg0EF8

チェックリストを使うことで使用する注意の量はぐっと減らせる

ttps://bit.ly/2IbxlH2



持ち物すべてをカバン1つ分に収めることで、思考人生シンプルになる

ttps://bit.ly/2I8y0ZX

「週4時間」だけ働く

ttps://bit.ly/2Ib45wk

通勤時間を「3分

ttps://bit.ly/2G4k39E

往復2時間通勤を1年間続けると(2時間x20日/月x12ヶ月)、480時間電車に乗っている事になる。つまり、1年間のうち、20日間電車に乗っている計算だ。38年間勤務とすると760日だ。2年間だ。

ttps://bit.ly/2Kf5rGH

「年間休日105日?」

年間休日125日の会社と比べてみましょう

38年間×20日間=760日

ttps://bit.ly/2rzh1Vw

年間休日140日+有休最長40日

ttps://bit.ly/2RAnyL7

人は「物事には限りがある」と分かったとき、初めて戦略的になれる

ttps://amzn.to/2G2W5vp

戦略とは何をやらないかを決めることである

ポーター

ttps://nkbp.jp/2I5viVb

生涯のある時期における時間心理的長さは年齢の逆数に比例する(年齢に反比例する)

ttps://ja.wikipedia.org/wiki/ジャネーの法則



アイデアのつくり方

ttps://amzn.to/2K7r8Zg

①好きなことをやり、②それで食べることができ、③その上それが他人のためにもいささかの役にたった人生自己実現人生であり理想人生である

竹内均

すばらしい仕事をするには、自分のやっていることを好きにならなくてはいけない。まだそれを見つけていないのなら、探すのをやめてはいけない

ジョブズ

報酬をもらえなくてもやりたいと思えることは何かを考えなさい

ポーター

ttps://bit.ly/2GegddY

ソースあなた人生の源はワクワクすることにある

ttps://amzn.to/2pXq3eH

漁師ビジネスマン

ttps://bit.ly/2KXeAou

幸福の真の名前は「満足」である

アミエル

幸福にしてあげたいなら

その人の持ち物を増やさず

欲望を減らしてやるがよい

セネカ

一生を終えて後に残るのはわれわれが集めたものではなくてわれわれが与えたものである

シャンドリ



承認欲求」よりも「貢献感」/幸福とは貢献感。アドラー

私たちの一番の褒美は笑顔

人工ボディ技師 福島佳子

人々の笑顔のために人生を捧げたい

病室のベッドの上で真剣にそう思ったんです

生きる希望が、生きる欲望が湧いてきた

孫正義

僕が一番欲しかったもの

槇原敬之

僕のあげたものでたくさんの

人が幸せそうに笑っていて

それを見た時の気持ち

僕の探していたものだとわかった

「人は何を考えているとき

2017-08-02

憧れのlispを学びたい

元々phpから入ってruby on rails流行に乗って趣味rubyやってて一度プログラミングから離れてた

最近本の整理しててハッカー画家を読んでハマって全く読みこなせかったポール・グレアムon lispを手にとった

本当になんとなくの気持ちからlispを極めたいという気持ちになった

全く読みこなせかったのが悔しかったのもあるし、読みこなせなかったながらPGの今まで書いた記事を読めば読むほどこのlispというものがとてつもないものなんじゃないかと思うようになったのもある

lispについての概略を知れば知るほど自分の中の厨二をくすぐられる


・60年前のITの速度感で言えば古代プログラミング言語なのに最新のプログラミング言語lispの真似をしてるだけで追いついてない

マクロCLOSという機能がありそれを使いこなすと強力過ぎて他のプログラミング言語には戻ってこれないらしい

しかもそのマクロという機能は他のプログラミング言語には絶対に真似できないらしい

・その真似できない理由が()を多様するプログラミング文法に由来するから

・()を多用するがために他のプログラミング言語学習からするとかなり難しく見えるらしい

マクロというのはプログラムを作るためのプログラムらしい。元々AIプログラムを作ることを想定してたとか

こんな俺たち(?)の厨二心をくすぐるプログラミング言語ってあるか?絶対に無い

lispを使いこなして他のプログラマが1ヶ月で作るものを1日で作るとかマンガか何かみたいなことがしたい!絶対したい!!


で、俺が今やってることと言えばプログラミング言語というものが何をできるか調査するためにrubyで色々作っているところ

HTMLパーサーとかDBドライバlispで作るためにrubyのパーサーとかドライバコードを読んでると、自分が一体何をしてるのか分からなくなる

もちろんそれですぐに飯が食えるようになるのはrubyだ。給料もそれなりに良い。lisp求人を見たことは今まで一度もない

だけどこれもなんとなく遠回りでナンセンスな感じがしてる



直接lispを学ぶのが良いのか、急がば回れruby熟練するのが先か、どうなんだろうか

プログラマーの皆さん教えてください

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん