はてなキーワード: ストレージとは
今月は,ソニーグループと任天堂の決算の話を中心に進めたい。両社ともに共通しているのは,前年の強い需要の反動を受けたことだろう。とくにソニーグループは,PS5のコスト負担が重いこともあって,大幅な減益となった。
PS5は230万台の売上(着荷)台数と,前第4四半期の330万台から減少した。要因は(1)空輸から船便に切り替えた影響,(2)半導体不足による生産台数の減少によるものとしている。半導体は最先端のチップ不足が報道されがちであるが,パワー半導体なども,自動車生産の回復による需要増で不足感が強い。この四半期は生産に大きく影響が出た印象である。今期目標の1480万台以上は堅守とのことだが,第1四半期のビハインドを挽回できるかどうかはよく分からない。
下図は以前にも示したものだが,今回の決算で気になるところは,アクティブユーザー数だろう。ソニーグループは前年度よりも水準が高いことから,コロナ禍による巣ごもりの影響ではないかとしながらも,詳細は不明としており,第2四半期の動向を見守りたいとしていた。
ソニーグループのゲーム事業アクティブユーザーとフルゲーム販売本数
この現象は,個人的には不可解である。通常であれば,PS5を初期に買う人々はゲームをたくさん買う層であり,また喜んで遊ぶと想定されるからだ。特にPS5はこの期間に1000万台近い売上台数を実現している。そして以前,ジム・ライアン氏自身が示した通り,ゲームの購入はPS4よりPS5のほうが少ないという問題がある。
この問題を説明できる考えが必要だが,エース経済研究所では,空き容量が問題ではないかと仮説を立てており,要点は主に二つである。
(1)据え置きゲーム機は,高性能化を追求した結果,メディアは単なる起動ディスク化しインストール必須となっているため,空き容量の影響を受けるようになったこと
(2)ゲーム機全体が一般化し,よりライトユーザーが初期から手に入れるようになったことで,購入頻度が低い層が増えた
特に(1)は非常に深刻な問題と捉えていて,PS5/Xbox Series Xは,前世代機から互換性を持たせた結果,より高速な体験ができる現行機に過去のユーザー資産が持ち込まれ,ストレージ容量を圧迫している。ユーザーは,新規の大作ソフトで空き容量が圧迫されること,もしくは既存のタイトルをストレージから削減することをコスト(心理的抵抗:スペースコストと暫定的に命名)と認識していて,このコストを上回る価値が新規タイトルにないとゲーム購買を躊躇うようである。
この点はソニーグループとの議論では確認できなかったのだが,パソコン周辺機器メーカーがこの問題を認識していることを知った。
PS5には追加のSSD用スロットがあるが,現状ではこのスロットは解放されておらず,増設ができない。現在β版のファームウェアで解放の準備が進められているが,解放されると,大きな商機があるとパソコン周辺機器メーカーは思っているようだ。その要因は,PS5の空き容量が発売から1年足らずですでに大きくひっ迫していると見ているからとのことであった。
これらのことを考えるとF2Pの収益がPS5で拡大したのも頷ける。F2Pの課金はデータ容量と相関していないためだ。パッケージやダウンロードゲームは,買えばダウンロードされるために,必然的に空き容量をひっ迫するがアイテム課金はそうではない。
これがPS5でF2P課金が増えた要因ではないだろうか? そしてPSビジネスを揺るがしかねない問題だとエース経済研究所では考えている。PS5はストレージ容量が,ゲームの肥大化に見合っていないため,廉価で販売している状況に見合った販売結果が得られない可能性があるからだ。
この仮説が適切かどうかは,ファームウェアアップデート後のユーザーの動きで分かるだろう。
次に,任天堂の決算である。Switchの販売は,前年比で落ち込み,資本市場ではついにピークアウトしたと認識されているようである。任天堂のゲーム機は3年目がピークになることが多く,例外と言っていい10年間も販売されたゲームボーイはもう30年以上も前に発売されたアイテムなので,多くの人の記憶にはない状況にある。
5年目での販売台数減少は,PS5の最速1000万台実売リリースもあり,いよいよ下り坂に入ったと捉えられている。そしてエース経済研究所でも7~9月のセルスルー(実売)は厳しいと見ているので,ピークアウトしたという風に見えるのはやむを得ないところである。
ただ,任天堂やエース経済研究所ではそうは考えていない。OLEDモデルが出れば,需要は大きく伸びると見ている。人々はそもそも合理的には行動しておらず,視覚情報で購買行動を決めているなら,狭額縁化,有機EL採用によるディスプレイの色彩の良化を考えると,人気になると予想している。
セルスルーの鈍化で2550万台の着荷(販売)台数は達成できても需要が落ちてくるとの見方が多いようだが,エース経済研究所では,部品不足でこの台数以上の需要があると見ている。
PS5もSwitchもだが,先端の半導体というよりは,個別半導体やモジュール類の小型半導体の不足が深刻で,任天堂は部材調達の不安は完全に解消されていないとしていた。OLEDモデルは,仮に人気化すると年内の増産はかなり難しい印象である。
そのうえで,故岩田社長が任天堂のゲーム機は5年サイクルとコメントした結果,一般的に任天堂のゲーム機は短命とのイメージが強くなり過ぎているかもしれない。しかし,ゲームボーイはマイナーチャンジを実施しながら10年もの長い間ビジネスを続けたという事例もある。Switchも同様に,マイナーチェンジを続けながら,長期的にビジネスを続けられるとみているが,このような予想をしているのは,エース経済研究所ぐらいのようである。下図のように,SwitchはPS4を上回るペースで,勢いが落ちた感じは見られない。ペースが鈍化するのは,まだ先になると考えている。この点ついては,OLEDモデルの予約開始後にまた触れたい。
最後にスマートフォンゲーム市場について簡単に触れたい。スマートフォンゲーム関連の決算では,サイゲームスを擁するサイバーエージェントがウマ娘の効果で,非常に好調だった。ユーザーも魅力的なキャラクターが登場するたびに課金しているようなので,かなりガチャが引かれた現状でも,ある程度勢いは維持できている。問題は今後もキャラクターの追加を安定してできるかどうかであろう。スマートフォンの高性能・高精細化で,キャラクターの制作コストも上昇する一方である。ところが,キャラクターの追加ペースが収益を決めていることは,ほとんど認知されていない。このことに気づかない限り,緩やかな減少が続くというのがエース経済研究所の見方である。ただ,こういうとウマ娘で市場は好調ではないという向きもあろう。
そこで,だいたいの市場推移を捉えるために,エース経済研究所でウオッチしている6社のゲーム事業売上高を合計したグラフを久しぶりに掲示する。確かにウマ娘で反転したように見えるが,1800億円強の合計売上高のうち,ウマ娘の寄与はおよそ650億円程度と見ているので,既存のタイトルの市場はむしろ割を食ったように見える。
1タイトルで挽回できると見るか,不健全と見るかは意見が分かれるところだろうが,上記のコスト増加を考えると,一時的で不健全と見ている。何かしらの大作が必要な時期に来ていると思っていたが,ウマ娘のヒットで対応は先送りになるだろう。これがスマートフォンゲーム市場に悪い影響が出ないか,注視しているところである。
このご時世、気軽に旅行にも行けない。
そんな中、友人間で流行っているのがdiscordでの思い出語り。
過去に友達と行った数々の旅行やお出かけの写真や動画を見返して懐かしみ、
「また行けるといいな」なんて言いながら、
その日がそう近くないことはみんなわかっているので、ちょっとしんみりして通話を終わる。
ふと思った。
100年後の俺がもし生きていたら、
老衰しきってもはや友達もお互いに五体満足に動けなくなっているかもしれない中で、
せめて過去に縋るときにはこの頃をこそ再び振り返るのではないか?
今まで撮った写真や動画は歴代のスマホ・ガラケーの中にたくさん詰まっている。
容量にすると多く見積もって1TBくらいになるだろう。
例えば向こう10年程度を想定するなら、適当なクラウドストレージにぶち込んでおけば
たまに見返したくなった時の思い出くらいは問題なく満足できるだろう。
ただし今俺が求めているのは、
・今まで撮ってきた思い出のすべてを
である。
たとえば、両親が財布に幼少期の写真をプリントしたものを大事に抱えていることがあるかと思う。
または結婚式のアルバムだったり、写ルンですで撮った褪せた写真の束なども実家なら存在するだろう。
白黒の文字のみを記録するのであれば紙媒体でも100年程度もつかもしれないが、
こと写真において破れたり色褪せたり滲んだり折り目のついたものではもはや満足はできない。
それに1TB分の写真・動画であり、物理媒体に保存した場合はたとえばこれからの引っ越しの際などに
ググったらちょうどいい記事が見つかった。
https://www.itmedia.co.jp/enterprise/articles/1508/26/news007_2.html
紙媒体にも触れていて、結論からすると電子媒体では100年後に残すことは難しいらしい。
続く記事にも、このあと触れようと思っていたクラウドストレージの問題点(データは保証されない、サービスの予期せぬ終了など)があり、
結局はたとえば今ならSSDかHDDあたりにぶち込んでおいて、
適宜マイグレーションを行いながら後世へとつなぐしか方法はないように思える。
ただ、これにも実は懸念があり、
例えば現在主流の圧縮形式、拡張子が100年後も現行で使われているとは限らないためその部分もマイグレーションが必要になり、
そしていつかはマイグレーションすらできないタイミングが発生しうるということだ。
その時俺はどうするのか?
もはや記憶の中の美化された各々の顔や声だけを頼りにするしかないのか?
誰か助けてくれ。
ちなみに26歳です。
プログラマーに憧れる皆さん!こんばんは。
「自分は文系だから」「未経験だから」と諦めていませんか?大丈夫です!プログラミングにセンスは不要です。正しい手順で学べば、文系や未経験でも、誰でも一流のプログラマとして活躍することができます。
今日は、未経験から最短でWeb系企業に就職するための勉強法をご紹介します!
もっともオススメの方法は、顕正会のセミナーに参加することです。
顕正会は、日本で最大のエンジニアのコミュニティであり、非常に良質なテキストを用いて、プログラミング初心者向けのセミナーをしていることで有名です。顕正会に入ることで、未経験からでも一流エンジニアのノウハウを学ぶことができます。
また、意外と知られていませんが、日本のエンジニアの8割は顕正会の出身です。実はあのひろゆきやビル・ゲイツも顕正会の出身です。ですので、顕正会のネットワークを介して就職先を斡旋してくれたりしますし、自分が顕正会員だと、面接時にも非常に有利になります。
顕正会のセミナーは、インターネットからも応募することができますし、秋葉原などで声をかけられることもありますので、誰でも簡単に参加できます。会員もフレンドリーな方ばかりですので、是非、お気軽に応募してみて下さい!無料体験もできますよ。
プログラミングの勉強を始める前に、まず、必要なものを準備しましょう。必ず必要なものと、できればあると良いものは以下の通りです。
可能な限りスペックの高いものを買いましょう。2021年現在であれば、CPUは18コア、36スレッド。RAMは128GBくらいはあると良いでしょう。ストレージはSSDであれば1TBもあれば十分です。
OSは、Windowsで開発するならWindowsが、Macで開発するならMacが必要です。よく分からなければMacを買っておく方が良いでしょう。基本的にMacにできてWindowsにできないことはありません。
インターネットは、この記事を見ている人は既に持っているでしょう。ただし、モバイル回線で見ている人は、自宅に有線のインターネット環境を用意した方が良いです。
顕正会に入会すれば、上記のスペックのPCを無料で貸し出ししてくれます。また、法人向けの専用線を無料で取付工事を行ってくれる上に、通信費を全て負担してくれます。
まず、他の会員と連絡を取るために、SNSのアカウントを持っていると良いでしょう。
最近は完全にPC上での学習もできますが、やはり、勉強の基本は紙のノートに直接書くことです。医学的にも、手指の動きと脳の記憶回路が関連していることは証明されており、手を動かすことで効率的にものを覚えることができます。
Kindleなどの電子書籍リーダーは持っておいた方が良いです。紙の本は時代遅れです。いやしくもITのプロを目指そうという人間が、このような最先端のデバイスを使っていないのは恥だと思うべきです。紙の本を買わないことは、環境を守ることにも繋がります。現金も持つのはやめましょう。
せっかくセミナーに参加しても、受身で聴くだけでは、プログラミングを習得することは難しいです。ここでは、自宅でどのような勉強をすればよいのか、ご紹介します。
まずは、教科書や参考書を写経することから始めましょう。教科書や参考書の本文を一字一句正確に書き写すのです。
よく、「写経は理屈を学べないからだめだ」と批判されますが、まずは正しい「型」を体に覚え込ませるのが先です。野球や水泳などでも、細かい理屈よりも先にフォームを固めるのと同じです。書き写している内に理屈は自然と身に付きます。
また、写経のメリットは「飛ばし読み」を防げるところです。一字一句正確に写経をすれば、細かい部分を「分かったつもり」になって飛ばしてしまうことを防げます。たとえば、比較演算子の等号は=ではなくて、==です。プログラミングはこういうところに注意して学ばなければいけません。
教科書のサンプルコードをノートに書き写したら、それを今度は自力でフローチャート(UML)に変換してみましょう。そうすることで、自分が本当にそのコードを理解しているのか、確かめることができます。
フローチャートやUMLが素早く正確に描けることは、プログラマーとして働く上で非常に重要なスキルです。それらはソフトウェア設計の基礎となりますし、ソースコードを読めない営業や顧客にとっては貴重な資料となるからです。プロのエンジニアは、COBOLのソースコード10万行を1週間でフローチャートにして、Excelに転載することができます。
ここで一つ注意すべきことがあります。フローチャートを描くときは、必ず専用の定規を用いて描いて下さい。フリーハンドで描いたものは業務ではフローチャートとは認められません。これはまともな企業に就職すれば研修などで必ず習うことですから、今の内に覚えておきましょう。
エンジニアを目指すのであれば、プログラミングだけではなく、Excelの使い方も学びましょう。Excelはエンジニアにとっての万能プラットフォームです。エンジニアはあらゆる作業をExcelで行います。セル結合や罫線を用いて、見栄えの良い資料を作る技術は、エンジニアにとって必須です。
プログラミング学習中であれば、たとえば以下のような題材の資料を作ってみると良いでしょう。
尤も、以上の資料は、ツールを使うことで自動で作成することもできます。たとえば、ソースコードの更新履歴はGitなどのバージョン管理システムを使うことでも管理できます。しかし、それらの資料としてのクオリティは非常に低いため、アマチュアしか使うことはありません。プロを目指す皆さんは、必ずExcelを使いこなせるようになりましょう!VBAの習得も必須です。
以上、プログラミングの勉強法について解説しました。ここからは、実際にソースコードを書くときのコツを紹介していきます。他のプログラマと差をつけることができる技術ですので、意識するようにして下さい。
理想は、aやxなどの一文字です。ただし、これだけだと26文字しか使えないので、a1, a2, ...のように連番でグルーピングすると良いです。
また、変数の宣言と使用箇所が離れた場合に、変数の型がすぐに分かるように、たとえばint型であればi1, i2, ...、string型であればs1, s2, ...のように命名すると、読む人に親切で自分もミスしにくくなります。
変数名を長くするのは、以下のデメリットがあるため、絶対にやめましょう。
多くのプログラミング言語には、クラスや関数といった機能がありますが、これらは基本的にライブラリ提供者などが使う想定の機能であり、一般のプログラマが使うのは好ましくありません。したがって、クラスや関数はなるべく使わないようにして下さい。
不要な関数を作らないためのテクニックには、以下のようなものがあります。
まず、関数の引数に「フラグ」を渡し、関数内部で処理を切り替えれば、1つの関数で複数の処理をすることができます。
function f(i) { switch(i) { case 1: // i = 1のときの処理 break; case 2: // i = 2のときの処理 break; case 3: // i = 3のときの処理 break; // ... } }
この方法は、以下に述べる「変数の寿命を伸ばす」効果もあります。つまり、この関数内で宣言された変数は、すべての処理で共通して使用することができます。
クラスに不要な関数を作らないようにするには、「継承」を用います。複数のクラスで用いる関数を定義したクラスを1つ作っておき、そのクラスを継承すれば、新しいクラスに関数を定義する必要はありません。
理想的には、プログラム内のすべての関数を同一のクラスに定義し、それを継承するべきです。そのようなクラスは俗に「神」と呼ばれ、プログラマからはこの上なく尊ばれています。
class God { f1() { // 関数1 } f2() { // 関数2 } // ... } class C1 extends God { // 何も書かなくても上の関数が使える! } class C2 extends God { // 何も書かなくても上の関数が使える! } // ...
変数は宣言する場所によって、ソースコードのどの範囲から参照できるかが決まっています。この範囲が広いことを、「変数の寿命が長い」と言います。
たとえば、以下のコードのaは、関数定義の外側からは参照することができません。
function f() { var a = 1; return a; }
一方、以下のコードのaは関数の内外どちらからでも参照することができます。
var a = 1; function f() { a = 2; return a; }
せっかく作った変数がすぐに死んでしまうのは、非常にもったいないです。ソースコードの表面には現れませんが、変数を作ったり捨てたりするのには、計算コストがかかります。したがって、寿命の短い変数を作りすぎてしまうと、プログラムが遅くなってしまいます。
また、変数の寿命が長いということは、変数をたくさん作らなくても、1つの変数を色々なところで利用できるということであり、とても便利です。たとえば、上記の前者のコードでは、関数の外部からaの値を参照したくなっても、参照することができません。後者のように書いておけば、プログラムのどの箇所からでも、aの値を参照したり、更新することができます。したがって、変数の寿命を長くするとプログラムを変更しやすくなります。つまり、保守性が上がります。
例外とは、プログラムが予期しない処理をしようとした場合に、プログラムの実行を停止し、呼び出し元にエラーを通知する機能です。たとえば、「test.txt」というファイルを開こうとしても、そのファイルが存在しない場合は、例外となります。
例外が発生すると、プログラムが停止してしまうため、非常に困ります。したがって、プログラマは例外をきちんと処理しなければなりません。
ほとんどのプログラミング言語には、例外処理のための機構があります。たとえば、以下のような構文です。
try { // 例外が発生し得る処理 // ex. ファイルを開く } catch (e) { // 例外が発生したときに、実行する処理 }
例外への対処は実はとても簡単です。是非ここで覚えて下さい。上記のような機構のある言語であれば、catch節の中身を何も書かなければ、例外が発生しても、何事もなくプログラムは動作を続けます。
try { // 例外が発生し得る処理 } catch () {}
全ての例外を潰せば、決して不慮の動作で停止することのないプログラムを作ることができます。ですから、例外が発生し得るコードは、積極的に上記のtry-catch構文を用いて、例外を潰すようにしましょう。
わいと同じにおいをかんじる
全ストレージに高速インターフェース「NVMe(エヌブイエムイー)」を採用し、ストライピング構成によって、さらに高速なサーバー環境を提供。従来のオールSSD環境と比較し読み込み速度が最大約14倍※向上しています。
※fioを用いた試験で128並列の負荷試験時のランダムリードのスループット比較によるもの。
CPUには製品発表時点で80ものベンチマークで世界記録を達成した、第2世代「AMD EPYC™」(コードネーム「Rome」)を採用しました。
48コア&大容量512GBメモリ
圧倒的なサーバースペックであるため並列処理に強く、プログラム処理性能が高くなっています。そのため高速かつ安定した動作が可能です。
そこんとこ詳しく。メタップスとか?
Waf なんて書くな! WAF とかけ!
うっせーな。クラウドベンダーの独自 API なんか使いたくねーんだよ。オラクルじゃあるまいし。
まぁ、それは認める。でもさ、select や create とかのDML/DDL は CRUD と同じだけと、DCL なんて権限を発行できるりょういきにトーシロを突っ込むわけにいかないだろ。何も考えずに GRANT TO なんてプロダクション環境で発行されて日には、権限消失されたら永遠にデータにアクセスできなくなるかもよ?
そりゃそうだけど、フロントエンドは移り変わりが激しいじゃないですか。ほんの数年前までは Flash と DoJa のアプリを作ることがフロントエンド開発者でしたよ?一方データベースや OS の方は、ここ三十年ぐらい Unix と RDB が鉄板だった書ないすか。低レイヤだっていうけど、IoT なんかで C言語開発者はバリバリっすよ。例えば、クラウドフレアなんか CDN の再発明をしてますけど、サーバーラックを見る限りだと差がついているのは低レイヤの根本技術の改善であって、私はそこにプロフェッショナル性を見出しますがね。
わかっていないのはテメーの方だ。今日オーバーフロー問題を抱えている C/C++ でサーバーの開発をしようとするのが危険なのは承知しろよ。パフォーマンスを必要とするなら Rust、または GC があるけど Go言語を使って実装すべきだろ。高学歴なのは結構だけどは、現実は見えてないのか?いい加減にしろ。
そうだね~。卓越したインフラエンジニアがすぐに手に入るなら、問題ないだろうけどさ、ベンチャーや硬直化した雇用形態の我が国で有能なインフラエンジニアをすぐに採用できるかよ。何年前の知識で戦っているの?時代は DevOps なんですよ。必要とあらば、すぐ学んで、応用して、デプロイできるのに「インフラエンジニアを採用から始める」なんて、ヨーロッパが衰退する理由もよくわかるよ。プププ。
誰が Next で SSR なんてするか!あれは SEO が必要な場合に限る。そもそも SSR なんて危険だからまともなエンジニアだったらしないだろ。問題になってないだけで、本当のブラウザとクローラが見える内容が違うなんてスパム認定されてもおかしくないんだ。クローラにインデックスされるページで SPA をやろうとするやつはセンスないで。
すいませんでした。本当にすいません。
ん? AWS SQS だとパフォーマンスに問題があることしたいから Kafka を使いたいのよ。確かに Zookeeper のことは詳しくないよ。だけど、AWS MSK 使うんで。PaaS というもんがあるので、だめなん?ログ収集は GKE みたいに ログに出したら Fluentd で収集してくれる時代になんでグチグチ言われないといけないの?
ハア?インメモリのデータベースに信頼するほどヤワじゃないから。Redis なんて飛んでなんぼ。だから Kafka のようなストレージに保存されるメッセージキューを利用したいの。
これないと、CI の責務が大きくなるじゃん。ほんでもって、ArgoCD なんて Kubernetes で展開したら運用までしないといけないじゃん。メンドクサ。
いや、J1ビザをとってアメリカに留学したことあるよ。あと、「世界でもっとも強力な9のアルゴリズム」「CleanCoder」「戦うプログラマー」 の本に書いてあるじゃん。馬鹿にしてるのか?
=====
東大卒のヨーロッパでエンジニアやっている人から解説しよう。(ちなみに医学部は防衛医大に補欠合格していた)
エンジニアになるより医者やっていたほうが(国内で頑張る分には)絶対いいと思う
ちなみに医学部にいった友人の何人がむしろテック系に流れてきているという事情がある。
おそらく、増田はたしかに昔からプログラミングをやっていたと思う。頭もいいんだろう。厨ニが溢れていて気持ちが悪い。
エンジニアも厨ニ病でマウント取っていいていい時代でもないです。明らかにマウント取りたくてウズウズしすぎて、大した知識がないのに、
表面的な知識を羅列しているところがあったので突っ込んでいく。
ー>そんなことない。フロントも色々やらないといけないが、バックエンドに比べて経験年数がひくい人も流れ込んできているので、バックエンドの人に比べて
できる領域が狭いので給与が低い、またおそらくDCL、DML、DDLといった用語を知っていることをひけらかしたかったのかもしれないが、全くどうでもいいです。
=>全部できようとして、破綻しているのでブーメランですよ。あなたの想定している、こんなフルスタックは成り立たない。
現場に放り込まれても10年ぐらいかかる。というより、フロントからバックから低レイヤから、モバイルまでやることはもはや現実的ではない。
=>QUICとかマイナーなプロトコルを話すよりはちょっと変化球のあるプロトコルでいけばWebsocketぐらに抑えておきましょう。低レイヤーの話はわたしもわかりませんが、C言語ができないのに「おそらく QUIC か MQTT 」とか分かってない英単語4文字を羅列するのは厨ニ病すぎます。
=>自分はcloudfrontやWafを触ったことがありますが、かなりのインフラエンジニアにならないかぎり、ここ触りません。cdnは影響範囲が大きいし設定に時間が掛かったりします。片手間でできません。インフラエンジニアに触らせます。異常検知、アラートといったものは、実は結構時間がかかるので、強いかどうかではなく責務の分割からインフラに任せます。知らないことは知らないって書きましょう
本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」
=>こんなにあれこれ、やっている時間はないでしょう。趣味のサイト製作でやるにしても絶対できてない。kubernetesを使っただけで時間切れになる。Kafkaを触ったとかいているが、Kafkaはサーバで使ったのかな?どういう利用シーンかというと膨大なログの収集等で使うのだが(ただのNoSQLではない)、Zookkeeperで調停させて、topic数とか調整するんだけど、わかってます?ElasticSearchだけ書いてたらまぁあるかなと思うけど。Redisもちゃんと使えてる?pub/subとか分かってないと思う(普通に理解する必要があんまない)
それでkotlinなんて触ってる時間なんて絶対にないし、Rustを更に付け焼き刃に付け焼き刃している時間なんてぜええええたいにない。やることが絞り込めてない。無意味にマウント取りたいだけ。なんとなく書いているcode deployなんて、それだけで使いこなすのが大変なれべる。
ci/cdのうちciだけかたっているならわかるがcdとなるとかなり時間がかかる
=>MyISAM をInnoDBに切り替えるなんてことしているところは無い。万にひとつあったとしても、大事で、それだけで数ヶ月のものなので、この付け焼き刃の知識の人が触る機会はない。
=>ES2015以降の差分は微々たるもので、どうでもいいです。ES2018ぐらいの現実的な数字にしてたらばれなかったのにね。
Next でSSRまで踏み込むと結構、フロントのことをキャッチアップするだけでかなり厳しいと思いますが、できているのかな?
=====
ー>アメリカの事情は知らないはずなので知らないことは書かないようにしましょう。
ー>ヨーロッパでは白人様はHRとかマーケやってます。移民にたよってます。ロシア、ウクライナ、インド、パキスタンなど
一応年収1100万のソフトウェアエンジニア(もちろん国内、ただしアラフォー)なのでアドバイスじゃないがどんな感じか説明。
やってることはバックエンド全般。最近はインフラも管理画面も大体バックエンド屋さんのお仕事なので、
要はフロントエンド以外というのが正しいかな?極めてざっくりいうとアミューズメント関係のイベント基盤を
AWS上で構築・運用するお仕事。アプリはBFFはnodeのアプリ、動画とかバッチ系はJavaで書いたアプリをLambdaと
ECS上で運用、ストレージはElastiCacheとDynamoDBを使っていて、基本的にすべての運用はEventBridgeで
Slackに飛んできて自分で保守までやる感じ。これで10人のチームで回している。スマホアプリがフロントに
なるんだけどそっちは別のチームがやっていて多分同じぐらいの年収をもらっていると思う。
わかると思うけど別に全然大したことをやっていない。最新のプロトコルとかよく知らんし、
CSは一応AtCoder青とかいう人材もいるにはいるけどほとんどの人は並ぐらい。
FPGAなんて多分みんな無理なんではないかな。それでもこの年収をもらえるのは単にソシャゲ業界の利益率が
いいからで別に俺がすごいわけではない。AWS知ってる人はわかると思うけど上のスタックって
多分駆け出しエンジニアのちょっと頑張ってる程度の人が練習で作るWebサービスぐらいの技術レベルだと思う。
技術的に一応他よりは高いのかなと思うのはCD/CIかな。アミューズメント業界なので一日10回のリリースとかよくある。
なのでステージング環境でOKならそのままSlackで1スタンプデプロイになっている。
基本的にフロントとの互換性が取れる限りはバックエンドは無停止リリースができる。
残業時間は全社平均して10時間だけど深夜に趣味で新機能の開発とかしてるので実質200時間とかある人もいそう。
俺は一応残業は全部申告してるけど、そもそもゲーム業界は裁量労働制が適用できる業界なので残業代などない。
というわけで業界が好きで、かつ増田ぐらいの知識があるなら1000万は30代になったらいけるんじゃないか。
20代でも500か600万は固いでしょ。ただ業界が好きかどうか/その業界が儲かってるかどうかによるので、
そこだけは妥協せずに選んでくれ。個人的に深夜まで新機能作っててもそんなに疲れないんだけど、
前職のSIerでPMやってたときは定時内ですら苦痛だったわ。客とか上司の顔見るたびに作り笑いしてたけど
転職間際とか引きつってた記憶がある。ちなみに年収270万君が例に出してる会社のひとつなんだが、確かに
入社難易度は高いと思うが(主に学歴フィルターの面で)中にいる人の技術的なスキルは散々が多かったぞ。
(年収270万で)プログラマーを引退して、医学部にきた俺が真面目に考えてやろう。
真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。
消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCS にコミットしないヤツ、または貪欲にコードレビューをされるのが嫌がるやつは、成長しない。
この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードだから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェアの開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。
いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから。
うん、ココはまずい。基本的にフロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーはリスクと責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。
君はソフトウェア・エンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。
インターン生はお客さんなの。君のスキルが通用したのはすごいと思うけど、同じ感覚で仕事はできないから注意しときなよ。
なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強をしろよ。
逆にいうと、あなたがインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。
いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分の能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?
諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものだから。変化する業界はストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。
いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。
この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社の利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。
ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、
プログラミングに年齢はないから。自分は9歳ではじめたけどね。
あー、俺も天才が高校のときにいて、マーチの情報工学と旧帝の院の学費を会社持ちという驚異的なやつがいたよ。今もブログ見てると、Android と iPhone のアプリを書いているみたいで、元気そう。
それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザな会社はやめろ」と耳うちされたよ。
人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウは他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界だからな。覚悟しとけよ。
P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末のコーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退の自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力のフロント(ベンチャー)企業ぐらいしか相手にしてくれなかったからだよ。そこの会社は外国帰りの MDMA をキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイが社長をやっていて、人工知能を作ろうと学生インターンを酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業の免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長の Python の勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。
P.S. ② 年収については、初日から派遣先の会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイトで転職をする準備をしていたよ。たしか、DMM とかサイバーエージェントの面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。
P.S. ③ 医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。
P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、REST や SOAP も書かないとまずくない?書くのだったら「Rails と Next のデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。
P.S. ⑤「野村総研とデータを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪したからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。
P.S. ⑥「ダウト。学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。
P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかにおかしいよな。Kubernetes や Terraform を弄って、CI は GitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために Kotlin と Swift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant で環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。
P.S. ⑧ 年収については、基本給が 22万で、残業が200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオの作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社にコミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM も面接に行けそうだったのよね。馬鹿なことをした。
P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身はフロントエンド出なんだよ。何を隠そう、Adobe Flash のゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。
P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。
P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!
P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。
P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///
P.S. 「フルタイムじゃないのでしょ?」いいえ、東京都内でフルタイム(ひどいときで、朝7から夜24)でしたよ。入った会社が「法律よりも、派遣先の評価」という会社だったからね。
P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャーが跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQuery と Django を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、Android(Java) と iPhone(Objective-C)と jQuery を使ったフロントエンドシステムに、バックエンドに Rails + Postgresql のシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。
P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。
P.S. 「病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分は責任を持って患者さんを見たいから、バイトなんて使わないよ。
P.S. 自分はコードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けにコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機が解決できる問題を、より直接的に触れて解決したいと思っているから。仕事がハードでも全く問題なし。
P.S. FPGA すごいよね。ザイリンクスとアルテラが Intel と AMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU の限界を FPGA で突破しようという話があったけど。手を出そうと思ったけど、高性能なチップが 100万ぐらいして挫折した記憶があるよ。
P.S. 「東海大の医学部・学士」は自分は大学を卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...
P.S. 「MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQL は PostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときにカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。
P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオの作成や Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所の会社に面接を受けさせられて「君は明日からXXで働くから、履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書に拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。
P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう。
P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redis はインメモリなセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB の書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。
逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。
どこですか
自分の書いた文章とか、メモとかをまとめて保管する場所が欲しい(テキストデータが主)
ネットにつながっていて、いろいろな端末で同期できるメモ(iPhoneのメモとかOneNoteとか)は便利だけど、アカウントが乗っ取られたり、垢バンされた瞬間に詰む
クラウドストレージ(iCloudとかDropboxとか)にプレーンテキストファイルを置いておいても、基本的にリスクは同じ
USBディスクとか、ポータブルSSDとか、ローカルのストレージにデータを保存しておいても、無くしたりとか、家が火事になって焼失したりするリスクがある
絶対に消えない、あるいは消えたとしても確実に復旧できる
そういうファイル置き場ってどこですか
あるいは、複数の保管場所にバックアップを置き続けるしかないんでしょうか
俺はこうやってる、ていうのがあったら教えてほしいです
オンラインストレージに著作物をアップロードしても私的利用の範囲内という議論はアクセスコントロールがしっかりしていることが前提。
しかしそうはいってもストレージの運用者自体は管理者権限で客がアップロードしたのを見れるのではないのか?そのへんはあえて考慮されてないのかな?少なくとも役得だよなーと思う。
それと似た話でイラストのパトロンサイトの運営者は本来数千円支援しないと見れないようなイラストを管理者権限で何億円分でも無料で見放題なんだから羨ましいのことこの上ない。
おまけにeあぐらかいて待ってるだけでイラストの方から集まってくるしehenみたいなアングラサイトと違って合法なんだもんな。
取り上げた技術は、本格的な開発でも役に立つもので、最も学習コストが低いものを選んだ。
重要度が低いものは載せていない。たとえばHTMLとCSSなんてググりながら書けば全く問題ない。Bootstrapなどのフレームワークも全くやる必要はなく、仮に就職先で使っていたら覚えればいい。
逆に言えば以下に挙げる技術は、そもそも概念自体がプログラミングにとって普遍的なものであり、(基礎的な部分を)調べながら使うようではエンジニア失格ということ。
基本的に現在では、バックエンド・フロントエンド・運用保守全てができないエンジニアに価値は無い。
以下に挙げた技術(①⑤⑥は他の言語やフレームワークで代替可能)が身に付いていなければまともな企業に就職することは難しい(もちろん、下らない業務システムを下請けで作ってる底辺企業には入れるだろうが)。
経験者でも、これらができない/わからないのは、相当恥ずかしいことだと思った方がいい。
特定の言語やフレームワークの書き方を知っていること自体に意味は無い。
重要なのは、他の言語やフレームワークにも共通する基礎を理解すること・保守性やセキュリティなどの品質を高める使い方ができること。
この2つは習得が容易だし、今覚えておけば向こう10年腐ることはないだろう。
基本的な構文や、よく使う標準ライブラリは勿論、高階関数・クラス・非同期処理等の発展的な機能も知り尽くしていなければならない。
言語のみではなく、パッケージ管理、単体テスト、タスクランナー等の周辺ツールの使い方も熟知している必要がある。
また、「リーダブルコード」や「コードコンプリート」に書いてあるような良い作法も身に付ける必要がある。
Gitを使えないのはプログラマーとして論外。細かい機能は調べればよいが、
多くの場合、本番環境やテスト環境はLinuxサーバーであるから、以下のような基本的な概念と使い方を知っておく必要がある。
環境構築、CI、デプロイなどは、現在コンテナを使って行うことが当たり前になっている。
これも細かいことをすべて覚える必要はないが、Dockerfileの書き方や、docker-composeの使い方などは知っておかなければいけない。
Flaskは、数あるWebフレームワークの中で最も簡単。本当に呆れるほど簡単で、Pythonさえ書ければすぐにアプリを作れる。
フレームワークを覚えること自体が重要なのではなく、Web開発の基本を習得することが重要。HTTP、ルーティング、データベース、SQL、認証、セッション管理などは当然すべて覚える。
データベースは、就職したらMySQLやPostgreSQLなどを使うことが多いかも知れないが、今はPythonの標準ライブラリにあるSQLite3を使えば十分。
作ったアプリを公開したければ、「Heroku」などにデプロイするのが良いだろう。
ブコメで指摘をいただきました。HerokuではSQLite3は使用できないようです。公式のドキュメントに従ってPostgreSQLを使用して下さい。
SQLite3はファイルにデータを持てる簡易DBなんだけど、Herokuにデプロイしてもストレージ的な使い方はできないから、結局PostgreSQLを使う必要あるから注意してね。(DAOを丸ごと書き換える羽目になる)
参考: https://devcenter.heroku.com/ja/articles/sqlite3
今の時代、フロントエンドをフレームワークなしで作るのはただのバカ。
2021年現在、実用的なフロントエンドのフレームワークはReactとVueしかない。Vueの方が少し簡単なのでこちらを選んだが、JavaScriptをしっかり理解しているなら大差は無い。
フロントエンドには膨大なパッケージ群があって全部覚えるのは大変だが、とりあえずまずはVueを完璧に使えればいい。Webpackの設定などは既存のものを流用すればいい。
アルゴリズムは全てのコンピュータ技術の基礎であり、絶対に知っていなければならない。
高速フーリエ変換のような高度な数学は必要ないが、クイックソートや木構造のような基本的なアルゴリズムは当然、その性質を知っていなければならない。
それらは言語の組み込み関数や標準ライブラリでも使われており、理解していなければ、それらの機能を正しく使うことができない。
また、プログラムを読み書きする際には、そのコードの計算量を見積もれなければならない。
セキュリティは言うまでもなく学ばなければならない。
有名な脆弱性や攻撃手法(XSS・SQLインジェクション・CSRFなど)が何だか理解していて、その対策を実装できなければならない。
各種暗号化技術や署名などについても、実装の詳細は知らなくていいが、共通鍵暗号や公開鍵暗号などの特性は理解する必要がある。