並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 1419件

新着順 人気順

javaの検索結果241 - 280 件 / 1419件

  • 私の心を揺さぶったプログラミング言語 - ABAの日誌

    'Programming Languages That Blew My Mind'というブログ記事で、8歳からプログラマーとして活動しているDavid Tellerさんが、人生で出会った革新的なプログラミング言語について紹介している。 BASIC A language designed to make programming simple. Mind blown: Programming my own games! Mind blown: Arrays (or DIM, as they were called)! Mind blown: GOTO! Mind blown: GOSUB! Original, line-based, Basic is dead, but its legacy lives on in VB.Net, VBA, but also in more subtle ma

      私の心を揺さぶったプログラミング言語 - ABAの日誌
    • Win32 Disk Imager Renewal (Google Drive 相性問題解決、単一バイナリ、デジタル署名版) - by dnobori - Qiita

      Win32 Disk Imager Renewal (Google Drive 相性問題解決、単一バイナリ、デジタル署名版) - by dnoboriWindowsUSBWin32APIGoogleDriveSDカード by 登 大遊, 2022/11/19, Quiita 第二投稿記事 Git リポジトリ https://github.com/dnobori/DN-Win32DiskImagerRenewal は、Windows 上での USB メモリ / SD カードイメージ書き込みツールのデファクト・スタンダードとなっている Win32 Disk Imager について、以下の点を改良した 「Win32 Disk Imager Renewal」 の デジタル署名済みの EXE 単体で動作する Win32 / x64 / ARM64 版バイナリ とソースコードを配布するためのものである

        Win32 Disk Imager Renewal (Google Drive 相性問題解決、単一バイナリ、デジタル署名版) - by dnobori - Qiita
      • dodaアプリを支える技術とアーキテクチャ・設計思想 - techtekt

        doda アプリ開発グループの坂戸です。 今回は doda アプリがどのような技術を使用してアーキテクチャ・設計しているかをお話しします。 前半部分をフロントエンド、後半部分をバックエンドに分けて説明していきます。 フロントエンド doda アプリのフロントエンドはざっくり以下の構成で成り立っています。 ReactNative ReactNativeFirebase typescript ReduxToolkit Realm jest 今回は設計のお話をしたいので、各ライブラリの詳細な説明などは割愛させていただきます。 まずは外観をご覧ください。 dodaアプリフロント概要 Redux フロントエンドで取り扱うデータを格納する層です。 各ドメインの粒度でSliceを切ってデータを管理しております。 ディレクトリ構成は Re-ducks パターンを採用。基本的にはReduxの原則に則って管理

          dodaアプリを支える技術とアーキテクチャ・設計思想 - techtekt
        • Java 21の概要 / outline of Java 21

          2023/10/20に行われたJava 21リリースイベント@福岡での登壇資料です。 https://javaq.connpass.com/event/298600/

            Java 21の概要 / outline of Java 21
          • メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに プログラミング学習を始めて1年経過しました。しかし、今までオブジェクト指向の概念から目を背けてきた結果、現在エンジニアとして苦労しているので、書籍「オブジェクト指向でなぜつくるのか」にて学習中です。 その中で、以下のような章がありました。 「メモリの仕組みの理解はプログラマのたしなみ」 これを見て、自分は今までそんなこと意識していなかったのと強く感じたので、今回はこの書籍で書かれていた、一般的なプログラムの動作環境としての最低限の知識を整理しました。 プログラムが動く仕組みを理解する上で重要な概念 コンパイラ方式とインタプリタ

              メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita
            • 認証・認可基盤に Keycloak を使って開発生産性を上げた話

              JJUC CCC 2020 Fall の登壇資料です。 https://confengine.com/jjug-ccc-2020-fall/schedule/rich#session-28680-info keyword - BaaS ( Banking as a Service ) - …

                認証・認可基盤に Keycloak を使って開発生産性を上げた話
              • 朝飯前に学べる!便利なPythonのヒント100選【前編】 - Qiita

                本記事は、Fatos Morina氏による「100 Helpful Python Tips You Can Learn Before Finishing Your Morning Coffee」(2021年5月10日公開)の和訳を、著者の許可を得て掲載しているものです。 #朝飯前に学べる!便利なPythonのヒント100選【前編】 Photo by Jexo on Unsplash ##はじめに Pythonは、主にそのシンプルさと習得のしやすさから、最近では非常に人気があります。 データサイエンスや機械学習、ウェブ開発、スクリプト記述、自動化など、幅広い分野で利用することができます。 この記事はかなり長いので、すぐ始めましょう。 ##1. forループのelse条件 今までにPythonのあらゆるコードを見てきたとしても、次のfor-elseは見逃している可能性があります。私も数週間前に

                  朝飯前に学べる!便利なPythonのヒント100選【前編】 - Qiita
                • Java 18正式リリース。デフォルトのCharsetが「UTF-8」に、シンプルWebサーバ搭載など新機能

                  Java 18正式リリース。デフォルトのCharsetが「UTF-8」に、シンプルWebサーバ搭載など新機能 Javaの新バージョン「Java 18」が正式にリリースされました。 Java 18 is now available! #Java18 #JDK18 #openjdk Download now: https://t.co/hTJU1ZzAWQ Release notes: https://t.co/Xdkj5TObNP API Javadoc: https://t.co/izFBPlYkd9 Features: https://t.co/3z0l5sXyDX pic.twitter.com/Ct1BvYmDYs — Java (@java) March 22, 2022 Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるバージョンアップが行われ、そのなかの1つのバージョンが

                    Java 18正式リリース。デフォルトのCharsetが「UTF-8」に、シンプルWebサーバ搭載など新機能
                  • AWS、「Java 8」を2026年まで、「Java 11」は2027年まで、現行より3年サポート期間延長を発表。独自JavaディストリビューションのCorretto 8とCorretto 11で

                    AWS、「Java 8」を2026年まで、「Java 11」は2027年まで、現行より3年サポート期間延長を発表。独自JavaディストリビューションのCorretto 8とCorretto 11で Amazon Web Services(AWS)は、同社が無償で提供しているJavaディストリビューション「Amazon Corretto」の長期サポート期間を延長すると発表しました。 Java 8に相当する「Amazon Corretto 8」は2023年6月までだったのが2026年5月までに延長、Java 11に相当する「Amazon Corretto 11」は2024年8月までだったのが2027年9月までにサポート期間が延長されます。 ユーザーはこの日まで無償でAWSからセキュリティパッチなどを受け取ることができます。 New #AWSLaunches! Announcing 3 new

                      AWS、「Java 8」を2026年まで、「Java 11」は2027年まで、現行より3年サポート期間延長を発表。独自JavaディストリビューションのCorretto 8とCorretto 11で
                    • 「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能

                      「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能 Spring Frameworkの開発チームとGraalVMの開発チームは、GraalVMを用いてSpring Frameworkのアプリケーションをネイティブイメージにコンパイルする「Spring Native」がベータ版として公開されたことを発表しました。 Announcing Spring Native Beta! Read the blog post https://t.co/5klXV6kSVB and check out the video for more details. #spring #native #graalvm https://t.co/83pI3vNYEr — Spri

                        「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能
                      • JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始

                        Jenkins開発チームは、6月28日リリースのJenkins 2.357および9月にリリース予定のJenkins LTS版からはJenkinsの実行環境としてJava 11が必須になることを、ブログ「Jenkins requires Java 11」で明らかにしました。 これまでJenkinsはJava 8もしくはJava 11を実行環境としていましたが、Java 8の対応がなくなることになります。 Jenkins 2.357 released today as the first Jenkins version to require Java 11. @bcrow shares the history of Java support in Jenkins and the benefits of the update. https://t.co/FPTNBTG3jK pic.twitte

                          JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始
                        • 米国では既に標準化の流れ、日本企業も対応を迫られる「SBOM」とは

                          DX(デジタルトランスフォーメーション)やIoT(Internet of Things)の進展により、ますますその存在感が増しているオープンソースソフトウェア(OSS)。ソフトウェアの高機能化、大規模化によるサプライチェーンの複雑化を背景に、SBOM(Software Bill of Materials)によるOSSサプライチェーンマネジメントに注目が集まっています。米国では既に必須化・標準化の動きが始まっており、日本企業も対応を迫られるようになってきました。本記事では、あらためてSBOMとは何か、そして日本におけるSBOM活用の普及促進にはどういった課題があるかについて、詳しく解説します。 SBOMとはいったい、どのようなものなのか Software Bill of Materials(SBOM、「エスボム」と読みます))とは、ソフトウェアを構成するOSSや商用ソフトウェアなどのライブラ

                            米国では既に標準化の流れ、日本企業も対応を迫られる「SBOM」とは
                          • 「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita

                            はじめに この記事はシスコ同志によるAdvent Calendarの25日目として投稿しています。 幸いタイトルのような無茶振りには遭ったことはありませんが、シスコではJavaバイトコードを操作する技術を使った監視製品を開発しているので、その技術について本記事でサンプルを交えて紹介します。 この記事を読んで出来ること おわかりでしょうか?HelloWorldはAliceに対して挨拶するプログラムだったのに、-javaagent:agent.jarというオプションを付けて実行すると、Malloryに挨拶するプログラムに変わってしまいました。 このカラクリはJVMが読み込んだJavaバイトコードを実行時に書きかえ、変数の値をAliceからMalloryに変えています。HelloWorldのソースコードも、コンパイル後の.classファイルも変えていないにも関わらず、実行時に処理を変更できてしま

                              「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita
                            • オブジェクト指向言語物語

                              メタデータをダウンロード RIS形式 (EndNote、Reference Manager、ProCite、RefWorksとの互換性あり)

                              • ちっちゃなScalaコンテナを作つコツ(6 MiBだぞ) - Lambdaカクテル

                                おなじみの画像 JavaやScalaといったJVM言語のDockerイメージは、JVMを同梱しなければならない都合で肥大化しがちである。特に何もしなくても、例えば一般的なamazoncorretto:21のイメージサイズは217.7 MBもある。 hub.docker.com これにさらにビルド済みのJARファイルが載ってくるので、結構大きくなってしまうのだ。 そこで、Scalaのコンテナイメージのサイズをなんとか小さくできないかと、考えた。すると、JVMを使ったまま70 MiBくらいに縮めることができた。 github.com コンテナイメージのサイズを小さくするために、何をしたかを書いていく。ちなみに題材としたアプリケーションはちょっとしたHello, Worldをするだけのもので、ライブラリはCatsに依存させた。 JVM使う編 マルチステージビルドを行う Alpineなどの軽量ラン

                                  ちっちゃなScalaコンテナを作つコツ(6 MiBだぞ) - Lambdaカクテル
                                • KotlinでAndroid/Web/DesktopアプリのUI開発を統一するフレームワーク「Compose Multiplatform」がアルファ版に

                                  プログラミング言語のKotlinを開発するJetBrainsは、KotlinでAndroidアプリ、Webアプリ、Desktopアプリを統一的に記述できるフレームワークとなる「Compose Multiplatform」がアルファ版に到達したことを発表しました。 Compose Multiplatformは、Android用のUIフレームワークである「Jetpack Compose」をベースに、Webアプリ用の「Jetpack Compose for Web」、Windows/Mac/Linuxのデスクトップアプリケーション用の「Jetpack Compose for Desktop」の3つのフレームワークを統合するものです。 ベースとなるJetpack Composeが今月バージョン1.0となったのを契機に、Compose Multiplatformがアルファ版として登場することになりま

                                    KotlinでAndroid/Web/DesktopアプリのUI開発を統一するフレームワーク「Compose Multiplatform」がアルファ版に
                                  • マイクロソフト、GitHub CopilotでJavaと.NETのコードを自動的にモダナイズする機能をパブリックプレビュー公開

                                    マイクロソフト、GitHub CopilotでJavaと.NETのコードを自動的にモダナイズする機能をパブリックプレビュー公開 マイクロソフトは、GitHub Copilotを用いて古いJavaコードや.NETのコードを新しいバージョンへと自動的に変換する機能「GitHub Copilot app modernization for Java」(以下、Copilot modernization for Java)、「GitHub Copilot app modernization - Upgrade for .NET」(以下、Upgrade for .NET)をそれぞれパブリックプレビュー公開しました(Copilot modernization for Javaの発表、Copilot Upgrade for .NETの発表)。 GitHub CopilotでJavaコードをモダナイズ Co

                                      マイクロソフト、GitHub CopilotでJavaと.NETのコードを自動的にモダナイズする機能をパブリックプレビュー公開
                                    • オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開

                                      オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開 New Oracle open source project released! Oracle Java Platform extension brings full featured @Java development (edit-compile-debug & test cycle) for Maven and Gradle projects to VS Code. Get started: https://t.co/knjeFPRY1Q Learn more: https://t.co/77SIeky3cE#OracleOSS pic.twitter.com/whXIKFsBHV — Oracle Open So

                                        オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開
                                      • 40代で新しいキャリアを選択したエンジニアが語る、プログラミングの世界に起きている面白い変化とは - Findy Engineer Lab

                                        一昔前まで囁かれていた「エンジニア35年定年説」。 しかし近年では、技術に特化した専門職・ICなど、マネジメント職以外の選択肢も少しずつ増えています。エンジニアとしては、今後のキャリアをどのように考えるべきなのでしょうか。 ファインディでは「40代でキャリアチェンジした2人の本音は?混沌な時代を生き抜くエンジニアのキャリア戦略を考える」と題したイベントを開催。 ミドル世代で新たなキャリアを選択したメリカリ牧さんと、LINE Fukuokaきしださんをお招きし、お話を伺いました。 お二人は「マーケットトレンドの変化は今後起こりにくくなる」と前提しつつ、自分が納得する道を選ぶべきだと語られました。 パネリスト 牧 大輔さん/@lestrrat 株式会社メルカリ jwxや peco の開発責任者。Go/Perl/Cプログラマ、講演、執筆、動画プロデュースなどを生業としている。過去には技術カンファ

                                          40代で新しいキャリアを選択したエンジニアが語る、プログラミングの世界に起きている面白い変化とは - Findy Engineer Lab
                                        • 「Log4j」2.17.0にもリモートコード実行の脆弱性 修正バージョン公開

                                          任意のリモートコードが実行可能になってしまうゼロデイ脆弱性が問題になったJava向けロギングライブラリ「Apache Log4j」に、また脆弱性が見つかった。提供元の米The Apache Software Foundation(ASF)は、脆弱性を修正したバージョンへのアップデートを呼び掛けている。 新たな脆弱性(CVE-2021-44832)は、攻撃者がログ設定ファイルを変更できる権限を持った場合にリモートコードの実行が可能になるというもの。影響範囲はバージョン2.0-alpha7から2.17.0までの2系(ただし特定のセキュリティ修正バージョンを除く)。 CVSS(共通脆弱性評価システム)スコアは6.6で深刻度は「Moderate」。当初のゼロデイ脆弱性(CVSS10.0で「致命的」)より影響レベルは低いが、直前に見つかっていたDoS(サービス拒否)攻撃の脆弱性よりは高く見積もられて

                                            「Log4j」2.17.0にもリモートコード実行の脆弱性 修正バージョン公開
                                          • クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング

                                            Java Developers Summit (2023-02-28)

                                              クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング
                                            • Cookieを永続化して、どこまでも個人を追跡するEvercookie - Qiita

                                              Evercookieは、ブラウザに究極的に永続的なCookieを生成するJavaScript APIです。 その目的は、標準的なCookie、Flash Cookieなどを削除した後でもクライアントを識別し続けることです。 これは、可能なかぎり多くのストレージにCookieデータを保存することで達成します。 いずれかのストレージからCookieが削除されたとしても、ひとつでも残っている限り、Evercookieは残ったデータからCookieデータを復旧します。 Flash LSO、SilverlightもしくはJavaが有効な場合、Evercookieはブラウザを超えて同じクライアント上の別のブラウザにCookieを伝播することすら可能です。 本リポジトリは、Samy Kamkarおよび多くのコントリビュータによって作られています。 Browser Storage Mechanisms E

                                                Cookieを永続化して、どこまでも個人を追跡するEvercookie - Qiita
                                              • 新規事業開発での技術選定の意思と意図 (バックエンド編) - Sansan Tech Blog

                                                こんにちは、新規事業開発室に所属するソフトウェアエンジニアの加藤です。私は関西支店でBill Oneという新規サービスの開発に携わっています。 弊社にはSansanのカタチという企業理念があり、働く人々が体現すべきValuesの1つに「意思と意図をもって判断する」があります。ソフトウェアエンジニアとして、意志と意図をもって利用する技術を選定することは当然かもしれませんが、細部までそれを徹底するのは難しいこともあります。本稿では、私たちが使用している技術やライブラリを振り返って、どんな意志と意図があるかを確認していきたいと思います。 などと硬めのことを書きましたが、他所のチームでは普通に使われているライブラリを意外と知らなかったりするので、似たような記事を読みたいなと思って、技術選定を公開してみる次第です。まずはバックエンド編です。 前提 私たちのチームで開発しているBill Oneは今年の

                                                  新規事業開発での技術選定の意思と意図 (バックエンド編) - Sansan Tech Blog
                                                • 本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)

                                                  おまたせしました この度、ついにこの記事を完成させることができました。これは私が数年前からずっと書きたいと思っていた、ウェブのアクセスログに対する、機械学習を使った異常検知の実例です。私は事あるごとに(※1)「情報セキュリティ分野でもデータサイエンスの技術は非常に重要だ」と繰り返していますが、この記事の内容はまさにその1つの証となると思います。この記事で示される内容を見れば、「うわ、機械学習、マジでヤバイい(語彙力)んだな...」となるでしょう。以下に心当たりのあるセキュリティエンジニアはぜひ読んで、そして実践してみてください。 機械学習に興味はあるものの、どこから手を付ければよいのかイメージがわかない 本当にAIやデータサイエンス、機械学習がセキュリティの分野で役に立つのか、確信がもてない データサイエンスや機械学習は難しそうだと思っている ログ解析において、grepや単純な統計処理より

                                                    本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)
                                                  • インターフェースと型クラスの違いを考える

                                                    この記事では、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

                                                      インターフェースと型クラスの違いを考える
                                                    • 「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など新機能
                                                      • -verbose:class オプションを使ってLog4j利用の有無、Log4jを利用しているクラスを調査する | yusuke.blog

                                                        • 『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』を読みました - Don't Repeat Yourself

                                                          先日発売になった『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』を、一通り目を通していました。感想を記しておきます。なお感想は、例のごとく全体に軽く目を通して、いくつかサンプルプログラムを写経してみた程度の上でのものです。あらかじめご了承ください。 手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた 作者:クジラ飛行机ソシムAmazon Python から Rust に入門するという切り口 最近はRustの本が多く出版され始めており、読むよりも買うほうがだんだん多くなってきてしまっています。とくに単なる言語の入門にとどまらず、さまざまな切り口から解説する本が増え始めているように思います。本書もそのひとつで、Python から Rust に入門しようという非常に特異な切り口の一冊です。 Python から Rust という切り口は、多少なりと

                                                            『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』を読みました - Don't Repeat Yourself
                                                          • (プログラマのための)いまさら聞けない標準規格の話 第2回 文字コード実践編 | オブジェクトの広場

                                                            プログラマがシステム開発において共通で必要となる、技術と業務の狭間の共通知識を解説します。連載第2回は文字コードの実践編です。 0. 前回の復習と今回の概要 システム開発で必要となる標準規格の話、前回 は文字コードの概要について説明しました。ざっくりまとめるとこんな内容でした。 「符号化文字集合」で文字集合と符号位置を定義し、「符号化方式」でバイト表現に変換していること。 日本では、しばらく文字集合 JIS X 0208 を、ISO-2022-JP、EUC-JP、Shift_JIS の符号化方式で利用してきたこと。 近年は、世界中の文字が扱える Unicode が主流となっており、UTF-8、UTF-16 などの符号化方式があること。 常用漢字、人名用漢字に限っても、字体を正確に扱おうとすると、JIS X 0208 の範囲では不十分であり、JIS X 0213、Unicode、サロゲートペ

                                                              (プログラマのための)いまさら聞けない標準規格の話 第2回 文字コード実践編 | オブジェクトの広場
                                                            • 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
                                                              • Rustでの 抽象化 3パターンについて

                                                                ※この記事は全然入門記事ではないです。Javaなどのオブジェクト指向言語とRustをある程度理解している前提での記事です。あと、メモ程度に雑に書いています。 今回は抽象化がテーマです。オブジェクト指向の多態相当のことをRustでどうのように解決すればいいのでしょうか。個々の実装型の都合によらず、呼び出し側は統一的なインターフェイスで操作するケースはRustでもあるはずです。 オブジェクト指向言語の設計に慣れていると、Rustで設計するときにどうしたらいいかわからないことがあります。なぜならRustには継承がないからです…。まぁJavaと比べるとだいぶ違うので頭を切り替える必要があります。今回はそういう感じの記事です。 では、早速デザインパターンを題材にして考えてみましょう。 抽象化について 簡単なコマンドパターンから考えます。 ここでは単純に渡した文字列を標準出力するコマンドを考えます。以

                                                                  Rustでの 抽象化 3パターンについて
                                                                • Open Source Insights

                                                                  • Notionでプログラミングノートを作ろう!図解で作成方法を解説

                                                                    Notionでプログラミングノートを作って効率化しようNotionは、オールインワン・ワークスペースとして知られる文書管理ツールです。文書の作成や管理、共有に便利な様々な機能を持ち、情報管理の効率化に役立ちます。 Notionが持つ機能は、プログラミングノートの作成にも適しています。ページの階層構造やデータベースで情報を管理し、リンクブロックやコードブロックなどの便利なブロックにより、分かりやすく、見やすく情報をまとめることができます。 この記事では、プログラミングノートの作成に適したツールを探している方のため、Notionでプログラミングノートを作るメリットや、実際の作成方法を図解します。Notionでどのようなプログラミングノートが作れるかチェックしてみてください。 【参考】:Wiki、ドキュメント、プロジェクトがつながるコネクテッドワークスペース | Notion (ノーション)

                                                                      Notionでプログラミングノートを作ろう!図解で作成方法を解説
                                                                    • JDK 21 の開発者向けの新機能(OpenJDK 21、Java 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 の開発者向けの新機能(OpenJDK 21、Java 21) - 赤帽エンジニアブログ
                                                                      • 経験5年のHaskellユーザがScalaを仕事で半年使ってみた

                                                                        haskell-scala-java ちょっと前までScalaを書いていたので、 Haskell好きな人がScalaを書いた感想を書きます。 タイトルは経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blogの模倣です。 あくまで1ユーザの感想です。 Scalaに慣れてしまうと違和感を忘れてしまうと思ったので、当時箇条書きで雑にメモしていたものを参照して書いています。 逆にScala使いがHaskellを知るメモに役立つかもしれません。 Haskell歴 when: 2013年から知って学び始めましたが、本格的に使い始めたのは2015年からで、5年ほど使っています where: どの言語を使っても良くて新しい言語を学ぶ必要がなければ基本的にHaskellを使っています what: 趣味OSSプロジェクトの大半 現在一番スターもらっ

                                                                          経験5年のHaskellユーザがScalaを仕事で半年使ってみた
                                                                        • Log4Shellで何が起こっていたのかを追ってみる - セキュアスカイプラス

                                                                          はじめに こんにちは。久々に寝坊やらかして凹んでる、SST研究開発部の小野里です。今年入ってきた新人さんたちは、私のようにならないでほしいと祈るばかりです。 さて、新年度には入ってしまいましたが、つい先日まで2021年度新卒研修最後の延長戦として、以前話題になったLog4Shell脆弱性のPoCを作るという課題に取り組んでいました。やっと動作するところまでいったものの、ここまでの道のりは非常に果てしなく複雑で長く険しいものでした。 セキュリティ業界において、多くの場合脆弱性の詳細な再現手順は伏せられる傾向にあります。それは主に悪用を防ぐためなのですが、セキュリティの初学者には実際の所何をどうするとどう危ないのか、分かりづらい場合も多いのが現状です。 Log4Shell脆弱性は非常に大きな騒ぎになったため、各所の対応も早かったかと思います。そこで、比較的Log4Shellの影響が落ち着いてき

                                                                            Log4Shellで何が起こっていたのかを追ってみる - セキュアスカイプラス
                                                                          • SpringBoot/Quarkus/Micronautの性能を検証してみた ~その1 起動編~ - Taste of Tech Topics

                                                                            こんにちは。@phonypianistです。 本投稿はアクロクエスト アドベントカレンダー 12月21日 の記事です。 最近、Quarkusアプリを本番適用しました。 QuarkusはJavaアプリを作るための軽量なフレームワークで起動が速いって聞くけど、実際どれくらい速いんだろう?と気になったので、Spring Bootや、類似OSSのMicronautと比べてみました。 背景 JavaのフレームワークといえばSpringBootが主流ですが、起動が遅かったり、必要なメモリが多かったりしています。 これは、アプリ起動時にリフレクションを用いてDI(Dependency Injection)を行っているのが要因の1つです。 マイクロサービス、コンテナネイティブなアプリケーションは、負荷の状況に応じて、シームレスにスケールアウトできる必要があります。 アプリケーションの起動速度が遅かったり、

                                                                              SpringBoot/Quarkus/Micronautの性能を検証してみた ~その1 起動編~ - Taste of Tech Topics
                                                                            • 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ボットが修正済みコードと解説をプルリクエスト
                                                                              • タイムゾーン呪いの書 (実装編)

                                                                                「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越してきました。この改訂で記事全体が長大になったので、「知識編」・「実装編」・「Java 編」と記事を分けることにしました。 この「実装編」は、導入にあたる「知識編」の続きとなる第二部です。おもに Software Design 誌の 2018年 12月号に寄稿した内容をベースにしていますが、修正した内容もかなりあります。本記事全体を通して「知識編」を読んでいることを前提にしているので、ご注意ください。旧 Qiita 版にあった Java 特有の内容は、第三部にあたる「Java 編」にあります。 はじめに 先の「知識編」では、この時刻とタイムゾーンという厄介な概念について一般的な知識を紹介してきました。さて、ではこの知識を具体的に実装に

                                                                                  タイムゾーン呪いの書 (実装編)
                                                                                • 元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾

                                                                                  元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾(1/6 ページ) Javaのライブラリ「Apache Log4j 2」に深刻な脆弱性が発見されたことは記憶に新しい。1カ月以上経過した現在も、注意喚起や新たな情報提供が続いている。問題は完全に収束したとはいえない。 今回の記事の主題は脆弱性対策ではない。「Javaの歴史的経緯と、今回騒ぎになっている脆弱性の話を、うまく1本の記事にしてください」という編集部のオファーに応じて書いたものだ。記事の半分は「元・Java専門記者のナイショ話」である。現実の情報システムへの対処が必要な方は、まず下記ページから最新情報をチェックしていただきたい。 IPA Apache Log4j の脆弱性対策について(CVE-2021-44228) Apache Log4j 2公式ページ Log4j 2で今回問題

                                                                                    元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾

                                                                                  新着記事