はてなキーワード: スタックとは
つまり、物語にガベージコレクションの機能があれば、自然と伏線は回収されるのではないか
参照をカウントしてゼロになったときにデストラクタが発動するだけでも構わない
つまり、スコープから外れるとスタックなどに確保された変数の領域が開放されるように、
物語のある地点のスコープに含まれるもの、近くてどうでもいいものは記憶からも消えていく
しかし、グローバルではないが、どれだけ広範囲なのか分からない伏線のようなものがあり、
物語が如何に進行しようとも、そのポインタだけはキープしている
ときどき登場人物が思い出したかのように伏線を語るとき、参照カウントが追加される
そうやってカウントが増えたり減ったりして、
最後は大団円でauto release poolの中に登録された伏線がドバーッと開放されていく
だから伏線にはポインタのように誰が所有しているとか責任を取るべきみたいな概念が当てはまるのかもしれない
つまるところ、メモリにゴミを置いたままプロセスが終了するということであり、
それでも問題ないのはOSのように周囲が尻拭いしてくれるからである
作者はコアダンプを吐くべきだ
1. Markdown, Textileは知っていた。
2. 「何か新しいことを覚えようかなぁ」というコレクター魂のようなもので、reStructuredTextの手を付ける。
3. Sphinxなるものを知る。Pythonとから、Djangoとか、あの見慣れたチュートリアルを作るドキュメントツールがSphinx。
4. 面白いのだけど登場人物が多くて話が追えないなろう系のメモとして使ってみる。
6. LaTeX記法での数式表現、Matplotlibの機能に感動する。
8. 索引ページに気づく。
9. 日本語表示がイケてない。微分なら「は」の項目に、積分なら「さ」の項目に表示してほしいじゃん?「微」「積」の項目なんよ。。英語と同じように「頭の一文字」を取ったらそうなるよね。
10. 探してみたら、「Yogosyu」というプラグイン(※Sphinxでは拡張モジュール)があった。使ってみる。
11. 最新のSphinxに対応していない。ここからPythonのコード解析へと逸れる。
12. 取り敢えずエラーはでなくなったけど、元々索引ページとは関係ない機能だった。同一「用語集」での表示順が日本語に対応するだけ。
13. (しばらく放置)
14. 「単語の先頭に振り仮名を付け足せば、いい感じにソートしてくれる?」と気付く。
15. 表示の直前で「振り仮名」を取除くために、どこで表示しているか探す。
16. (紆余曲折)
18. ここで初めて「プラグイン形式にすれば良くね?」と気付く。
20. 出来上がって喜ぶ。
21. ここで初めて「これってクラスにしたら、全体の見通しが良くなったりする?」と気付く。
22.(この辺りで、unittestモジュールに手を付ける)
23. テストケースのお陰でリファクタリングが怖くない。喜ぶ。
24. setup.py, setup.cfgの書き方を学ぶ。
25. pypi公開を果たす。誰にも知られずひっそりと…
26. テストケースにjinja2を通した結果も加える。一人で成果に喜ぶ。
27. githubに手を付ける。学ぶ。基本的なことは覚える。
30. teratailに登録。コソコソ。「何がなんだか分からない」では質問しないし、そのうちどうにかなることが多い。先駆者に感謝。
32. coverageを知る。学ぶ。基本的なことは覚える。
33. circleciを知る。学ぶ。基本的なことは覚える。
34. カバレッジが90%を超えて喜ぶ。←今はこの辺。
※ボッチの日常
子供が出来るため今より少し広めのアパートに引越します。嫁さんの体調と生活の利便性を考えて、今のところから少し離れただけのアパートなので作業自体はそんなでもない。ただ、一人暮らしの頃より物が多くなった上に嫁や子供のことを考えて家具の安全性や動線をこれまで以上に気にするようになりました。
これがとても大変だけど楽しい。
いま一番頑張っているのがキッチン関係。嫁が動けないのに加え、食事担当は基本自分が担っていましたからキッチン周りは全面的に自分のやりたいようにやってます。
たとえば食洗機に関しては、どこにどうやって設置しようかとこの数週間くらいかなり考えていました。今のアパートだとシンク奥のカウンターに設置してますが、次のアパートで同じようにすると蛇口と干渉する可能性がわかりました。最初の内見時は別に棚を作ってそこに食洗機を乗せる予定だったけど、地震で倒壊する危険性を考えてキッチン内部に置くのがベストだと考えました。キッチン内部の正確な寸法を計り直してどうすれば取り回しがよく安全におけるか考えることとします。食洗機に占領されて作業がしづらくなるのは本末転倒なのでどうバランスを取るか試行錯誤が必要です。
食器入れに関しても悩みました。今のアパートは小さなパントリーがあるのでそこを食器棚代わりにしていましたが、次の所はそういう設備がないためキッチン下を使うか食器棚を置く必要があります。でも既成の食器棚はあまりに重い上に高価。もしも子供が成長してまた引越すことになればそういう食器棚がネックになることは間違いない。なのでニトリやカインズのワイヤーシェルフにスタックボックス付けて対応することとします。
冷蔵庫の場所も奥まったところではなく入口に近い部分にするのが良いと思いますが、そこはもうすこし正確に寸法を測った上で決めます。
LDK部分には当初クッションフロアかジョイントマットを敷き詰める予定でしたが。子供や嫁の怪我防止や汚れ防止のために。ただDIYでクッションフロアを全体に敷いても4~5万かかる上に原状復帰時の手間も考えるとメリットがあまりないという結論に達しました。そもそもクッションフロアは決して足さわりがよいとは言えないので一部だけジョイントにしてこまめに掃除することで対処する予定です。
そのほかの家具家電も色々と悩みました。一人暮らし用の冷蔵庫を買い換えるときはひたすら多種多様な冷蔵庫を開け閉めしました。主寝室のエアコンはスペック表とにらめっこしましたし、自転車を保管するために初めてラブリコを使ったDIYにチャレンジするのでワクワクです。入居時だからこそできる掃除もいっぱいあるため、掃除用具や方法をひたすらググりました。youtubeはためになりますね。デスクトップPCのネットワークは悩みましたが、無線LANだと他と干渉したりして安定しないなと思い有線ケーブルを取り回すこととします。
今のアパートに関しても退去前に可能な限り清掃して原状回復を努めるようにしています。次のアパートでも役立つと思って思い切って風呂場のエプロンまで開けました。だんだん掃除の腕が上がってます。引越しの荷物も徐々に揃ってきていますし不要な物もこれを機にどんどん捨てています。数年ぶりにクローゼットを整理すると本当に要らない物が多いなって。
こうやって考えて行動に移すのは、もてる知識と技量を試されているようで本当に楽しいです。努力した分だけ自分の生活レベルが上がるし今までの生活に反省点も見えてきます。こういう機会が無いとDIYにも挑戦できませんでした。なので引越しは予想以上にメリットが多い行事だと思えます。一度生活をリセットして考えると見えてくる物が多々あるんですね。
ただ、相変わらず行政関係の書類は大変。住民票や免許証だけなら日曜を潰せばなんとかなるけど、自動車関係はそうも言えない。車庫証明を警察に申請した上で受け取って、さらにそれを基に車検証の住所変更をする必要があります。15日以内ってあるけど承諾証明書の時点を貰う事から考えれば車庫証明自体まで結構時間かかるので逆算してやらないと無理でしょ。まあ車庫証明が1ヶ月しか有効ではないのが地味にいたい。
前回の引越しでは譲り受けた車の移転登録やナンバーの変更も全て独力でしました。業者も使わずに委任状から申請書類まで全て揃えたうえで陸運局まで行ったのは良い思い出だけど、大変なだけで学びはあまり無かったですね。そしてこれはまだ1人だったから出来たこと。今回は嫁さんの車もあるし長時間家を空けるのが怖いから業者にやって貰おうと思ったけど、これが1台3万もかかるってのがびっくりです。いや確かにあの書類をもってあんなごった返している陸運局とかにいくのは大変ですけど。2台分で少なくとも6万はちょっと厳しい。たぶんどちらかは自力で行くことになるでしょう。
ワンストップサービスもありますが結局は車検証を取りに行かないと駄目らしい。郵送サービスは来年からスタートとのことでつくづく間が悪い。ちょうど自分の車検も更新したばかりなので引越しタイミングって大事だなって思います。
一応年収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万君が例に出してる会社のひとつなんだが、確かに
入社難易度は高いと思うが(主に学歴フィルターの面で)中にいる人の技術的なスキルは散々が多かったぞ。
追記----------------------------------
文の拙さや僕の不甲斐なさについてはたくさんのご指摘をいただきまして,もう十分ぴえんぴえんできたので,これから読まれる方は,タイトル(本題.まじでアドバイス欲しい点)について,この若造のエピソードを見てどう思うか(僕へのアドバイスでも,一般論に汎化させたもの嬉しい.語気荒めでもいいので)のコメントをいただきたいです.
---------------------------------------
最初のいくばかを使って,自己紹介とタイトルの理由,この文章を書くに至ったエピソードを話させてください.
html, css, javascript(jquery, express, react(next), vue(nuxt)), python, php, sql(postgre, oracle), graphql, ruby, swift, solidity, unity, c, c++
業務レベルじゃなくていいならgo, kotlin, java, scala, dart, julia,後fpgaも少し.ハードウェア開発は結構苦手で回路図とか上手く書けません.
と主にチャラいところを薄く広くやってきてます.バックエンドは大体firebaseかgcpに任せているので,インフラあたりひいてはネットワークの知識が薄いです.大学もプログラミングはしますが,CSではないので受動的に学ぶ機会も特になかったです.何回かCTFにも出場しましたが,あんまりいい成績を残せなかったというか,毎回毎回超人たちのすごさを見せつけられてました...
自分の理解できる技術(not 言語)で,面白い(バズりそうなもの)をラピッドプロトタイピングすることは好き・得意で,いくつかミニバズっぽいことも経験させてもらってきました.
B3の夏くらいのタイミングで東一上場企業にインターンに行きました.(インターンとしては3社目.過去2社は知り合いに紹介してもらったスタートアップで主に簡単なweb開発か,社内ツールの開発を緩くしてました)
最初の業務は,システムの使用言語を主流のものに置き換えることでした.書き換えなので,基本的に頭を使うことはなくドキュメントを読みながら楽しくダラダラ進めました.もちろん書き換え先の言語でどうセキュアにやったらいいかなど,上司にレビューを貰いながら,増える知識も気持ちよくやれました.何より給料が良かったです.週三フルタイムで20万弱はもらってました.客観的に見てすごい待遇だと思います.分不相応とは思いませんでした.
ただ,この業務を3ヶ月ほどで終わらせて,次に振られた業務が問題でした...
ニッチすぎるし比較的新しいプロトコルで細かく言えないですが,多分このプロトコルの実装に携わってるのは日本で10人もいないはずです.
つまり難易度が急に跳ね上がった.これが辛かったです...言語はC++とJava.
ネットで実装例なんてクソの欠片も載ってないし,プロトコルの理解のために特許資料や論文をくまなく読む羽目になったのは本当に辛かったです.こういう理解であってますか?と上司に聞いて,違かったらしいが,次にその実装に伴うDB改革のタスクも振られかけてきて,僕はパンクしました.
そのプロトコルも理解しきれなかったし,こんな大規模なDB設計なんてやったことないので何からやればいいか分からない.もちろん今となっては一つひとつ順序立てて要件を解決していけばいいと分かっていますが,別件も相まって当時の僕はパンクしました.
個人的な事情(別件)はかなり精神的に僕を苦しませ,毎日の睡眠時間が3時間くらいになってました.
で,僕はインターンに行かなくなりました.個人的な事情の方が忙しいからと言い訳をして.業務は別の人に振られることはなくペンディングになってるみたいです.
追記----------------------
ぶっちしたわけではなく,普通に出勤頻度がだんだん落ちて最後に精神的な問題でほとんど来れなくなることを伝えました.業務も締め切りなかったので損失というか上司の頭を悩ませるようなことは無かったと思います(思いたい)
僕の人間性に関するご指摘が多くて結構びっくりしました(文章がダメ)が,結構人に迷惑かけたりして嫌われるのとか無理な性格なので,そこらへんは意識してない所から矢が飛んできたなぁという感想です.
----------------------------------------
そのままずるずると1年間経ったのち更新をしない旨を伝え職場を後にしました.
ここまでが前提共有で,こっからが本題です.
追記-------------------------------------
(極めて個人的な)僕のつよつよエンジニアのイメージを共有すると,小中学生からプログラミングしてたり(高校生から始めたのといくつか次元が違う気がしてる),未踏や異能などを通して予算獲得経験があったり,企業でバリバリ働いてた経験があったり,Twitterでなにやらフォロワー多めで有名CTOと顔見知りだったり,みたいな感じです.百戦錬磨の30代~のエンジニアというより,中高で未踏ジュニア通してます,まだ20代前半です,もう1000万プレイヤー行きそうです.みたいなキラキラが僕ら大学生エンジニアにとって目につきやすく年が近い分,あぁ俺は未踏ジュニア落ちたなぁという劣等感とともに目で追っちゃうんだろうなぁ.なに書きたかったか忘れました...
------------------------------------------
Twitterとかで(主につよつよエンジニア達によって)エンジニアのべき論が語られていますが,その理想像として
・ひいてはそれを苦と思わない
みたいなのがあると思うんですけど,これ無理だなって思っちゃったって話.とともに,皆さんはどうなんですか?という質問がしたいです.
インターンする前は,正直ツケ上がってたんです.同世代からしたら自主的にプログラミングしてるし(チャラいところだけ),大企業でインターンしてるし.
僕はきっとつよつよエンジニア(の卵)として(新卒でという意味ではなく近いうちに(漠然))1000万プレイヤーにエンジニアとしてなるんだろうなと思ってました(実際会社のエンジニアは結構超えてる人がいたし,インターン上がりならエスカレータ式に入社はできた).
でも,上記のことがあり挫折してしまいました.今までチャラくて気持ちいところだけやってたけど,仕事となると自分が扱ってこなかった技術を使わないといけなくて,扱ってこなかったということはつまり難しいということで.それを勉強することが,また勉強すべきだという共通理解のある分野で生きていくことが無理そうだという気持ちになりました.
このB4の夏,某カリや某INEや知り合い企業に応募する予定やお誘いを受けましたが,このことがあり全てやめましたor辞退しました.
短期なので直接的には関係ないですが,今後のキャリアを考えていく中で,盲目的にエンジニアインターンを乱発していくべきなのか悩んでいるところです.
とは言え,プログラミング以外に一般的な大学生に優っていることが特にないので,プライドの高い(人よりいい思い・待遇をしたいという欲求が強い)僕はどうしたらこのジレンマを抜け出したらいいのか分からなくなっています.
同じような悩みを持っている方や,経験して乗り越えられた方は,ぜひどうお考えなのかお聞きしたいです.
就職した先輩には,ここ仕事量少ないしオススメだよって言われたのですが,聞いた給料に少し不満があり(ここも僕のプライドが高いめんどくさい,この問題を難しくしてる点),総じてこじんまりと(言い方が難しいですが)レベルの低いところで少なめの給料で暮らしていくという選択肢は許容できません.
これも踏まえ,僕のようなクズと言われても仕方のない人材はどうしたら上手く(ストレスレスで高収入の意)生きていけるのでしょうか?
追記------------------------------
ただの深夜の殴り書きのはずが,少し反応が増えたので,文章を少し直しました.身バレ対策も兼ねて.
文章が鼻くそナメクジだったり,(技術スタックのところで)エンジニア的に記法がうざかったらすいません(ただそういう文化というか認識も,なんかやってないなぁというか苦笑いしか起きない人間です.すいません.)
あと,釣りとかイきりとかのコメント多かったのは結構心外でした(文章がダメなのはそう).
どう考えたって,あの技術スタック(なんか強そうなのが目に見えてない and 言語名しか書いて無いから各言語のレベル低そう and チャラい(と認識してる)技術しかやってない)で,イきれないのは分かり切ってるし,イきろうとするならもっとカッコつけて書くし,成果物も全部提示するし.という認識でいてました.
あと,雑魚だしクズって自認してるので,あんまり雑魚とかクズって言わないでください.病んじゃいます.あせあせ.
いくつかのアドバイスをくれた方ありがとうございます。マネージャーやITコンサルは確かになと思い、今日そういう職についた先輩に話を聞いてみました。先輩には博報堂や電通のクリエイティブチームをお勧めされました。Mまで入れるとあと3年弱あるので、そこの周辺の職を探していこうと思います。カンマピリオドについて酷評がすごくて驚きでしたが(増田初心者)、それ指定の文書を書くことが時々あるので、設定がそうなってます。読みにくくてすいませんでした。
p.s. コメントに返信はしてないので、元増田を名乗る人は偽物です。
-----------------------------------