タグ

プログラミングに関するJULYのブックマーク (226)

  • [Pythonクイズ]「if len(yourlist) > 0:」を、もっとシンプルに書ける?

    Pythonクイズ]「if len(yourlist) > 0:」を、もっとシンプルに書ける?:Pythonステップアップクイズ len関数でリストの要素数を調べて、その数が0より大きいかどうかを比較したりしていませんか? チッチッ! リスト(コレクション)の性質を理解して、もっとPythonicなコードを書くようにしましょう!

    [Pythonクイズ]「if len(yourlist) > 0:」を、もっとシンプルに書ける?
    JULY
    JULY 2025/05/21
    len を省略してもメリットが無いと思うなぁ。行数は減らないし。
  • 読めるけど、わからん。そんなコードに詰まったときに読む話

    まずは自己紹介 ナレッジワークでエンジニア組織の仕組み作りなどを担当しているsedoと申します。 Enablement Groupという部署に所属していて、社内のプロジェクト管理の仕組みを整えたり、社外への情報発信イベントの運営サポートなどをしています! 「なんか読みにくいんですよね…」から始まった話 読める。動いてる。エラーも出てない。 でも――なんでこう書いたんだろう?と、コードの前で手が止まる。 誰かの実装にケチをつけたいわけじゃない。 でも、判断の理由が見えないコードって、どこか触るのが怖い。 レビューもしづらいし、直す勇気も出てこない。 ある日の定例ミーティング後、若手エンジニアのナギサさんが、そっと言った。 「△△さんのあの処理なんですけど、動作自体はちゃんとしてるんです。でも、正直ちょっと読み解くのが大変で…」 ナギサさんは、物腰が柔らかくて丁寧な、でもとても優秀なエンジニア

    読めるけど、わからん。そんなコードに詰まったときに読む話
    JULY
    JULY 2025/05/20
    言わんとしている事には同意なんだけど、途中の「ルール」と「判断基準」が気になった。「コメントをどう書くか」にルールや基準を持ち込むのではなく、考えて書く癖付けが重要じゃないかなぁ。
  • Rust で Unix ライクな 自作 OS

    octox は、Rust で 一からすべて(ビルドシステムも含め)実装された Unix ライクなオペレーティングシステムです。 xv6-riscv に触発された学習用 OS として実装を始めたものです(元々は Linux のような OS の勉強として始めました)。 この投稿では、octox の実装を通して経験したことから自身の Unix-like OS の実装において Rust の機能がどのように活用されているかについて触れてみたいと思います。 記事は英語で公開していた以下の記事の日語訳版です。 Writing a Unix-like OS in Rust 上記の記事を投稿後、いくつかのニュースサイトでも特集され記事になっていました: This Month in Rust OSDev: March 2024 Hacker News: Octox: Unix-like OS in Rus

    Rust で Unix ライクな 自作 OS
    JULY
    JULY 2025/05/20
    Rust は 1 μm ぐらいしか分からないし、OS の実装をした事は無いけど、Rust を使った OS 実装に大きな可能性を感じた。
  • 【Python】これはするな選手権 - Qiita

    まえがき おはようございます。 諸事情によりPythonについての技術書を読むことになったのですが、 掲載されているいくつかのコードを見ていると「えぇ…」と思うことが多々ありましたので、ここで共有したいと思います。 なお、この記事は特定の書籍ないしは出版社、著者、その他を批判するためのものではないこと、あらかじめご了承ください。 (強いて言うなら、こういった書き方をするPythonistaを全般的に批判しているかもしれません) None比較を==でするな 特定のオブジェクトがNone(多言語であればnull)であるかどうかを検証するときの話です。 a == Noneと書いているようであれば、それはa is Noneに書き直したほうが良いかもしれません。 なぜ? Pythonにおいて、Noneはシングルトンです。 つまり、Noneというオブジェクトはランタイム全体で共有され、同じメモリアドレ

    【Python】これはするな選手権 - Qiita
    JULY
    JULY 2025/05/19
    「内包表記使うな」とか、宗教戦争になるような話題かと思ったら、もっと基本的なことだった。で、ここに挙げられている3点が守られていない技術書っていったい...
  • Python初心者がはじめに学ぶべきなのはfor文でもif文でもなくオブジェクト指向という話 - Qiita

    0.はじめに 現在、プログラミングの脱落率は80〜90%とも言われています。 「難しい」「意味が分からない」「エラーで詰んだ」といった理由で、多くの初学者が最初の数週間で挫折してしまいます。 その原因の多くは、「for文」や「if文」から始まる“手続き型”の学習スタイルにあります。 もちろん、それらは大切な構文です。 でも、これらを学んでもPythonが「わかる」ようにはなりません。 Pythonにおいて「for文」や「if文」は、人間で言えば行動や動作にあたります。 たとえば「歩く」「話す」「手を上げる」といった、一つひとつの具体的なアクションです。 もちろんそれらは必要です。でも、それだけを知っても“その人”を理解したことにはなりません。 当に重要なのは、その人の「性格」や「生き方」、つまり“なぜそう動くのか”を知ること。 Pythonにおけるその考え方こそが、オブジェクト指向なので

    Python初心者がはじめに学ぶべきなのはfor文でもif文でもなくオブジェクト指向という話 - Qiita
    JULY
    JULY 2025/05/08
    そうは思わないなぁ。もちろん、オブジェクト指向を理解しているに越したことはないけど、文中の「命令の羅列」と「人格のある部品」では後者が圧倒的にハードルが高い。それを「初心者」に求めるのはどうかなぁ。
  • AIコーディングの理想と現実

    https://kichijojipm.connpass.com/event/347729/ 吉祥寺.pm38【オンライン】 で行った登壇資料です。 株式会社ジェイテックジャパン CTO・Microsoft MVPの高丘知央が、AIコーディングの“理想&現実”を実体験ベースでお話しします。Cop…

    AIコーディングの理想と現実
    JULY
    JULY 2025/04/23
    スライドの後半で、今の現実の弱点が今後、克服されることに期待する旨を書いているけど、いずれの弱点も今の AI の単純な延長線上にあるかは疑問。便利な方向への進化は進むと思うし、そのフェーズに入ったと思う。
  • コツは「LLMの得意な言語、フレームワークの組み合わせ」? NTTテクノクロスで働くエンジニアのAI活用法

    コツは「LLMの得意な言語、フレームワークの組み合わせ」? NTTテクノクロスで働くエンジニアAI活用法:トップ人材は、生成AIをこう使う ChatGPTの登場から数年。後続サービスも続々と誕生し、ビジネスにおいて生成AIの活用は当たり前になりつつある。一方、毎日のように更新され続ける情報に追い付けず、まだその真価を発揮し切れていないという人も多いだろう。 そこで連載では、エグゼクティブやインフルエンサー、企業内のAI活用推進者などの生成AI活用法に注目。圧倒的な実力を発揮する“トップ人材”たちは、どんな生成AIをどのように使いこなしているのか。そしてそんな人材を抱える企業は、どのようにAIを利活用しているのか──業界や職種を問わず追いかける。 今回はNTTテクノクロスのエンジニアで、社内向けにノウハウを発信したり、ツールの開発を手掛けたりもするという山下城司さん(主任エンジニア デジ

    コツは「LLMの得意な言語、フレームワークの組み合わせ」? NTTテクノクロスで働くエンジニアのAI活用法
    JULY
    JULY 2025/04/15
    「コツは『LLMの得意な言語、フレームワークの組み合わせ』」結局、ちょっとした確認やヒントの為にググる行為が置き換わって便利になる、でしかない。
  • Rust入門者は非同期Rustをやらないでください

    はじめに すいません、連日の記事があったため少し煽りっぽいタイトルにしてしまいました。 平常時の感覚だったら、「Rustに入門するなら、同期Rustから始めるのがおすすめ」 とかにしてた記事だと思います。 この記事で主張したいことは以下です。 Rustは難しい Rustに入門するときの題材に、"Web Backend"や"Wasmでブラウザで動く何か"などの非同期Rustで無ければ達成できない題材を採用している人はそれがRust初級者への道を阻んでいる可能性がある 過去に非同期Rustで入門した人を否定する記事ではない Rustに入門することが目的なら、非非同期Rustから始めた方が良いのではないか? ここで長く言葉の定義をしても微妙なので、下に言葉の定義 というセクションを用意してあります。 前提 タイトルに書けていない前提を書いています。 この記事の指す「Rust入門者」はLL言語(P

    Rust入門者は非同期Rustをやらないでください
    JULY
    JULY 2025/04/14
    どんな言語だろうと、非同期処理は基本的に難しいし、簡単に書けたとしても、トラップになりやすいし。にしても、レイヤーが違う人達が Rust に入門しようとするムーブがなぜ起こるのか? と思う今日このごろ。
  • 無料でパイソン学ぼう!役立つ実践的な講座3選🐍✨ - Qiita

    こんにちは、韓国在住のsanaです! 今回は、パイソンを使った実践的なスキルを身につけるために役立つ3つの講座を紹介したいと思います! 1️⃣Python無料講義(活用編1) - 思い出の娯楽ゲームを作る(3時間) 実際の開発に役立つスキルを深めることができます。初心者でも安心して取り組める内容なので基礎知識がある方、パイソンの応用力を身につけたい方におすすめです!📈 2️⃣Pythonプログラミング 基礎からスタートし、徐々にプログラミングの力を養うことができます。プログラムを書く力を身につけたい初心者の方にぴったりです👨‍💻 3️⃣Pythonベースライブラリから積み重ねる機械学習 機械学習に興味がある方には、このパイソンを使った機械学習の講座が最適です! パイソンの基から実務で使える技術までしっかり学んでいきましょう🌟 ぜひ、週末に挑戦してみてください!

    無料でパイソン学ぼう!役立つ実践的な講座3選🐍✨ - Qiita
    JULY
    JULY 2025/04/14
    内容以前に「パイソン」とカタカナでの表記が気になって... 韓国在住の方とのことだけど、韓国語でプログラミング言語名をハングルで表記するのは一般的なんだろうか?
  • Rustが嫌いです。

    0. 前書き - リモートデスクトッププロジェクトとの悲しき邂逅 私がremote-desktop-rsというクロスプラットフォームのリモートデスクトッププロジェクトを始めたとき、Rustの評判を信じていた。「メモリ安全性とパフォーマンスの素晴らしい組み合わせ」「優しいコンパイラエラー」「素晴らしいエコシステム」——当にそうだったのか? 1. 学習曲線は「少し急」ではなく「エベレスト級」 「所有権の概念を理解すれば、あとは簡単です」と言われ続けた。嘘だ。絶対に嘘だ。 1.1 所有権地獄 私はcommon/src/lib.rsで単純な「ビルド情報」構造体を作成しようとした: // 素晴らしい所有権システムと戦った結果の姿 pub fn build_info() -> BuildInfo { let build_date = chrono::Local::now().format("%Y-%

    Rustが嫌いです。
    JULY
    JULY 2025/04/09
    まぁ、嫌いでも良いんだけど、何を作るかによって適切な言語は違う、という事を理解していれば、Rust を試す前の心づもりが違うし、TypeScript や Python を普段使っている人なら、代替言語として Rust を試す意味が無い。
  • 1週間、人力コーディング禁止→結果は“成果半減” それでも「やってよかった」とCTOが言い切るワケ

    1週間、人力でのコーディングを禁止してみた──AIスタートアップ企業のエクスプラザ(東京都港区)は3月上旬、こんな実験を実施した。大胆な取り組みだが、その結果は「通常時の仕事の成果から半減した」と同社の松和高CTOは話す。では実験は失敗だったかというと、そうではなく「成功だった」と答える。それはなぜか。 この実験のルールは主に2つで「期間中のコードは全部AIに書かせる」「基的に例外なし(緊急対応時は除く)」というもの。AIが出力したコードの修正も原則禁止で、デバッグ用の簡単なコードを書くのも認めない。しかし、どうしても手入力をしたい場合は、社内Slack内に設けた「懺悔チャンネル」で何がダメだったか書き込むことで、人力での入力を“こっそり許可”するなど逃げ道も用意した。 参加者は同社所属の3人のエンジニアで、エディターは指定せず「Cursor」「Windsurf」「Visual Stu

    1週間、人力コーディング禁止→結果は“成果半減” それでも「やってよかった」とCTOが言い切るワケ
    JULY
    JULY 2025/04/07
    結果は想像通りではあるんだけど、リアルな知見が得られたのはとても良かった。「やってみなくちゃ分からない。大科学実験で」という細野さんの声が脳内再生された。
  • 「バグの特定や修正はAIの方が早い」──DMMがAIエージェント試験導入の結果を公開、評価は?

    DMM.comは4月4日、テキストエディタ「Visual Studio Code」向け拡張機能として提供中のAIコーディングアシスタント「Cline」と、ソフトウェア開発エージェント「Devin」を試験導入した成果をテックブログで公開した。2週間のトライアルを実施した結果、品質向上や工数短縮、ITエンジニアの学習効率アップに役立つ可能性が示されたという。 例えばバグの特定やライブラリのアップデートといった作業は、AIの方が「人間がやるより早い」(同社)という結論に。「バグの修正・実装特定」「ライブラリのメジャーアップデートに伴うエラー修正」といった作業項目ごとに、人がやった場合とAIに任せた場合の所要時間の差を表にまとめて公開した。例えばバグの修正・実装特定は、人なら2時間かかるところ、AIであれば1時間で完了。コストは0.62ドル程度だったという。 Clineについては技術負債の分析と特

    「バグの特定や修正はAIの方が早い」──DMMがAIエージェント試験導入の結果を公開、評価は?
    JULY
    JULY 2025/04/04
    AI 利用の効果が出るケースだと思うんだけど、その一方で、新米エンジニアが、AI のアウトプットをきちんと正すことができるエンジニアに成長する道筋が描けるか? という疑問がある。
  • AIに書かせたコードは理解する必要がある

    こんにちは、@dyoshikawaです。 「AIコーディング時代に出力されたコードを理解する必要があるのか?」という議論についての私見です。 結論からいうとAIが出力したコードは理解する必要があると思っています。その理由を言語化してみます。 アプリが複雑になるとタスク遂行が困難になる 英語圏のエンジニアインフルエンサーにはAIコーディングの熱狂から一歩引いた見解を発信する人が結構いる印象です。自分の感覚を補正するために、そういった人をフォローしてときどき投稿を追っています(個人的に、未来は「エンジニア不要論」でも「AIぜんぜん使えない論」でもなく、両者の中間に落ち着いていくのではないかと思っています)。 元Uberでフォロワー27万人のエンジニアGergely Orosz氏の最近のポストです。 日語訳: AIコーディングツール、バイブコーディング、AIエージェントについて多くの議論が交わ

    AIに書かせたコードは理解する必要がある
    JULY
    JULY 2025/03/31
    同意。コピペしかできないプログラマーが要らなくなった、もしくは、サンプルとなるコードを探す事の効率が良くなった、という事で、日曜プログラマーには事足りても、職業プログラマーには足りない。あくまで道具。
  • Fortran、Delphi、COBOL、Adaが上昇――なぜ今「恐竜」言語が注目なのか? TIOBEプログラミング言語ランキング

    ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは、2025年3月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。TIOBEインデックスは、プログラミング言語の人気を示す指標で、同社が毎月1回更新している。 レガシー言語がトップ20に返り咲く 2025年3月のランキングでは、非常に古いプログラミング言語がTIOBEインデックスのトップ20にランクインした。「Fortran」と「Delphi」はトップ10入りを競い合い、「COBOL」と今月新たにランクインした「Ada」はやや下位に位置した。いずれの言語も上昇傾向だ。TIOBE Software CEOのポール・ジャンセン氏は、古くからあるプログラミング言語が上昇している理由について、次のように述べている。 「古参のプログラミング言語が上昇傾向にある理由は、世界を支える

    Fortran、Delphi、COBOL、Adaが上昇――なぜ今「恐竜」言語が注目なのか? TIOBEプログラミング言語ランキング
    JULY
    JULY 2025/03/24
    Delphi が Fortran などと並んで「恐竜」扱いされるのはちょっと。「Delphi(Pascal)」なら違和感が薄れるけど、それでも、BASIC と Visual BASIC を一緒にするような気持ち悪さは残る。
  • プログラミング言語お茶会 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? とあるプログラミング言語が集うカフェにて、季節のお茶会が開かれていた。今日は新しく仲間に加わったTypeScriptの"歓迎会"という名目だったが、実際は徹底的に弱点を暴く場だった。しかし、それは瞬く間に全面戦争へと発展していくのだった… シャム双生児の悲劇 JavaScript:(無邪気に)みんな〜!私の妹のTypeScriptを紹介するね! TypeScript:(元気よく)こんにちは!私はJavaScriptに型をつけて安全にします!型があれば安心! Rust:(冷ややかに)ねえ、あなたって結局JavaScriptのシャム双生児で

    プログラミング言語お茶会 - Qiita
    JULY
    JULY 2025/03/11
    PHP ちゃんが不憫...
  • web開発素人だけど、Claude 3.7 Sonnetを使ったら半日でアプリ開発&リリースできた記念記事 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは。 今回はClaude 3.7 sonnetの助けを借りて個人用ミニwebアプリを開発してみました。 普段はサービスデザイナーをしている開発素人の私がClaudeとともにアプリづくりを進めた過程や感想をつづります。 プロンプトやClaudeからの応答を抜粋して載せていますので、初心者のAI駆動な開発プロセスを追体験いただけたら嬉しいです! プロローグ 「Hey Claude, 俺一人でwebアプリ開発できる確率は?」 『…6%です』 「……ま、そんなところか」 『…あなた一人なら』 「?」 『…あなたは一人ではありません』 「

    JULY
    JULY 2025/03/04
    この手の記事を読む度に思うんだけど、こういう「作ったことないけど、とりあえず動くものを作る」時は良いけど、お金をもらうプロダクトとしての品質やメンテナンスを考えると、この辺までに留まる事が重要に思う。
  • 生成AIによりプログラマの仕事はなくなるのか? 「私はそうは思わない」とティム・オライリー氏。プログラマの需要はさらに増えると

    オライリーメディアの創立者ティム・オライリー氏が、同社のブログに「The End of Programming as We Know It」(私たちが知っているプログラミングの終焉)という記事を公開しました。 その冒頭には次のように書いてあります。 There’s a lot of chatter in the media that software developers will soon lose their jobs to AI. I don’t buy it. メディアでは、ソフトウェア開発者は近いうちにAIのせいで職を失うだろうという話が盛んに流れている。しかし私はそうは思いません。 生成AIの進化は、人間がタスクを与える都自律的にプログラミングを行ったりテストを実行したりするほどの領域に達しつつあり、それを実現するサービスとして「Devin」や「GitHub Copilot A

    生成AIによりプログラマの仕事はなくなるのか? 「私はそうは思わない」とティム・オライリー氏。プログラマの需要はさらに増えると
    JULY
    JULY 2025/02/12
    プログラムを書くために必要な調査が効率化されるのは間違いないが、そのプログラムが適切かどうかの判定は、たとえ AI の精度が高くなっても人間がチェックせざるを得ない。
  • trapを使ったシェルスクリプトの終了処理のテンプレ(POSIX準拠) - Qiita

    # 終了処理($1: シグナル名) cleanup() { # 終了処理中に無視するシグナル(他に必要な場合は追加する) trap '' HUP INT QUIT PIPE TERM # ここに終了処理を書く : TODO # 自分自身にシグナルを再送信することでシェルスクリプトを終了する trap - EXIT "$1" [ "$1" = EXIT ] || kill -s "$1" $$ || exit 1 } # トラップするシグナル(他に必要な場合は追加する) for i in EXIT HUP INT QUIT PIPE TERM; do trap 'cleanup '"$i" "$i" done # ここより下に実際のシェルスクリプトの内容を書く : : 自分自身にシグナルを再送信しているところが特徴的だと思いますが、その理由についての解説がこの記事の内容で、POSIX 準拠で

    trapを使ったシェルスクリプトの終了処理のテンプレ(POSIX準拠) - Qiita
    JULY
    JULY 2024/12/26
    もう、POSIX 準拠とかは完全に諦めて、shebang は #!/bin/bash と書いて、Bash 前提にすることが増えたなぁ。
  • プログラミング言語における定数とは何か | DevelopersIO

    最近、プログラミング言語において「定数」とは何なのか、を説明する機会がありました。あまり言語化してこなかった部分ということもあり、自分の理解を文字に起こしておきます。 このエントリでは具体例として主にJavaScriptを使用しています。異なる言語では細かい挙動は一致しないことが普通ですので、そこは適宜読み替えてください。また「これが正解だ」ということを主張するものではなく、あくまで私の理解の説明です。そのため技術的に誤っていることを言っていることがあれば、優しく指摘してください。 先に結論 始めに結論から入りましょう。プログラミング言語における「定数」は、次の2項を備えた機能を指します。 値に名前を与える 再代入不可能 変数 vs 定数 「定数」と対になる概念は「変数」です。どちらも値に名前を与えるという機能は同一ですが、変数は何度でも代入できる。定数は宣言時に一度だけ代入し(初期化)、

    プログラミング言語における定数とは何か | DevelopersIO
    JULY
    JULY 2024/12/25
    C 言語スタートの身としては、const でミュータブルが気持ち悪い。ミュータブルにしたければポインタを使うことになる。まぁ、実際、オブジェクトの実装はポインタだったりするから、分かりはするけど。
  • ペアプロが嫌すぎて会社を退職した話 - Qiita

    📒ペアプロ・モブプロアンケート実施中 🖊️ あなたのご意見をお聞かせください。(2025/1/3 23:59まで) 回答結果は2025/1/6(月)にQiitaで公開いたします。 アンケートはこちらから(1分ほどで終わります) はじめに 巷ではペアプロ、モブプロがホットワードになっており、あたかも開発生産性を向上する特効薬のように取り上げられている印象を受けます。一方、この記事では、ペアプロ、モブプロ開発のネガティブな部分を考え、私の経験から感じたペアプロ、モブプロのアンチパターンとその改善策をご紹介します。 どんなアンチパターンを踏んでいたのか? 勤務時間は100%ペアプロを実施(ソロプロ禁止) ソロプロは悪、ペアプロが最高というチームの雰囲気 フロー効率を過度に重視する姿勢 どうなったか? +) 開発生産性およびデプロイ頻度は上がった +) 4keysなどの数値上の指標はすべてプラ

    ペアプロが嫌すぎて会社を退職した話 - Qiita
    JULY
    JULY 2024/12/20
    自分は経験ないけど、想像に難くない。多かれ少なかれこういうケースはあると思うんだけど、導入しているところはどうしているんだろう?