並び順

ブックマーク数

期間指定

  • から
  • まで

7241 - 7280 件 / 16782件

新着順 人気順

*programmingの検索結果7241 - 7280 件 / 16782件

  • Python 3.11から追加された標準パッケージtomllibの紹介 | IIJ Engineers Blog

    2018年新卒入社し、SOCにてインフラ管理を担当。その後、マルウェア解析や検証業務などに従事。2022年度からは、社内のSREチームにて兼務を開始。主な保持資格は、CISSP, OSCP, GREM, GXPN, RISS, CKA, CKSなど。バイナリを読むのが好きで、一番好きな命令はx86の0x90(NOP命令)。 はじめに 私は、業務でマルウェア解析のようなリバースエンジニアリングをしており、業務効率化のために自作ツールを作ることがあります。皆さんは自作のツールの設定ファイルに、どのようなファイル形式を利用していますか。昨今は、KubernetesやAnsibleなどで用いられるYAMLや、フロントエンド界隈で頻繁に利用されるJSONなどが多い印象です。そんな中、今回はTOMLと呼ばれるファイル形式の紹介をします。プログラミング言語Rustのパッケージ管理ファイルに利用されていた

      Python 3.11から追加された標準パッケージtomllibの紹介 | IIJ Engineers Blog
    • 三菱UFJ銀行アプリのデザインシステム構築|Japan Digital Design, Inc.

      Japan Digital Designの柳沢です。 三菱UFJフィナンシャル・グループの戦略子会社であるJapan Digital Design(以下JDD)でExperience Design Div.(以下XDD)に所属し、プロジェクトの推進や体験設計などを担当しています 第1回:三菱UFJ銀行アプリリニューアルとCXデザインの軌跡 第2回:理想の体験を描いて磨き直すCXデザインのプロセス 第3回:リニューアルを支えたFigmaのプロトタイプ活用 第4回:三菱UFJ銀行アプリのデザインシステム構築 👈 第5回:UIに調和するイラストの設計とガイドライン整備 第6回:安心を届けるためのリニューアル告知 連載記事一覧今回はデザインシステムの構築についてご紹介します。 最近ではデザインシステムを取り入れるプロダクトも多くなりました。三菱UFJ銀行アプリでもデザインシステムを取り入れており

        三菱UFJ銀行アプリのデザインシステム構築|Japan Digital Design, Inc.
      • 「もう開発者はシークレットを使うな」 GitHubが「今日できる」4つのセキュリティ対策を紹介

        GitHubは2026年4月1日(米国時間)、オープンソースソフトウェア(OSS)のサプライチェーンを狙った攻撃が増加している件を受け(参考記事)、攻撃の最新動向と開発者に推奨する防御策、GitHubが進めているセキュリティ対策などをブログ記事で紹介した。 GitHubは、攻撃者がAPIキーなどのシークレット(認証情報や秘密鍵)を窃取し、攻撃者が制御するマシンから悪意のあるパッケージを公開するとともに、窃取した認証情報を使って他のプロジェクトにもアクセスし、攻撃を拡散させていることをあらためて報告した。こうした攻撃の多くはCI/CD(継続的インテグレーション/継続的デリバリー)ツール「GitHub Actions」のワークフローを侵害することから始まるという。 GitHubが「今日できる」としている4つの防御策 GitHubは、開発者自身がワークフローの穴をふさぐために即座に実施できる防御

          「もう開発者はシークレットを使うな」 GitHubが「今日できる」4つのセキュリティ対策を紹介
        • 美しいコードは“シンプルで無駄がない” イケてるエンジニアが大事にする「良いコード」「良いアーキテクチャ」とは | ログミーBusiness

          エンジニアとして「やりたいことをできる」環境を作っていくためには、どうキャリアの道をつくっていけばいいのか? 何を考え、何を学習し、日々どういうコードを書いていけばよいのか? 「Meets Professional #1」に登壇したのは、元DMM、現デジタルハーツCTOの城倉和孝氏。今の開発現場と、これまでの経験からの気づきを共有しました。全2回。後半は、「イケてるエンジニア」になるために必要な学びについて。前回はこちら。 エンジニアはプログラミングの力で世界を変えることができる篭橋裕紀氏(以下、篭橋):ありがとうございます。他に質問したい方はいますか? 次のところのほうがもう少し詳しくいろいろな話が聞けるかなと思うので、そしたらテーマ2に。城倉さんお願いします。 城倉和孝氏(以下、城倉):じゃあテーマ2ですね。先ほどのコースが3つあります。じゃあそれになるためにまずどうしたらいいのかとい

            美しいコードは“シンプルで無駄がない” イケてるエンジニアが大事にする「良いコード」「良いアーキテクチャ」とは | ログミーBusiness
          • eslint-plugin-import-accessではじめるディレクトリ単位カプセル化

            こんにちは。この記事は筆者が製作した ESLint 向けプラグイン eslint-plugin-import-accessを紹介する記事です。 このプラグインにより TypeScript プログラムに擬似的なpackage-private exportの概念が生まれます。JSDoc で@packageとアノテートされたexport宣言は、そのファイルが属するディレクトリの外からインポートすることができなくなります。 従来、TypeScript で可能なカプセル化の最大の単位は「ファイル」であり、ファイルからエクスポートしない変数はそのファイル(モジュール)の中に閉じている一方で、一旦エクスポートしたものはプロジェクトのどこからでもインポート可能になります。これでは不都合な場合がありました。 最近の具体的な例としてはRecoilが挙げられます。筆者の以前の記事では、Atom や Select

              eslint-plugin-import-accessではじめるディレクトリ単位カプセル化
            • GitHub - yuru7/PlemolJP: IBM Plex Mono と IBM Plex Sans JP を合成したプログラミングフォント PlemolJP (プレモル ジェイピー)

              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                GitHub - yuru7/PlemolJP: IBM Plex Mono と IBM Plex Sans JP を合成したプログラミングフォント PlemolJP (プレモル ジェイピー)
              • Rustに貢献してみませんか?コントリビューターたちが語る開発の裏側とOSS活動の魅力 - Findy Engineer Lab

                「効率的で信頼できるソフトウェアを誰もが作れる言語」を提唱するプログラミング言語・Rust。その優れたパフォーマンスやプログラムとしての信頼性・生産性の高さなどから、近年非常に人気を集めています。 Rustのようなオープンソースソフトウェア(以下、OSS)の開発を支えているのは、機能開発やドキュメント整備など、プロジェクトに何らかの形で貢献をするコントリビューターたちです。今回はRustのコアコミッターである大櫛佑貴さんとTaKO8Kiさんに、知られざるRust開発の裏側とOSS活動に携わる魅力について聞きました。 * … 取材はリモートにて実施しました。 Rustに触れたきっかけ ――今回のインタビューでは、お二人のコントリビューターとしての活動内容を伺います。まずは、ユーザーとしてRustを書くようになったきっかけを教えてください。 大櫛:Rustとの出会いは2018年頃でした。私がま

                  Rustに貢献してみませんか?コントリビューターたちが語る開発の裏側とOSS活動の魅力 - Findy Engineer Lab
                • memlab を使って Web サイトのメモリリークを検出しよう

                  概要 本記事は、メタ社(旧 FaceBook) が開発した OSS であるメモリリーク検知ツールである [memlab] をさっそく試してみた記録になります。 公式ドキュメント以上の付加価値はあまりありませんが、ざっくりと雰囲気を掴んでもらって使用を検討して頂ければ幸いです。 memlabについて memlab は、 Puppeteer API を用いたシナリオを作成することで、そのシナリオ実行によって発生するメモリリークの検出及びヒープ領域の分析を補助してくれるツールです。 本記事は実際に動かすところに重きを置くので、ツールの背景などの詳細は以下記事を参照ください。 ざっくり言うと、 memlab では以下のことが行なえます。 Puppeteer ベースでの宣言的なシナリオの作成 ヒープ領域とメモリリークの可視化 シナリオ内でのヒープのスナップショットの自動取得 スナップショットの解析と

                    memlab を使って Web サイトのメモリリークを検出しよう
                  • 新刊『ゼロから始めるLean言語入門 ― 手を動かして学ぶ形式数学ライブラリ開発』 の発売を9/4に予定しています

                    ご来店ありがとうございます。新刊発売予定のお知らせです。 2025年9月4日(木)、井上亜星著 『ゼロから始めるLean言語入門 ― 手を動かして学ぶ形式数学ライブラリ開発』の発売を予定しています。 書名にもある通り、本書はLeanという比較的新しいプログラミング言語の入門書です。プログラミング言語としてのLeanは、いわゆる関数型言語の仲間と言えます。 他の関数型言語、とくにHaskellを使ったことがあれば、典型的なアルゴリズムやデータ構造を扱うLeanのコードをなんとなく書けるかもしれません。その程度には「ふつうの言語」であるとも言えます。 しかしLeanには「ふつうの言語」にはない大きな特長もあります。具体的には、「数学の証明をソフトウェアとして形式化できる」あるいは「プログラムの挙動に対する証明ができる」という、定理証明系としての側面です。本書では、そのうち「数学の証明をソフトウ

                      新刊『ゼロから始めるLean言語入門 ― 手を動かして学ぶ形式数学ライブラリ開発』 の発売を9/4に予定しています
                    • 持続可能なシステムを目指してプロダクトをリアーキテクトしました〜 実践編 〜 - DMM Developers Blog

                      はじめに アーキテクチャ設計の具体変化とコード構成の詳細 アーキテクチャ設計の変化 課題1: 各層の相互依存関係により、仕様変更の修正影響範囲が多い 課題2: service 層に複数の責務が集中し、メンテナンス性が低下していた 課題3: service層のdaoへの依存が大きかった コード構成の詳細 「イベントストーミング」から「実装」への変換プロセス 1.ドメインモデル から実装への変換プロセス 2.イベントから実装への変換プロセス 3. コマンド から実装への変換プロセス 4. 実装とイベントストーミングとの違いの見直しと仕様変更による修正 テストしやすい制約のポイント テスト戦略の変化 ユニットテストと統合テストの責任分離 「壊れやすい構造」から 「テストしやすい構造」 へどう変わったか 設計を「知識」として蓄積する 各層の責任の明確化とそれによるレビュー・開発体験の変化 数値で示

                        持続可能なシステムを目指してプロダクトをリアーキテクトしました〜 実践編 〜 - DMM Developers Blog
                      • Rustで有名アルゴリズムに挑戦(18) Rustでライフゲームを作ってみよう

                        C言語に代わってOS開発に採用されているRust。本連載では、Rustで有名アルゴリズムを実装して、Rustについての理解を深めています。今回扱うのは、生物の栄枯盛衰をシミュレーションするライフゲームです。 コンウェイのライフゲームで生物のシミュレーションをしよう コンウェイのライフゲームとは? 「ライフゲーム(Life Game)」は、イギリスの数学者コンウェイによって考案されたもので、簡単な配列操作によって実装できる簡単な生物のシミュレーションです。次のように動きます。 コンウェイのライフゲームを動かしているところ 見た目が面白いのに加えて、プログラミング言語の性質や特徴を知るのにもってこいの題材であるため、次の姉妹連載でも何度か紹介しています。ぜひ、今回のRust版と見比べてみてください。 - Python連載9回目(https://news.mynavi.jp/techplus/a

                          Rustで有名アルゴリズムに挑戦(18) Rustでライフゲームを作ってみよう
                        • Goとマルチコアスケール実装

                          マルチコア化の未来予測 半世紀前にSF映画「2001年宇宙の旅」に登場するコンピューターHAL-9000が並列コンピューティングの未来を示しました。マルチコアで構成されたコンピューターの物理コアを取り除いてもすぐにクラッシュせずに性能ダウンして処理が継続するという演出がありました。 当時ですらシングルコアコンピューティングの限界が予想されていて、現状のコンピューティングがマルチコア化しているという未来をしっかり予測できていたことがわかります。 演出はコア数に応じてコンピューティング性能がスケールしていることを表現しています。これはマルチコアスケールするソフトウェア実装の未来を示していたと思います。 シングルコア性能向上の頭打ち 2003年以降あたりはCPUの動作周波数が伸び悩み出したところ。 https://queue.acm.org/detail.cfm?id=2181798 より その

                            Goとマルチコアスケール実装
                          • DuckDB雑紹介(1.1対応版)@DuckDB座談会

                            2024年6月に発表した(https://speakerdeck.com/ktz/duckdbza-shao-jie)内容にDuckDB バージョン1.1の変更点を追記した版

                              DuckDB雑紹介(1.1対応版)@DuckDB座談会
                            • LLMに長期記憶を実装する

                              --2026.03.10 21:04 ヘブ則、💡追加 --2026.03.10 20:09 memory_server.py アップし忘れてた。GitHubに追加 LLMと長期記憶 LLMには記憶がない。正確に言えば、コンテキストウィンドウという短期記憶はあるが、会話が終われば全て消える。人間の脳が持つ長期記憶(エピソード記憶、意味記憶、手続き記憶、そしてそれらを支える情動的重みづけや連想ネットワーク)に相当するものがない。 本記事では、Claude Code(Anthropicの公式CLI)に脳の記憶メカニズムを実装する。目標は「脳の完全な模倣」ではなく「機能的等価」。つまり、同じ振る舞いを別の手段で再現すること。 コード 新しいセッションを始めたときはどこに脳が落ちているかを教えてあげよう。または、そのフォルダでClaudeを起動する。 人間の記憶 vs LLM — 何が違うか まず

                                LLMに長期記憶を実装する
                              • キャラ名に「ソ」をいれるとバグる! 古参開発者「うっ……頭の中で何かが……」/「ドカポンキングダム コネクト」で起きたShift_JIS文字コードの「ダメ文字」問題って?【やじうまの杜】

                                  キャラ名に「ソ」をいれるとバグる! 古参開発者「うっ……頭の中で何かが……」/「ドカポンキングダム コネクト」で起きたShift_JIS文字コードの「ダメ文字」問題って?【やじうまの杜】
                                • 年40%増の急成長事業をフルサイクルエンジニアリングする ~大企業連携システムの紹介~ - MonotaRO Tech Blog

                                  こんにちは、エンタープライズビジネスエンジニアリング部門 購買ソリューショングループの河本です。 今回はモノタロウのECサイトとして一般的に広く知られているmonotaro.comではなく、年40%増の急成長事業である購買管理システム事業(以降、大企業連携と呼びます)のシステムの概要を説明します。後半には、売上向上に直結する新規連携開発業務の苦労や面白さも掲載しています。ぜひご覧ください。 購買管理システム事業(大企業連携)とは 大企業連携システムの概要 ユーザーが商品を購買する流れ 大企業連携を支えるシステム構成 パンチアウト連携 (商品を探す、注文する) データ連携 (納期/出荷/請求の情報を確認する) 技術スタック 大企業連携システムの開発業務 新規連携開発の苦労 新規連携開発の面白さ さいごに ※ (2025/01/23) 技術スタックの表を2025年1月時点に差し替え 購買管理シ

                                    年40%増の急成長事業をフルサイクルエンジニアリングする ~大企業連携システムの紹介~ - MonotaRO Tech Blog
                                  • 全てのVisual Studioユーザーが無料版「GitHub Copilot」を利用可能に Visual Studioでの開発体験はどう変わる?

                                    Microsoftは2025年1月23日(米国時間)、統合開発環境(IDE)「Visual Studio」の全ユーザーが、AI(人工知能)コーディングアシスタント「GitHub Copilot」の無料プラン「GitHub Copilot Free」を利用可能になったと発表した。 無料プランでは、毎月最大2000件のコード補完と50件のチャットメッセージを利用できる。AIモデルには、Anthropicの「Claude 3.5 Sonnet」か、OpenAIの「GPT-4o」を選択できる。サブスクリプションやクレジットカードの登録は不要だという。 Microsoftは、Visual StudioでGitHub Copilotを活用するユースケースや、無料プランの利用方法を次のように説明している。 GitHub Copilot for Visual Studioで、開発体験はどう変わる? 複数フ

                                      全てのVisual Studioユーザーが無料版「GitHub Copilot」を利用可能に Visual Studioでの開発体験はどう変わる?
                                    • 期待と多難のデジタル庁、いきなり粛清人事と幕引き用報告書の謎

                                      背負わされているものは重大なのだがわずか1年で終わってしまった菅義偉政権最大の功績のひとつと言ってよいデジタル庁が、9月1日発足。早くもいろんな余波が出始めております。 およそ600人の職員のうち3分の1に当たる200人ほどが民間出身の人材で、今後も民間からの出向などを積極的に受け入れるとされていますが、その門出までにはさまざまな紆余曲折がありました。 もともと、デジタル庁発足の大きな目標のひとつは、国家、官公庁から発注するシステムやサービスに関して理解の深いデジタル人材が霞ヶ関には不足していることから、これらの発注を各省庁横断で一本化し、公正で安価な発注が可能にすることで日本政府や社会全体のデジタル化を推進することにありました。 起用する事業者のほうがデジタルやネットに詳しい以上、官公庁が発注する場合に特定の事業者・ベンダーに偏ってしまう「ベンダーロックイン」が発注価格、納期、品質いずれ

                                        期待と多難のデジタル庁、いきなり粛清人事と幕引き用報告書の謎
                                      • 関数型プログラミングなんもわからん。を考えようと言うイベントを開きました。

                                        先日Connpassにて、関数型プログラミングなんもわからん。を考えようと言うイベントを開かせていただきました。 関数型プログラミングがわからない! と言う方達の疑問に対して、普段関数型プログラミング言語を使っているわかる人たちが回答をして行くと言うスタイルのイベントでした。関数型プログラミング言語と一口に行っても、Elm, Scala, Haskell, Clojure, Elixir, F#と様々な言語があり(これは今回参加した人たちの使っている言語で、関数型プログラミング言語の一部にしか過ぎません)何が正解かなどはわからない中での意見の集約といった形のため参考程度にご覧ください。結果イベントとしては様々な視点からの意見が聞けて満足という声が多かったです。私自身知らないことがたくさん知れて勉強になり楽しかったです。 イベントの内容は、Figma上で開けるFigJamファイルとして、公開

                                          関数型プログラミングなんもわからん。を考えようと言うイベントを開きました。
                                        • MCP is dead. Long live the CLI

                                          I’m going to make a bold claim: MCP is already dying. We may not fully realize it yet, but the signs are there. OpenClaw doesn’t support it. Pi doesn’t support it. And for good reason. When Anthropic announced the Model Context Protocol, the industry collectively lost its mind. Every company scrambled to ship MCP servers as proof they were “AI first.” Massive resources poured into new endpoints, n

                                          • WebエンジニアとWeb技術とシステムの話 (sadnessOjisanのWebサーバーアーキテクチャ進化論2023を読んだ感想) - inductor's blog

                                            sad記事の勉強と実践のボリュームがすごい https://blog.ojisan.io/server-architecture-2023/ を読んで、その前身とも言える https://blog.yuuk.io/entry/2015-webserver-architecture を含めてこれらのような記事を書く知識や経験が僕には無いから素直にすごいと思った。ただ、その一方でこの内容を普通に理解できる「Webエンジニア」はどのくらいいるんだろう?というのも同時に気になった。 ゆううきさんの記事は「序論」とあるがWebエンジニアとしてキャリアを積む人間が「序論」として読むには文量や背景知識が重すぎると正直思うし、システム・計算機工学を勉強した人間が背景に感じ取れる。事実、sadさん(おじさん)も昔は内容が分からなかったと本人記事内で言及しているため、僕の気のせいではないと思う。じゃあsad版

                                              WebエンジニアとWeb技術とシステムの話 (sadnessOjisanのWebサーバーアーキテクチャ進化論2023を読んだ感想) - inductor's blog
                                            • "型"のあるRailsアプリケーション開発 / Typed Rails application development

                                              Rubyセミナー 東京 https://www.ruby.or.jp/ja/news/20240702

                                                "型"のあるRailsアプリケーション開発 / Typed Rails application development
                                              • プロジェクトデータをCLAUDE.md及びその参照からSerenaメモリへ移動させてみた | DevelopersIO

                                                Claudeのセッション起動時に70000 Token程既に消費されており、対策をClaudeと検討したところSerenaメモリ一択となりました。が、具体的な移動手続きがすぐには見当たらなかったためClaudeへ只管質問を浴びせてみました。 CLAUDE.mdに只管プロジェクト設計のmdファイル参照を入れていましたが、セッション開始時に70000 Token程既に埋まっていたことに気が付きました。セッションを消したほうがよいのかClaudeに確認したところ、mdファイル参照の撤去一択でした。 以下の回答をみるに、参照を削除することにて発生するデメリットもそう多くはなさそうです。 Claudeから提案されたSerenaメモリへの追加方法については、「そのうちメモリにまとまります」といった曖昧な情報が多かったため、確実な記載方法を知りたい身として実際に試した結果をここにまとめました。 Sere

                                                  プロジェクトデータをCLAUDE.md及びその参照からSerenaメモリへ移動させてみた | DevelopersIO
                                                • 「Java 21」正式リリース。仮想スレッドが正式版に、入門者向けに「void main」と簡潔な記述、世代的ZGCなど新機能

                                                  「Java 21」正式リリース。仮想スレッドが正式版に、入門者向けに「void main」と簡潔な記述、世代的ZGCなど新機能 オラクルはJavaの最新バージョン「Java 21」正式版を今日リリースします。 Java 21は長期でセキュリティパッチやバグフィクスなどが提供されるLTS(Long Term Support:長期サポート)版です。企業向けのシステム開発などで安定したJavaのバージョンをある程度長期間使いたい場合には、このJava 21は有力な候補となるでしょう。 日本時間22時からJava 21のローンチイベントも開催予定です。「with a few surprise reveals」(いくつかサプライズ発表があるよ)というのが少し気になります。今年は昨年復活したJavaOneがないので、その代わりに何かあるのでしょうか。 We're just 1 day away fro

                                                    「Java 21」正式リリース。仮想スレッドが正式版に、入門者向けに「void main」と簡潔な記述、世代的ZGCなど新機能
                                                  • Claude Codeに自身の開発思想を憑依させる

                                                    この記事は毎週必ず記事がでるテックブログ Loglass Tech Blog Sprint の100週目の記事です! 2年間連続達成まで残り6週となりました! はじめに こんにちは、ログラスの小林です。 最近の開発では、私も世間の流れに乗り、コードはAIアシスタント(主にClaude)に書いてもらっています。 このアシスタントの出現により高速なアウトプットが可能になりましたが、そのままプロダクションに導入できるようなコードが一発で出てくることは稀で、結局は手直しすることが多いのが実情です。 なので、私が手で実装しているときや、Claude Codeに追加指示を与えるときに考えている事を言語化して、自分好みのコードを書いてもらおうという取り組みです。 大前提として、本記事にはプロジェクトでのルールや個人的な思想も含まれますので、あらかじめご了承ください。 1. RDB集約の外に外部キーを貼ら

                                                      Claude Codeに自身の開発思想を憑依させる
                                                    • VS Codeを使ってPythonコードをデバッグするための基礎知識

                                                      連載目次 前回は、mymath.pyファイルにフィボナッチ数を求める関数を3つ定義しました。今回は、Visual Studio Code(以下、VS Code)を使って、それらのコードを実行したり、デバッグしたりする手順を見ていきましょう。 コードの説明 まずは前回記述したコードを以下に示しておきます。これはmymath.pyファイルに記述しました。 def fib(n): if n == 0: return 0 if n == 1: return 1 return fib(n - 2) + fib(n - 1) def fib_l(n): a = 0 b = 1 if n == 0: return a elif n == 1: return b for _ in range(n - 1): a, b = b, a + b return b def fib_m(n, memo=None):

                                                        VS Codeを使ってPythonコードをデバッグするための基礎知識
                                                      • 今すぐ使える無料WebAPIまとめ - Qiita

                                                        WebAPIとはソフトウェアの一部を公開し、Webサービスとして他のソフトウェアと機能を共有できるようにしたものです。通常HTTPプロトコルを用いて、データの送受信が行われます。 よってアプリケーションに必要とされる機能を、容易に組み込むことができます。自分たちでゼロから開発することなく、既存のものを活用して新しいサービスを提供することができるのです。 本記事では無料で使えるWebAPIとその概要を紹介します。また一部の制限があるAPIについても、他サービスや有料版と比較し併せて解説します。 初めて使う場合でもスムーズに導入できるよう、日本語参考記事のリンクを貼りました。 作業効率化 Google Sheets API Googleスプレッドシートのデータの読み取りと書き込みを行います。 シートの形式を変更したり、IDで管理することが可能です。 <参照> Google Sheets API

                                                          今すぐ使える無料WebAPIまとめ - Qiita
                                                        • 【訃報】あの超有名傑作アルゴリズム「クイックソート」の作者トニー・ホーアが92才で亡くなる、チューリング賞受賞者で元オックスフォード大学名誉教授

                                                          by Gregor Lingl データの並び替えを行うアルゴリズム「クイックソート」を開発したチャールズ・アントニー・リチャード・ホーア(トニー・ホーア)氏が、2026年3月5日に92歳で亡くなりました。 Computational Complexity: Tony Hoare (1934-2026) https://blog.computationalcomplexity.org/2026/03/tony-hoare-1934-2026.html ホーア氏は26歳でクイックソートを開発した人物です。クイックソートは、並びがバラバラのデータから適当なデータを1つ選び、そのデータより大きいか小さいかを選別して順番に並び替えていくことを繰り返すアルゴリズムです。その名の通り処理が高速であることが知られています。 イラストでわかる「クイックソート」のアルゴリズム - GIGAZINE 並べ替えア

                                                            【訃報】あの超有名傑作アルゴリズム「クイックソート」の作者トニー・ホーアが92才で亡くなる、チューリング賞受賞者で元オックスフォード大学名誉教授
                                                          • ChatGPTプログラミングのすすめ

                                                            ChatGPTなどの大規模言語モデル (Large Language Model; LLM) にプログラミングやリファクタリングをさせる場合、目的に合ったものが作られているかを何らかの方法で検証する必要がある。 プログラムの正しさを完全に保証する方法はないが、ある程度の正しさを継続して担保するための方法を探ってみたので以下にまとめた。 ポイントは、ChatGPTの生成したプログラムの検証にもやはりChatGPTの力を借りることである。 実行可能性と入出力のチェック プログラムを生成するタスクである場合、いつでも「実行できるか?」というチェックが可能である。これは自然言語の生成と大きく異なる点だろう。実行可能性を確かめることは最低限のチェック項目になる。 エラーが出力された場合、自力で修正するか、もしくは、エラーの内容をChatGPTに提示して修正を依頼し、再度実行可能かを確かめる。 入力・

                                                              ChatGPTプログラミングのすすめ
                                                            • あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記

                                                              この記事はScala Advent Calendar 2023の11日目です. 最近, 趣味でScala 3のコードをだいぶ書いていて, マクロの使い心地のよさに感心しました. 理論的な背景も含めて, 産業界で多く使われているプログラミング言語の中では筆者の知る限りぶっちぎりに優れたマクロを備えています. 他の言語にも見習ってほしいですね. たぶん見習おうとすると処理系を作り直す羽目になりますが. この記事ではScala 3のマクロのすごいところを例を使って紹介します. マクロの実践的な例 準備 実践的な例: NamedArray – 名前でアクセスできる配列 NamedArrayのマクロ実装 記述が明瞭 メタレベルのプログラムの扱い クォートとスプライスがある パターンマッチもある 生成コードに型がつく 多段階計算に基づいている クォートとスプライスの本当の意味 ネストしたスプライス ネ

                                                                あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記
                                                              • 知っておきたいコードレビューで指摘されがちなポイント14選 - Qiita

                                                                この記事はNuco Advent Calendar 2022の13日目の記事です はじめに 私は情報系の学部に通う大学4年生です。大学でプログラミングを学んだことをきっかけに、プログラミングを使用した実際の業務に取り組んでみたいと思いました。そして、株式会社Nucoさんで機会をいただき、現在インターン生として実務に参加させていただいています。 自分のように、プログラミングを学び、「実務の経験が積みたい」「インターンに参加してみたい」という方はたくさんいらっしゃるかと思います。この記事では自分が実際にインターン生として実務に参加し、コードレビューで指摘されたポイントを紹介します。 難易度、頻出度の目安を★の数で示しています。 ・難易度・・・それぞれの項目で指摘されないようなコードを書く難しさ。 ・頻出度・・・それぞれの項目のミスの起きやすさ。 難易度(低→高)、頻出度(高→低)の順番で紹介し

                                                                  知っておきたいコードレビューで指摘されがちなポイント14選 - Qiita
                                                                • 「リアルタイムLinux」がメインラインカーネルに完全統合--20年に及ぶ開発を振り返る

                                                                  ウィーン発--20年の開発期間を経て、「リアルタイムLinux」(「PREEMPT_RT」)がついに、ようやくメインラインカーネルに統合された。Linus Torvalds氏は「Open Source Summit Europe」に参加した際に、PREEMPT_RTを賞賛した。なぜこれが重要なのだろうか。まずは、「リアルタイムOS」(RTOS)とは何か、どのような利点があるのかを説明しよう。 RTOSとは RTOSは、処理速度が重視されるタスクを正確かつ確実に処理できるように設計された特殊なOSだ。「Windows」や「macOS」などの汎用OSと異なり、多くの場合、ミリ秒単位やマイクロ秒単位で測定される厳しい時間制約の中でイベントに応答し、データを処理するように構築されている。著名なリアルタイムLinux開発者であり、GoogleのエンジニアでもあるSteven Rostedt氏は、「リ

                                                                    「リアルタイムLinux」がメインラインカーネルに完全統合--20年に及ぶ開発を振り返る
                                                                  • Streamlit 入門|npaka

                                                                    「Streamlit」の使いはじめ方をまとめました。 1. Streamlit「Streamlit」は、機械学習およびデータサイエンスのためのWebアプリケーションフレームを簡単に作成して共有できるPythonライブラリです。 2. HelloWorldの作成HelloWorldの作成手順は、次のとおりです。 (1) Pythonの仮想環境の準備。 (2) パッケージのインストール。 $ pip install streamlit(3) helloworld.pyの作成。 ・helloworld.py import streamlit as st st.text("Hello World!")(4) helloworld.pyの実行。 $ streamlit run helloworld.pyブラウザが自動的に開いて、Webアプリケーションが表示されます。 3. 風船を飛ばすボタンの作成あ

                                                                      Streamlit 入門|npaka
                                                                    • 重要インフラ、企業にサイバー防衛義務付け 22年度から - 日本経済新聞

                                                                      政府は情報通信や電力など14分野の重要インフラ事業者にサイバー攻撃への備えを義務付ける。経営陣主導の体制整備や対処計画づくりを求める。サプライチェーン(供給網)で使用する機器の安全確保も要請する。2021年度中にも改定する重要インフラ行動計画に明記する。攻撃の増加を踏まえ官民で防御体制を強化する。行動計画は17年以来5年ぶりの抜本改定となり、経済安全保障を重視する方針を盛り込む。22年度から適

                                                                        重要インフラ、企業にサイバー防衛義務付け 22年度から - 日本経済新聞
                                                                      • ついに生産が終わったけどZ80でまだまだ遊びたい

                                                                        Kernel/VM探検隊@東京 No17 で発表した内容です。 スライド内で紹介した配信のアーカイブはこちら(2本に分かれています): 【前半戦】Z80をRustで動かすまで年が越せない配信【年末特番】 https://youtube.com/live/9eTlxU6kQxg 【後半戦】…

                                                                          ついに生産が終わったけどZ80でまだまだ遊びたい
                                                                        • 低コスト&爆速でコード修正!AIエージェントを実務の開発でも試してみる

                                                                          昨今、 Cline 等の AI エージェントによる開発支援を試されている方が多いかもしれません。 Ubie でも先日から Devin をトライアルしており、生成AIによる開発生産性の向上を模索している最中です。(この様子は下記記事によく書かれています) Devinはアウトプットを考えるとコストが安いとは感じますが、 Cline のようなローカルで動作するエージェントはさらに安く高速動作します。これらが Ubie の一定規模になったコードベースで動作するのか、どのようなツールが有力候補となりえるのかを軽く検証してみました。 TL;DR ローカルで動作するAIエージェントはコスト・速度・機能においてかなり活用しうる。今回は Cursor や Roo-Cline を使用して、「一定規模のコードベース」において「テストコード追加や簡単な改修」が数十~数百円程度のコストで実現 できた。ただし現状エン

                                                                            低コスト&爆速でコード修正!AIエージェントを実務の開発でも試してみる
                                                                          • ChatGPT/Co-Pilotで改めてわかる「プログラミング」とはどんな作業だったのか|shi3z

                                                                            最初にプログラミングを始めた時は、学校にリファレンスマニュアルを持って行って全てのページを丸暗記した。丸暗記が目的だったわけではなく、読んで知識を吸収していくのが楽しくてしょうがなかった。 PC-9801のN88-BASICリファレンスマニュアルは、読み物としてとても良くできていた。各ステートメントの紹介があり、パラメータの説明があり、ごく簡単なサンプルコードも書いてあった。大体見開き一ページで一つのステートメントの説明なので読みやすかったし、ベーマガかなんかで読む呪文のようなコマンドの意味を詳細まで知れて楽しかった。 だがこれを「楽しい」と思う人は少数派のようだった。 僕のクラスメートのうち、相当数の人が親にパソコンを買ってもらい、BASICに挑戦したが、全くその世界に馴染めず結局ゲーム機になって行った。僕も親父がゲームなんかを買ってきたら話は変わっていたかもしれないが、親父の教育方針で

                                                                              ChatGPT/Co-Pilotで改めてわかる「プログラミング」とはどんな作業だったのか|shi3z
                                                                            • Claude Codeを超えたかも!?OpenHands CLIで抽象的な指示から完動するコードを一発生成

                                                                              Agent running... (Press Ctrl-P to pause) /Users/username/.cache/uv/archive-v0/8UNE-QZmsj_fwI7VgPxJz/lib/python3.12/site-packages/pydantic/main.py:463: UserWarning: Pydantic serializer warnings: PydanticSerializationUnexpectedValue(Expected 9 fields but got 5: Expected `Message` - serialized value may not be as expected [input_value=Message(content='Excellen...thinking_blocks': None}), input_type=M

                                                                                Claude Codeを超えたかも!?OpenHands CLIで抽象的な指示から完動するコードを一発生成
                                                                              • Java の enum を使いこなせるあなたに sealed interface

                                                                                はじめに Java の enum は大変便利で非常多くのシーンで活用されています。例えば区分を表すようなオブジェクトを表現したい際にもよく使われていますね。 Java 14 で正式機能となった switch式にて網羅性検査が行えるようになり、それまで以前ではどうしても抽象メソッド等を活用する必要があった処理についても、switch式を利用する事で簡潔に表現することができるようになりました。 また、Java 17 で正式機能となった sealed classes/interfaces と Java 21 で正式機能になった Record Patterns によって、これまで必要だった区分値のような enum を必ずしも定義しなくて良い場合も出てきました。 この記事では、今まで enum を使っていたコードがこれらの機能によってどのように変わるのかを紹介し、盲目的に enum を定義するのでは

                                                                                  Java の enum を使いこなせるあなたに sealed interface
                                                                                • The Windows Subsystem for Linux is now open source

                                                                                  Today we’re very excited to announce the open-source release of the Windows Subsystem for Linux. This is the result of a multiyear effort to prepare for this, and a great closure to the first ever issue raised on the Microsoft/WSL repo: Will this be Open Source? · Issue #1 · microsoft/WSL. That means that the code that powers WSL is now available on GitHub at Microsoft/WSL and open sourced to the

                                                                                    The Windows Subsystem for Linux is now open source

                                                                                  新着記事