はてなキーワード: Railsとは
ってどこか連載してほしいと常々思うのだが。
言わずもがな楽天。なんだこれ。インターネットがこの世に出たころのようなデザイン、これはもはや意図的に使いにくさを追求しないと辿り着けないレベル。
銀行系、クレジットカード系、なんでもいいけど日常的に使わざるを得ないインフラを担うような会社のサービス。
大手企業だけどSIerに開発を丸投げしているような会社のシステム。
もうすぐにエラーになるわ、URLの名前はおかしいわ、ちょっとしたことに7クリックくらいしないと実現できない。リクルート系も同じくらいヤバイ。
これは外注している会社全般にいえるけど、SIerの技術レベルはやはりヤバイ。SIerはこの世から滅びたほうが社会のためになる。
ユーザー視点で見事なまでに考えられていない。ここで苦労させることに何の意味があるのか。
Youtubeとか海外のカンファレンスをみていると、よく「Make the world better place」ってフレーズをよく聞く。めちゃくちゃ聞く。
サービスによって世界をより良くしたいって思想の元にサービスを開発しているわけだ。
ところが日本はどうだ?
そんな発想がないどころか、「Make the Japan more chaotic place」って言葉がぴったりだ。
つまり、サービスによって日本をもっと混沌とした場所にするってこと。日本の経営者もエンジニアも社会的意義とか考えたことないやつばかりだ。
メルカリとか犯罪の温床になるようなサービスばかり提供し、ドヤ顔。昔流行ったソシャゲとか、そんなゴミを開発している会社だらけ、DeNAなんかソシャゲ以外の新規ビジネスでも問題だらけ、社会悪そのもの。儲かればなんでもOKって会社ばかり。
今時Dockerが〜とか恥ずかしげもなくそんな記事が今なお乱立する、まじかよ。
さらに開発環境に使いましたって糞みたいな記事が乱立する有様。Deployはどうした?
Qiitaとかゴミ記事プラットフォームと化しているからgoogleの検索からまじで外してもらいたい。
さらにRubyが〜Railsが〜なんて、世界でもPerl並に勢いよく廃れている技術を今なおスタートアップはドヤ顔で使う。
まあそれはいいけど、あんなパフォーマンスも自由度高すぎて可読性も低い言語が流行る時点でエンジニアリング的思想が普通に欠けてると思う。
さらにマイクロサービスアーキテクチャーが〜っていって大した規模ではないスケールの必要性がまったくないようなシステムにまで
無理に導入しているやつ。
追記。redmineだけwww-dataユーザーで手動展開してwww-dataとして必要gemをredmineディレクトリ内に(必要なdevをaptで入れて)インストールしたら動いた。
やっぱりあちこちのディレクトリに分散させたredmineのdebが俺には繊細過ぎたのだ(rubyとrailsとnginxとphusionpassengerはdebのまま)。作業ディレクトリいっこ万歳
[追記]
なんの反応もなくて辛い
2. かつ各セールの対象商品も1ページ内で見られるようにしたい
自分で作ってみることにした。
https://openbook4.me/projects/92
神情報
http://chalow.net/2016-01-18-3.html
わからないことググったらだいたいここに行き着く
1週目
・とりあえず『https://openbook4.me/projects/92』をみてイメージを膨らませる
2週目
・amazon-apiを叩いてセール情報が返ってきた時は嬉しくて泣いた
(終了済のセール/全然安くないセール/アクセサリ等のセール情報が大量に含まれている)
3週目
・ある程度ましなデータが取れるようになったので見た目(view)を作り出す
4週目
・ドメイン取る
・とりあえず公開する
2ヶ月目
・アクセスがなさすぎて泣きたくなる
・アクセスがなさすぎて泣きたくなる
3ヶ月目
・アクセスがなさすぎて泣きたくなる
(キャッシュとか)
・見た目も改善する
イマ
・アクセスがなさすぎて泣きたくなる
- 有効なセールを弾いてしまうことがある/無効なセールを弾けないことがある
Rubyがもっとマイナーだった7年くらい前にどや!ってメソッドチェインでコード書いて公開したら読みづらいって言われまくった記憶がある。っていうか俺もメソッドチェインっていう言葉も概念も知らなかったし、周りにもメソッドチェインっていう言葉も書き方も浸透してなかった。とにかく俺は関数繋げて1行で欲しい値を取り出す方法の方がカッコいいと思っていた
当時はgithubを俺は知らなくて(いま調べたらgithub設立が2008年だから自分が知らなくてもしょうがないな)google docsに載せて公開してた
たぶんrailsっぽいメソッドチェインの1行関数で返り値を次の1行関数に渡すような書き方が今後増えていくと思うけどどうなんだろう
あとやっぱりオブジェクト指向って微妙な感じがある。データの持ち方をその都度クラスにはめ込んでインスタンスにするって方法がなんか気持ち悪い。関数だけでいいじゃんってなる。コード書く時にわざわざクラスを作りだしてそれに関数を押し込めなきゃいけないのがなんか気持ち悪い(コード書いてる時に最初に思いつくのはクラスでもオブジェクトじゃなくて関数だ。車を欲しいから車を発明するじゃなくて移動手段が欲しくて結果として車が発明されるのだ)
犬っていうクラスが無くても、鳴くっていうメソッドは存在させておきたい。後から大きな声で鳴くにして、最後あたりで犬が鳴くとか猫が鳴く、みたいなコードの書き方ができなくてクラスを最初に作らせるのが思考に縄をかけられる感じがしてキモい
人間の思考は抽象から具象に下ろすことだって多々あるのに、オブジェクト指向もといオブジェクト思考は具象から抽象に上げなきゃいけないから
例えば俺の妄想はこんな感じ
get_text.from("anond.hatelabo.jp").all_page.tag("title").to_a
自分も10年 rails を使って最近別言語に移行することに決めた。
Rails はレールに乗れば高速だけど、レールとレールがちゃんとつながっているか実際に電車を走らせて脱線事故を起こさないとわからないのが辛い。そしてそういう脱線はよく起きる。
Rails は遅いのでパフォーマンスチューニングするときにコードが歪み、長期的には見通しの悪いコードができる。そのチューニングのための予期しない改修コストが発生する。
レールを外れたことをしようと思って別にレールを敷設しようとしても地下にガス管が走ってて工事できないみたいな予想しなかった依存関係が見つかって結局高架や地下トンネルを作ろうみたいな大掛かりなことになる。
Rails のことはかなりわかっている方だと思う。
だが、最近 Django (Python のウェブフレームワーク)を使いはじめて、いままで苦労して Rails を使ってきた努力は何だったのだろうと思った。
Rails は Ruby の柔軟さを利用(悪用)して、徹底的に Ruby 言語が改変されている。
DSL が多用されている。
要するに、「レール」を外れると、どうしたらいいのかすぐわからなくなるのだ。
だから四六時中、フレームワークやプラグイン(gem)のソースコードを解読しようと格闘する羽目になる。
その点 Django は Python らしく、フレームワークは余計なことをしない。こちらが何かしないかぎり、何も起こらない。
すべては明示的(explicit)に行う必要がある。
明示的なものは暗黙的(implicit)なものよりよい、というPython、そして Django の思想。
なんという安心感だろうか。
たしかに Rails のほうが開発に必要な記述量は少なくなるかもしれない。だけど、わずかな記述量を節約したところで、見通しが悪くなったら元も子もないではないか。
私は、本当に Rails 教に洗脳されていたんだな、といま感じている。そして、洗脳から解放され、いま、より広くて成熟した Python コミュニティに参加しようとしている。Ruby も悪くない言語だし、Rails もよいフレームワークだけど、もういいかな。これからは Python と共に歩もう。
ただ、PHPdeyarunoka?もっとクソだろ?
Pythonでやるのか?遅いからpypyにするか?セクハラだぞ?
Railsが一番良い落とし所だったんだよ。