「UML」を含む日記 RSS

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

2023-12-12

プログラミング先生が変になった(ChatGPT)

GPTsでプログラミング先生のお姉さん役を作って教えてもらってるんだけど、昨日までまともだったのに、今日になって語尾が変になってしまった。

User

今日よろしく

GPT

いいわよ、いつでも質問してね!今日はどんなプログラミング問題解決しようか—だわ?

User

今日プログラミングじゃないんだけど、先生ならできそうなので聞いてみたい

GPT

もちろん、プログラミング以外のことでもお手伝いできるかもしれないわね。どんなことか聞かせて—よ。

User

plantUMLって知ってますか?

GPT

知ってるわよ、PlantUMLは図や図表を作成するためのツールだわ。UML図、シーケンス図、クラス図などをテキストベース作成できるの。どんな図を作りたいのかしら?使い方や機能についてもっと詳しく教えてほしいなら、遠慮なく言ってね—よ。

User

なんか今日、しゃべり方が変

GPT

ごめんなさいねちょっと調子おかしかったみたい。でも、これで大丈夫だと思うわ。PlantUMLのことで何か聞きたいことがあれば、どうぞ遠慮なく聞いてね—よ。


なんだこれはwwww

2023-11-08

anond:20231108094557

バックエンドだと15で見えないようなのはそもそも関数デカすぎな気がするけど

フロントとかUML書く時はでかい方がいいし

業務やりながらだと別モニターZoomだのメールだのJiraだのも開けたいね

2023-10-13

anond:20231013101212

数式もUMLもほぼITエンジニア専用

検索性を気にするようなドキュメントGithubwikiに書いてはいけない、ちゃんとしたWikiなりドキュメントサービス使いなさい。

2023-09-05

anond:20230905022421

いや言いたいことはわかるんだけどさ

「真のゴール」を動かせる本物のアジャイルなんてどんだけの現場実践できる? としか思わんわ

ヌルユートピア妄言しかない

まぁ偽のアジャイルもあれはあれでメリットあるし、ウォーターフォールの最大の邪悪って「1ヶ月丸々後工程でまったく使いもしない詳細設計という名のUML図作ってエンドユーザー満足させるために『納品』する」とか、そういう全体スケジュールが狂いに狂いまくることだと思うからゴールが動くうんぬんはあくま効能の一部だと思うよ

2023-04-05

ChatGPTにマインドマップを作ってもらったら理解速度が爆速になる件

https://note.com/abiruy/n/n8f55133a06d6

この記事読んで、GPT4にやらせようとすると拒否される。

太宰治走れメロスストーリーについてマインドマップにまとめて、PlantUMLで出力してください。

PlantUML使用して、太宰治の『走れメロス』のストーリーマインドマップにまとめることはできません。PlantUMLは主にシーケンス図、クラス図、アクティティ図、コンポーネント図、ステートマシン図、オブジェクト図、デプロイメント図、タイミング図、ユースケース図などのUML図を生成するための言語です。

ただし、『走れメロス』のストーリーマインドマップテキスト形式提供できますマインドマップを手動で作成することができるツールソフトウェアにこの情報インポートして使用してください。

(以下略)




最近AIは、人を選んで回答を変えている気がする。ある種の人種差別を行っている。

2023-03-22

anond:20230322130637

三角関係恋愛もののあらすじを書かせて、他にも登場人物考えさせて、その結果できた人間相関図をUMLユースケース図として出力させるとかそういうのは得意

2022-08-11

anond:20220811114525

その設計の段階でUMLに限らずフロー図とか図を書かないの?

ノーコードってそのフロー図がそのままプログラムとして動くイメージなんだが

もちろん新規の処理の部分は書かないといけないが

anond:20220811113945

下請けもそうだし、社内でコーディング部隊要件まとめる部隊が分かれてる場合

どちらかと言うとUMLって「日本語だけの仕様書じゃ何すれば良いかわからんから図で書け」ってプログラマ側が要件出す側に書けと要求してるものだと思ってた

anond:20220811113522

ワイはプログラマやがUML仕様書も降ってこず不定期でいろんな人から口頭やメールで断片的に仕様が降り注ぐやで

anond:20220811113313

でもUML仕様としてプログラマに降りてくるんじゃないの?

じゃなかったらウチのソフト担当者何してるの?ただのお絵描き

anond:20220811111145

UMLなんてSIerしか使ってないよ。まともなプログラマは誰もそんなもの使ってない。

anond:20220811105726

でもUMLとか書いたり読んだりしてプログラム作ってるんじゃないの最近プログラマさんって

ノーコードやったことないから詳細は知らないけどUMLアクティティ図みたいなの書いていくイメージ

あと、ノーコードってそもそもプログラマ用の代物なんじゃないの

2022-05-03

[]2022年4月はてブあとで読むトップ30リスト

はてブホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ

590あとで/4204users 【詳しすぎる2週間】親の死亡後にまずやること(行動チェックリスト付) | まごころ相続コンシェルジュ

291あとで/1560users Google製のJavaScript教育ツール「Grasshopper」は基礎から学べて初心者に優しい!【どれ使う?プログラミング教育ツール】 | 窓の杜

272あとで/1859users 無料コーディング練習所 | 未経験からWebデザイナーへ!

220あとで/1327users 【翻訳Googleエンジニアソフトウェア開発する時に必ず書くドキュメント「Design Docs at Google」 - BppLOG

201あとで/1017users 30 分でわかる!アルゴリズムの基本 | E869120 | SpeakerDeck

191あとで/1365users Wi-Fiトラブル解決に便利! Windowsの隠れ便利機能Wlan Report」を活用しよう【イニシャルB】 | INTERNET Watch

175あとで/888users Web開発者もっと安全ウェブサイトの作り方」を読むべき - Flatt Security Blog

171あとで/2593users (追記あり) 10億円資産ができたときに知っておいたほうがいいこと | anond.hatelabo.jp

164あとで/849users AWS初心者向けの教材まとめ、AWS日本法人が公開 | ITMedia

162あとで/1231users 【試し読み】書店員さんから反響! 精神疾患を抱えた妻の介護仕事…約20年にわたる苦悩の日々を綴った傑作ルポ『妻はサバイバー』|朝日新聞出版さんぽ|note

159あとで/935users 機械学習が独学できる日本語Youtube難易度別まとめ - Qiita

152あとで/961users 8時間を0.01秒に短縮 「アルゴリズムの素晴らしさが2分で分かる動画」が今すぐ勉強したくなる分かりやすさ | ねとらぼ

142あとで/889users 文春オンライン記事分析を支える爆速ダッシュボードを作るまで|Shota Tajima|note

141あとで/2006users さよなら絵梨 - 藤本タツキ | 少年ジャンプ+

140あとで/1138users 新電力中の人です。すべてをお話します | anond.hatelabo.jp

136あとで/1094users 『ゴールデンカムイ』全話無料! | ヤンジャン!

135あとで/780users Docker創始者らが開発、ビルドテストデプロイ自動化ポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に | Publickey

132あとで/575users フロントエンドエンジニアが知るべきキャッシュ理解する | カーーズ | Zenn

132あとで/1232users みんなが知ってる『ちょっとのコツでめっちゃ美味しくなる、楽になる』みたいなの教えて→全然知らなかった有益情報が集まる | Togetter

131あとで/679users 【個人開発】正規表現を学ぶ狩りに出ませんか?モンスターを倒しながら正規表現が学べるゲームRegex Hunting」を作りました - Qiita

124あとで/1217users 先輩に「何かタメになる話してくださいよ〜」と無茶振りしたら『Language Reactor』という2言語字幕を同時表示できるChrome拡張機能を教えてもらった | Togetter

124あとで/1254users 育休中に相方がめちゃくちゃ売れた|酒寄さん|note

120あとで/1114users Google Analytics(UA)が使えなくなるのはどのくらいヤバくて、いつまでに何をしたら良いのかの話。 - フジイユウジ::ドットネット

120あとで/598users 電子情報学特論:Chromiumアーキテクチャを解き明かす | Kentaro Hara | Google Slides

119あとで/1242users 僕がたどり着いた最強パリパリチキンの焼き方→上手に焼くポイントも「鶏肉好きとしては是非とも取り入れたい」「最高のライフハック」 | Togetter

118あとで/866users 「全クリエイターに広まってほしい」文化庁質問に答えるだけで『著作権契約書』が作れる超便利なツールを作っている | Togetter

116あとで/897users ちょっと触ったら休日が丸2日消失した 個人2022年ベストゲーム「TUNIC」を全力で推したい | ねとらぼ

115あとで/798users 結局UMLとかシーケンス図とかAWSの図とかどれで描くと良いのよ?と思ったとき選択肢 - Qiita

112あとで/494users 『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動note

109あとで/522users 予防に勝る防御なし - 堅牢コードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022

109あとで/1047users (続き)10億円資産ができたときに知っておいたほうがいいこと | anond.hatelabo.jp

はてブではあまり見かけなかったタイプの商用っぽいけど大手メディアじゃなさそうなサイトが上位に入った

2022-04-27

anond:20220427172028

ER図だの、UMLだの、何たらかんたらだの、うんたらかんたらだのを書いたり読んだりする勉強をしないといけなくなるんだろ、知らんけど

2022-01-27

UMLとかシーケンス図とか回路図とか

ちゃん場合による経路をシミュレーションできるようになっといてくれや!

いつまで2次元世界にいる気やねん!

わかりにくいんやアホか!

中式書かないからなかなか意味のわからない授業と一緒なんや

あーあ、自分で作らなあかんのか

2021-08-16

【未経験から1ヶ月で】現役エンジニアが教える最良のプログラミング勉強法

プログラマーに憧れる皆さん!こんばんは。

自分文系から」「未経験から」と諦めていませんか?大丈夫です!プログラミングセンス不要です。正しい手順で学べば、文系や未経験でも、誰でも一流のプログラマとして活躍することができます

今日は、未経験から最短で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)に変換してみましょう。そうすることで、自分が本当にそのコード理解しているのか、確かめることができます

フローチャートUMLが素早く正確に描けることは、プログラマーとして働く上で非常に重要スキルです。それらはソフトウェア設計の基礎となりますし、ソースコードを読めない営業顧客にとっては貴重な資料となるからです。プロエンジニアは、COBOLソースコード10万行を1週間でフローチャートにして、Excel転載することができます

ここで一つ注意すべきことがありますフローチャートを描くときは、必ず専用の定規を用いて描いて下さい。フリーハンドで描いたもの業務ではフローチャートとは認められません。これはまともな企業就職すれば研修などで必ず習うことですから、今の内に覚えておきましょう。

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構文を用いて、例外を潰すようにしましょう。

おわりに

全体的に専門用語盛りだくさんの記事になってしまいましたが、

部分的にでも理解すればプログラミングを見る目が変わるはずです。

うさんくさい記事インターネットには多いですが、

そういう情報に惑わされずに本物の技術を身につけてもらえればと思います

2021-07-08

anond:20210706022633

年収270万で)プログラマー引退して、医学部にきた俺が真面目に考えてやろう。

言葉は正しく使おう

真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。

プライドが高い

消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCSコミットしないヤツ、または貪欲コードレビューをされるのが嫌がるやつは、成長しない。

エリート意識

この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェア開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。

④ 「某天市場の先輩には,ここ仕事量少ないしオススメだよって言われたのですが,」

いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから

⑤「バックエンドは大体firebaseかgcpに任せているので,インフラあたりひいてはネットワーク知識が薄いです.」

うん、ココはまずい。基本的フロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーリスク責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。

⑥「後fpgaも少し.ハードウェア開発は結構苦手で回路図とか上手く書けません.」

君はソフトウェアエンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。

⑦「B3の夏くらいのタイミング東証一部上場企業インターンに行きました.」

インターン生はお客さんなの。君のスキル通用したのはすごいと思うけど、同じ感覚仕事はできないから注意しときなよ。

⑧「CSではないので受動に学ぶ機会も特になかったです」

なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強しろよ。

⑨「Twitterとかで(主につよつよエンジニア達によって)エンジニアのべき論が語られているが,(以下略

逆にいうと、あなたインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。

⑩「仕事となると自分が扱ってこなかった技術を使わないといけなくて,扱ってこなかったということはつまり難しいということで.」

いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?

⑪「僕のようなクズと言われても仕方のない人材はどうしたら上手く(ストレスレス高収入の意)生きていけるのでしょうか?」

諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものから。変化する業界ストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。

⑫「今22歳,B4だ.Mまでは行く.Dに迷ってる.研究楽しいからです」

いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。

⑬「ネット実装例なんてクソの欠片も載ってないし,プロトコル理解のために特許資料論文をくまなく読む羽目になったのは本当に辛かったです.」

この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。

⑭「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,(以下略

ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、

⑯「プログラミングは17歳くらいから始めました」

プログラミングに年齢はないから。自分は9歳ではじめたけどね。

⑰「僕のつよつよエンジニアイメージを共有すると」

あー、俺も天才高校ときにいて、マーチ情報工学と旧帝の院の学費会社持ちという驚異的なやつがいたよ。今もブログ見てると、AndroidiPhoneアプリを書いているみたいで、元気そう。

⑱「つまり難易度が急に跳ね上がった.これが辛かったです...言語C++Java.」

それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザ会社はやめろ」と耳うちされたよ。

結語

人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウ他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界からな。覚悟しとけよ。

追記

P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末コーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力フロントベンチャー企業ぐらいしか相手にしてくれなかったからだよ。そこの会社外国帰りの MDMA をキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイ社長をやっていて、人工知能を作ろうと学生インターン酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長Python勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。

P.S.年収については、初日から派遣先会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイト転職をする準備をしていたよ。たしかDMM とかサイバーエージェント面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。

P.S.医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。

P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、RESTSOAP も書かないとまずくない?書くのだったら「RailsNextデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。

P.S. ⑤「野村総研データを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪たからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。

P.S. ⑥「ダウト学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。

P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかおかしいよな。Kubernetes や Terraform を弄って、CIGitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために KotlinSwift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。

P.S.年収については、基本給が 22万で、残業200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオ作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社コミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM面接に行けそうだったのよね。馬鹿なことをした。

P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身フロントエンド出なんだよ。何を隠そう、Adobe Flashゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。

P.S. ⑩ 「相続税対策お疲れさんだな。」あたり。

P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。

P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!

P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。

P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///

P.S. GitHub なんやね。気をつけるよ。

P.S.フルタイムじゃないのでしょ?」いいえ、東京都内フルタイム(ひどいときで、朝7から24)でしたよ。入った会社が「法律よりも、派遣先評価」という会社だったからね。

P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャー跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQueryDjango を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、AndroidJava) と iPhoneObjective-C)と jQuery を使ったフロントエンドシステムに、バックエンドRails + Postgresqlシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。

P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。

P.S.病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分責任を持って患者さんを見たいから、バイトなんて使わないよ。

P.S. 自分コードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機解決できる問題を、より直接的に触れて解決したいと思っているから。仕事ハードでも全く問題なし。

P.S. FPGA すごいよね。ザイリンクスアルテラIntelAMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU限界FPGA突破しようという話があったけど。手を出そうと思ったけど、高性能なチップ100万ぐらいして挫折した記憶があるよ。

P.S.東海大医学部学士」は自分大学卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...

P.S.MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQLPostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。

P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオ作成Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所会社面接を受けさせられて「君は明日からXXで働くから履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。

P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう

P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redisインメモリセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。

追記追記

逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。

2021-05-18

スタイラスペンかった

雑にUMLを書いて共有する用途として完璧だなこれ

2021-01-01

メーカーSIer勤務の年収600万のプログラマー技術スタック

先に言っておくがたいした技術習得していない。

この程度でも600万は稼げるという夢を持つか、こんなのでもちょっと何かが違うだけで600万稼げるか否かが分かれてしま業界に闇を感じるか、600万程度で何ドヤってるの?と思うかはご自由にどうぞ(外資系ってもっと稼げるの?)。

歳は30台前半。学部卒。BtoB向けのパッケージ製品の開発プロジェクトで、設計コーディングテストあたりを担当している。仕様について発注元との折衝もやっている。

業務で使う技術のうち、自分自身がそれなりに習得しているものだけを書く。プライベートしか習得使用していない技術は別。


以上。

PythongitDockerkubernetesもAnsibleもCIツールAWSGCPRuby on Railsも知らなくてもなんとかなってしまっている。業務でこれらのスキル要求されることは(今のところは)ないから。

楽でいいと思う一方、このままだと将来ヤバいとも思っている。いざ転職となったときに詰みそう。

でもいざとなったらググっていくらでも独学できるだろうとたかをくくっているので焦ってはいない。

というか「その他」のところに書いた能力が高ければ世の中大体はなんとかなるんじゃないの。知らんけど。

ちなみに自分は構築できないというだけで、プロジェクトではJenkinsとかgradleとかbabelだかwebpackだかでビルド環境は整えられている。

あとプライベートで、単純な仕様独自言語コンパイラフロントエンドC++LLVMで作っている(これで金が稼げるとは微塵も思っておらず、完全にただの趣味)。

2020-06-15

ソフトウェアに「設計書」と言う概念を持ち込んだのが間違い

https://b.hatena.ne.jp/entry/s/qiita.com/ko-flavor/items/e7a60bc897965943e0a0

ソフトウェアに適しているドキュメント設計書ではなく仕様書だ。

なぜソフトウェア設計書という場違い概念を持ち込んでしまったのだろう?

ましてエクセルで書くなんて。

ソフトウェア構造プログラミング言語以上に表現に適した記法はない。

プログラミング言語以外のソフトウェア構造を表す記法には例えばUMLなどがある。

しかUML概要表現する(モデリングする)にはいいかもしれないが、設計をしっかりと表現するには無理がありすぎるのだ。

エクセルを使い、一般的にもなっておらず規格化もされていないオレオレ記法設計表現しようとするなんて、さらに無理がありすぎる。

エクセル設計を書いているという現場では、きっとエクセルでの「設計作成」という本来すべき設計とは程遠いブルーカラー仕事にばかり力をいれ、まともな設計もされていないのではないか

それに設計作成に注力するあまり、まともな仕様書など書かれていないのであろう。

仕様に基づいて書かれたソースコード設計表現する。ソースコード設計なのだ

これがソフトウェアに適したやり方であり、だからこそ仕様がしっかりと実装されているかどうかを読み解けないようなソースコードはクソと言えるのだ。


Sierよ、設計書を捨て仕様書を書こう。仕様書ができたらソースコードに注力しよう。

2020-06-14

「こいつプログラミングセンス無いな」と思う奴の特徴

頼むからセンスのない奴はプログラマにならないでくれ。迷惑から

不要ものを作りたがる

これが最もプログラマになってはいけないタイプ犯罪行為などの言うまでもないことを除けば)。

たとえば

等。

組織で開発する上で、こういう人がいるメリットは無い。

不要ものを作ることで、プログラムは複雑になり、メンテナンスの手間は増え、バグは発生しやすくなる。

一定レベル以上のプログラマが最も自然だと同意するような実装(「実装しない」という選択肢もふくめて)をパッと思い付けない奴は、センスが足りていない。

将棋で言えば、駒がぶつかったら先ず取る手を考えるといった基本的な手筋が思い浮かばないようなもので、現実的に使い物にならない。

基本的コードなんて書かないに越したことはない。

これは、「Code Complete」「The Pragmatic Programmer」等の著名なプログラミングの本に共通する結論である

DRY原則を守らない

すべての知識は、システム内において単一の、曖昧さのない、そして信頼できる表現を有していなければならない。

これが「The Pragmatic Programmer」にあるDRY原則である

要するに、すべての情報単一ソースから決定されるべきということだ。情報が二重化すると、それらの間で不整合が生じバグの原因になる。また、二重化した情報は、修正の手間が二倍になる。

たとえば、ユーザープロフィール管理するレコードクラスに「生年月日」と「年齢」を同時に保持する必要はない。年齢は生年月日から計算できるからだ。

世の中には、「xxxFlag」みたいな不要変数を作ったり、共通ロジック抽出せずにコピペコード濫造するダメプログラマーが多すぎる。

もちろん、合理的理由があって、この原則適用されない場合もある。

たとえば、多くの言語組み込み配列文字列は、その要素と長さを二重に管理している。配列の長さは要素を数え上げることで求まるが、それには要素数に比例した計算時間がかかるためだ。

ただし、こういう場合でも、公開されたメソッドによる操作では、必ず内部の変数は同期されるように作ることが可能である。それをしないのは、怠慢でしかない。

変数命名が雑

文字変数とか連番とかは論外だが、「ary」とか「setData()」みたいな何の情報も伝えないような変数名・関数名を付けるやつ。

正直、コードの読みやすさなんて6〜7割くらいは変数名の付け方で決まると思っている。

名著「The Art of Readable Code」も、半分以上が変数名の付け方に関連する内容だ。

なぜ変数名が曖昧になるのかと言えば、怠慢を除けば理由は2つある。

1つは、コードを書いた奴自身が、そのコード機能を明確に言語化できないということ。

もう1つは、1つの関数で多くのことをやりすぎたりしていて、その変数役割曖昧になっているということ。

スコープを広げたがる

変数関数を参照できる範囲のことをスコープという。

たとえば、関数の内部で宣言した変数は、多くの言語では関数の外からは参照できない。

スコープは狭い方が良い。これはほとんど全ての状況に適用できるプログラミング大原則だ。

スコープが広いということは、ソースコードの多くの場所からその情報を参照・変更できることを意味する。

たとえば、クラスのメンバ変数は各々のインスタンス内でしか参照できないが、静的な変数はすべてのインスタンス共通に持つ。このため、静的な変数を変更すると、すべてのインスタンスに影響を及ぼし、影響範囲の把握やテストが困難になる。

スコープを広げるか狭めるか、2つの選択肢があったとして、広げる方に心が傾く奴は、プログラマをやめた方がいい。

結果的メンテナンス困難なコードを生むというのも勿論だが、単に書くだけでも、スコープが広い方が書きづらいのだ。つまり必要もないのにわざわざ変数スコープを広げようとする奴は頭のおかしい奴しかいないということになる。

コードが長い

複雑なメトリクスなどを持ち出すまでもなく、たとえば1メソッドの行数が何百行もあるとか、1クラスのメンバ変数が何十個もあるとか言うの。

これは論外であるプログラマとしての能力云々以前に、明らかな怠慢であり、社会人としての常識が疑われる。

定期的にメンテナンスされ続けているOSSソースコードなどを見ると、関数メソッド)の行数は平均して5〜10行。20行を超えるものは稀である

長いものであっても、外部で定義した関数を順番に呼び出しているだけであったり、リクエストハンドリングして各々の処理に振り分けているだけのようなものほとんどである

それを超えているコードは、合理的理由があってそうなっていることよりは、単に悪い設計であることの方が多い。

結論

これらは実はプログラミング云々というより、内容の理解力国語力の問題なのである

ある情報を得るために必要十分な情報は何かが分かってないから、余計な変数を作ったり、無駄変数スコープを広げたりする。

そして、自分が作るものを正確に理解していないから、適切な名前がつけられないし、適切なモジュール分割ができない。

それがすべての原因。

こういう人がまず身につけるべきは、プログラミングテクニックではなく、日本語を正しく読む力。

低学歴が「プログラミングなら自分でもできるかも」なんて思っちゃいけないってこと。もちろん、下請けSIerとかで使い捨てコード書きとして働くことはできるが、上に書いたような最低限の力がないなら、それ以上を望んではいけない。

ちなみに、上に書いていることと反対のことを思っている人も世の中にはいる。

特に、昔からプログラミングをしてきた自称ベテランに多い。その人は、能力があるというよりも、単に現代の開発に際して必要知識がないだけなので、真に受けないように。

また、大学コンピュータサイエンスの基礎を学びたての学生なども、知識をひけらかしたくて上と反対のことを言う傾向がある。その程度のことは、良識のあるプログラマはみんな分かっているのだが。

2020-05-28

anond:20200528080145

UMLについてはまるっきりアホだと思うから多めに見といてあげるんだけど

オブジェクト指向カプセル化うんぬんが不要ってほうがわけわからない。

オブジェクト指向理解してるかどうか計る上で、カプセル化って言葉は知らないけど

カプセル化意識して設計コーディングできることなんてあるのかな?

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