並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 115件

新着順 人気順

メモリ管理の検索結果1 - 40 件 / 115件

  • ソフトウェアアーキテクチャ入門

    はじめに 今回の記事では、ソフトウェアアーキテクチャの入門的な内容を解説する。 対象とする読者 ソフトウェアアーキテクチャを勉強するエンジニア アーキテクチャに関して全くわからない初心者 タイトルで気になったひと ソフトウェアアーキテクチャとは? ソフトウェアのアーキテクチャは、システムの主要なコンポーネント、それらの関係(構造)、およびそれらがどのように相互作用するかを記述する。ソフトウェアのアーキテクチャとデザインには、品質属性、人間のダイナミクス、デザイン、IT環境など、多種多様な寄与要因が含まれる。アーキテクチャは、品質、保守性、パフォーマンス等のような全体的な成功に影響を与える重要な決定を含む。 ソフトウェアアーキテクチャの主な目的は、アプリケーションの構造に影響を与える要件を特定することだ。良好なアーキテクチャは、技術的な解決策を構築する際のビジネスリスクを削減し、ビジネス要件

      ソフトウェアアーキテクチャ入門
    • Rustでリレーショナルデータベースを自作したときの成果と反省と学び - Yoshisaurのメモ

      はじめに この記事では、個人プロジェクトとしてRust言語でリレーショナルデータベースを開発した経験(もう五ヶ月も前...)について、その成果と反省、得た学びを共有します。 DBMSを自作した理由 自分がDBMSの自作に着手したのは、『Designing Data-Intensive Applications』という本の内容を深く理解するためでした。 この本は、データシステムの設計と運用において最も大切な「信頼性」、「拡張性」、「保守性」を保証する方法論を、豊富な文献を引用しつつ、理論と実践の橋渡しを巧みに行いながら、丁寧に説明している名著です。読んだことがない人は速攻購入してくだい。本当にいい本です。 この本は、データベースの内部構造に関する話も豊富に含まれていたので、「データベース自作してみようか...」という気持ちになりました。 Rustを採用した理由 データベースの実装のついでに、

        Rustでリレーショナルデータベースを自作したときの成果と反省と学び - Yoshisaurのメモ
      • 「コンピューターの基礎は若い時に学んでいてほしい」 ソフトウェア開発組織が持つべきカルチャーとは

        日本CTO協会が主催の「Developer eXperience Day 2023」は、“開発者体験” をテーマに、その知見・経験の共有とそれに関わる方々のコミュニケーションを目的としたカンファレンスです。ここで登壇したのは、株式会社カウシェの柴田芳樹氏。45年の歴史から振り返ったソフトウェア開発とキャリアの変遷について発表しました。全3回。3回目は、柴田氏が影響を受けた出来事と、技術教育への取り組みについて。 米国駐在・Javaの登場・日本オラクルの社長の言葉…柴田氏が影響を受けた出来事 柴田芳樹氏:影響を受けた出来事について、ちょっと簡単に話をしていきます。 まず、初めてアメリカに駐在する時の送別会で、駐在経験のある先輩から、アメリカに行った時は「与えられた開発タスクをこなすと、さらに難易度の高い開発タスクが与えられるから注意しろ」と言われたんですね。 最初はピンと来なかったんですけど

          「コンピューターの基礎は若い時に学んでいてほしい」 ソフトウェア開発組織が持つべきカルチャーとは
        • 一年の計は元旦にあり! Udemy新年のビッグセールで2024年に学びたいこと、挑戦したい資格、新しいスキルを見つけよう - はてなニュース

          ※ Udemy「新年のビッグセール」は終了しました。はてなによるAmazonギフトカードプレゼントキャンペーンもそれにあわせて終了しています。ご応募ありがとうございました。 あけましておめでとうございます。これまでもUdemyの大きなセールでは目玉の講座を紹介してきた当ニュースですが、2024年1月1日から1月10日まで開催される「新年のビッグセール」では、新しい年にふさわしい夢とキャリアが広がる講座を紹介します。 各種資格試験の対策講座をはじめとして、マスターしたいプログラミング言語や開発手法、昨年から引き続き話題の生成AI、ウェブ解析やプロジェクトリカバリ、簿記や会計、英会話など多様なビジネスキャリアに直結する講座をピックアップ。映像制作や3Dモデリング、GA4や3Dアニメーション制作といった講座も取り揃えています。 一年の計は元旦にあり。みなさんが2024年に挑戦したい目標や習得した

            一年の計は元旦にあり! Udemy新年のビッグセールで2024年に学びたいこと、挑戦したい資格、新しいスキルを見つけよう - はてなニュース
          • 並列処理がとても苦手なPythonはプロセスを分けよう コードを書く時に意識したい2つのTipsと2つの落とし穴

            Go、Python、Kotlin、Rust、TypeScript の5つの言語について「並列処理、並行処理の手法」というテーマに絞り解説する「並列処理をGo/Rust/Kotlin/Python/JSで解説!思想の違いを体感しよう」。Python編では橘氏が登壇。Pythonで並列処理を行う際の設計方針と、実装上の癖について話します。 西川氏の自己紹介 西川大亮氏(以下、西川):ここからはPython編の「ちょっとしたデータ分析の並列化」というタイトルで、西川から話します。 GOに勤める西川です。今やっているのは、タクシーやハイヤーの営業支援。「お客さんを乗っけていない時間、どこを走ったらいいの?」とか「どういうところで待っていたら注文来やすいの?」というところのナビをする、「お客様探索ナビ」というサービスのいろいろなことをしています。小さなサービスなのでいろいろやっている感じですね。 P

              並列処理がとても苦手なPythonはプロセスを分けよう コードを書く時に意識したい2つのTipsと2つの落とし穴
            • このSRE本がすごい!2024年版 - じゃあ、おうちで学べる

              はじめに 有用な知識の特性 Google SRE リソース Site Reliability Engineering: How Google Runs Production Systems The Site Reliability Workbook: Practical Ways to Implement SRE Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems SLO Adoption and Usage in SRE Creating a Production Launch Plan Training Site Reliability Engineers: What Your Organization Needs to Cre

                このSRE本がすごい!2024年版 - じゃあ、おうちで学べる
              • 米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ

                米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ 米ホワイトハウスの国家サイバー局長室(The White House Office of the National Cyber Director:ONCD)は、サイバー空間における攻撃対象領域を積極的に削減する目的で、テクノロジーコミュニティやソフトウェアコミュニティに対してメモリ安全(Memory Safe)なソフトウェアの実現を積極的に呼びかけるプレスリリース「Future Software Should Be Memory Safe」(将来のソフトウェアはメモリ安全になるべき)を発表しました。 プレスリリースの中で、国家サイバー局長Harry Coker氏は「私たちは国家として、サイバースペースにおける攻撃対象領域を減らし、あらゆる種類のセキュリティバグがデジタルエコシステムに

                  米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ
                • 【2024年】ITエンジニア本大賞まとめ

                  アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知 チーム・組織にプラクティスを導入し、根付かせるために! 116の手法を一冊にまとめた“実践”の手引き チームでのアジャイル開発には、開発技術やツールなどの「技術プラクティス」の活用が重要です。 プラクティスはそれぞれの目的や役割を意識することで効果を発揮します。しかし、目まぐるしく状況が変化する開発では、当初の目的を忘れて、プラクティスに取り組むこと自体が目的化してしまうチームも少なくありません。 本書は、チーム・組織でアジャイル開発に取り組んできた著者が、プラクティスの効果的な選択・活用のしかたについて、自らの実践経験に基づいてまとめたガイドブックです。 架空の開発現場を舞台にしたマンガとともに、チーム開発の様々なシーンで役立てられるプラクティスを、幅広くかつわかりやすく解説しています。開発現場に備えておけば、

                    【2024年】ITエンジニア本大賞まとめ
                  • dockerで行う12ステップで作る組込みOS自作入門

                    はじめに 冬休みに12ステップで作る 組込みOS自作入門を完走したをkozosを完走しました。 そのときの備忘録になります。 12STEPの各内容は以下のようになっています。 第1部 ブート・ローダーの作成 1stステップ 開発環境の作成 2ndステップ シリアル通信 3rdステップ 静的変数の読み書き 4thステップ シリアル経由でファイルを転送する 5thステップ ELFフォーマットの展開 6thステップ もう一度,Hello World 第2部 OSの作成 7thステップ 割込み処理を実装する 8thステップ スレッドを実装する 9thステップ 優先度スケジューリング 10thステップ OSのメモリ管理 11thステップ タスク間通信を実装する 12thステップ 外部割込みを実装する 1STEP、1commit単位でまとめて進めていきました。レポジトリは以下にあります。 環境構築 マ

                      dockerで行う12ステップで作る組込みOS自作入門
                    • 生のポインタは使わないで! Modern C++のメモリ管理

                      本連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第3回は、スマートポインタについて紹介します。高度なメモリ管理には生のポインタの使いこなしが必須という古い常識はもはや通用しません。メモリを効率よく、しかも安全に使うことを実現しているスマートポインタについて理解を深めます。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。本連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし

                        生のポインタは使わないで! Modern C++のメモリ管理
                      • 今更聞けないDBMSのメモリ管理について

                        DBMSのメモリ管理について データベース管理システム(DBMS)の設計では、大量のデータと複雑なクエリを処理するために、ハードウェアの特性を最大限引き出すことが求められます。 この記事では、DBMSがどのようにメモリを使ってデータアクセスの速度を向上させ、同時にデータの安全性を確保しているのかを解説します。 DBMSと記憶装置の関係について DBMSが使う記憶装置は次の2つです。 HDD HDDは磁気ディスクを使用してデータを記録・読み取りする記憶装置です。その主な特徴は大容量であり、コスト効率が良いことです。DBMSでは、データの永続的な保存にHDDが用いられます。これにより、システムがシャットダウンされた後もデータが保持され、必要に応じて再びアクセス可能となります。 しかし、HDDのデータアクセス速度はメモリに比べて遅いため、リアルタイム処理や高速なトランザクションが求められるアプリ

                          今更聞けないDBMSのメモリ管理について
                        • プログラマーがソースコード内に書いた「アスキーアート」図2000点以上を収集 使われ方を分析しデータベース化【研究紹介】 レバテックラボ(レバテックLAB)

                          米カリフォルニア大学サンディエゴ校に所属する研究者らが発表した論文「Taking ASCII Drawings Seriously: How Programmers Diagram Code」は、ソースコード内で使用するアスキーアート(ASCII art)を収集し分析した研究報告である。 ▲ソースコード内で活用されたアスキーアートの一例 keyboard_arrow_down 研究背景 keyboard_arrow_down 研究内容 オープンソースのソフトウェア開発では、プログラマーがコードの中にアスキーアートを使って図を描き、アイデアを視覚的に表現することがよくある。アスキーアートはコードや自然言語では表現しにくい概念を視覚的に明快に説明でき、またコードよりも詳細度は低いものの、コードを理解するうえで「サムネイル」のような役割を果たす。 こうしたアスキーアートは、実際のソフトウェア開発

                            プログラマーがソースコード内に書いた「アスキーアート」図2000点以上を収集 使われ方を分析しデータベース化【研究紹介】 レバテックラボ(レバテックLAB)
                          • Unity、ゲームの最適化に関する電子書籍を無料公開。「モバイル」「コンソール/PC」向け2冊で、ボトルネックの特定方法やメモリ・GPU最適化などを解説

                            Unity Technologiesがゲームの最適化について解説する電子書籍を無料で公開 メモリやGPU管理、ボトルネック特定の方法などを解説したPDF資料 モバイル向けとコンソール/PC向けの2冊があり、各デバイス向け解説も Unity Technologiesは2023年12月6日、Unityにおけるゲームの最適化を解説する2冊の電子書籍を公開しました。 公開されたのは、モバイル向け開発ガイド『OPTIMIZE YOUR MOBILE GAME PERFORMANCE』と、コンソール/PC向け開発ガイド『OPTIMIZE YOUR GAME PERFORMANCE FOR CONSOLES AND PC』です。 各ガイドには、ボトルネックの特定方法やメモリ管理、プログラミングやアセット管理など、さまざまなカテゴリーにおける最適化が解説されています。また、各ガイドそれぞれに、対象デバイス

                              Unity、ゲームの最適化に関する電子書籍を無料公開。「モバイル」「コンソール/PC」向け2冊で、ボトルネックの特定方法やメモリ・GPU最適化などを解説
                            • Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料

                              Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料 Kotlin言語や統合開発ツールIntelliJ IDEAなどの開発を行っているJetBrainsは、Rust言語用の統合開発環境「RustRover」の正式リリースを発表しました。 All systems are GO! We’re over the moon to see RustRover finally land! Read all about the release and the new free non-commercial license in our blog post https://t.co/s3MnqfiTrs, and see how we can help you stay focused on what matters pic.twitter.com

                                Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料
                              • 【2024年】ITエンジニア本大賞まとめ - Qiita

                                アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知 チーム・組織にプラクティスを導入し、根付かせるために! 116の手法を一冊にまとめた“実践”の手引き チームでのアジャイル開発には、開発技術やツールなどの「技術プラクティス」の活用が重要です。 プラクティスはそれぞれの目的や役割を意識することで効果を発揮します。しかし、目まぐるしく状況が変化する開発では、当初の目的を忘れて、プラクティスに取り組むこと自体が目的化してしまうチームも少なくありません。 本書は、チーム・組織でアジャイル開発に取り組んできた著者が、プラクティスの効果的な選択・活用のしかたについて、自らの実践経験に基づいてまとめたガイドブックです。 架空の開発現場を舞台にしたマンガとともに、チーム開発の様々なシーンで役立てられるプラクティスを、幅広くかつわかりやすく解説しています。開発現場に備えておけば、

                                  【2024年】ITエンジニア本大賞まとめ - Qiita
                                • 世界で最も愛される プログラミング言語 Rust誕生秘話

                                  How Rust went from a side project to the world's most-loved programming language 世界で最も愛される プログラミング言語 Rust誕生秘話 処理速度が問題になるプログラムや、ハードウェアを直接操作するプログラムを開発するなら、C/C++言語を選ぶのが当たり前だった。C/C++に取って代わる言語は長らく登場しなかったが、最近になってRustが注目を浴びている。 by Clive Thompson2023.06.12 106 27 多くのソフトウェア開発プロジェクトは、思いもよらないところから生まれる。解決しなければならない個人的な問題を抱えたプログラマーが生み出すこともある。 グレイドン・ホアレの身に起きたのも、多かれ少なかれそういう事態だった。2006年、ホアレはオープンソースのWebブラウザー「ファイアーフォ

                                    世界で最も愛される プログラミング言語 Rust誕生秘話
                                  • Linuxカーネルに重大な脆弱性「StackRot」、ただちに確認を

                                    The Hacker Newsは7月6日(現地時間)、「Researchers Uncover New Linux Kernel 'StackRot' Privilege Escalation Vulnerability」において、Linuxカーネルに深刻な脆弱性が発見されたと伝えた。新たに見つかった脆弱性は「StackRot」と名付けられており、現時点ではこの欠陥が悪用された形跡はないと報告している。 StackRotは「 CVE-2023-3269」として追跡されているLinuxカーネルの脆弱性。Linuxのバージョン6.1から6.4に影響を与える可能性があり、Red Hat Customer Portalによる共通脆弱性評価システム(CVSS: Common Vulnerability Scoring System)v3のスコア値では7.8と分類され、深刻度は重要(High)と評価さ

                                      Linuxカーネルに重大な脆弱性「StackRot」、ただちに確認を
                                    • HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita

                                      はじめに ここ1年ぐらいかけて、Fixという名前のプログラミング言語を作っています。 コアとなる機能の実装がある程度落ち着き、実際にFixを使ってプログラムを書けるようになってきたので、そろそろ言語の紹介をしてみようと思います。 本記事はFixのチュートリアルではなく、どういう思想で設計されていて、どういう特徴を持つ言語なのか、という点を紹介するものです。 意見・提案・助言などをいただけるとうれしいです。 リポジトリはこちらです。 ※ コメントやコミットメッセージは一応拙い英語で書いていますが、日本語でissueを立てたりdiscordで意見・質問してもらっても大丈夫です。 ※ 急いで作った部分もあるため、コンパイラのコードは結構汚いです。ご容赦ください。 現状、Fixをローカルで実行するためにはLLVMのインストールが必要で時間がかかりますが、Fix playgroundを使えばブラウザ

                                        HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita
                                      • 効率的なGo

                                        本書は、Goアプリケーションの効率やスケーリングに関する疑問に対して、実用的な答えを与えてくれる書籍です。 レイテンシー、CPU、メモリ資源についての知識、またOSやGoがそれらを抽象化している方法について、またソフトウェアの効率に関わるデータ駆動な意思決定を行う事の意味や、計算量解析の手法、最適化状況の例など、実用的なソフトウェアを開発する中での「効率」に関する知識を紹介します。 Goやその他のモダンな言語で書かれたプログラムを設計、作成、変更するソフトウェア開発者、また誰かが書いたソフトウェアを主に運用するDevOpsエンジニア、SRE、シスアド、プラットフォームチームなどの読者が、いつ、どのように効率最適化を適用するかという問いに答えるための知識を身に付けることができるでしょう。 関連ファイル 原著者による本書のサンプルリポジトリ 正誤表 ここで紹介する正誤表には、書籍発行後に気づい

                                          効率的なGo
                                        • JavaScriptランタイム「Bun 1.0」正式リリース。Windows版もまもなく登場へ

                                          JavaScriptエンジンにはSafariに搭載されているJavaScriptCoreを採用。データベース機能としてSQLiteも搭載し、npmパッケージマネージャとしての機能も備えています。 主な開発言語としてZigを採用し、メモリ管理などを含む低レイヤでの実装がBunの高速な動作を支えています。 Bunの高速性を強調 Bun 1.0の発表では高速性が強調されています。例えば下記はTypeScriptでの「hello world」の実行速度。

                                            JavaScriptランタイム「Bun 1.0」正式リリース。Windows版もまもなく登場へ
                                          • [インタビュー]ゲーム業界でがんばっ定年! コーエーテクモゲームスの“生きる三国志事典”中山茂樹氏(55歳)

                                            [インタビュー]ゲーム業界でがんばっ定年! コーエーテクモゲームスの“生きる三国志事典”中山茂樹氏(55歳) 編集部:楽器 カメラマン:永山 亘 コーエーテクモゲームス “シブサワ・コウ”ブランド シニアリーダーの中山茂樹氏 ゲーム業界では秀作を生んだクリエイターが名を上げ,いつしか会社の顔となり,界隈の代弁者として,業界の印象を形成してきた。 しかし,彼らの総数は業界従事者の1%ほどだろう。その裏には開発のみならず,広報や経理,社内エンジニアにカスタマーサポートなど,名を上げずとも人生を生きる99%側の“名もなき戦士たち”がいる。 言い換えればそれは我々であり,世界の大多数だ。 ゲーム業界自体,未成熟ゆえの輝きがあった昭和・平成時代とは違い,今では就業規則に福利厚生にコンプライアンスにと成熟した。大手を中心とする一部メーカーでは徐々に“定年退職者”も増加している。 そこで本稿では,業界の

                                              [インタビュー]ゲーム業界でがんばっ定年! コーエーテクモゲームスの“生きる三国志事典”中山茂樹氏(55歳)
                                            • メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita

                                              はじめに プログラミング学習を始めて1年経過しました。しかし、今までオブジェクト指向の概念から目を背けてきた結果、現在エンジニアとして苦労しているので、書籍「オブジェクト指向でなぜつくるのか」にて学習中です。 その中で、以下のような章がありました。 「メモリの仕組みの理解はプログラマのたしなみ」 これを見て、自分は今までそんなこと意識していなかったのと強く感じたので、今回はこの書籍で書かれていた、一般的なプログラムの動作環境としての最低限の知識を整理しました。 プログラムが動く仕組みを理解する上で重要な概念 コンパイラ方式とインタプリタ方式 プログラムの基本的な実行方式は大きく分けて2つあります。 コンパイラ方式 コンパイラって何? コンパイラは、プログラム全体を読み込んで、それをコンピュータが理解できる形(機械語)に一度に変換するプログラムです。 どういう時に使うの? コンパイラは、プロ

                                                メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita
                                              • 「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ

                                                最近「おれってガベージコレクションを勉強するにあたってめちゃくちゃ恵まれた環境にあるのでは?」とふと思い立ち、ベージコレクションの勉強を始めました。 ガベージコレクションの勉強を始めるにあたって、とりあえず「The Garbage Collection Handbook (first edition)」の邦訳である「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読むことにしました。 この記事では、読み終わってうれしいので、雑に感想を書きなぐっています。表記が「GC」だったり「ガベージコレクション」だったりするのは雑に書いたからです。 前提知識 ガベージコレクションの事前知識はほとんど不要で、何をしてくれるものか大まかにわかっていれば良い程度だと思います。つまり、ヒープに確保した領域を明示的に解放しなくても、何かのアルゴリズムでいい感じにやってくれる仕組み、ということを知って

                                                  「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ
                                                • すべての開発者が知っておくべきメモリ管理についての知識

                                                  プログラミングにおいてメモリ管理は重要な要素の一つですが、その重要性を見過ごされがちなものです。メモリ管理の高レベルな抽象化について、「すべての開発者が知っておくべき要素」としてプログラマーのザカリー・リー氏が解説しています。 Memory Management Every Developer Should Know https://webdeveloper.beehiiv.com/p/memory-management-every-programmer-know メモリは「スタック」と「ヒープ」という2つの領域に分かれています。 ・スタック スタックは「先入れ後出し」という特徴を持つデータ構造で、プログラムの関数呼び出しを記録するのに非常に適しています。例えば下図のように「test()」と「main()」という2つの関数があり、main()からtest()を呼び出す場合を考えてみます。

                                                    すべての開発者が知っておくべきメモリ管理についての知識
                                                  • Google Cloud、AI機能搭載のPostgreSQL互換ソフトウェア「AlloyDB Omni」正式版リリース

                                                    Google Cloud、AI機能搭載のPostgreSQL互換ソフトウェア「AlloyDB Omni」正式版リリース Google Cloudは独自に高性能化したPostgreSQL互換ソフトウェア「AlloyDB Omni」の正式版をリリースしたことを発表しました。 AlloyDB Omniは、Google CloudがPostgreSQL互換の高性能なマネージドデータベースサービスとして提供している「AlloyDB for PostgreSQL」と同じデータベースサーバを、オンプレミスやノートPCなどで実行できるソフトウェアとして開発が進められました。 参考:Google Cloud、高性能化したPostgreSQL互換「AlloyDB」のオンプレミス向けソフトウェア「AlloyDB Omni」発表。開発環境での利用は無料 トランザクション性能は2倍高速、分析的クエリは100倍高速に

                                                      Google Cloud、AI機能搭載のPostgreSQL互換ソフトウェア「AlloyDB Omni」正式版リリース
                                                    • Linuxの生みの親リーナス・トーバルズが「XZ Utils問題」「オープンソース開発」「RISC-V」「AIの台頭」などについて語る

                                                      The Linux Foundationが2024年4月16日から18日にかけて開催したOpen Source Summit North Americaの中で、Linuxの生みの親でLinuxカーネル開発の優しい終身の独裁者としても知られるリーナス・トーバルズ氏が、Verizonのオープンソースプログラムオフィス責任者であるディルク・ホーンデル氏とともに、Linux開発と関連する問題について公開での議論を行いました。 Linus Torvalds on Security, AI, Open Source and Trust - The New Stack https://thenewstack.io/linus-torvalds-on-security-ai-open-source-and-trust/ Linus Torvalds takes on evil developers, ha

                                                        Linuxの生みの親リーナス・トーバルズが「XZ Utils問題」「オープンソース開発」「RISC-V」「AIの台頭」などについて語る
                                                      • プログラミング言語Rustになぜ注目するのか - Qiita

                                                        この記事は NTTコムウェア AdventCalendar 2023 5日目の記事です。 自己紹介&動機 高鶴と申します。NTTコムウェア コーポレート革新本部で、プログラム設計~コーディング~ユニットテストにかかわる技術の社内標準化をやっております。 プログラムの静的な解析で早期にバグを発見・修正することで、後工程でのバグ対処コスト削減(ウォーターフォール開発の場合)や、技術的負債の早期解消(アジャイル開発の場合)を目指す、というのが私のチームの仕事の大きな一部となっています。 静的な解析で早期にバグを発見するツールには、オープンソースでも商用でも様々なものがあります。しかし、ソフトウェアの品質をより抜本的に良くしていこうと思うと、「プログラミング言語を何とかする」というところを考えたくなってきます。 Rustであれば、そのような期待に応えてくれるのではないかと期待し、調査・検証を始めま

                                                          プログラミング言語Rustになぜ注目するのか - Qiita
                                                        • 【C#】構造体(struct)を完全に理解する - Annulus Games

                                                          今回の記事はC#における構造体(struct)について。 複合的なデータを扱う際、多くの場面ではクラス(class)が用いられるかと思います。しかし、パフォーマンスが重要な場面や、GCによる影響が大きいUnityなどでは、状況に応じてクラスではなく構造体を使用した方が良いこともあります。 近年はC#においてもパフォーマンスが重視されるようになり、構造体が用いられる機会も多くなっています。またUnityのDOTSにおいても、C# Job SystemやBurst Compilerに最適化されたコードを書くために構造体を多用することになります。 ここでは構造体に関する基礎的な知識から、クラスと構造体のメモリ管理について、そして実際に構造体を用いる際の注意や活用方法についても解説していきたいと思います。 ただ今回の記事、調子に乗って色々な内容を詰め込んだ結果、めちゃくちゃに長くなってます。そのた

                                                          • VMとDockerの基礎 -コンテナって何なの??言葉と仕組みを理解する

                                                            Dockerとは Dockerは、インフラ関係やDevOps界隈で注目されている技術の一つ. Docker社が開発している, コンテナ仮想化(仮想環境)を用いてアプリケーションを開発・配置・実行するための オープンプラットフォーム。 会社では当たり前に使っているものだけど、 説明できるかっていったらできなかった!ので、簡単に、まとめました(^^) ■ 仮想化...?? "VM(virtual machine)" 仮想化とは。英語では、virtual machine(バーチャルマシン). 実態のないものであり、実在しているかのように作るもの。 1台のサーバーの上に、複数台のサーバーがあるように見える状態を作ること。 (コンピュータの中に、あたかも他のコンピュータがあるように 擬似的なコンピューターを再現したもの。とも言える。) 例えば... Macの中にcentOSサーバーを設置 windo

                                                              VMとDockerの基礎 -コンテナって何なの??言葉と仕組みを理解する
                                                            • JavaScriptランタイム「Bun」がバージョン1.0に到達へ、9月7日にローンチイベント開催

                                                              サーバサイドで実行可能なJavaScriptランタイム「Bun」が9月7日(日本時間9月8日)にバージョン1.0に到達することが分かりました。 公式サイトで「Bun 1.0」のローンチイベントへの申し込みが始まっています。 Node.js互換としたことで注目を集めたBun Bunは2022年7月に登場したソフトウェアです。 公式Webサイトで「Bun is a fast all-in-one JavaScript runtime」と紹介されているように、JavaScriptランタイムとバンドラ、トランスパイラなどが最初から統合され、タスクランナーとして実行できる機能も備えています。 なによりもBunが急速に注目を集めた理由は、Node.js互換をうたいNode.jsのnpmパッケージがそのままBunでも使えるとしたこと、そして高速性を強調したことでしょう。 JavaScriptエンジンには

                                                                JavaScriptランタイム「Bun」がバージョン1.0に到達へ、9月7日にローンチイベント開催
                                                              • 仕組みと一緒に作りながら学ぶシェル - Qiita

                                                                はじめに みなさん、シェルについてご存じでしょうか?bashやzshなどエンジニアであれば誰もが触ったことのあるであろうターミナルから使用することのできるあれです。もちろん知ってるよという人もいると思いますが、意外とその仕組みまで知った上で使用している人は少ないのではないでしょうか?(自分もそのうちの一人です、、、) そこで!この記事では、シェルの全体像と仕組みについて解説してみたいと思います。また、最後に仕組みをなぞった上で簡単なシェルの実装を行ってみたので、この機会に改めてエンジニアの身近にあるシェルについて理解を一緒に深めていきましょう。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルとは? シェルとはオペ

                                                                  仕組みと一緒に作りながら学ぶシェル - Qiita
                                                                • WasmGCについて予習する

                                                                  この記事はWebAssembly Advent Calendar 2023 2日目の記事です. ガベージコレクタ(WasmGC)[1]が10月頃にChromeとFirefoxでデフォルトで有効になり,標準化目前ということで大いに盛り上がったのは記憶に新しいかと思います. これはChromeが対応したというよりはChromeが採用しているJavaScriptのランタイムであるV8がデフォルトでWasmGCが有効になったというのが正確な表現で,DenoでもDartからビルドしたWasmを実行する際にGCを有効にするフラグを立てる必要がなくなり,実行しやすくなったなぁと皆さんも感じているかと思います. -$ deno run --allow-read --v8-flags=--experimental-wasm-gc run.js +$ deno run --allow-read run.js

                                                                    WasmGCについて予習する
                                                                  • WasmLinux: LinuxカーネルをWebAssemblyにする

                                                                    LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

                                                                      WasmLinux: LinuxカーネルをWebAssemblyにする
                                                                    • Unityを通じて3D空間、グラフィックを理解する

                                                                      はじめに ゲーム開発の旅を始める上で、開発者が最低限理解すべきコンピュータの基本的な仕組み、グラフィックスの原理、そしてスクリプティングの技術について、本記事では詳しく掘り下げていきます。 コンピュータの心臓部であるCPUとGPUの役割と相互作用から始め、これらがどのようにして3D空間のレンダリングやアプリケーションの実行に影響を与えるかを解説します。 Unityエンジンを用いたゲーム開発では、これらのハードウェアコンポーネントの理解が不可欠です。 続いて、ゲーム開発におけるグラフィックスの基礎を学びます。 ここでは、ビルトインレンダーパイプラインから、より高度なUniversal Render Pipeline (URP) やHigh Definition Render Pipeline (HDRP) まで、Unityで利用可能なレンダリングパイプラインの違いとその選択がプロジェクトに及

                                                                        Unityを通じて3D空間、グラフィックを理解する
                                                                      • 【2024年1月】エンジニアなら読むべき技術書TOP5 - Qiita

                                                                        世界一流エンジニアの思考法 noteでも大人気! 米マイクロソフトのエンジニアが放つ最前線の仕事術 頭が先、手は後。一流の仕事のカギは順序にある。 ――楠木建(経営学者) 知的生産へのリスペクトがイノベーションの源泉だ。 ――落合陽一(メディアアーティスト) 「怠惰であれ!」「早く失敗せよ」―― 米マイクロソフトの現役ソフトウェアエンジニアの著者が、超巨大クラウドの開発の最前線で学んだ思考法とは? “三流プログラマ”でもできた〈生産性爆上がり〉の技術! ・試行錯誤は「悪」。“基礎の理解”に時間をかける ・より少ない時間で価値を最大化する考え方とは? ・「準備」と「持ち帰り」をやめて、その場で解決する ・マルチタスクは生産性が最低なのでやらない ・“脳の負荷を減らす”コミュニケーションの極意 ・コントリビュート文化で「感謝」の好循環を生む……etc. 仕事と人生を「自分の手でコントロールする

                                                                          【2024年1月】エンジニアなら読むべき技術書TOP5 - Qiita
                                                                        • 令和最新版 PHP メモリ管理術

                                                                          PHP カンファレンス関西 2024 PHP Memory Management in Reiwa

                                                                            令和最新版 PHP メモリ管理術
                                                                          • Microsoft、次世代高速キャッシュストアシステム「Garnet」をオープンソースとして公開 | gihyo.jp

                                                                            Microsoft⁠⁠、次世代高速キャッシュストアシステム「Garnet」をオープンソースとして公開 Microsoftは2024年3月18日、同社の研究所が開発を進めてきた次世代の高速キャッシュシステム「Garnet」をGitHub上でオープンソースとして公開した。 Introducing Garnet – an open-source, next-generation, faster cache-store for accelerating applications and services -Microsoft Research Blog Garnet is a cache-store system that addresses growing demand for data storage to support interactive web applications and se

                                                                              Microsoft、次世代高速キャッシュストアシステム「Garnet」をオープンソースとして公開 | gihyo.jp
                                                                            • Cursorはコードベースに質問できる - laiso

                                                                              VSCodeベースのCursorっていうGPT連携組込みエディタがあって、GitHub Copilot Chatと比較してみた。 cursor.sh 関心 読みテスト 脆弱性探知 OSS解析 書きテスト Cursor Copilot Chat 関心 GPTでソースコードからpatchを生成し続けたらプログラミングを自動化できるのでは???? - laiso ChatGPTのCode Interpreterのコードリーディング能力は結構優秀 - laiso で書いたようにコーディング(読み書き)を自動化したい。 Cursorをとくに薦めはしないけどLLM組込みエディタのUXの例としてわかりやすかったので紹介します。 読みテスト 脆弱性探知 例によって脆弱性診実習用アプリ(通称「やられサイト」)のSQLインジェクションを発見してもらうという会話をした。 ディレクトリを開いて「PHPファイルにS

                                                                                Cursorはコードベースに質問できる - laiso
                                                                              • RustでWebアプリの実装にチャレンジしてみよう【準備編】

                                                                                本連載の目的 本連載は、@ITで2021年7月から連載された「基本からしっかり学ぶRust入門」(現在は完結)の応用編です。Rustは、当時から人気上昇中の言語と評価されていましたが、Stack Overflowが毎年実施している調査「Stack Overflow Developer Survey 2022」でも、変わらず「Rustが開発者の愛する言語」の1位に選ばれました。これは7年連続してのことです。この調査は、言語の好きと嫌いの差が大きいほど上位にランクされるので、Rustを嫌いな開発者は少数、という見方ができます。また、「これから使いたい言語」の1位も獲得しているようで、少なくとも開発者の間では今後も支持を伸ばしていきそうな言語と言えます。 Rustは美点の多いマルチパラダイム言語 Rustの美点は多岐にわたり、ネイティブコードコンパイラによる高速な実行バイナリ、所有権と借用の仕組

                                                                                  RustでWebアプリの実装にチャレンジしてみよう【準備編】
                                                                                • Mirrativ iOSアプリでのメモリ使用量削減への取り組み - Mirrativ Tech Blog

                                                                                  こんにちは、iOSエンジニアのふじのです。 Mirrativの機能開発を進める傍ら、iOSアプリのメモリ使用量の改善に取り組んでいます。 今回は、アプリ内でメモリ使用量を増やしている問題点を見つける方法と、それらをクライアント実装で解決する具体的なアプローチについて紹介します。 Mirrativアプリが抱える課題 着眼点とアプローチ 画像キャッシュの効率化 UIImageのリサイズ 画像のメモリキャッシュの上限サイズ設定 メモリリークへの対策 Allocationsやmemory graphを利用した手動検出 XCTestを利用したCI上での自動検出 改善の成果と今後の課題 We are hiring! 参考リンク Mirrativアプリが抱える課題 Mirrativアプリはライブ配信機能や視聴機能、Unityを利用したアバター機能やWebGLを利用したゲーム機能など、メモリを多く必要とす

                                                                                    Mirrativ iOSアプリでのメモリ使用量削減への取り組み - Mirrativ Tech Blog