並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 319件

新着順 人気順

programmingの検索結果161 - 200 件 / 319件

  • 「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで

    2024.05.28 『データモデリングでドメインを駆動する』読書感想会 https://kichijojipm.connpass.com/event/315276/

      「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで
    • アトラシアン、新AIサービス「Atlassian Rovo」発表。GoogleドライブやGitHub、Slack、Teamsなど同社内外のサービスを横断してAIが学習、ユーザーを支援

      アトラシアン、新AIサービス「Atlassian Rovo」発表。GoogleドライブやGitHub、Slack、Teamsなど同社内外のサービスを横断してAIが学習、ユーザーを支援 アトラシアンは、同社製品およびGoogleドライブやGitHubなどサードパーティのサービスを横断してAIが情報を学習し、統合的な検索やチャットによる回答を実現することでユーザーを支援してくれる新しいAIサービス「Atlassian Rovo」を発表しました。 AI breaks down yet another barrier! Today at Team '24 we announced Atlassian Rovo – a new product that unleashes a company’s knowledge so teams can make better decisions faster.

        アトラシアン、新AIサービス「Atlassian Rovo」発表。GoogleドライブやGitHub、Slack、Teamsなど同社内外のサービスを横断してAIが学習、ユーザーを支援
      • データ基盤のためのリーダブルSQL

        これは何? 私tenajimaがデータ基盤のパイプラインを作るとき、レビューするときに意識している点を言語化したものです データ基盤を作る上での考え方の一つに役立てていただければ幸いです この記事の前提 dbtを使ったデータ基盤構築を念頭に置いて書いています、dbtの記法が出てきます CTEsが使える環境を想定しています 記事内でデータエンジニアもアナリティクスエンジニアも総称してデータエンジニアと呼んでいます データ基盤を「使う側」のクエリと「作る側」のクエリの違い 最近ではファーストキャリアからデータエンジニアの方も出てきているかもしれませんが、データサイエンティスト、アナリスト、ソフトウェアエンジニアを経験してデータエンジニアを行っている人が一般的と考えています。 特にデータサイエンティスト、アナリストからデータエンジニアへの転向は私の周りでは多いように感じており、その方達は(過去の

          データ基盤のためのリーダブルSQL
        • What is a collision?

          2D Rigid Body Collision Resolution Part 1: Defining the problemFrom Mario bouncing off a Goomba to two cars bumping into each other in a racing game, dealing with collisions is such an integral part of most video games that we often take it for granted. In this series of blog posts, I want to show you what actually goes on behind the scenes in a physics simulation like the one above. While we're g

            What is a collision?
          • Next.jsのApp Routerを学ぶ際、shadcn/uiが参考になったという話 - Qiita

            Next.jsのApp Routerを学ぶ際に、UIライブラリを探していたところ、shadcn/uiが参考になったので紹介します。 shadcn/uiは、フレームワークやライブラリではなく、コピペで利用できるReactコンポーネントのサンプル集という立ち位置になっています。Tailwind CSSでデザインされており、React Server Components(RSC)にも対応しています。 サンプルの実装方法が参考になる点も魅力の一つです。 簡単ですがつらつらと紹介していきたいと思います。 shadcn/uiとは デモを見てるとフレームワークやライブラリなのかなと思いきやそうではなく、コピペで利用できるサンプル集という立ち位置になっています。基本的にはTailwind CSSでデザインされてるようです。 サンプルとはいえ、実装方法で参考になった箇所が結構あったのでそこも気に入ってるポイ

              Next.jsのApp Routerを学ぶ際、shadcn/uiが参考になったという話 - Qiita
            • ラピダスの物流に落とし穴 ガスが青函トンネル通れない - 日本経済新聞

              北海道と本州をつなぐ青函トンネル。新幹線や貨物列車が行き交う交通の要衝が、北海道千歳市で最先端半導体の生産を目指すラピダスの課題に浮上している。半導体製造には多くのガスや薬液が必要だが危険物に該当するものは青函トンネルを通れない。2024年問題でトラック輸送力の逼迫が懸念される中、コストや環境負荷を抑えて部材を運べるか。津軽海峡がラピダスのアキレス腱(けん)になりかねない。海底トンネルである青

                ラピダスの物流に落とし穴 ガスが青函トンネル通れない - 日本経済新聞
              • 関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう

                ドメイン駆動設計と関数型プログラミングを組み合わせることで、顧客満足度の向上、開発サイクルの短縮、無駄な作業の削減を実現できます。本書では、ビジネスドメインの例とF#のコードで、ビジネスに焦点を当てた、柔軟で高品質なソフトウェアを構築する方法を紹介します。たとえば、F#の型システムを使って複雑なドメインをモデル化し、読みやすいドキュメントにもなるコードを作成します。また、ビジネスルールをエンコードして「コンパイル時ユニットテスト」を作成することで、不正な状態を表現できないようにして潜在的なバグを排除します。関数型プログラミングの核となる原則を適用することで、実世界の要求をエレガントかつ簡潔にモデル化したソフトウェア設計を実現できます。 ドメイン駆動設計と関数型プログラミングを組み合わせることで、顧客満足度の向上、開発サイクルの短縮、無駄な作業の削減を実現できます。本書では、ビジネスドメイン

                • いまさら聞けないActive Directoryの仕組みと運用

                  いまさら聞けないActive Directoryの仕組みと運用:今だからこそ学び直すActive Directory基礎のキソ(1) Microsoftの「Active Directory」は、オンプレミスにおけるID管理システムとしてリリースされてから20年以上経過しました。その間、Active Directoryの構築や運用に携わってきたメンバーは去り、社内にノウハウもないまま引き継がなければならなくなったメンバーも多いと聞きます。そこで本連載では、あらためてActive Directoryを学び直していきます。

                    いまさら聞けないActive Directoryの仕組みと運用
                  • すべての開発者が知っておくべきメモリ管理についての知識

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

                      すべての開発者が知っておくべきメモリ管理についての知識
                    • 大阪万博「関連費」に約13兆円 便乗の広域開発「理解できない」

                      「大阪・関西万博の会場建設に黄信号 半導体工場がライバル」では、2025年国際博覧会(大阪・関西万博)に関わるゼネコンの実情などを紹介してきた。今回は、批判も多い、膨れ上がる万博関連予算や経済効果について見ていく。 万博が多くの人から“敬遠”される大きな要因は、人手や資材不足による建設単価の急騰に伴って膨れ上がった予算だ。 「費用の抑制に向け、政府として管理、監督責任を果たす。さらなる増額を認めるつもりはない」。岸田文雄首相は23年11月の衆院予算委員会で、会場建設費の上振れが続いた大阪・関西万博についてこう強調した。 会場建設費2度の修正 会場建設費は誘致時の1250億円から、20年に1850億円、23年秋は最大2350億円に膨らんだ。資材や人件費の高騰が主因だ。会場建設費は国、大阪府・市、経済界が3分の1ずつ負担する。人件費や警備費などを含む運営費も当初想定の809億円から23年末には

                        大阪万博「関連費」に約13兆円 便乗の広域開発「理解できない」
                      • Findyの爆速開発を支えるテクニック - Findy Tech Blog

                        こんにちは。 Findy で Tech Lead をやらせてもらってる戸田です。 早速ですが、これは弊社のとあるチームの1ヶ月のサイクルタイムです。 最初のコミットからマージされるまで平均3.6時間程度と、開発に着手したらその日のうちにリリースされるのがデフォルトとなっています。 今回はこの開発スピードを継続し、更に速くするために弊社で実践しているテクニックを紹介していきます。 それでは見ていきましょう! タスク分解 Pull requestの粒度 テスト CI/CD 高速化 自動化 通知 まとめ タスク分解 開発タスクをアサインされた時、まず最初にタスク分解をします。 タスク分解をすることによるメリットとしては、 工数見積もりの精度が上がる 対応方針の認識を他メンバーと合わせやすくなる 対応漏れに気づきやすくなり、手戻りの発生が少なくなる Pull requestの粒度を適切に保つことが

                          Findyの爆速開発を支えるテクニック - Findy Tech Blog
                        • Rustで有名アルゴリズムに挑戦(18) Rustでライフゲームを作ってみよう

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

                            Rustで有名アルゴリズムに挑戦(18) Rustでライフゲームを作ってみよう
                          • 「プッチンプリン」の出荷停止に、ゆうちょ銀行の入金遅延…日本企業でシステムトラブルが相次ぐ根本原因 SIerとユーザー企業の間にある「埋められない人材格差」

                            江崎グリコのシステム障害によりプッチンプリンなど一部商品の出荷が停止している。4月にはゆうちょ銀行で入金遅延が起きた。なぜ企業のシステムトラブルが相次いでいるのか。麗澤大学教授の宗健さんは「システムを発注している日本のユーザー企業にはITのプロがいないことが背景にある」という――。 続出する企業のシステムトラブル 今に始まったことではないが、企業のシステムトラブルは思ったよりも多い。2023年10月に発生した全銀ネットの障害では数百万件の送金が滞り社会的にも大きな影響があり、2027年に稼働を見込んでいた次期システムの検討作業も停止に追い込まれた。 最近も、江崎グリコのシステム障害によりプッチンプリンの出荷が止まり(※1)、ゆうちょ銀行でも100万件を超える入金遅延が起きた(※2)。 ※1 日本経済新聞「プッチンプリン出荷再開を延期 グリコのシステム障害」(2024年5月1日)4月3日のE

                              「プッチンプリン」の出荷停止に、ゆうちょ銀行の入金遅延…日本企業でシステムトラブルが相次ぐ根本原因 SIerとユーザー企業の間にある「埋められない人材格差」
                            • レビュワーを"憑依"させて Pull Request をセルフレビューする - Konifar's ZATSU

                              メンバーと1on1をしていると、「うっかりミスが多くて Pull Request で毎回コメントをもらってから気づくのを何とかしたい」という相談を受けることがある。 まず、そういう認識を持てていることが素晴らしい。課題意識があるのであれば、どう補正していくかを一緒に考えることができる。 自分がオススメしているやり方は、レビューを依頼する前に徹底的にセルフレビューすることである。巷でよくやられている方法ではあるが、どういうやり方かを雑に書いておく。 レビューを依頼する前に レビュワーになりきって 自分の Pull Request を自分でレビューしてみる 頭にレビュワーが思い浮かぶのであれば、その人を "憑依" させるイメージ 「この人はここでこういうコメントしそうだな」と思ったら、 先回りして PR上にコメントしておくか、突っ込まれないようにコードやコードコメントを改善する タイトルや説明

                                レビュワーを"憑依"させて Pull Request をセルフレビューする - Konifar's ZATSU
                              • Google Geminiアプリが日本でも利用可能に

                                  Google Geminiアプリが日本でも利用可能に
                                • 神宮外苑再開発 “人権に悪影響の可能性”国連の作業部会 公表 | NHK

                                  東京の明治神宮外苑の再開発について、国連人権理事会の「ビジネスと人権」作業部会は、「人権に悪影響を及ぼす可能性がある」とする報告書を公表しました。これに対し政府は「大きな問題がある」として報告書から文言を削除するよう求めています。 各国の企業活動における人権問題などを調べて対応を促す国連人権理事会の「ビジネスと人権」作業部会は、去年夏に初めて日本で調査を行い、このほど政府などに対する提言などをまとめた報告書を公表しました。 報告書には計画に反対の声も上がっている明治神宮外苑の再開発も含まれていて、「大規模な再開発は環境への影響を検討するプロセスにおいて住民との協議が不十分との報告があり懸念している。その一つとして神宮外苑の再開発があり、人権に悪影響を及ぼす可能性がある」としています。 これに対し、認可を行った都の意見をとりまとめた政府は、事業者が住民説明会を行ったことを踏まえ「事業者から意

                                    神宮外苑再開発 “人権に悪影響の可能性”国連の作業部会 公表 | NHK
                                  • 面接官「0.1 + 0.2 == 0.3 が成立しない理由を説明せよ」 - Qiita

                                    なぜか これは、計算機が浮動小数点数を2進数で表現する際に、特定の小数は正確に表現できず、誤差が発生するためです。10進数の0.1や0.2は、2進数では無限に続く循環小数となるため、これらの数値を正確に表現することができません。その結果、0.1 + 0.2 は 0.3 と等しくならないことがあります。 小数点以下の数値→2進数へ変換する方法 CSを修めていればご存知方と思いますが、復習します。 小数点以下の数値を2倍する 結果の整数部分を取り出し、それを2進数の桁として記録する 小数部分だけを次のステップに持ち越す 小数部分が0になるか、所定の精度に達するまで1〜3を繰り返す 0.1 × 2 = 0.2 整数部分: 0 小数部分: 0.2 0.2 × 2 = 0.4 整数部分: 0 小数部分: 0.4 0.4 × 2 = 0.8 整数部分: 0 小数部分: 0.8 0.8 × 2 = 1.

                                      面接官「0.1 + 0.2 == 0.3 が成立しない理由を説明せよ」 - Qiita
                                    • TypeScriptのパフォーマンス改善

                                      2024/05/11に行われたTSKaigiで発表したLTの資料です! ◎概要 TypeScriptはJavaScriptのスーパーセットとして、静的型付けと高度な型システムを提供し、大規模なプロジェクトの開発を助けています。しかし、これらの利点を最大限に活用するためには、コンパイルパフォーマンスの最適化が不可欠です。コンパイル速度を上げることでビルド時間やテスト実行時間の削減を行うことができます。今回の発表では、TypeScriptのコンパイルパフォーマンスを改善するための具体的な手法とその背後にある理論をいくつか紹介します。 ◎内容 1. TypeScriptのパフォーマンスとは何か、そしてなぜそれが重要なのか 2. コンパイル速度を改善するための具体的な手法とその背後にある理論 本資料で紹介している内容については以下の記事で詳しく記載していますので合わせて参照していただければと思いま

                                        TypeScriptのパフォーマンス改善
                                      • 無償でローカル「WordPress」環境を構築する最速の方法、「Studio」がWindowsに対応/わずか数クリック、開発の成果を最大5つまでデモサイトとして無償公開する機能も

                                          無償でローカル「WordPress」環境を構築する最速の方法、「Studio」がWindowsに対応/わずか数クリック、開発の成果を最大5つまでデモサイトとして無償公開する機能も
                                        • テストプロセスを詳細化した話 - レビュー・テスト分析 - Qiita

                                          以前、シフトレフトのために静的テスト、動的テストの2つのアプローチからどんなアクションを取れるかを記事にしました。 上記記事で書いたように、以前までのwith QAチームではテスト設計以降の作業を重視せざるをえず、上流工程でのテスト活動を明文化できていませんでした。しかし、メンバーの増強とユニット制への体制移行により、より上流工程から積極的にQAが関わっていけるようになりました。 その中でQAとして何ができるとよいのかを考えた結果、より積極的にテスト活動が行えるようテストプロセスを詳細化することにしました。具体的にはwith QAチームでは新たにレビューとテスト分析をテストプロセスとして明示することになりました。1 今回は、このレビューとテスト分析を中心に、実際に何が変わったのかを書いていきます。 前提の確認 本題に入る前に、レビューとテスト分析とは何かという確認から行います。 「レビュー

                                            テストプロセスを詳細化した話 - レビュー・テスト分析 - Qiita
                                          • 継続性視点での開発生産性マネジメント / Managing Engineering Organization in a Strategic Way

                                            2024年5月28日に開催された「ビジネス成長を止めてしまうペインはどこにある?投資した開発品質との向き合い方」(主催:ファインディ株式会社)における技術責任者 @sunaot の発表資料です。 https://developer-productivity-engineering.connpass.com/event/316486/

                                              継続性視点での開発生産性マネジメント / Managing Engineering Organization in a Strategic Way
                                            • Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog

                                              最近はAIエンジニアを名乗ってるerukitiです。フロントエンドもバックエンドも、LLMを触るあれこれもやってるので、「AIエンジニア」くらいを名乗るとちょうどよさそうだなと思ってます。いずれLLM自体の開発なんかもやってるかもしれません。 LLMプロダクトを開発していると、構造化データを作りたいのに、Anthropic ClaudeのAPIにはJSONモードが無いことや、なんならJSONモードやfunction callingを使っても、データが正しい形式に従ってることは保証しがたい、みたいな自体に遭遇することがあります。 JSONが出力できたとしても、構造化データをうまく吐き出させるのは難しいものです。文字列を出力させたいけど、複数あるときは、配列なのか、それともカンマ区切りなのか?項目がオプショナルの場合はどうするか?項目が存在しない、空文字や 0 や undefined や nu

                                                Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog
                                              • 設計書などドキュメント類は一切作りません!でもその代わりシステムの出来上がりは超速で価格も激安です。っていうベンダーの存在を知った

                                                てとらα SI @TETRA_IT 設計書などドキュメント類は一切作りません!テスト結果もありません!でもその代わりシステムの出来上がりは超速で価格も激安です。っていう恐ろしい地方ベンダーの存在を知った。とにかく安く早くを求める地方企業や支社などの要望とマッチして管理不能なシステムが量産されてる 2024-05-28 09:25:50

                                                  設計書などドキュメント類は一切作りません!でもその代わりシステムの出来上がりは超速で価格も激安です。っていうベンダーの存在を知った
                                                • GitHub Actions 上での Go の Docker ビルドを高速化する

                                                  どうも GitHub Actions 上で Docker ビルドを行うと時間がかかるなぁと感じていました。 かなり軽量の Go の Web アプリケーションを Docker イメージにしてプッシュするプロセスなのですが、全体で 3 分ほどかかっています。 今回はその速度改善を行ったので、得た知見を記事にしたいと思います。 最終的に、ケース次第では以下のような結果を出すことができました。 ※ケース = go のソースコードのほんの一部を変更してワークフローを実行する。 go.mod など依存関係に変化はない。 go build: 60秒 → 1秒 docker/build-push-action ステップ: 2分30秒 → 30秒 ワークフロー: 3分 → 1分 前提 go build は Dockerfile のステップで行っており、イメージとして以下のような内容になっています。 FROM

                                                    GitHub Actions 上での Go の Docker ビルドを高速化する
                                                  • Bluesky、ジャック・ドーシー氏が取締役から外れたことを認める

                                                    米Blueskyは5月5日(現地時間)、起業家でTwitter(現X)の共同創業者、ジャック・ドーシー氏が取締役を退いたことを公式投稿で明らかにした。ドーシー氏はBlueskyの立ち上げに関わり、資金を提供してきた。 ドーシー氏は前日、X上で「まだBlueskyの取締役を務めていますか?」と問われて、「No」と答えた。 本稿執筆現在、Blueskyの公式サイト上では、まだドーシー氏が取締役となっているが、Blueskyは「ジャックの退任に伴い、Blueskyの新しい取締役を探している」としている。 ドーシー氏は2019年、ソーシャルメディア向けのオープンで分散型の標準を開発するために、独立組織「BlueSky」に出資していると発表し、2021年には現在のCEO、ジェイ・グレイバー氏を“初代リーダー”に任命した。2023年ごろには主に分散型ソーシャルサービスNostrを支援するようになり、現

                                                      Bluesky、ジャック・ドーシー氏が取締役から外れたことを認める
                                                    • 【PHP8.4】ついにPHPにプロパティフックが導入される - Qiita

                                                      class HOGE{ public string $tel{ set{ if(!ctype_digit($value)){ throw new ValueError("電話番号は数値のみ"); } if(strlen($value) < 10){ throw new ValueError("電話番号は10文字以上"); } $this->tel = $value; } get{ return '電話番号は' . $this->tel; } } } $hoge = new HOGE(); $hoge->tel = '123456789012'; // OK $hoge->tel = 'abcdefghijkl'; // Uncaught ValueError: 電話番号は数値のみ $hoge->tel = '123'; // Uncaught ValueError: 電話番号は10文字以上

                                                        【PHP8.4】ついにPHPにプロパティフックが導入される - Qiita
                                                      • [Playwright]VScodeの拡張機能でらくらくブラウザ操作

                                                        はじめに こんにちは。スペースマーケットでWebエンジニアしてます、新卒のdumbled0reです。 4月に入社してから早2ヶ月経って、入社式が昨日のように感じています。時の流れは早い。 日頃、ブラウザ操作する時はPythonのライブラリであるSeleniumを使用していましたが、vscodeにあるPlaywrightの拡張機能を使用すれば非エンジニアの方でも簡単にブラウザ操作用のコードを書けたので紹介します。 Playwrightとは PlaywrightとはMicrosoftが開発したオープンソースのE2Eテスト自動化フレームワークです。 Chromium、Firefox、WebKitなどの主要なブラウザで対応しており、1つのコードで複数のブラウザ上で動作確認も行えます。 環境 node 20.9.0 playwright 1.44.0 拡張機能のインストール 今回使用するVScode

                                                          [Playwright]VScodeの拡張機能でらくらくブラウザ操作
                                                        • MySQL 8.4 LTS登場!!

                                                          記事を書くのが遅くなってしまったが、先日MySQL 8.4シリーズが登場したので紹介をしておこうと思う。新機能の解説については機会を改めて書くとして、今回は主にアップグレードにまつわる重要なポイントを書き記しておく。 LTS = Long Term Support 以前の記事でも紹介した通り、MySQL 8.4はLTS = Long Term Supportのバージョンとなっている。長期間サポートするために互換性を最大限保証するバージョンである。前のメジャーバージョンであるMySQL 8.0シリーズのように、シリーズの途中で互換性が破壊されるような変更が入ることは基本的に無い。「バグ修正のためにどうしても仕様を変えなければならない」というような事態が生じる可能性はゼロではない。なので絶対に互換性が保たれるとは言い切れないところであるが、基本的には仕様変更はない方向で今後リリースされていくこ

                                                            MySQL 8.4 LTS登場!!
                                                          • プログラムのコードをChatGPTに書かせても、その半分は間違っている

                                                            プログラムのコードをChatGPTに書かせても、その半分は間違っている2024.05.29 12:0035,992 Matt Novak - Gizmodo US [原文] ( mayumine ) ChatGPTなしではもう仕事ができないなんて人も結構いるよね。 ChatGPTは、文章はもちろん、生成してほしいプログラムを指示するだけで、プログラムのコードを生成してくれます。 エンジニアにとっても非常に役に立つChatGPTですが、最近の新しい研究によれば、ChatGPTはコンピュータープログラミングの質問に対して、52%の確率で間違った回答をしていることがわかりました。 それでも35%はChatGPTが生成したコードを好むこの研究は、5月初めにハワイで開催されたComputer-Human Interaction Conferenceで発表されたもので、Stack Overflow上の

                                                              プログラムのコードをChatGPTに書かせても、その半分は間違っている
                                                            • Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで

                                                              この本の概要 小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して,プログラミングそのものへの理解を深めよう! こんな方におすすめ コンピュータサイエンス,とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人 他言語でのプログラミング経験があり,Rustの習得に興味のある人。とくに,学習のための題材を探している人 第1章:プログラミング言語概論 プログラミング言語の分類 他の切り口での分類方法 コンパイルパイプライン 第2章:スタックベース仮想マシン 仮想マシン概論 Rustでの実装 標準入力からの読み込み パースとコマンドの実行 ブロックとネスト構造 if制御構文 変数の定義 複数行のソースコードへの対応 関数呼び出し 関数の再帰呼び出し WebAssemblyへのコンパイルとブラウザでの実行 第3章:プログラミング

                                                                Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
                                                              • [小ネタ] SQLの GROUP BY / ORDER BY には数字 (1, 2...) を指定しよう - Qiita

                                                                -------------------------------------------------------- -- users テーブルについて、部署・役職・作成日ごとに件数を集計する -- (MySQL用) -------------------------------------------------------- SELECT u.department_code `部署コード`, u.role_code `役職コード`, DATE_FORMAT(u.created_at, '%Y-%m-%d') `作成日`, COUNT(*) `人数` FROM users u GROUP BY u.department_code, u.role_code, DATE_FORMAT(u.created_at, '%Y-%m-%d') ORDER BY u.department_code ASC

                                                                  [小ネタ] SQLの GROUP BY / ORDER BY には数字 (1, 2...) を指定しよう - Qiita
                                                                • [速報]GitHub Copilot extensions発表。CopilotがDockerやAzureなどサードパーティの専門家へ拡張、プログラマの質問に答えてくれる

                                                                  マイクロソフトは、日本時間5月22日未明から開催中のイベント「Microsoft Build 2024」で、GitHub Copilotの新機能「GitHub Copilot extensions」を発表しました。 GitHub Copilot extensionsは専門知識を持つCopilot GitHub Copilotは、プログラマはVisual Studio Codeなどのコードエディタ上やチャット欄でAIと対話し、プログラミングに関する質問への回答やコードの生成などをAIが行ってくれる機能です。 GitHub Copilot extensionsは、このCopilotの能力をサードパーティなどがそれぞれのソフトウェアやサービスの専門家へと拡張できるようにし、プラグインとしてCopilotに組み込み可能にしたものです。 拡張されたCopilotの例として、マイクロソフトが提供する「

                                                                    [速報]GitHub Copilot extensions発表。CopilotがDockerやAzureなどサードパーティの専門家へ拡張、プログラマの質問に答えてくれる
                                                                  • YAGNIと拡張性のあいだ - 電通総研 テックブログ

                                                                    こんにちは!Xイノベーション本部プロダクトイノベーションセンターの米久保 剛です。 弊社のテックブログ上では今回が初めての記事執筆となります。アーキテクチャ設計やアプリケーション設計の話を中心に、不定期に情報発信していきたいと考えています。 YAGNI原則 YAGNI原則をご存知でしょうか。 エクストリーム・プログラミング(XP)の重要な原則の一つであるこの原則は、You Ain't Gonna Need Itのアクロニム(頭字語)から命名されています。日本語にすると「どうせ要らないって」というニュアンスでしょうか。推測に基づいて余計な機能を作り込んだところで将来実際に使われる可能性は低く、時間と労力を無駄にするばかりかコードの複雑化などのリスクさえあります。ですから、現時点でわかっている要件をちょうど満たすだけの機能を実装すべきであるとYAGNI原則は主張します。 YAGNI原則は機能(

                                                                      YAGNIと拡張性のあいだ - 電通総研 テックブログ
                                                                    • Supercomputing Contest 2013/GPUプログラミング資料 - Supercomputing Programing Contest Official Site

                                                                      2023-09-13 SupercomputingContest2023 2023-09-06 Supercomputing Contest News News/sc230906 2023-09-01 News/sc230830 2023-08-28 News/sc230828 SupercomputingContest2023/本選結果 2023-08-01 MenuBar 2023-06-29 News/sc230629 SupercomputingContest2023/予選結果 2023-06-12 SupercomputingContest2023/予選・認定問題Q&A 2023-06-01 SupercomputingContest2023/問題および関連ファイル群更新履歴 2023-05-31 News/sc230531 2023-05-30 News/sc230530 20

                                                                      • AWSを使用したアプリケーションのローカルテスト

                                                                        AWSを使用したアプリケーションのテスト方法 AWSを使用しているアプリケーションの開発時に問題となるのは、どのようにテストを実施するかという問題が発生します。 この時の選択肢は次の通りとなります。 単体テスト時にAWSのモックを作成してテストを行う AWS上にテスト用の環境を用意してテスト時に接続してテストを行う LocalStackを使用してローカルにAWSサービスのエミュレーターを動かしてテストする 単体テスト時にAWSのモックを作成してテストを行う 単体テスト時にモックアップする方法はテストに都合のいいデータを返せるため容易にテストが行えます。 モックの作成に手間がかかりますし、思い込みでモックを作成してバグを作成する場合もありますが、Motoなどを用いることでこれらの問題は軽減できるでしょう。 ただし、あくまで単体テストでしか使用できません。例えば複数プロセスを連携するようなテス

                                                                          AWSを使用したアプリケーションのローカルテスト
                                                                        • ビジネスの構造をアーキテクチャに落とし込みソフトウェアに可変性を注入する

                                                                          20240522 Findy主催「アーキテクチャを突き詰める」登壇資料 イベントストーミング、ドメインモデリング、CQRS+Event Sourcing

                                                                            ビジネスの構造をアーキテクチャに落とし込みソフトウェアに可変性を注入する
                                                                          • 「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 レバテックラボ(レバテックLAB)

                                                                            「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 2024年5月14日 一般財団法人Rubyアソシエーション 理事長/Ruby開発者 まつもと ゆきひろ(松本行弘) プログラミング言語Rubyの生みの親。株式会社ネットワーク応用通信研究所フェロー、一般財団法人Rubyアソシエーション理事長、NPO団体軽量Rubyフォーラム理事長などを務める。島根県松江市名誉市民。 近年、大量のデータから文章や画像を生み出す生成AIに注目が集まる中、改めて「模倣」が果たす役割を問い直そうという動きが広がっているように見受けられます。実際に、人間はこれまで、既存の技術を「模倣」しながら新しい技術をつくりだし、その繰り返しによって発展を遂げてきました。 世界中のプログラマーから支持を集める「Ruby」も、他のプログラミング言語のさまざまな要素を採り入れて誕生し

                                                                              「人とAIの“模倣”は本質的に同じ」Rubyの父・まつもとゆきひろに聞く、技術の進化と“模倣”の関係 レバテックラボ(レバテックLAB)
                                                                            • Docker Compose で php-fpm が発行するシステムコールを見る - Shin x Blog

                                                                              php-fpm の挙動を確認するために発行されるシステムコールを簡単に確認できる Docker Compose 環境を作りました。 github.com システムコール strace-php-fpm strace オプション php-fpm が発行するシステムコール例 ini ファイルの探索 nginx からの FastCGI リクエスト PHP ファイルの読み込み さいごに 参考 システムコール システムコールは、php-fpm のようなユーザプログラムが、ファイル操作やネットワーク通信、プロセス制御のようなカーネルが提供する機能を利用する仕組みです。PHP コードは PHP(ここでは php-fpm)で実行する必要があるので、php-fpm が発行するシステムコールを確認することで php-fpm や PHP コードがどのように動作しているかを知る手掛かりになります。 システムコールを

                                                                                Docker Compose で php-fpm が発行するシステムコールを見る - Shin x Blog
                                                                              • 自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。 - じゃあ、おうちで学べる

                                                                                はじめに 自動化やツール開発において、通常時に上手くいくのは当たり前です。大切なのは失敗を想定することです。自動化したツールがエラーも出さずに実行結果的にも成功してるので動いていると思っていたら、実は問題が発生していて泣いた経験は、多くの人にあるのではないでしょうか。エラーを出力し、適切に失敗させて、ログに記録することで、問題の早期発見と迅速な対応が可能になります。また、エラーが発生する可能性のある箇所を事前に想定し、適切に処理することで、ツールの信頼性と安定性が向上します。 しかし、エラーハンドリングができていても、それだけでは不十分です。優れた自動化ツールは、環境の変化に柔軟に対応できるようにコードが設計されているべきです。 また、自動化ツールの完成度を高めるには、エラーハンドリングだけでなく、保守性、拡張性、ユーザビリティなども考慮する必要があります。 自動化ツールを開発する際は、常

                                                                                  自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。 - じゃあ、おうちで学べる
                                                                                • [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする | DevelopersIO

                                                                                  [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする どうも!オペレーション部の西村祐二です。 最近、Next.jsなどでフロントエンドの実装も行うことが増えてきました。 実装を進めていくと、page.tsx,layout.tsx,index.tsx,route.tsなど同名のファイルが増えてきて、どのファイルを開いているか分かりづらいなと思う場面がありました。 VS Codeのv1.88で開いているファイルタブのラベルをカスタマイズできるようになったので、その設定方法を紹介したいと思います。 Visual Studio Code March 2024 結論 最初に結論として、settings.jsonに下記設定をすることでディレクトリ名も表示されるようになりタブを見やすくすることができます。 .vscode/settings.js

                                                                                    [VS Code]タブのカスタムラベル設定でpage.tsx、layout.tsxなどのファイルを見やすくする | DevelopersIO