タグ

programmingに関するel-condorのブックマーク (39)

  • 競プロ出身者の使えなさは異常

    anond:20240624084844 を読んで思ったこと。2番目以降は正直良くわからないが、一点目についてはわかりみしかない。 うちはメガベンチャーで内製アプリの開発保守をしてるんだが、新卒で採った青(水色?)のエンジニアが連続でクソ野郎でめちゃくちゃしんどかった。 ◯色コーダーマウントちょくちょく自分は◯色コーダーだって主張してくる。 こっちはお前が学生時代に取った資格の話なんて興味ねえんだよ。 センター試験の点数自慢してる社会人いるか?いねえだろ。 評価されたければ与えられたタスク以上の成果を挙げろ。 資格自慢をしたければ、社会人にふさわしい資格を取れ。 お前のガクチカなんぞ知らん。 コードがゴミ競プロエンジニアといっしょに仕事したことある人なら大体頷いてくれると思うんだが、彼らの書くコードは当にひどい。 処理がどれだけ効率的だろうが、実務においてメンテナンサビリティの無いコード

    競プロ出身者の使えなさは異常
    el-condor
    el-condor 2024/06/26
    競プロ勢はインターネット老人級から新卒に近い世代まで同僚にいるが、そんな人格破綻者は少ない。偏に、御社の採用担当が仕事したかどうか、それが全てなんではないかなあ。
  • 『そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか』へのコメント

    ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

    『そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか』へのコメント
    el-condor
    el-condor 2024/05/21
    プログラミング経験のない人向けの初修言語としては、私見では、小中学生ならScratchそれ以上はRubyかPythonでまずコンピュータを動かす喜びを知るのがよく、情報系はCで黙ってコンピュータの原理を学ぶべきと思う。
  • そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか

    遠きに行くには必ず邇きよりす.高きに登るには必ず卑きよりす.何事にも順序というものがあります.Rust の学習もそうです. そこで,前提知識がほぼ無い状態から Rust を学ぶときに,どんな順序が良いのか,考えてみました. コンパイル時と実行時の区別. Rust を学ぶとき,何がコンパイル時に起こって何が実行時に起こるか分からないと困ります.特に,型検査と借用検査がコンパイル時に行われることは,それらの基的な規則を知る際に大切です.そこで,最初に Hello world を書く時点で,コンパイル→実行という流れを押さえておくべきでしょう. コンパイルエラーの読み方. まずコンパイルエラーを読むという基的な姿勢を身に付けるのは大切です. 公式ドキュメントの場所. まず公式ドキュメントを読むという基的な姿勢を身に付けるのも大切です. Hello world 周辺の基文法. 例えば以下の

    そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか
    el-condor
    el-condor 2024/05/21
    Rustはいい言語だと思うが、これを初めてのプログラミング言語として学ぼうというのは初修外国語にラテン語を選ぶのと同じで、個人的には薬師寺涼子以外にはオススメできない。2番目の言語としてならとても良いと思う
  • "「0.1+0.2≠0.3」だから浮動小数点数を扱うときには気を付けましょう" はいいんだけど結局どうしたらいいのかまでフォローしたほうが親切だと思ったので調べてみた - Qiita

    釣られた https://qiita.com/higashi_nc/items/9a5ea00415a008f06843 に釣られて読みました。 2行でまとめると以下のような内容です。 10進数の0.1や0.2は浮動小数点数で表すとピッタリ0.1や0.2にはならずに誤差が出る 浮動小数点数の扱いを理解して、より堅牢なプログラムを作成することを願っています。 え?結局どうしたらいいの?という感想だけ残ったので各言語での浮動小数点数同士の比較の方法を ChatGPT に教えてもらいました。 結局どうしたらいいのか 基的に浮動小数点数同士の差がある程度の誤差より小さければ同じ数である、という判定をすればいいようです。 今回の回答には含まれませんでしたが、おそらく言語によっては浮動小数点数同士の比較をする専用のライブラリなどもあるかと思われます。 Python

    "「0.1+0.2≠0.3」だから浮動小数点数を扱うときには気を付けましょう" はいいんだけど結局どうしたらいいのかまでフォローしたほうが親切だと思ったので調べてみた - Qiita
    el-condor
    el-condor 2023/12/13
    抑もPHPでfloatというの、昔マイナーバージョンで非互換が発生した話を聞いてから怖くてなかなか使えない/金額関連なら通常はdecimal(元記事も本来このケース)、複雑な計算の誤差が気になるならrationalを使うのが良い。
  • 「0.1秒」以内の複数ログインで他方の情報を表示、クラウド請求書INVOYで発生

    著名なセキュリティーリサーチャーのpiyokango氏が注目のシステムトラブルをピックアップ。今週の注目ネタは……。 今回取り上げるシステムトラブルは、FINUXのクラウド請求書サービスからの顧客情報流出と、ジュテックのランサムウエア被害、明和証券のメールサーバーへの不正アクセスである。 10月に指摘を受けたが不具合を再現できず OLTAは2023年11月7日、関連会社FINUXが運営しているクラウド請求書プラットフォーム「INVOY」において、利用者が他者の情報を閲覧できる事象が発生したと発表した。 11月9日までに発表した2度の続報によると、2人以上の利用者がほぼ同時にログインすると、一方に他方の情報が表示される可能性があったという。調査の結果、0.1秒以内のログインで発生すると推定された。 原因は、2023年8月7日に実施したアップデートで不具合を引き起こすコードが含まれていたから。

    「0.1秒」以内の複数ログインで他方の情報を表示、クラウド請求書INVOYで発生
    el-condor
    el-condor 2023/11/21
    基本的にこういうのはアプリケーションフレームワークで弾かれているはずで、となれば、1dsecタイムスタンプをキーにする独自実装とかしちゃったのかな。設計レビュー段階で見つけろとも思うがどうか。
  • 「履歴書の字が汚いと採用で不利」は本質的じゃないと思ってたけど「使用言語:swift」って表記を見たときはそこで人を判断しそうになった

    kumamo_tone @kumamo_tone Flutter, iOS, Android Freelancer 筑波大学院→ヤフー→メルペイ→YOUTRUSTフリーランス kuma.dev kumamo_tone @kumamo_tone なんだろう、履歴書の字が汚いと採用で不利になるみたいなのナンセンスとか思ったりする割に、いざレジュメ見る立場になったとき「使用言語:swift」って表記見て「まともなエンジニアがそこ小文字にするか…?」って全然質じゃないところで人を判断しようとした自分に驚いたんですよね 2023-10-25 01:36:36

    「履歴書の字が汚いと採用で不利」は本質的じゃないと思ってたけど「使用言語:swift」って表記を見たときはそこで人を判断しそうになった
    el-condor
    el-condor 2023/10/26
    caseはプログラミングでは大事だからね。case自体が意味を持つ言語もいくつもあるし。特にGolangまたはRubyの即戦力プログラマを採用しようとしている時のcase誤りは許せないな。
  • オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena

    「オブジェクト指向するとプログラムが読めなくなるから禁止」のような話は昔からあって、新しい技術についてこれない人を揶揄するようなニュアンスで使われていましたが、実際にはこれはオブジェクト指向迷路にうんざりした現場での率直な意見だと思います。 オブジェクト指向は、まじめにやるほどプログラムを読みにくくするという性質をもっています。 ※ 使い方次第というコメントついてますが、だからこそちゃんと性質をしっておく必要があると思います。 オブジェクト指向の代表的な指針を3つあげると次のようなものがあります。 オブジェクト同士の連携としてプログラムを組む 単一責務の原則 インタフェースと実装の分離 まず、オブジェクト同士の連携でプログラムを組むと、コードが飛びまくって追いにくくなります。そして単一責務の原則により、小さいクラスが大量に生成されて、追いにくさがさらにあがっていきます。 ダイクストラ先生が

    オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena
    el-condor
    el-condor 2023/02/25
    コードの可読性では、責務分割が適切なOOPコード>>長大トランザクションスクリプト>責務分割が不適切なOOPコード、ただし実際問題として「適切な責務分割」はそんなに簡単ではないよね、というのはまあそうかなあ。
  • JavaScriptで文字数を数えるのはそんなに簡単ではない - Qiita

    はじめに JavaScriptにて文字数をカウントする方法に関する記事をいくつか目にする機会があり、今回実際に記事を参考に調べてみました。 簡単そうに見えて意外と難しいです。 String.length Googleなどで「JavaScript 文字数 カウント」とかで検索すると真っ先に出る方法です。 MDN公式ではString.lengthに関して以下のように説明されています。 length プロパティは String オブジェクトの文字列長を UTF-16 コードユニットの数で表します。 length は、 string インスタンスの読み取り専用データプロパティです。 UTF-16 コードユニット ざっくりと説明するならUnicodeで割り当てられた番号をUTF-16 という文字コード方式で割り当てられた各文字に対応するIDを指します。 難しい単語がいくつか出てきているので1つずつか

    JavaScriptで文字数を数えるのはそんなに簡単ではない - Qiita
    el-condor
    el-condor 2022/09/28
    抑も一般に、プログラムで「文字数」を数えようとするのは、処理系のマメなサポートなしには大変だよね、というのは旧世代の考えなんだろうか。
  • 【エンジニアあるある】if文の書き方どうする問題

    匿名変人 @tokumeihenjin @vitaone_ モブさんが反応しつつも参戦しないのは、経験済みか悟ってるということですね。 あ、ちなみに私は if(条件式){ } ですね。 2022-09-07 08:42:21

    【エンジニアあるある】if文の書き方どうする問題
    el-condor
    el-condor 2022/09/07
    C#なら2、それ以外は1。その時使う言語の標準的な流儀に合わせる派。大体今時、フォーマッタ使うのが基本ではないかな。
  • C言語、Java言語、Go言語、Rust言語……

    人間の言葉は「イングリッシュ語」「ジャパニーズ語」と書いたらおかしいと誰でも理解できるのに、プログラミング言語に「言語」をつけるとおかしいというのを理解できる人がめったにいないのはなぜなのか。

    C言語、Java言語、Go言語、Rust言語……
    el-condor
    el-condor 2022/02/07
    JCLとかHCLに「言語」を付けると確かにそうなるけれど、goもCもJavaもRustもその名の中に「言語」の意味合いはないので別に構わないのでは。そりゃgolang言語とか言ったらツッコミたくはなるけどさ。
  • EntityのID発番についてTypeScriptで考える

    /** * 疑似コード */ //直前でIDを指定して取得したのにも関わらず const someEntity = someRepository.findById('some-id'); //Entity自体の存在確認をするのは良いが... if(!someEntity) throw new Error('SomeEntity not found'); //IDの存在まで確認しなければいけないのがなんかダサい。。 if (someEntity.id) { //someEntity.idを使った何かの処理 } 理想的には、 Repositoryに渡すとき(saveなど)はIDが発番されていないくても良い Repositoryから抜き出すとき(findAll, findByIdなど)はIDが発番されていることが保証されている というモデルを実現したい。 ということで、TypeScriptのUn

    EntityのID発番についてTypeScriptで考える
    el-condor
    el-condor 2021/11/22
    型にそこまで全てを担わせなくても良いのではなかろうかと思うのだが、TypeScript勢には自然な発想なのだろうか。(TypeScriptをそこまでガチで使ったことがないのでわからない)
  • 逸脱事例を含めてすべてをレールに乗せる - fsubal

    ソフトウェア #設計 のそれもかなり抽象的な話。 ライブラリやフレームワークの価値として、一定の制約を設けて典型事例をそのレールに乗せるというのがあると思う。それは書き方のルールであったり、あるいは受け取る値を型で制限することだったりする。 一方、現実のソフトウェアではたとえそういうフレームワークを使っていたとしても、時に逸脱する実装を取らなければいけないことがある。その時、フレームワークはその逸脱事例を 公式の方法として 書けるようにすべきかという問題が生じる。 たとえば最近 Tailwind.css は @tailwindcss/jit で、任意の値をクラス内に書ける記法をサポートしつつある。 https://github.com/tailwindlabs/tailwindcss-jit code:html <img class="absolute w-762px h-918px to

    逸脱事例を含めてすべてをレールに乗せる - fsubal
    el-condor
    el-condor 2021/03/18
    全てはバランスの問題のような気が。逸脱が常態化したらフレームワークの意味ないし、基本はレールがよくできていることでしょう。
  • モダンプログラマになれない組込みプログラマの苦悩 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込

    モダンプログラマになれない組込みプログラマの苦悩 - Qiita
    el-condor
    el-condor 2021/03/18
    おっさんプログラマとしては、嘗て書いていた携帯Javaのコードを思い出した。こちらはGCがあるのはマシだが今のプログラミング環境に比べるとやはり過酷であった。
  • 「iD」「iPhone」みたいな変な場所に大文字が来る造語が嫌い

    覚えないと正しい表記しづらいし、他人が間違えてるの見てもイライラするし、誰が悪いのかというと命名した奴が一番悪いと思う 他にもいろいろあるよな、どんなのあったっけ?

    「iD」「iPhone」みたいな変な場所に大文字が来る造語が嫌い
    el-condor
    el-condor 2021/02/08
    Javaプログラマになったら正気を保てなさそう
  • ミノ駆動 on Twitter: "クソコード動画「継承」 https://t.co/wK3mIx6XmE"

    クソコード動画「継承」 https://t.co/wK3mIx6XmE

    ミノ駆動 on Twitter: "クソコード動画「継承」 https://t.co/wK3mIx6XmE"
    el-condor
    el-condor 2021/01/25
    この継承パスにしたら死ぬわなあ。
  • 変数名とか関数名つけるの難しい

    長過ぎるとわかりにくいし端折りすぎると何がなんだかわからなくなる

    変数名とか関数名つけるの難しい
    el-condor
    el-condor 2020/11/15
    解る。苦悩の日々ですよ
  • プログラミング初心者は変数名やメソッド名を略さない方がいいよ、という話 - give IT a try

    今回のエントリでは先日、僕が勤めているソニックガーデンで話題になったプログラミング関連の小ネタを書きます。 それは何かというと、「プログラミング初心者は変数名やメソッド名を略さない方がいい」という話です。 長い変数名やメソッド名はつい略したくなります。 実際、僕も長い名前を略すときはよくあります。 ですが、略称を使うのは長年の経験から「この略称は一般的だから誤解を招くことはきっと少ないだろう」とか「前後の文脈から、変数の中身は誰が見ても明らかだろう」という想像が付いた場合だけです。 一方、プログラミング初心者の人は経験が浅いため、「一般的かどうか」とか、「誤解が発生しないかどうか」といった判断ができません。 そのため、他の人が見たときに「え、何この変数名?」と思ってしまうような略称を付けてしまう恐れがあります。 たとえば、先日のコードレビューで、初心者の人がrev_noという名前の変数を定

    プログラミング初心者は変数名やメソッド名を略さない方がいいよ、という話 - give IT a try
    el-condor
    el-condor 2020/10/21
    基本的には略さない派。ただ実装に使うプログラミング言語の慣習によるところも大きいかなあ。例えばRustのiteratorならiterにするのが普通とか。
  • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

    #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuzz(100); } gcc 10.1.0 を使用し、コンパイラが感知したミスには警告を出力してくれる様 -Wall -Wextra を指定し、最適化指示なしでコンパイル、動作させたところ動作するが Wandboxで実行 main() の中の何も出力していない printf(

    「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
    el-condor
    el-condor 2020/10/19
    ホンマC言語怖い。自分もメモリ管理迂闊な方なのでproductionではCは可能な限り書くまい(nativeが必要なら極力Rustかgolangで書く)と決めている
  • flurry on Twitter: "情報収集してるときに、ねっとうよく発言を読んでしまうという点では、このひとが移行先として検討しているPythonのほうが酷いと思います。とくに人工知能云々で流行する以前からやってた連中。 あとはGolangやScalaもつらい。は… https://t.co/LIrgkoCd8W"

    情報収集してるときに、ねっとうよく発言を読んでしまうという点では、このひとが移行先として検討しているPythonのほうが酷いと思います。とくに人工知能云々で流行する以前からやってた連中。 あとはGolangScalaもつらい。は… https://t.co/LIrgkoCd8W

    flurry on Twitter: "情報収集してるときに、ねっとうよく発言を読んでしまうという点では、このひとが移行先として検討しているPythonのほうが酷いと思います。とくに人工知能云々で流行する以前からやってた連中。 あとはGolangやScalaもつらい。は… https://t.co/LIrgkoCd8W"
    el-condor
    el-condor 2020/10/16
    Python"の方が"かどうかは知らないが、言語によらず本邦プログラマ界隈の平均的な社会への認識ってあんなもの、という感はまあある
  • カロリーメイトリキッドのQuineを書きました - まめめも

    縁あって、カロリーメイトリキッドのプロモーション用にちょっとした Ruby プログラムを書かせてもらいました。 www.otsuka.co.jp ↑のリンクを開いて、cd .Quine したところにある CML_quine.rb がそれです。 cat CML_quine.rb とすると中身が見えます。ruby CML_quine.rb すると動きます。 CalorieMate-Liquid-Quine 実行してみましたか?サイト上で気楽に実行できるので、ぜひ試してみてください。 これがどういうプログラムなのか、簡単に解説しておきます *1 。 ローカルでの遊び方 サイト上で ruby CML_quine.rb をするだけでも楽しめますが、自分のパソコンに保存するとより楽しめます。 まず、cat CML_quine.rb した中身をまるごとコピーしてください。 n=2;で始まる行の頭から、'

    カロリーメイトリキッドのQuineを書きました - まめめも
    el-condor
    el-condor 2020/08/05
    流石だ