「Rails」を含む日記 RSS

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

2020-08-15

SEだが正直noteやらかしを見てほっとしている

https://twitter.com/clockmaker/status/1294213347898843136

これ見たけどやらかしが低レベルすぎやしないかヒューマンエラーレベルじゃないだろ

とりあえずRails触れますって奴ととりあえずNuxt触れますって奴がガチャガチャやった結果にしか見えねえよ

API設計無茶苦茶だし、コードレビューもろくに実施されてねえだろうし、試験観点はどうなってんだよって話だろ

やっぱ優秀なエンジニアなんてどこにもいねえんだな、安心して寝るわ

2020-08-01

プログラマ勉強するな

よく「プログラマ勉強し続けなければいけない」といいますが、嘘です。

それは、レベルの低いプログラマの話です。そういう人たちが想定しているのは、たとえば流行りのフレームワークが出てきたらそれを勉強するとか、仕事特定プラットフォーム知識必要になったのでそれを勉強するとかです。

こういうことを一所懸命勉強している内は、プログラマとしての実質的な成長は見込めません。それらを勉強しても、特定フレームワークなどの使い方が分かる人になるだけです。ほとんどの場合、5年も経てばその知識は役に立たなくなります

実は、ソフトウェア技術などは、コンピュータ黎明期から本質的進歩ほとんどありません。だから本質部分が分かっている人は、流行り廃りのある技術習得に余計な労力を割く必要がありません。

プログラマ勉強すべきはこの本質部分、つまりコンピュータサイエンスの基礎です。フレームワークの使い方は知らなくてもリファレンスを見れば良いのに対し、コンピュータサイエンスの基礎はググっても決して身に付きません。

プログラマが身につけるべきコンピュータサイエンスの基礎は、多くの大学計算機科学情報工学の2〜3年生で学ぶような内容、

などです。逆に、こういう素養がないのにプログラミングスクールRailsとかCakePHPみたいなのを触って、プログラミングできる気になっている人に5年後10年後の市場価値はありません。

2020-07-21

anond:20200721001422

Rails って今もそんなに需要あるんか?

まあ、プログラミングに興味がある人が増えることは基本的に良いことだと思うけど、スクール講師やってる奴なんてほとんどニワカみたいなやつが多いからなぁ・・・

イメージとしてはバイトの塾の講師くらいのレベルかな。

でも、カスみたいなプログラマを量産するのは罪深いな。そもそもカリキュラムも無茶スケジュールが多いらしいし受講する人にとっても良くないな。

プログラミングスクールっていう情弱ビジネスすごい

仕事とは関係ない趣味Twitterやってるんだけど

なぜかフォロワー複数人プログラマに憧れ始めてる

人によってはprogate始めたらしくそれは別にいいと思うんだけど

ただ俺はプログラマ10年以上やっててフォロワーもそれ知ってて

若い頃は激務をネタにしたツイートもしてたからどういう仕事か知ってるはずなんだよね

それなのにここ最近急にプログラマ目指そうと思うみたいなこと書き出して意味わからん

フリーランスになって自由生活を夢見てんのかな?

俺の激務ツイートネタだと思ってたのかな?

ついには「そろそろ課金しようと思うんですけどおすすめプログラミングスクールありますか?」だって

課金!??なんでプログラミング覚えるのに金かけないといけないのか

いや俺も始めた頃は3000円とか4000円する本をやたら買ってたけど数十万はおかしいだろ

とりあえずRailsチュートリアルとかやれば?とか返しておいたけど

progateの次は何か課金しないといけない風潮になってるのがすごい

いろんな業者がいるみたいだけど各社が切磋琢磨した結果なんだろうな

素人に夢を見させて金巻き上げるってビジネスとしては王道なのかな

2020-07-09

anond:20200708194638

今どきRuby on Railsやってるつってもパッとしないんだよ。

手軽に扱えるという触れ込みでブームになったせいで

スクール上がりで側だけ整えたアプリもどきをひっさげて求職してるらような奴がわらわらわいた。

そもそもRubyRailsのものが人気なくなってきてるし。

からでも遅くないかJavaScriptPHPでまたアプリ作ろうよ。

Reactとnode.jsちょっとわかってる奴とか

Laravel使ったことあるPHPerとかのほうが需要あるよ多分。

あと増田読む限り考え的にうちにこもりすぎな気がする。

スクールじゃなくてウェビナーや勉強会に参加して実践的な知識現場の生の意見を聞いたほうがいいんじゃね。

エンジニア自分みたいな初学者交流する機会にもなるし、なんかそこから就職への糸口も掴めそうじゃん。

2020-07-08

anond:20200708210241

Railsやってないからかもしれないけど、チュートリアルを参考にアプリポートフォリオを作るっていう言葉への違和感がすごいんだよねえ、、、

anond:20200707214248

1年間独学でプログラミング勉強した実感

大学卒業後4年ほど会社員をやったあと、ウェブ関係プログラマを目指して1年ほど、バイトしながら独学で勉強しています

ネット上には詐欺師まがいの情報商材屋とイキリマウントゴリラ跋扈し、普通人間向けの情報が少なかったので、参考までに書いてみます

なお、ここ数年のウェブエンジニア転職ブームとは無関係転職を考えていたので、ブームは正直迷惑だと思っています

1) お金時間に余裕があるなら、大学専門学校プログラミングスクールに行ったほうがいいです。

独学にはいくつかの大きな問題点がありますが、もっとも大きいのは「全体のロードマップ存在しない」ことだと思います

学者は具体的に何をどの順番で学べばいいのかわかりませんし、この情報ネット上にはありません(冒頭にも書いた通り、そう思ったからこそ、このエントリを書いています)。

個人的に参考になったものとしては、

などありますが、どちらも普通人間向けというには若干ゴリラ臭と商材屋臭がします。

また、プログラミング初心者向けの教材はおしなべて貧弱で、腹が立つほど不親切です。読んでいて何度もブチ切れそうになります

特に学者場合は、教材の練習問題ひとつ解くにしても、誤字脱字等の初歩的なエラーのために平気で数時間のロスが発生したりします。

当たり前ですが、これは純粋時間無駄なので、すぐに講師相談して解決したほうがいいです。

こういうことを書くとすぐに「自力問題解決できない人間プログラマに向いていない」と言いだすゴリラが現れますが、いまはそういう話はしていません。

そのほか独学だと自分の実力や相場感を測ることもむずかしく、その分詐欺師ゴリラに引っかかりやすくなりますし、基本的おすすめしません。

2) 独学の最初の1歩は「苦しんで覚えるC言語https://9cguide.appspot.com/おすすめです。

いまさらC言語と思うかもしれませんが、勉強するうえで重要なことはプログラミングの仕組みを理解することであって、どの言語から始めるかではありません。

その点、上記「苦C」はとても丁寧に文法説明してくれますし、ポインタ説明を通してメモリの仕組みも教えてくれます

ただし、回答例のコードに誤字脱字があって動かない等の発狂ポイントがいくつかあるので、注意が必要です。

勉強のやり方としては、まずはサイトを読みながらスマホC言語アプリポチポチ書いてみるところから始めると気楽でいいと思います

途中で頭が混乱してきたら、再度冒頭からきっちり丸暗記するつもりで勉強するのがおすすめです。プログラミングに暗記は不要だと言うゴリラもいますが、あれは嘘です。

intはintegerだからintなんだとか、そういうことを調べながらやるだけでも解像度が格段に向上すると思います

実際にC言語バリバリ書けるようになる必要はないので、おおよその仕組みを理解してしまえば、最後のほうは流してしまって大丈夫です。

3) オンライン学習サービスは便利ですが、内容が充実しているとは言いがたいです。

検索するとこの手のサービスが一番上に出てきますが、内容は不十分だと思いますかゆいところに手が届かず、使っていて非常にいらいらします。

とはいえ他に代替となるものもないので、サービスを利用しつつ、必要に応じて入門書を読むのがおすすめです。

私が利用したかぎりでは、Progateは教材の内容が薄く、Paizaは無意味オタク臭くて私は苦手でした。N予備校Udemyの評判がいいみたいですが、使ったことがないのでわかりません。

私はウェブ関係プログラマ志望なので、ProgateとPiazaでHTML/CSS/JavaScript/Git/Ruby/Ruby on Rails勉強しました。

最近初心者Railsエンジニア供給過多の印象があり、DjangoやLaravelのほうが就職には役立ちそうな気がしています

余談ですが、無料の教材として有名な「Railsチュートリアルhttps://railstutorial.jp/ は、あえて劣悪な翻訳放置することで、自社のプログラミング講座に顧客誘導するビジネスモデルのように見えるので、内容はともかく個人的にはあまりいい印象を持っていません。

ちなみに私はこの辺で迷走していたため、いろんな言語ちょっとずつかじっています

スッキリわかるJava入門』はオブジェクト指向理解するのに役立ちましたし、『退屈なことはPythonやらせよう』で覚えたスクレイピング求人情報収集にとても役立っています。ほかには『プログラムはなぜ動くのか』も読んでためになりました。

基本的に本を読んで損することはないので、時間の許すかぎりたくさん読んだほうがいいと思います。私はあまり読めていません。

4) ポートフォリオを作るのはとても時間がかかります

Railsチュートリアルを参考にRailsアプリポートフォリオ作りましたが、完成まで半年くらいかかりました。

上述の劣悪な翻訳のせいもありますが、データベース設計を考えたり、UIを工夫してみたりすると、いくらでも時間が吸い取られていきます

知識ゼロから3ヶ月でポートフォリオ作りました! みたいな若手情報商材屋を見かけると、そんなにすごい能力があるなら普通エンジニアだけやってればいいのに、と思います

完成したアプリDockerコンテナ化したうえで、GithubActionsで自動テストを走らせ、AWSサーバーデプロイしていますが、この辺は言語勉強アプリ製作と比べたら全然むずかしくありません。

まともな日本語で書かれたまともな教材が揃っていますし、ネット記事豊富にあります。ここまでの勉強で、エラーメッセージや多少わかりづらい文章を読み解く能力も身についているはずです。

それぞれ1、2週間集中すれば最低限の実装はできると思います。ただしAWSの設定だけは、適当にやると数万円の請求書が届いたりするので注意が必要です(届いた)。

5) ここまでやっても就職はできません。

上記ポートフォリオを公開し、求人に応募していますが、一向に就職できる気配はありません。

就職活動が不得手なせいもある気がしますが、いいかげんバイトにも飽きてきたので就職したいところです。だれか仕事くれよ。

2020-06-22

今年に入ってから Wantedly で応募してくるのってほとんどがテックキャ

ンプとやらの卒業生らしく

申告するスキルはみんな rails

うちの会社が出してるスキルセットとは全然異なるのに何度も応募してくる。

断っても何度も応募してくるのが何人もいる。

断っても何度も応募してくるのは全員テックキャンプ

どういうこと?

2020-06-11

ITエンジニアという職業について、夜中なのでポエム投下

当方キャリア10年以上のWebエンジニアだけど、自分職業について物申す


そもそも技術力なんていう、大層なもの凡庸な我々にはない

エンジニアはなんか特殊技能がある風でエラソーな顔をしてるけど

他の職業と同じく替えなんて簡単に効く存在である


最初コンピューター作った人とかRubyとかRailsを思いついて作った人は

すごいけど、我々はGoogleと賢い人の巨人の肩の上に乗っかって作ってるだけである

それは自転車を作ったやつはすごいけど、乗ってる人は別にすごくないのと同じである


乗ってる人のことを技術力がある、すごいとは誰も言わない

乗ってる人の中でも競輪とか、ロードレースで優勝した人はすごいけど、

生活のために乗ってる人とか、ウーバーイーツで宅配するために乗ってる人は

大してすごくない


それでも世間的に必要とされてるのは

我々エンジニアはウーバーイーツの宅配の人のようなもので、

誰でもできるのだけど、多少しんどいことを

最後までやりきることにコミットしているかである

そして多少なりとも経験の蓄積による、付加価値も出せるかもしれない

何が言いたいかというと

技術のありなしとかでドヤってはいけないということ、

無意味宗教戦争に巻き込まれ無いこと、そのような本質的でないことにこだわらないことが大切

こだわるべきは

最後まで愚直にやりきる意志を持って、しんどくても真摯に向かい合ってやりきっていくこと

常に情報仕入れて、巨人肩にうまく乗って、工夫していくこと

まあこの職業はこのような特性があるので

若くて、心がまっすぐで、地頭いいやつが強いです(白目)

2020-05-24

anond:20200524135923

日本に限るとRailsの方が需要が多い

日本PythonWeb案件はない

データサイエンティスト需要はあるが素人付け焼刃では無駄

高卒文系工学部に通いなおさないと

あ、これは就職を売りにしているスクール場合の話

そうじゃない場合は文献の問題じゃないか

素人英語文献を読ませるのはちょっと

2020-05-23

最近プログラミング始める人はクソアプリとか作らないの?

はてなプログラミングスクール関連がバズってて

ぼんやりとおれは最初どうしたかな?って思い出したら

暇つぶし友達Androidでクソアプリ作ってたわ

就職したらスマホアプリ作るのかと思ったら、人が足りないからってRailsやらされたけどww

時期的に8年ちょっと前なんだけどあの頃はニコニコも元気でなんかオタク楽しい感じだったな

今はYoutubeとかプログラミングスクールとかオンラインサロンとかお金儲けに支配されて少し悲しい

嫌儲とかではないけどプログラミングに関して言えば「勉強自己実現!」って息が詰まるよね

2020-05-22

新卒研修プログラミングスクールやってるけど

内容的にここで言われるほど、プログラミングスクールカリキュラム講師が悪いとは思えない

あくま20新卒まとめサイト運営とかAtCoderちょっと触ってた程度の初学者視点で見て)

劣化メルカリを作るみたいな、新卒プログラミング研修あるある課題だし

講師総合職と一緒にやった研修会社IT研修ITパスポートくらいの知識)よりはかなりいい気がする

講座の内容についてRuby on RailsなんかはRailsチュートリアルとそこまで大きな差があるとは思えないし

かいミスだったりは他人に見てもらったほうがすぐ直せたりするし、つまづいた部分を質問できるのはいいのでは・・・

問題入社してからほとんどPerlらしいのに、Rubyをやることくらいだと思う(人事の人に聞くとPerlを扱ってる研修会社ほとんど無いらしい)

自腹でやるならudemyとかだろうけど、新卒でこういう研修を受ける機会がなかった人がやる分にはいいと思うし

採用側が入社後に研修やらせ体制が無いから、スクール研修っぽいことやった人を

経験枠で採用するか・・・みたいなパターンはあると思うので、

自分で金払ってやるかはともかく、まあ実際ここまで槍玉に挙がってるのよくわからん・・・という感じがする

(どっちかというとステマ騒動だったり昔からある嫌儲的な方?)

2020-05-21

初心者向け】プログラミング言語人気TOP20簡易解説

概要

プログラミング経験からプログラミング勉強してみたい、でもどのプログラミング言語をやればいいのかわからない」というような悩みを聞くことがあるので、https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ に載っている人気の言語TOP 20について、未経験者が最初に学ぶのはどの言語が良いかという観点簡単解説してみます

対象読者はプログラミング経験者なので、なるべく難しい言葉を使わないようにしたつもりです。また、正確性よりもわかりやすさを重視しているので何かしら間違っているかもしれません。ご留意ください。


ランキング

1位 JavaScript

Webブラウザの上で動くプログラミング言語。元々ただの文書しかなかったインターネット世界に、グリグリ動くページを作りたいという欲求により生まれた。JavaScriptのおかげで今のWebページグリグリ動きまくりである

元々HTMLちょちょっといじる為だけのものだったが、どんどん進化を続けて今は一つの超人プログラミング言語である。今ではブラウザ上でなくても普通に動かせる(Node.jsという)ので様々な用途で使われている。

ブラウザ上で動くプログラミング言語基本的JavaScriptしかないので、JavaScriptはすべてのWebプログラマが学ぶ必要があると言っても過言ではない。

ちょっとしたプログラムを書いてすぐブラウザ上で動かせるので楽しい。そういう点ではプログラミング入門に適していると言えるかもしれない。


2位タイ Python

機械学習を始めとしたデータサイエンスの分野で激烈に人気のある言語理由としてはNumPyとかTensorFlowのようなライブラリが充実しているというのが大きく、資産がたくさんあるのでこれからも使われ続けるであろう。

Webも作れるが、日本ではWeb系の求人は少ない気がする。

言語としては、誰が書いても簡潔で読みやすコードになる傾向にあり、小さいプログラムを書くにはいい感じである米国ではプログラミング教育Pythonがよく使われているという話も聞くし、初心者プログラミングを始めるのにはいいのかもしれない。

将来AIデータサイエンスをやってみたいと思うのであればPythonから始めましょう。


2位タイ Java

ランキングでは常に一位に近い順位をつける言語Javaができた当時は色々と革新的だったらしく、組み込み業界からWebまで流行りまくっていた。今でもその名残か使っているところは多い。過去資産プログラマの数が多いのが一番の理由だと思う。AndroidアプリJavaで書く(もしくはKotlin)。

実行速度が速く、また下位互換性がしっかりしているので過去に書かれたコードが新しいマシン上でも動きやすいのが長所短所としては、歴史ある言語下位互換性を保っているため文法が古い感じがする。タイプ量も多くなるし、学習コストJavaScriptPHP, Ruby, Pythonあたりに比べると高い。

正しく使えば強力な言語だが、日本のクソSEもどきは全員(自称JavaエンジニアであることがJavaが毛嫌いされる理由の一つになっている[要出典]。いわゆるGAFAJavaをかなりヘビーに使っているので要は玉石混交ということである

Androidアプリ作ってみたいというならJavaからはじめるのはアリ。


4位 PHP

Webページを作るためだけに生み出された言語プログラマの数が非常に多い。日本求人が一番多いのはJavaPHPであろう。

初心者でもとっつきやすく、すぐに動くプログラムを作れるので入門に使われることも多い。学習コストの低さはトップレベルであるしか基本的には古くてダメ言語とみなされており、PHPで作られたWebサービス脆弱性が多いという都市伝説もある。真実は闇の中である

近年のバージョンアップ比較的良い方向に向かっている(と個人的には思う)ので、選択肢としては意外と悪くないかもしれない。


5位 C#

Microsoftが生み出した言語で、.NETというプラットフォームを使ってWebサービスを、Unityというゲームエンジンを使ってゲームを作ることができる。

最近有名なのはUnityで、今やほとんどの3Dソーシャルゲーム(の一部分)はUnityで作られている。そう考えるとC#プログラマ結構いそうだし将来もある程度安泰かもしれない。もちろん.NETも広く使われている。

ただし.NETUnityも触らない人にとっては基本的に縁のない言語である

なんかゲーム作ってみたいかもなーと思う人はC#から始めてもいいんじゃないでしょうか。


6位 C++

C言語に色々な機能を足しまくってできた巨大な迷宮のような言語言語仕様は複雑怪奇だが実行速度は全プログラミング言語中でも最速レベルなので、パフォーマンス重要な開発において使われる。アプリサービスというよりは、それらを作るためのライブラリプラットフォームなどを作るときに使われることが多い。Web系の会社でいうとGoogleなどは主にC++を使っている。

基本的には初心者が触る必要はない。競技プログラミングを極めたいとかならC++からはじめてもいいかもしれない。


7位タイ Ruby

このランキングの中で唯一、日本人によって作られた言語。作者のまつもとさんは世界有名人である。ちなみに島根県出身、在住。

プログラミングを楽しくすることがモットーらしく、確かに書き味は良い。また作者が日本人なこともあってか日本情報が多く、情報収集という点ではとてもやりやすい。

Ruby on RailsというWebサービスを作るためのフレームワーク世界的に大ヒットしたため、必然的Ruby知名度も上昇した。少し前まで日本Webスタートアップは猫も杓子もRuby on Railsといった様相であった。今は少し落ち着いたようだが今も人気は根強く、Webプログラミングスクール等ではだいたいRuby on Railsを教えているとかいないとか。

Webに興味があるのならRubyから始めるのが一番無難選択肢と言える…のか?まあ悪くはないと思う。今でも需要は多い。スクールに行きたいのであれば黙ってスクールカリキュラムに従いRailsをやりましょう。


7位タイ CSS

これは他の言語とは毛色の違う言語である。というかCSSプログラミング言語と呼んでいいのだろうか?

CSSHTMLを装飾するためのものである。字に色をつけたり、背景を変えたり、レイアウトサイズを変えたりするのは基本的CSS役割である

すごく大雑把にいうと、HTMLで表示する内容(文章画像)を定義し、CSSでその見た目を整え、JavaScriptで動きをつける。というのがWebサービスの”見た目”を作るやり方である

なので、Webに興味があるのであればある程度はCSS知識必要である。が、これ単独で学ぶようなものではない。Webサービスを作る時についでに調べて少しずつ覚えていけば良い。


9位タイ TypeScript

TypeScript比較的新しい言語で、JavaScriptさら拡張したものであるMicrosoftによって開発されている。

プログラムにはデータの型(Type)というものがある。例えば「1」や「2」は数値型、「あいうえお」は文字列型といった具合である。大まかに言うと、この「型」に対して厳しい言語は型チェックによりバグの混入を防ぎやすいがプログラムを書くのが大変、というかコード量が多くなる。型が緩い言語サクサクかけるし短く書けるがバグを生みやすプログラマの力量が問われる。ランキングの中だとJavaScript, Python, PHP, Ruby, Perlあたりは緩く、Java, C++, C, Swift, Go, Kotlinあたりは厳しい。

そんな中、世で広く使われているJavaScriptの型チェックが緩すぎるのでもっとちゃんと型をつけたい、そんな要望を叶えるのがTypeScriptである基本的JavaScript理解している人間が使うべき上級者向け言語というのが現状なので、初心者が始めるには適していない。

ただしこの先主流になっていく可能性は大いにあるので、どこかのタイミングで勉強してみても損はしないと思う。


9位タイ C

C言語基本的OSを作るための言語であるOSというのはWindowsとかmacOSとかLinuxといったもので、マシンを動かすための基盤となるソフトウェアであるAndroidスマホにはAndroid(という名のOS), iPhoneにはiOSが載っている。コンピュータ基本的OSがあって初めて動かすことができ、OS提供する機能を使ってブラウザスマホアプリなどを動かせるのである

というわけで、初心者が学んで実用的なものではない。ただしC言語というのは世の中の様々なものの基盤になっており、他言語文法C言語から拝借しているものが多い。例えばC言語をある程度勉強していればJavaPHPなどはなんとなく雰囲気で書けてしまったりする。

そういうわけで、コンピュータサイエンスをこれからちゃんと学んでいきたいという人(大学生とか)はC言語から始めるのもいいと思う。ちなみに筆者は初めて書いた言語はCであるが、意味理解できるまでに2年かかった。才能がないとこうなるので注意。


11Swift

SwiftAppleによって作られたAppleのための言語であるiOSアプリiPhoneアプリと言い換えても良い)を作るためだけに存在している。

言語自体は他と比べて新しいため文法機能イケてる雰囲気があるので基本的はいいのだが、iOSアプリ以外で使っている人は多分世界で5人くらいしかいないと思う。なのでiOSアプリに興味がない人はやめておきましょう。iOSアプリを作りたいあなたは他に選択肢はない。Swiftをやりなさい。


12Objective-C

Swiftが生まれる前はiOSアプリを書くためにObjective-C必要だったため、多くの人がこの言語を使っていた。が、今はSwiftがあるので、古くからあるObjective-Cアプリメンテナンスする時以外に使う機会はない。名前すら覚える必要がないので存在を忘れてしまって構わないが、これだけ順位が高いということは多くの企業がいまだにObjective-Cで開発し続けているということであり、ニッチ需要はこれからも残るのかもしれない。


13位タイ Scala

Scala関数型言語と呼ばれる言語の一つ。Javaの親戚みたいなものなのでJavaとの連携が容易であり、上手く使えば性能も出るしコード量も少ないしバグも少なくて最高、な感じらしい。が、その分難易度が非常に高いので初心者が手を出すものでは絶対にない。どんなに早くても他に二つは言語を覚えてから勉強しましょう。Javaを覚えてからやるのがベター


13位タイ R

R言語データ解析用のプログラミング言語である

正直ほとんど書いたことがないのでよくわからないが、ビッグデータというワード流行りだした頃はデータ解析用途でかなり流行っていた。その後機械学習AIブームが来て、今でも現役で使われてはいるがPythonがどんどん勢力を拡大しているので少し目立たなくなってきた、というのが個人的な印象である。まあプログラミング初心者最初にやるようなものではないことだけは確かである


15位タイ Go

Go言語比較的新しいGoogle製のプログラミング言語で、Googleのように巨大なシステムでの使用目的に作られたものであるしかし実際には様々な企業が利用しており今一番勢いのある言語と言ってもかもしれない。

他のプログラミング言語の良い点や悪い点を参考に設計されており、実行速度の速さと生産性プログラムの書きやすさ、読みやすさ)を両立できるような言語になっている。ただし、機能を増やすのではなく本当に重要機能だけに絞るという思想があるようで、他の言語に慣れていると機能の少なさに不便を感じるかもしれない。

学習コストが低いという点では最初に学ぶ言語として適しているかもしれないが、GoだけでWebサービス等をサクッと作れるのかというと微妙なので、アウトプットを出しにくいというのはあるかもしれない。

二番目や三番目に学ぶ言語としてはオススメ


15位タイ Shell

シェルというのはテレビなんかでハッカー的な人間PCを開いて謎の黒い画面に白い文字を打ち込んだりするアレである説明としては正確ではないがまあ大体そんなもんである。何が言いたいかというと初心者最初に学ぶとかそういうものではない。しかし実際に開発の仕事をやるとシェル知識はあったほうがいいし、シェルに多少詳しくなるとPC上でテキスト操作をしたりファイルをいじったりというのが便利にできるようになる。ただし(通常は)極める必要はない。

Shellと言っても実際にはbash, csh, tcsh, zshなど色々あるのだがそれらをひとまとめにしてShellとなっているようだ。


17PowerShell

PowerShellは上のShellの親戚みたいなもので、ShellがMacLinuxで動くのに対しPowerShellWindowsで動く。そんだけである。あと正直あまり知らない。


18位 Perl

ランキングの中ではかなり昔からある言語で、サーバーと呼ばれるマシンには大体Perlが入っている。そのくらい市民権を得た超有名言語で、C言語C++で書くほどでもない小さなプログラムはとりあえずPerlで書く、というくらいには広く使われていた。インターネット初期はほとんどのWebサイトはPerlで書かれていたとかいないとか。PHPなどの登場はその後である

今でも広く使われてはいるが、RubyPythonPerlの後継的な位置付けであるため、初心者が新しくPerlを学ぶメリットというのはあまり思い浮かばない。何か特定目的があるのであればいいと思う。


19位 Kotlin

Kotlin簡単に言えばBetter JavaであるJavaをもうちょっといい感じに書きたいという気持ちで作られた言語で、Scalaと同じくJavaの親戚のようなものである

ランキングの中ではSwiftと並んでかなり新しい部類。AndroidアプリKotlinで書けるようになったことがきっかけで人気が爆発的に上昇、今ではWebの開発にも使われていたりする。

とは言えまだまだ新参者といった感じで、ドキュメントなどの情報も他の言語に比べると物足りないので初心者には厳しいかもしれない。

言語自体はとてもいい感じなので、もう少しコミュニティ成熟してくれば最初に学ぶ言語選択肢として有力になるかもしれない。


20Haskell

HaskellScalaと同じく関数型言語であるScalaJava的な書き方でも動くの対し、Haskellは「純粋関数型言語」と呼ばれ、ランキング中の他の言語とは一線を画した書き方になる。どう考えても初心者にはオススメしない。少なくとも他に二つは言語マスターしてからやりましょう。


総評

なんとなくWebに興味がありそうならJavaScriptRubyもしくはPHPAndroidアプリに興味があればJavaiPhoneアプリに興味があればSwiftAIデータ分析に興味があればPython3Dゲーム開発に興味があればC#。この辺りをやりましょう。

特に目的がないのであればフィーリングで選んで大丈夫ですが、やめておくべき言語というのはあるのでその辺だけ参考にしてもらえれば。

なお筆者はただのヘボプログラマであり、大好きな記事http://www.mwsoft.jp/column/program_top10.html) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。

anond:20200521200119

レンタルサーバーなので削除した。いつまでも鯖代払いたくないからね。

Railsで作ったよ。

ActiveRecordUserTweetProfile

belongs_toやhas_many使ってデータベースを関連付けして

ApplicationControllerで@current_userログインしたユーザを格納して、ツイートの削除権限とか、トップでの表示内容管理したりした。

ProfileCSSSass)やプロフィール説明の部分や画像管理できるようにしたよ。

当時はRails4だったから、SprocketsやTurbolinksも使ったよ。

anond:20200520204737

自分はとんでもないバカからプログラミングスクールに何十万も払わないといけないという自覚があるならやればいい。

でも、その前に技術書買ったり、progate(両方、無料で試せる)をやってみてからにしたら?

技術書30冊くらい読んでたんだけど、体系的な知識ってのが手に入らなくて、progateでrubyrails学んでインタラクティブツイッターライクなアプリ組み立てて

ついでにすべての基礎となるコマンドラインPythonとかGoとかReactや、Node.JS(もうあん必要ないけど)とか、学ばせてもらって、一気にレベル上がっちゃったか

自分としては独学してる人にはぜひともProgateおすすめしたい。

Codecademyほどハイレベルじゃないし、一通り触れたあとに技術書に戻る必要はあるけど、やるとやらないでは全体の理解度全然違うよ。

2020-05-13

CGIさくらのレンサバにあげる奴はもういないのか

少し前からプログラミングスクール流行りだし

フリーランスになると稼げるみたいな空気が出てからおかしくなった

今はRails覚えて自社サービスやってる会社就職するのがゴールなのが多過ぎる

Railsも悪くないし自社サービス就職したいってのもいいよ

でも元々プログラミングって遊びの延長線なところあったじゃん

書きながら思ったけど彼らは自分で作りたいものないのかな?

広告貼ってマネタイズとかその前に単に作ったものに人が集まったり

作ったものに反応してもらえるのがただ嬉しかったじゃん

真面目に勉強するのもいいけどそういうのないのかな

やれRailsだのAWSだのDockerだのどっかのスクールに金払って習っても

そんなのどっかでプログラマで働きだせば嫌でも身に付くし

正直1人でサイト作る分にはこんなのいらないじゃん

なんだかなあって思う

2020-05-10

Rails技術負債である2020

Rails業務システムを作ると死ぬ。というかスタートアップ文脈以外ではRailsを使わない方がいい。

Railsって「他の何を差し置いても初速が重要!」「成功してから考える!」スタートアップにとっては最適だと思う。

でも要件が複雑で長期的に運用保守する前提のシステムを作るのには全く向いてないんだよね。

Rails選択した時点でMVCかつモデルにいろいろ押し込んだ密結合なアーキテクチャ採用していて、これが規模の大きく複雑なシステムマッチしないってことをもう少し意識した方がいい。

技術負債」なんて聞き心地の良い言葉で済まされるけど、要は設計不備でしょ。

もちろん要件を鑑みて意識的にこういうアーキテクチャ採用するなら何も問題ない。

作り散らかす人にとってはどうでもいいのかもしれないけど。

とにかく、向いていないことにRailsを使うと当たり前のようにしんどい。

信者は絶賛するのはいいけど、向き不向きがあるってことも同時に伝えてくれたらうれしい。

負債を返すのはおそらく作ったのとは別の人になるので。

2020-05-07

anond:20200507155433

Rubyが人気出たのってほぼRailsのおかげだよなと思う

matzが作ったとはいえ国産で人気が出た言語とは言い切れないんだよな

classi頻繁に繋がらなくなるんたが、railsで作ってしまったのが原因なのか。rubyで高負荷を頑張るならcookpad並にエンジニア集める必要があるのかなあ。goとかjavaとかで作ってたらこんなことにならなかった?

2020-05-01

anond:20200501025136

RailsとかAnglerやったのすごいね

増田はめちゃくちゃ賢こそう

増田痴呆とか、知的問題があるとか書いてる人がいるけど、

こういう人より増田は遥かに知性あるから大丈夫だよ

2020-04-13

rails負債になる以前にrubyが使った瞬間から負債となる言語言語バージョンアップ対応できていないライブラリが多すぎだし、新しくそれが作られることも少なすぎる。Ruby好きな人はそれを安定してきたとか、枯れたとか言って良いように解釈するが、そんな言語新規参入者が来なくなって衰退していくのは明らか。

動的型付け言語bashpythonとRで十分なので、rubyには退場願いたい。

2020-04-12

anond:20190329105413

最近Laravelで開発してるPHPerだけど、その辺ってDI疎結合に出来ないのかな?

RailsってDIないの?と思ったら、そもそもRubyインスタンスへの依存性は動的に変更できるらしいじゃん

FWがどうとかじゃなくてプログラマが適切に設計できる技術がないだけじゃないの?

view部分はJSON返すAPI作っておけばいいし、この人が何を言ってるのかよくわからん

一昔前のRailsおじさんが作った密結合のシステムを今でも作っちゃうってこと?

2019-12-05

エンジニア職に就いたあと辞めたポエム

補足→ https://anond.hatelabo.jp/20191205212350


これは退職アドベントカレンダー2019 (https://adventar.org/calendars/4051) 5日目の記事です。最初自分ブログに書くつもりでしたが、書いてるうちにどこまで筆が滑っているのかわからなくなったので増田に投げることしました。そしたら余計にタガが外れたのはご愛嬌

What's this

よく見かける「未経験からエンジニアへ!」ストーリーの、あまりなさそうなルートです。よくあるルートのほうはなぜかTwitterで報告して「○○系エンジニア」的な命名をしてから入社その後の動向が闇に葬られているのをかなりの確度で見かけますが、まあ、なんか、いろいろあるんでしょう。逆にそういう成功(?)体験生存バイアスを強化する情報ばかりあふれていると情報として健全でないように感じます

ということで、今年あった自分体験談を残すことにします。

といいつつ後日しれっと消えてたらInternetArchivesか魚拓で会いましょう。

この話はここから先はフィクションです。剣も魔法労基法も出てこないファンタジーです。

who are you

地方に潜むフリーターです。好きなvirtual beingsはロボ子さんと東雲めぐさんれいきらさんです。

これまでは自分のためのプログラムを書き散らすだけで、ITとは無関係バイトをしてきました。玉掛フォークリフトなら任せろーバリバリ

入社の経緯

会社にもぐりこんだいきさつはやや特殊なのでぼやかします。とあるきっかけで知り合った人から誘われました。リファラルです。なお、とあるきっかけはなにかと炎上しがちないわゆるプログラミングスクールなどではないことを防火剤がわりに書いておきます。そんなもんに使う金など無い。

その人のことはあんまりよく知らなかったのですが、CTOとして手伝っている会社システム部門で人手を探しているとのことでした。会社ホームページにはリクルートページなど無く、何をやっているかいまいち要領が掴めなかったのですが、ざっくりと自社製のWebアプリ開発をやる感じらしく、内容も聞いた限りでは(自分スキルと照らし合わせて)そんなにどえらいわけでもない印象でした。ちょうど金もないし無職だし、少し経験でも積んでみるかという気になったので、この際ホームページDreamWeaverサンプルを流用したまんまといった細かいところは観なかったことにしました。

面接にいくと社長から「いつからこれるの?」と言われたので「あっこれは」となりましたが、金がなかったので是非もなくそのまま入社の運びとなりました。この頃はプログラム書いて金もらえるなんてサイコーとか思ってました。ちなみにgithubatcoderアカウントを書いた職務経歴書は一顧だにされませんでした。

やったこ

地方製造業システム部門を切り出して別会社にした形態の、創立数年ほどの会社です。自分のほかにもうひとり、社内情シスのようなことをしている方がいましたが、基本的にはサポートが専門な感じでした(ただし肩書自分と同じでしたが)。紹介してくれたCTOは週に一度のMTGに顔を出すだけということで、実質的に常駐している人間プログラムが分かるのは業界経験自分だけというチャレンジングな環境からスタートしました。なお入社して社内の平均年齢を大幅に下げることになりました。

レスポンシブ化

ちょうど入ったタイミング情シスの方が抱えている仕事があり、とくにやることもなかったので手伝いました。グループ会社サイトスマホ対応させるもので、事情はわかりませんがそれまで他社に制作委託していたものを自社で運用することにしたとのことです。みてみるとWordPress4でPHP5が動き、Bootstrap3を使ったオリジナルカスタムテーマ運用してきた様でした。もちろん仕様書ローカル環境もあるはずがないのですが、どうせ自分Webデザインなど知らんのでとりあえず直にheader.phpにviewportを書いてmain.cssメディアクエリを設定して、ザ・web制作初歩みたいなレスポンシブ対応しましたが、デザインについて当事者との意見のすり合わせの機会なんかの開発手順はなかったので良しとしました。

新規Webサービス

入社して2周間ほどのち、社長についてこいと言われた打ち合わせの後日、MTGで「昨日のアレの進捗はどんな感じなの?」と聞かれたこから、いつのまにか新規案件自分に一任されていることに気づきました。仕様は前日の打ち合わせがすべてだった模様です。要件定義技術選定・検証のような工程など決まってないので好みで揃えました。趣味と関心からExpress+Mongo+Reactのセットか、触ったことのあるDjango/Railsでざっくりやるか、どうせならDockerも使い時か、こんなとき相談できる同僚やメンターが欲しいなぁなどと考えていたら、CTOがそれまで作っていたやつをみるとPHP+ES5+MySQLだったのでなんだかんだでそうすることになりました。PHPを初めて触り、「これがペラ1のphpjscssもなにもかも書いていくといういにしえのスタイルか…!」と新鮮な感じでやってました。

既存システムの移行

Windows Server 2012で動いていたサービスLinuxに移行しました。これは自分が入る前から情シスの方が任されていたのですが、マニュアルに沿ってコマンドを打ちこんではどこかで転け、エラーは読まずにあきらめてCentOSインストールからやり直すということを繰り返していたのを見るに見かねて手伝いました。SSHPowerShellからマニュアルコマンドコピペして実行する方法を教えてあげると目を丸くされました。shellファイルを書いてあげると魔法をみるのような顔で驚かれました。自分が入ってなければどうなっていたんだろうか...

自分ツール作成

毎日出退時間規定EXCELフォーマットに記帳する必要があり、これが非常にめんどくさく無駄に思えたので、自動記述するpython/Goスクリプトを書きました。これは入社して2日目とかだった気がします。しかしここを自動化しても「印刷して人事に提出し、それをもとに人事の方がまたEXCELに書き込む」と知り虚無になったりしました。

FE取得

これはやったことというか思うところあってプライベートで取り組んだことです。自分想像していた開発現場との乖離を感じたので、こういうのはFE勉強すればわかるのかもしれないと思って1ヶ月くらいやって取りましたが、得られた知識会社に活かせそうなものは何一つありませんでした。

チーム開発などという概念存在せず、「1案件を1人で上流から実装運用保守サポートまですべてやる」という進め方でびっくりしました。手持ちの技術スタックでできる範囲ギリギリなんとかやった感じです。よく転職サイト上で見かける文言で「お任せします」がありますが、これとかも要するに「丸投げ」の換言なんでしょうか。わたし気になります

とりくめなかったこ

自分のように途中からジョインした人に対しての業務移行のシステムがないことから感じていましたが、案の定「誰かが抜けたあとの引き継ぎの機能」も整備されてないことに気づきました。もともとオンボーディングや研修概念などありません。えらいひとは「そのへんは現場で協力してうまくやって」と丸投げし、すべての作業を自宅でやっているCTOは社内のこうした事情については放任で、いちおう情シスの方がいつのまにかメンター代わりになっていたものの、不明点を尋ねても頓珍漢な返答が多くもどかしかったです。どのサーバでどんなサービスが動いているのかやSSH情報を聞き出すのに苦労しました。こうした不幸と無駄時間をなくすためにドキュメントを整備しようとしたのですが、頓挫しました。これから物理フォルダーと社内サーバ散逸した各種の情報混沌を深めていくのでしょう。gitも無いし。

サーバオンプレでした。自分クレカをもっていないためパブリッククラウドを試す機会がなく、ぜひとも触ってみたかったのですが、承認を得るための説明がうまくいかず、結局VBoxでやることになりました。唯一、それまで使われていたVBoxではなくVagrantを導入したのは少しだけ救いでした。どうせ自分しかいじらないのですが。

余談ですがオンプレ面白かったのはHDD増設のために初めてデータセンターなるものに入ったことです。インフラ/ネットワークはまったく分からんしなかなか個人で試せない領域だし縁がないかなと思っていたのですがやはりそこに見える物理層が存在するというのはテンションがあがりますね(断層みたいに言うな)

イキってカイゼンジャーニー情熱プログラマーを買って読んだりもしました。目につくように共同図書のつもりで「ご自由にどうぞ」を添えて自分ロッカーに置いておいたら「私物は持ち帰れ」と言われてしまったので持ち帰りました。

退職経緯

さてお待ちかねメインディッシュですね。

もともと技術コンテンツ会社ではなく、技術畑の人間がまったくいないことのインプレッションが次第に違和感として強く響いてきました。ITエンジニアとしてやっていくつもりの観点でみると、学習や成長の土壌は無いように思えました。協調関係や信頼がうまく築けず、自分のすべき道筋不明瞭のままやっていけるほどタフなYATTEIKI精神ではなかったのです。

これは地方の、それもIT気質のあるわけではない、ワンマン経営中小製造業ならばどこにでもあることかと思われますが、随所に感じるレガシーさに疲れてしまいました。一例を挙げると、毎朝30分に亘り行われる全社清掃(もちろん業務時間外)、社是の復唱、『感謝言葉をみんなで味わうポエム』の輪読、その感想大会、頻繁に行われる中身のない会議日報エクセルで書いてメールで送ったり、出退勤表を毎日エクセルに書いて印刷して事務方に持っていくなどのルーティンがけっこう苦痛でした。

社内のコミュニケーションツールLINEだったので使い勝手も悪く、会議chatworkslackを使いましょうと提案しても誰一人としてそれらの存在を知らず、「勝手にやってくれ」と言われてしまったり。LINE WARKすら知らんやんけ。説明しても「skypeじゃ駄目なの?」と言われたので諦めました。

えらい人の思いつきのたびに方向性が変わり、当人発言したらそれで全て完了した気になってしまったのか、会議終了後の10分後に「さっき言ったやつまだ出来てないの?」などと言われた時はギャグかと思いました。会議議事録も誰も見返さないので果たして意味があったのか疑問です。誰かひとりでもmarkdownが書けたり、少なくとも書く気があれば勉強会を開催してHackMDなどを推せたのですが。議事録機能していないエピソードとしてひとつ思い出しました。開発中に機能追加を下された際に、その挙動は完全にプラットフォームネイティブであり今の技術選定だと作り直しになり、結果納期に間に合わない(し、自分技術スタックからも遠く外れていたので学習コストも加算)と発言したらその場は収まったのですが、会議終了後に個人メールで「やはり機能マストだ」と伝えられました。当然それは議事録に反映されることなく、なんかしらんけどそういうことになっているという感じになりました。

初めてのエンジニア職でしたが、社内に開発をる人やマネージャー職は不在で、いわゆる開発現場での流れを学ぶことはできませんでした。少なくとも技術を知らないえらいひとが「俺がスケジュールを立てたからこれに沿ってやれ」と、”開発”と”広告作成しか書かれていない2週間の計画表をもってくるような現場システム開発として正しいのか、 と本能が警告を発していました。

もともと会社製造業から始まったため、えらい人たちとの見解齟齬があったのは体感としてあります。同じものづくりといえど設備マンパワー時間線形的に結果に結びつく工場業務と異なり、システムエンジニアリングはかける時間見積もりも容易でなく、かかった時間が必ずしも結果に結びつかないものである、と言う事実は受け入れられ難く、知識ドメインマインドセットが異なれば説明も困難です。しかしながらえらいひとは一様に「経営視点を」の号令で、経営誌を配り、その感想文の提出を義務付けるなど、現場視点を欠いた行動で現場(というか私)を疲弊してました。気づいたらSEO対策や別部署MTGのためのプロジェクター設定、全PCwindows updateに伴うドライバ更新の役も同一の職掌として役付けられそうになっていたり(一部は実際に情シスの人がやってた)、It’s not my workなシーンがみられるようになっていました。

そして、よくあることですが、理念実態乖離していたことです。世界をよりよくと言いつつ、目先の掛け算を考えてばかりのように思えました。グロースする中で発生しそうなあれこれをすっ飛ばし利益だけを皮算用するのはいいとして、データ量やトラフィックを指摘すると「そこは現場努力でしょう」となるので、世界を良くする前に精神を悪くしてしま人生で初めて心療内科にいったりもしました。一応グローバル展開を目指しているとしながらサーバからMailerDaemonが飛んできたら「ギャっ英語っ!」と言って読まず捨ててたり、急にサービスが止まった時には激怒して責任所在の追求を求められたため、草創期にえらい人の個人アドレスで取得してほったらかしにしていたドメインが失効したことが原因と伝えたら「あれはもう読んでいないアドレスだし仕方ない。こういうピンチときこそチャンスにしようぜ」という謎理論を出されたこともありました。

違和感が確かなものになったのは、外部に提出する資料で社内の数字が異なっているとを指摘すると「こういうのは見栄が大事なんだ」と暗に公文書偽造をほのめかされたことですが、これ以上は闇っぽいので書きません(たぶんどこもやってて罷り通ってる範囲だと思うけど)

総じて、心理的安全性の低さ、そこからくる身動きのとれなさ、ロールモデルの不在、前時代的な風潮、社内文化へのミスマッチと不理解、成長の実感が沸かない不安と不満、それらに伴う摂取アルコール量の異常な増大と過食、といった要因の積み重ねが、ネガティヴな形での退職へと駆り立てることになったのだと思います。まあ、よく知らんうちにリファラルしてるところからして「採用教育コストを考えてないのでは?」の念はあったのですが。中身がまったく不透明状態で飛び込んだらそうなるよなぁ、の好例かもしれません。誘われた時はわりと藁にも縋る思いだったのでしかたないね

これから

現在スキー場住み込みバイトしてます。無考えに退職すると年を越せないことに気づきました。

可処分所得可処分時間いずれも今の方が上なのはちょっとウケます賃金ふつうに生きていければいいので前職程度でも気にしなかった程度なんですが。いまは映画をみたり積ん読を消費したり、在職時は深いところまで触れなかったPHPをいじったり、生PHPしかやってないことに気づいたのでcakeやったり、あとはweb周辺も久しぶりにキャッチアップしたりしてます。nodeネイティブおじさんなのでFWはangularしか知らないんですよね。vue/nest面白そうな感じです。あと寮のwifi談話室限定で窒息しそうだったので、持ち込んでいたラズパイルータにして部屋まで飛ばしたら隣室の同僚から感謝されたりと活動は多岐に渡ります

先のことはなにも決まってませんが、ちゃんエンジニアリングしている組織で開発してみたいなという気持ちがありますレビュースクラムアジャイルなんてのはひとりだと不可能ですし。ですが、やはりそういった会社日本では都市部にばかり集中しているのでしょう。自分空気の悪いところには住めないし、案外また辺鄙なところでtechとは無関係のことをしているのかもしれません。ワーホリでも使って海外大麻栽培でも始めようかなぁ。

いかがでしたか

巷説に流布する「未経験からエンジニアへ」の言説のたぐいは、どちらかというと技術力よりもコミュ力が偏って高いタイプ生存しがちな雰囲気を感じます。たまにTLに流れてきたのを見かけますが、ああいった立ち回りは自分にはできないしやりたくないなぁと思ってきました。社会要請ならばそれまでですが。

自分は体系的な情報教育を受けていないどこにでもいる地方高卒で、下手の横好きで趣味プログラムを書いてきたし、続けてるってことはそれなりに好きなんだと思います。得意じゃないけど。んで、こんなのがITエンジニアをしたサンプルというのは見かけないかもなぁと思って投稿しました。光あるところに闇あり。

といいつつ、やっぱり好きなことの結果がおかねになるのはいいよなぁと思った次第です。プログラムを書くのは楽しいけどエンジニアリングは超絶むずい、が雑な総括ですが、今回のことを顛末次第にはする気はないので、どこかに拾ってもらえるよう精進するきもちになりました。

ぼくのポエムはこれでおしまい。じゃあね。

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