並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 1297件

新着順 人気順

javaの検索結果161 - 200 件 / 1297件

  • インターフェースと型クラスの違いを考える

    この記事では、JavaライクなインターフェースとHaskellライクな型クラスを比較します。どちらも、複数の異なる型を統一的に扱うための仕組みです。 インターフェース インターフェースはご存知の方も多いと思いますが、コード例を載せておきます。 // インターフェースの定義 interface Greetable { String greet(); } // 実装の例1 class Hello implements Greetable { String message; Hello(String m) { this.message = m; } public String greet() { return "Hello " + message + "!"; } } // 実装の例2 class Goodbye implements Greetable { public String gree

      インターフェースと型クラスの違いを考える
    • 「スマート歯ブラシ300万本を乗っ取ってDDoS攻撃」海外メディアで誤報相次ぐ “IoTテロ”は現実に起こるのか?

      スマート電動歯ブラシ300万本がマルウェアに感染してDDoS攻撃の踏み台にされ、企業のWebサイトをダウンさせた──メディア各社がこんな事件があったと報じたが、実は仮定の話にすぎなかったことが、後になって判明した。 報道によると「歯ブラシの攻撃」という見出しがついた元記事は、スイスのドイツ語ニュースサイト「Aargauer Zeitung」に掲載された。 「女性は自宅の浴室にいた。だが彼女は大規模サイバー攻撃に関与していた。電動歯ブラシはJavaでプログラミングされていて、知らないうちにマルウェアをインストールされていた――他の300万本の歯ブラシと同様に。たった1つのコマンドで、遠隔操作された歯ブラシが、スイス企業のWebサイトに同時アクセスした。サイトはダウンして4時間にわたってまひ状態となった」 これを見た英語メディアが次々に記事の内容を英訳して転載し、ネットでうわさが広がった。 A

        「スマート歯ブラシ300万本を乗っ取ってDDoS攻撃」海外メディアで誤報相次ぐ “IoTテロ”は現実に起こるのか?
      • ダークモードの需要は意外と侮れない。メモアプリへのレビューから見えてくる「眩しさ」への拒否感、ダークモード搭載の安心感

        みねたけ@個人開発と投資やってる @MinetakeT 平日の昼間から映画見てビール飲んで温泉に入りたい♨️ |  iOSアプリ開発(24本リリース/12万ダウンロード↑)| Swift,Go,Java,Python, いろいろ! | 日本株、米国株、不動産投資やってる | From. 20231009 appstore.com/yasuhirokojima

          ダークモードの需要は意外と侮れない。メモアプリへのレビューから見えてくる「眩しさ」への拒否感、ダークモード搭載の安心感
        • 「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など新機能
          • 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
            • JDK 21 の開発者向けの新機能 - 赤帽エンジニアブログ

              Red Hat のソリューションアーキテクトの瀬戸です。 この記事はRed Hat Developerのブログ記事、What's new for developers in JDK 21 | Red Hat Developer を、許可をうけて翻訳したものです。 Java開発者にとってエキサイティングな情報として、今年 9 月 19 日に JDK 21 がリリースされました。 このリリースには、仮想スレッド(Virtual Thread)、レコードパターン(Record Patterns)、順序付コレクション(Sequenced Collections)など、Javaのエコシステムに利益をもたらす多くの新機能が含まれています。JDK 21 のプレビューには、文字列テンプレート(String Templates)、スコープ付値(Scoped Values)、構造化並列処理(Structure

                JDK 21 の開発者向けの新機能 - 赤帽エンジニアブログ
              • ソフトウェア開発者としての寿命を延ばすためのバイブル(20代時点版)

                先日、『SOFT SKILLS』という本を読みました。 『SOFT SKILLS』を読んだ内容は別途、note にまとめています。 上記の記事を書いている際に、「日本版の、それも 20 代のうちに読んでよかった本をまとめたら面白そうだし有益なんじゃないか」と思いました。 "ソフトウェア開発者"としてのバイブルは人によって異なります。なぜなら人によって専門が違うからです。Java が専門の人にとって、C#の書籍はバイブルたり得ないでしょう。 しかし、ソフトウェア開発者の"人生"としてのバイブルであれば、皆一様に同じレベルで共感してもらえるのでは?と思いました。 ということで今回は『SOFT SKILLS』に書かれている、 キャリア セルフマーケティング 学習 生産性 資産形成 フィットネス マインドセット の順に自分が 20 代前半で読んでおいてよかったと思う本。 そして、ソフトウェア開発者

                  ソフトウェア開発者としての寿命を延ばすためのバイブル(20代時点版)
                • あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記

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

                    あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記
                  • JavaScriptの活躍の場を広げる「ランタイム」の今

                    執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

                      JavaScriptの活躍の場を広げる「ランタイム」の今
                    • GitHub、脆弱性のあるコードの自動修正機能発表。AIボットが修正済みコードと解説をプルリクエスト

                      GitHubは、脆弱性のあるコードをAIボットが自動的に発見、修正したコードとその解説をプルリクエストしてくれる「code scanning autofix」(コードスキャン自動修正機能)を発表しました。 Meet code scanning autofix, the new AI security expertise now built into GitHub Advanced Security! https://t.co/cTDuKZCWMv — GitHub (@github) March 20, 2024 下記がそのコードスキャン自動修正機能の説明です。「Found means fixed: Introducing code scanning autofix, powered by GitHub Copilot and CodeQL」から引用します。 Powered by GitH

                        GitHub、脆弱性のあるコードの自動修正機能発表。AIボットが修正済みコードと解説をプルリクエスト
                      • Platform Engineering on Kubernetes を読んでCloud Native の現在地を理解する - じゃあ、おうちで学べる

                        はじめに 近年、Kubernetesの採用が進む中、複数のチームが関わり、複数のクラウドプロバイダーへのデプロイを行い、異なるスタックを扱う組織では、その導入の複雑さが新たな問題となっています。本書 『Platform Engineering on Kubernetes』は、Kubernetes に登場しつつあるベストプラクティスとオープンソースツールを活用し、これらのクラウドネイティブの問題を技術的に組織的にどのように解決するかを示してくれます。 learning.oreilly.com 本書では、Kubernetes上に優れたプラットフォームを構築するための要素を明確に定義し、組織の要件に合わせて必要なツールを体系的に紹介しており、実際の例とコードを交えながら各ステップをわかりやすく説明することで、最終的にはクラウドネイティブなソフトウェアを効率的に提供するための完全なプラットフォーム

                          Platform Engineering on Kubernetes を読んでCloud Native の現在地を理解する - じゃあ、おうちで学べる
                        • GPT-3.5ベースのChatGPTのコーディング能力は「古い問題には有効も新しい問題では困難に直面する」ことが明らかに

                          GoogleやMistral AIなどからプログラミングに特化したAIツールが登場しており、大手テクノロジー企業のCEOが「AIがコードを書くのでもうプログラミングを学ぶ必要はない」と発言するなど、AIによるプログラミングは注目を集めています。そんなAIによるプログラミング能力を分析した研究が公開されており、AIモデルがトレーニングされたタイミングによっては困難に直面することがあることが判明しました。 No Need to Lift a Finger Anymore? Assessing the Quality of Code Generation by ChatGPT | IEEE Journals & Magazine | IEEE Xplore https://ieeexplore.ieee.org/document/10507163 ChatGPT Code: Is the AI

                            GPT-3.5ベースのChatGPTのコーディング能力は「古い問題には有効も新しい問題では困難に直面する」ことが明らかに
                          • 「アイデアだけでは意味がない、実装されて初めて意味がある」 世界最古のプログラミング言語から学ぶ教訓

                            プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。1回目は、「アイデアだけでは十分ではない」について。 Ruby開発のきっかけ まつもとゆきひろ氏:じゃあ、始めます。Rubyを作り始めた記録が残っているんですが、その当時勤めていた会社の先輩にあたる人が、本を書くという話になったんですね。 その時に、彼は『プログラミング言語を作りながら学ぶオブジェクト指向』という本を書くと言ってきたんですね。編集の人と話をしていく中で「どういう企

                              「アイデアだけでは意味がない、実装されて初めて意味がある」 世界最古のプログラミング言語から学ぶ教訓
                            • プログラマたちの業務外テック活動

                              同僚をみていると、仕事の外でプログラミングをしている人は少ないなと思う。ランチの時も、仕事以外のテクニカルな話をすることはほとんどない。今に限った話ではなく、もう 10 年くらいそんなかんじである。趣味プログラミングをしている人もいるにはいる。でも少ない。 ではどんな趣味があるかというと、観測した範囲では… 趣味とかいう以前に家庭が忙しい。子供が複数いて共働きというパターンはとても多いが(ヒラの収入だと共働きでもしないと家が買えないので)、そりゃ忙しいだろうなと思う。そして高学歴・高収入なおうちほど習い事を詰め込みがちであり、子の習い事やスポーツには送迎やボランティアが伴うのである。 そうした家庭持ちが家を買うとそれはそれで様々な趣味がアンロックされてしまい、忙しくなる。庭をいじったり、ガレージで木工をしたり、家自体を改造したり。こういうのは時間がかかるっぽい。 家を買えない若者もクルマと

                                プログラマたちの業務外テック活動
                              • Remix の SPA モード

                                Remix の SPA モード 2024.01.14 Remix は React のフルスタックフレームワークで、Web 標準に基づいた API で構築されていることが特徴です。Node.js のようなサーバーサイドの JavaScript 環境で動作することを前提としています。しかし、現実の世界ではサーバーを用意せずに、静的なファイルをホスティングするだけの環境で Web アプリケーションを構築することが有効な場合も多くあります。このような需要を満たすために、Remix v2.5.0 から実験的に SPA モードが導入されました。 Remix は React のフルスタックフレームワークで、Web 標準に基づいて構築されていることが特徴です。例えばデータのミューテーションはクライアントからサーバーの API をコールするのではなく、HTML のフォームを使って行うといます。また Resp

                                  Remix の SPA モード
                                • モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog

                                  こんにちは。モノタロウのTechBlog編集チームです。 モノタロウではECサイトでのお客様体験の向上を目指して、日々改善に取り組んでいます。 商品の出荷目安などの出荷関連情報は重要な要素の1つになります。 今回は、出荷関連情報の正確性を改善するとともにシステムの変更容易性を向上させるためにマイクロサービス化に取り組んだ活動をインタビューしました。 自己紹介 納期表示を高度化する サプライヤ在庫連携機能開発のつらみ AVLのマイクロサービス開発のすすめ方 リリース・監視・その後の展開 おわりに 今回インタビューしたみなさん 自己紹介 山崎 章裕 ECシステムエンジニアリング部門 開発生産性グループ、プラットフォームエンジニアリング部門 CTO-Officeグループ AVLチーム兼務 2019年8月に入社し、主にECサイトの注文・配送周りのプロジェクトにテックリードとして関わる。またECサイ

                                    モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog
                                  • ソフトウェアと愛 - あるいはOSSとAWSの確執|ミック

                                    AWSが長い間、最高のオープンソースプロジェクトを取り込み、常にそれらのコミュニティに還元することなく再利用し、再ブランド化することで非難されてきたことも周知の事実だ。 AWS gives open source the middle fingerOSSというのは、不思議なソフトウェアだ。世界中で何百万人もの人が一円にもならないのに開発に協力し、コミッタと呼ばれるエンジニアキャリアをOSSに賭ける人々が現れ、多くのユーザがユーザ会を組織し、時には大規模なイベントを開く。MicrosoftやGoogleといった大企業もOSS支援を表明している。GoogleにいたってはandroidとKubernetesという重要なOSSを世に送り出した企業でもあり、その貢献は計り知れない。 そんな中、OSSに対して敵対的、とまでは言わないにしても非常に冷淡な態度を取る企業がある。それがAWSである。本稿では

                                      ソフトウェアと愛 - あるいはOSSとAWSの確執|ミック
                                    • クラスメソッドによる2024年OSS支援(5件)を紹介します | DevelopersIO

                                      2024年。今年も去年に引き続きクラスメソッドとしてOSS支援(5件)を実施させていただいたので、その内容を報告いたします。 「そろそろOSS支援の季節がやってまいりましたね!」 「今年は全社で候補を募ろうぜ」 2023年に実施していたクラスメソッドによるOSS支援ですが、2024年の今年も5つのOSSに対して支援を実施させていただきました。このブログでは、支援先の選定過程や選定理由などをご報告いたします! 2023年(去年)のOSS支援内容 2023年も同じような時期に、クラスメソッドとしてOSS支援を実施しております。詳細はこちらをご参考ください。 クラスメソッドOSS支援開始のお知らせ そもそもなぜクラスメソッドはOSSを支援するのか? (この内容は去年と変わらずですが、大事なことなので再掲しています) そもそも、なぜクラスメソッドがOSSを支援するのか、その理由を説明します。この草

                                        クラスメソッドによる2024年OSS支援(5件)を紹介します | DevelopersIO
                                      • Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG

                                        はじめに 技術評論社様より発刊されているSoftware Designの2024年5月号より「レガシーシステム攻略のプロセス」と題した全8回の連載が始まりました。 本連載では、ZOZOTOWNリプレイスプロジェクトについて紹介します。2017年に始まったリプレイスプロジェクトにおいて、ZOZO がどのような意図で、どのように取り組んできたのか、読者のみなさんに有益な情報をお伝えしていければと思いますので、ご期待ください。第1回目のテーマは、「ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計」です。 目次 はじめに 目次 ZOZOTOWNリプレイスの背景、目的 背景 目的 柔軟なシステム 開発生産性 技術のモダン化 採用強化 ZOZOTOWNリプレイスの歴史とアーキテクチャの変遷 アーキテクチャの変遷 2004年〜2017年:オンプレミス(リプレイス前) 2017年〜20

                                          Software Design 2024年5月号 連載「レガシーシステム攻略のプロセス」第1回 ZOZOTOWNリプレイスプロジェクトの全体アーキテクチャと組織設計 - ZOZO TECH BLOG
                                        • TypeScriptにおけるDDDのドメインオブジェクトの課題と対策

                                          こんにちは、近藤です。 commmune Advent Calendar 2023 18日目の記事は『TypeScriptにおけるDDDのドメインオブジェクトの課題と対策』です はじめに ドメイン駆動設計(DDD)は、複雑なビジネスロジックを扱うアプリケーション開発において、重要かつ効果的なアプローチとして広く認識されています。 コミューンでは、現場で役立つシステム設計の原則の著者、増田さんのご協力を得て、プロダクト開発を進めています。 幸運なことに私は増田さんとの密なコミュニケーションを取らせて頂いており、DDDの理論と実践方法に関する貴重な知見を深めその有用性を感じております。 しかし、TypeScriptのような構造的型付けを採用する言語でDDDを適用する際には、特有の課題が生じることがあります。本記事では、TypeScriptでの構造的型付けに伴う課題、そしてそれらを克服する方法に

                                            TypeScriptにおけるDDDのドメインオブジェクトの課題と対策
                                          • 【2024年】AWS全サービスまとめ | DevelopersIO

                                            こんにちは。サービス開発室の武田です。このエントリは、2018年から毎年公開しているAWS全サービスまとめの2024年版です。 こんにちは。サービス開発室の武田です。 このエントリは、2018年から毎年公開している AWS全サービスまとめの2024年版 です。昨年までのものは次のリンクからたどってください。 AWSにはたくさんのサービスがありますが、「結局このサービスってなんなの?」という疑問を自分なりに理解するためにまとめました。 今回もマネジメントコンソールを開き、「サービス」の一覧をもとに一覧化しました。そのため、プレビュー版など一覧に載っていないサービスは含まれていません。また2023年にまとめたもののアップデート版ということで、新しくカテゴリに追加されたサービスには[New]、文章を更新したものには[Update]を付けました。ちなみにサービス数は 247個 です。 まとめるにあ

                                              【2024年】AWS全サービスまとめ | DevelopersIO
                                            • 書評 プロフェッショナルTLS&PKI 改題第2版 (PR) - ぼちぼち日記

                                              はじめに 『プロフェッショナルTLS&PKI改題第2版(原題: Bulletproof TLS and PKI Second Edition)』が出版されました。今回は出版前のレビューには参加していませんが、発売直後にラムダノートさんから献本をいただきました。ありがとうございます(そのためタイトルにPRを入れてます)。原著のサイトでは前バージョンとのDiffが公開されており、今回は翻訳の確認を兼ねて更新部分を重点的に読みました。このエントリーでは、改訂版のアップデート部分がどのようなもので、今後どう学んだらよいかということを中心に書いてみたいと思います。 短いまとめ: HTTPSへの安全意識が高まっている今だからこそ『プロフェッショナルTLS&PKI』を読みましょう。 長文注意!: 書いているうちに非常に長文(1万字以上)になってしまったので、長文が苦手な方は、GPT-4要約(400字)を

                                                書評 プロフェッショナルTLS&PKI 改題第2版 (PR) - ぼちぼち日記
                                              • 【30歳/完全未経験/独学】webアプリを作製しました【Golang, Next.js, MySQL, Docker, GitHub Actions CI, AWS Fargate on ECS】 - Qiita

                                                完成物 ER図 画面遷移図 figma, 原寸画像 AWS構成図 ※備考※ GitHub Actions CIは構築済みです。 GitHub Actions CD, apiのprivate subnet化にも取り組んでいます。 EC2インタンスは通常時停止です。 技術選定理由 プログラミング、IT業界ともに未経験で着手し独学で作りました。 Go 比較対象:JAVA、Ruby、Python、PHP コンパイラ言語であり実行速度が高速である 静的型付けであり、コンパイル前にバグを発見しやすい 静的型付けかつ記述自由度が低いことから、以下2点を利点と考えた 開発を中長期まで続けた際にも、加筆・改修しやすい 他人のコードを読んだ際に学びやすい Javaも多少書いてみたが、簡素にかけるGoの方がしっくりきた SHOWROOM、IRIAM、Twitch、AbemaTVといった動画配信サービスにも採用さ

                                                  【30歳/完全未経験/独学】webアプリを作製しました【Golang, Next.js, MySQL, Docker, GitHub Actions CI, AWS Fargate on ECS】 - Qiita
                                                • 注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog

                                                  更新履歴 2024/4/24 18:10 JetBrains IDE 2024.1 で IDE がクラッシュする問題が別途報告されています。問題および回避策は JBR-6817 です。 2024/3/26 13:00 Apple 社より本問題(Java アプリがクラッシュする問題)に対する macOS の修正 mac OS 14.4.1 がリリースされています。 2024/3/22 22:24 本問題に対するワークアラウンドを含む 2023.3.6 がリリースされましたので回避策に追記しました。 2024/3/18 1:03 macOS 14.4 はセキュリティアップデートを含むため(一般には)適用が推奨されること、および IDE クラッシュの発生頻度は JVM のバージョンや VM オプション、利用形態等の環境により異なることが考えられるため macOS 14.4 インストール済み環境に

                                                    注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog
                                                  • 【2024年版】JavaScript(React)におけるリーダブルコードのチートシート1~3章 - Qiita

                                                    概要 リーダブルコードを読んでいて、JavaやC++、Pythonの事例も混じっているのと割とレガシーな例題が多いなーと感じました。 React.js、Next.js、TypeScriptをメインにフロントエンドエンジニアとして仕事をしている自分用に、後で見返せるよう2024年JavaScript版リーダブルコードのチートシート的なものを改めて読み返しながら随時更新していきます。 そもそもリーダブルコードとは ダスティン・ボスウェル著書の良いコードを書くための技術書です。 エンジニアになったら1度は目を通した方が良いとされる代表格の技術書ではないでしょうか? 意味としてのリーダブル(readable)コード(code)とは、「読みやすいコード」と直訳できます。 チーム開発ではスムーズな開発や保守性を担保するために読みやすいコードが必要とされます。 リーダブルコードではそんな読みやすいという

                                                      【2024年版】JavaScript(React)におけるリーダブルコードのチートシート1~3章 - Qiita
                                                    • LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回

                                                      こんにちは。コミュニケーションアプリ「LINE」のモバイルクライアントを開発している石川です。 私達は、高い開発生産性を維持するために、コード品質と開発文化の改善に注力しています。 そのために様々な取り組みを行っているのですが、その 1 つとして Review Committee の活動があります。 Review Committee では、マージ済みのコードを再度レビューし、レビューアとオーサーにフィードバックしたり、レビューで集めた知見を Weekly Report と称して毎週共有したりしています。 この Weekly Report で共有される話題は、Android や iOS といったプラットフォームや、Kotlin や Swift 言語固有の注意点も含まれるのですが、多くの場合はプログラミング一般に適用できるものになるように配慮しています。(ただし、説明のために使うコードは Ko

                                                        LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回
                                                      • 「GitHub Copilot」を使う時、何に注意するべきか GitHub社・服部氏が解説する、活用のTips

                                                        「GitHub Copilot」の真のパワーについて発表したのは、GitHub社の服部佑樹氏。株式会社タイミー社が主催した「GitHub Copilotで拓く開発生産性」で「GitHub Copilot」の実装やプラクティスについて話しました。全2回。後半は、「GitHub Copilot」の仕組みと使う時のTips。前回はこちら。 ※本記事の内容は2023/08/30時点のものです。GitHub Copilotの実装は、今後変更される可能性があります。最新情報はドキュメントをご覧ください。 「GitHub Copilot」の裏側 服部佑樹氏:ここから、「Behind the curtain」というところで、ちょっと裏側にいきたいと思います。仕組みと、あとは、どうやって読み取るのか、Tips and Tricks、というところでいきたいと思います。 先ほど、3レイヤーありますというお話をし

                                                          「GitHub Copilot」を使う時、何に注意するべきか GitHub社・服部氏が解説する、活用のTips
                                                        • 理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita

                                                          はじめに 「理解容易性」は「保守性」の観点の1つとして重視され、多くの原則や技法が紹介されているが、断片的かつ多様であり、全体像を理解することは難しい。 抽象度は高いが、体系的に観点を整理する事で、その理解の助けとなれば幸いである。 定義 「理解容易性」を簡単に言えば、「理解のしやすさ」であるが、その意味から掘り下げると、「思考する量」と言い換えることができる。 本記事では理解容易性を「思考量の少なさ」と定義し、7つの観点に整理した。 先に要約およびチェックリストを記載し、概略を記載した。 後に詳細で理解のため、各観点毎の説明と個別の原則や技法へのリンクを記載した。 要約 7つの観点の要約を先に示す。 (変数や関数の)名称は分かりやすくする (変数や関数の)役割は1つにする (変数や関数の)参照は狭くする (変数や関数の)状態は変えられなくする (関数やクラスの)面積は小さくする (関数や

                                                            理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita
                                                          • Postmanでつくる決済システムの非同期処理テスト

                                                            From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE

                                                              Postmanでつくる決済システムの非同期処理テスト
                                                            • Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする | フューチャー技術ブログ

                                                              Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする 春の入門祭り2024の1記事目です。 はじめにTIG真野です。 Testcontainers を用いて、単体テスト実行前に docker compose up -d 無しで、PostgreSQLにアクセスする単体テストを行う、入門記事です。 恩恵は次のような開発者体感の向上が個人的にあります。 テストを実行するうえで、別プロセスのサービスを起動しておく必要があるといった前提条件を考えなくても済むため、テストを行うビジネスロジックに集中できる docker compose up -d 打たないだけだが、テストに必要なコンテナを考慮しなくても済む 停止し忘れて、別のリポジトリの開発するときに混乱しなくても済む 並列テストしやすくなるので、テストの実行速度が向上する Goにおい

                                                                Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする | フューチャー技術ブログ
                                                              • 『詳解Rustアトミック操作とロック』(Rust Atomics and Locks) - Don't Repeat Yourself

                                                                昨年買っていたんですが、年末年始の時間を使って少し読めました。 著者はRustコンパイラにコントリビューションをしたことがあれば誰でも知っているかもしれない、Mara Bos氏です。 ちなみにですが、原著は下記サイトで無料でも読むことができます。 marabos.nl 書籍は下記です。 詳解 Rustアトミック操作とロック ―並行処理実装のための低レイヤプログラミング 作者:Mara Bosオーム社Amazon なおこの記事内で「本書」と明記する場合、それは『詳解Rustアトミック操作とロック』を指します。また、「筆者」は私自身のことであり、「著者」はMara Bos氏のことです。 内容のメモ 1章 2章 3章 4章、5章 6章 Miri Loom 7章 8章 9章 10章 感想 日本語での別の資料 内容のメモ 読んだ内容のうち、印象に残ったり初見だったものをメモしておきます。 1章 1章

                                                                  『詳解Rustアトミック操作とロック』(Rust Atomics and Locks) - Don't Repeat Yourself
                                                                • RAG構築のためのAzure OpenAI Serviceリファレンスアーキテクチャ詳解 | SIOS Tech. Lab

                                                                  こんにちは、サイオステクノロジー武井です。今回は、「RAG構築のためのAzure OpenAI Serviceリファレンスアーキテクチャ詳解」と題しまして、マイクロソフトが提供するRAG導入のためのリファレンスアーキテクチャについて解説します。 ※ 本記事の内容がベースとなっているオンラインセミナーのアーカイブが以下のYouTubeで配信されています。ぜひ見てね!! Azure OpenAI Service リファレンスアーキテクチャとは? マイクロソフトは、Azureでのシステム構築に役立つ様々な設計パターン(リファレンスアーキテクチャ)を提供しています。これらのパターンを参考にすれば、問題なく簡単にシステムを構築することが可能です。ゼロから設計を始める必要はありません。 https://learn.microsoft.com/ja-jp/azure/architecture/brows

                                                                    RAG構築のためのAzure OpenAI Serviceリファレンスアーキテクチャ詳解 | SIOS Tech. Lab
                                                                  • [速報]Google Cloudが「Gemini Code Assist」発表。最新のAIによるコーディング支援、Stack Overflowのナレッジも統合。Google Cloud Next '24

                                                                    Google Cloudは、日本時間4月10日未明から開催中のイベント「Google Cloud Next '24」で、最新のAIによるコーディング支援サービス「Gemini Code Assist」を発表しました。 Gemini Code Assistは、GitHub CopilotやAWS CodeWhispererなどと競合するサービスと位置づけられます。 Gemini Code Assistは最新AIモデル「Gemini」採用 Google Cloudは昨年(2023年)12月にAIによるコード補完やコード生成などを実現する「Duet AI for Developers」を正式リリースしています。今回発表されたGemini Code Assistは、同社の最新AIモデルである「Gemini」を採用したDuet AI for Developersの進化版だと説明されています。 参考:

                                                                      [速報]Google Cloudが「Gemini Code Assist」発表。最新のAIによるコーディング支援、Stack Overflowのナレッジも統合。Google Cloud Next '24
                                                                    • プログラミング言語Rustになぜ注目するのか - Qiita

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

                                                                        プログラミング言語Rustになぜ注目するのか - Qiita
                                                                      • Next.jsにするか他のフレームワークにするか迷っている人はNext.jsを選べばいい | フューチャー技術ブログ

                                                                        タイトルで言いたいことは言ってしまっているのですが、2017年ぐらいからNext.jsを使ってきて、最新の情報のキャッチアップとかもそんなに苦労はなくて、こだわりがないならNext.jsでいいのでは? という記事です。 Next.jsは大きすぎる?フレームワークが大きいのはたいていそうで、提供されているすべての機能を使うわけではなく、その一部だけを使います。そのサブセット自体がシンプルであればフレームワークはどれだけ大きくても問題はないはずです。JavaとかPythonとかGoのコード書いてもごく一部のライブラリしか使わないわけで、でもそれに対して「ライブラリがでかすぎる」とは言わないですよね。 Next.jsは「より高速にする」機能がたくさんありますが、別にそんなの最初から使う必要はないですし、サービスによってはそもそもその機能が合わない、というのもあります。ユーザープロフィール画面にI

                                                                          Next.jsにするか他のフレームワークにするか迷っている人はNext.jsを選べばいい | フューチャー技術ブログ
                                                                        • x=x+1がわからないのは逐次実行がわかっていないからで、記号を変えても解決にならない - きしだのHatena

                                                                          x = x + 1がわからないという話が流行ってました。 で、「=ではなく:=を使えば」とか「イミュータブルにすれば」とかいう話が出たりしてますが、問題をあとまわしにしてるように見えます。 結局のところ、逐次実行がわかっていないことが表面化している場合がほとんどではないかと。 https://speakerdeck.com/kishida/lets-code-a-process?slide=8 プログラム以外の文章は、基本的にひとつの状態を示していて状態が遷移するということがありません。 推理小説なども、最終的な状態が徐々に開示されるだけともいえます。途中から読むと犯人が変わるということはないですね。もちろんそのように途中から読むと犯人が変わるような叙述トリックは可能ですが、通常はそうではないからトリックになるわけで。 つまり、x = x + 1という式は、x + 1という演算を行ってから

                                                                            x=x+1がわからないのは逐次実行がわかっていないからで、記号を変えても解決にならない - きしだのHatena
                                                                          • 【Go】公式ツール "eg" を使って効率的にGoのコードをリファクタリングする - Qiita

                                                                            はじめに こんにちは、ken です。お仕事では Go をよく書きます。 最近、Go の公式パッケージであるgolang.org/x/toolsを眺めていたら、なにやら有用そうなパッケージを見つけたので今回はそれについて書こうと思います。 それはegというリファクタリングツールです。 eg とは eg は、例ベースで Go コードをリファクタリングするためのツールです。このツールを使用することで、特定のコードパターンを別のコードに置き換えることができ、効率的にリファクタリングが行えます。 先ほど貼った公式ドキュメントに詳しい説明があるかと思いきや The eg command performs example-based refactoring. For documentation, run the command, or see Help in golang.org/x/tools/ref

                                                                              【Go】公式ツール "eg" を使って効率的にGoのコードをリファクタリングする - Qiita
                                                                            • プラットフォームの上に劣化版のプラットフォームを作成してしまうアンチパターン「内部プラットフォーム効果」とはどういうものなのか

                                                                              「ソフトウェア設計におけるアンチパターンの中に特にひどいにも関わらず文書化されていないものがある」として、ソフトウェア開発のためのハウツーガイドを提供するサイト「The Daily WTF」の設立者であるアレックス・パパディムーリスさんが「内部プラットフォーム効果(Inner-platform effect)」について投稿しています。 The Inner-Platform Effect - The Daily WTF https://thedailywtf.com/articles/The_Inner-Platform_Effect パパディムーリスさんは「システムをカスタマイズしすぎることで設計時に使用されたプラットフォームの粗悪なレプリカになってしまう」という現象を、「内部プラットフォーム効果」と命名しました。 内部プラットフォーム効果の代表的な例として、エンジニア以外でもデータベース

                                                                                プラットフォームの上に劣化版のプラットフォームを作成してしまうアンチパターン「内部プラットフォーム効果」とはどういうものなのか
                                                                              • WebAssemblyのガベージコレクションが正式機能に、最新版のChrome 119で。Firefoxも今月リリースのFirefox 120で正式機能になる見通し

                                                                                WebAssemblyのガベージコレクションが正式機能に、最新版のChrome 119で。Firefoxも今月リリースのFirefox 120で正式機能になる見通し 2023年2月にリリースされたChrome 111から試験的実装となっていたChromeにおけるWebAssemblyのガベージコレクション機能(以下、WasmGC)が、10月31日にリリースされたChrome 119で正式機能になったことが明らかになりました。 Firefoxでも今月(2023年11月)21日リリース予定のFirefox 120においてWasmGCが正式機能になる見通しです。 WasmGCを利用することで、ガベージコレクション機能が言語のランタイムに含まれているJavaなどプログラミング言語をWebAssemblyで実装することが容易になるため、今後WebAssembly上でさまざまなプログラミング言語の実装

                                                                                  WebAssemblyのガベージコレクションが正式機能に、最新版のChrome 119で。Firefoxも今月リリースのFirefox 120で正式機能になる見通し
                                                                                • 【日本人エンジニア必見】英語圏の優良学習コンテンツまとめ - Qiita

                                                                                  弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに エンジニアリングの分野では、技術の進化が日々進んでおり、エンジニアにとって継続的な学習が不可欠です。新しい技術の習得やスキルの向上に有効な学習手段が重要です。 日本では日本語のコンテンツはもちろんありますが、最先端の技術を取得するには、英語圏のコンテンツは切りたくても切り離せないことです。本記事は、日本人エンジニアが自身のスキルを向上させ、最新の技術に追いつくための優れた英語コンテンツをご紹介します。 エンジニア向けのおすすめの英語コンテンツ一覧 エンジニアにおすすめ17の英語コンテンツをご紹介します。 1.Codecademy (Website): 難易度:★★

                                                                                    【日本人エンジニア必見】英語圏の優良学習コンテンツまとめ - Qiita