並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 1392件

新着順 人気順

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

  • C++からRustに移行して幸せになる人、そうならない人 その違いは?

    C++はRustが登場する前から成熟度の高い言語だった。開発者はC++からRustに切り替える必要があるのだろうか。必ずしもそうとは限らない。C++とRustの品質、両言語の相違点と類似点を調べて、どちらのプログラミング言語を選ぶかを決めたい。 C++はRustが登場する前から成熟度の高い言語だった。開発者はC++からRustに切り替える必要があるのだろうか。必ずしもそうとは限らない。 新たなプロジェクトに携わるプログラマーは、プログラミング言語の選択肢が不足することはない。プログラミング言語「C++」と「Rust」は、 ブラウザベースのソフトウェアからビデオゲームに至るまで、さまざまなプロジェクトに適しており、それぞれに利点がある。 C++は効率的で信頼性の高いプログラミング言語だ。信頼性、パフォーマンス、スケーラビリティの高さから開発者はC++を選ぶ。C++の標準テンプレートライブラリ

      C++からRustに移行して幸せになる人、そうならない人 その違いは?
    • はたらく人には自己成長と健康のためにコーチングがおすすめ - Kengo's blog

      人の一生は重荷を負うて遠き道を行くがごとし、とは徳川家康の言葉らしいですね。この記事では人生という旅路を振り返ること無く歩んでしまうと自己成長と健康に良くないので、ちょいちょい振り返りをするといいですよ、そのためにはコーチングというものを知っておくと捗りますよ。という話をします。 エンジニアにとって振り返りというとポストモーテムのイメージがあるかもしれませんが、今回対象にしているのは個人の活動に対する組織的な振り返りのことで、人材育成の文脈でフィードバックと呼ばれるものです。目標管理(MBO-S)とかOKRとかもこれに含まれます。 読み手としてはマネジメントも想定しますが、どちらかと言えば新社会人ないし組織運営の観点を補強したい方に向けています。コーチングは「コーチングのしかた」という技法も重要ですが「コーチングというものがあるのだ」という認知もまた自己成長と健康に役立つと考えています。よ

        はたらく人には自己成長と健康のためにコーチングがおすすめ - Kengo's blog
      • 人気プログラミング言語のランキング、かつて上位3つのひとつだったJavaが凋落傾向【やじうまWatch】

          人気プログラミング言語のランキング、かつて上位3つのひとつだったJavaが凋落傾向【やじうまWatch】
        • 【1位はGoの87万円】プログラミング言語別単価ランキング|2023年7月最新版

          トレンドの変化が激しいIT業界。近年ではChatGPTなどのAIも登場し、技術の進展も急速に進んでいます。そんな中、将来に備えてどのプログラミング言語を勉強しておくべきか悩んでいるエンジニアの方も多いでしょう。 本記事では、「レバテックフリーランス」に蓄積された案件データを元に、プログラミング言語別の月単価・案件数を集計し、想定年収を算出しました。 ランキング上位の言語を中心に、最新の市場動向や高単価の背景なども解説しています。これから習得して稼げる、狙い目の言語はあるのでしょうか?本調査結果を、今後の言語選びやスキルアップにお役立ていただければ幸いです。 過去のプログラミング言語別単価ランキングはこちら▼ 【2023年2月】プログラミング言語別単価ランキング!フリーランスエンジニアにおすすめの言語は? レバテックフリーランスはITエンジニア専門の フリーランスエージェントです案件を探して

            【1位はGoの87万円】プログラミング言語別単価ランキング|2023年7月最新版
          • AWS 認定トレーニング「Advanced Architecting on AWS」を受講してみた | DevelopersIO

            お疲れ様です。AWS 事業本部のヒラネです。 AWS 認定トレーニング「Advanced Architecting on AWS」を受講してきたので内容のご紹介や感想をお伝えしたいと思います。 お疲れ様です。AWS 事業本部の平根です。 AWS 認定トレーニング「Advanced Architecting on AWS」を受講してきたので内容のご紹介や感想をお伝えしたいと思います。 AWS トレーニングとは AWS トレーニングとは、AWS の利用方法の知識とスキルを身に付けるための公式教育プログラムです。 クラスメソッドのメンバーズプレミアムサービスにご加入いただいているお客様の場合は、 特別割引価格で受講いただけます! 提供トレーニングの詳細やお申込みは以下 URL をご参照ください。 今回は、トレーニングの中でも「Advanced Architecting on AWS」を受講しまし

              AWS 認定トレーニング「Advanced Architecting on AWS」を受講してみた | DevelopersIO
            • データベースに接続するテストの仕組みを整備した話 - Qiita

              はじめに かれこれ1年以上前のことになりますが、今の開発組織でデータベースに接続するJunitを使ったIntegrationTest1 を開発者のPCとCIで実行できる仕組みを作りました。 トライしたきっかけと想い 仕組みの設計・導入をする時に気を付けたこと 具体的な実現方法 トライしてみて感じたこと を記載します。 トライしたきっかけと想い 私が保守開発を担当しているプロダクトは20年近く運用されているWebアプリケーションです。(サーバーサイドはJava) 単体テストの仕組みと文化が無いまま長期間運用されており、大半のコードがレガシーコードという状態でした。 一部テストが書かれている箇所もありましたが、CIでの実行の仕組みはなく腐ってしまっているものも多い状態でした。 そこに @autotaker1984 さんがCIでの単体テスト実行の仕組みを作ってくれて、単体テストを書くべきというマ

                データベースに接続するテストの仕組みを整備した話 - Qiita
              • Metaがコード生成AI「Code Llama」発表、無料で商用利用可能

                米Meta(メタ)は米国時間2023年8月24日、プログラムのソースコードを生成するAI(人工知能)「Code Llama」を公開した。同社の大規模言語モデル(LLM)「Llama 2」をベースとした生成AIで、Llama 2と同様に無料で商用利用可能なツールとして提供する。 自然言語によるプロンプト(指示)に従ってコードを生成するほか、入力したコードをデバッグする機能も備える。PythonやC++、Java、PHP、Typescript、Javascript、C#、Bashなど、一般的に使用される多くのプログラミング言語に対応する。 3つのパラメーターサイズのモデルを提供する。パラメーター数はそれぞれ70億、130億、340億で、いずれも5000億トークン(おおよその単語数)のコードとコード関連データでトレーニングされているという。サイズの小さい70億と130億のモデルは、リアルタイム性

                  Metaがコード生成AI「Code Llama」発表、無料で商用利用可能
                • 2025 年 3 月での files.upload API 廃止と移行方法について

                  こんにちは、Slack の公式 SDK 開発と日本の Developer Relations を担当している瀬良 (@seratch) と申します 👋 この記事では、本日発表された files.upload API の deprecation (非推奨) と移行方法について日本語で解説します。アナウンスメント(英語)は、以下のページでご確認いただけます。 files.upload API 廃止までの流れ files.upload API は、2025 年春に廃止されます。それまでのスケジュールは以下の通りです。 2024 年 5 月 8 日以降、新しく作成された Slack アプリは files.upload API にアクセスできなくなります。すでに存在している既存のアプリは廃止日(3. 参照)までは API を使用することができます。 2024 年 6 月〜 2025 年 2 月の間

                    2025 年 3 月での files.upload API 廃止と移行方法について
                  • 今こそ、ラムダ式を考える - ラムダ式はどうやって動くのか

                    Burikaigi ブリ会議 2024 発表資料 Java, Java SE, Project Lambda, Lambda Expression, ラムダ式 Bytecode, バイトコード, javap, InvokeDynamic, indy

                      今こそ、ラムダ式を考える - ラムダ式はどうやって動くのか
                    • JJUG CCC 2024 Spring:テストコードが根付くチームを立ち上げるために考えたいこと | ドクセル

                      スライド概要 JJUG CCC 2024 Springでのスポンサーセッション「テストコードが根付くチームを立ち上げるために考えたいこと」の公開資料です。 シンプレクスは1997年の創業以来、メガバンクや大手総合証券を筆頭に、日本を代表する金融機関のテクノロジーパートナーとしてビジネスを展開してきました。現在では、金融領域で培った豊富なノウハウを活用し、金融機関以外の領域でもソリューションを展開しています。2019年3月にはAI企業のDeep Percept株式会社、2021年4月には総合コンサルティングファームのXspear Consulting株式会社がグループに加わり、創業時より付加価値の創造に取り組んできたシンプレクスとワンチームとなって、公的機関や金融機関、各業界をリードする企業のデジタルトランスフォーメーション(DX)の推進を支援しています。

                        JJUG CCC 2024 Spring:テストコードが根付くチームを立ち上げるために考えたいこと | ドクセル
                      • research!rsc: Coroutines for Go

                        This post is about why we need a coroutine package for Go, and what it would look like. But first, what are coroutines? Every programmer today is familiar with function calls (subroutines): F calls G, which stops F and runs G. G does its work, potentially calling and waiting for other functions, and eventually returns. When G returns, G is gone and F continues running. In this pattern, only one fu

                        • Elasticsearchのパフォーマンス問題をプロファイラを使って解決する | メルカリエンジニアリング

                          search infra teamのmrkm4ntrです。我々のチームではElasticsearchをKubernetes上で多数運用しています。歴史的経緯によりElasticsearchのクラスタは全てElasticsearchクラスタ専用のnode pool上で動作していました。ElasticsearchのPodは使用するリソースが大きいため、このnode poolのbin packingが難しくコストを最適化できないという問題がありました。そこで全てのElasticsearchクラスタを専用のnode poolから他のワークロードと共存可能なnode poolへ移行しました。ほとんどのクラスタが問題なく移行できたのですが、唯一移行後にlatencyのスパイクが多発してしまうものがありました。 この記事では、その原因を調査する方法と発見した解消方法について説明します。 発生した現象 共

                            Elasticsearchのパフォーマンス問題をプロファイラを使って解決する | メルカリエンジニアリング
                          • Java Persistenceを使ったアーキテクチュア:パターンと戦略

                            図1:データベースとJavaプログラミング言語のミスマッチ このギャップを埋め、Javaアプリケーションとデータベースのシームレスな接続を実現するために、私たちはさまざまなデザインパターンとアーキテクチャアプローチに依存している。これらのパターンはトランスレータとして機能し、インピーダンスのミスマッチの影響を軽減し、2つの世界を調和して動作させるのに役立つ。 これらのデザインパターンは、車輪の再発明ではない。これらは、アプリケーションとデータベースのパラダイム間のインピーダンスのミスマッチを緩和するのに有効であることが証明されている、確立されたソリューションである。Driverパターン、Mapperパターン、Active Recordパターン、Repositoryパターンなどがある。 Java Persistenceにおけるデータパターンのナビゲート このセクションでは、アプリケーション開

                              Java Persistenceを使ったアーキテクチュア:パターンと戦略
                            • Lensを始めとするOpticsがプログラミングをどう変えるか / 複雑なデータのモデリングをサボるには - Lambdaカクテル

                              仕事でLensを使う機会があった。Lensは複雑で入り組んだデータ構造の読み書きに非常に効果的な手法であるにもかかわらず、関数型プログラマ以外にはあまり知られていないように思える。 そこでこの記事では、Lensとは何なのか、なにが良いのか、具体的にどのようなケースでLensが役立ったか、そしてLensの亜種について紹介する。業務でも使ってます! AIくんが考えるLens 前提条件 Lensとは Lensの使いどころ データをモデリングする場合 (とても つらい) Lensを使う場合: Lensはアクセスパスである Lensと愉快な仲間たち Lensの合成 -- andThenでひっつけよう Lens Law Monocleの便利機能 Lensの自動生成でサボる Focusでもっとサボる Lensがもたらしたもの まとめ あわせて読みたい 前提条件 この記事ではLensを紹介する言語としてS

                                Lensを始めとするOpticsがプログラミングをどう変えるか / 複雑なデータのモデリングをサボるには - Lambdaカクテル
                              • UTF-8 の BOM について - 将棋プログラミング

                                1.はじめに UTF-8 の文字コードのファイルには、BOM (Byte Order Mark) がある場合とない場合がある。 Unicode の規格では、BOM は、推奨されないが、許容されている。 ja.wikipedia.org 今回、必要があり、色々な OS や言語で、UTF-8 の文字コードのファイルを作成した時、BOM が記録されるか、されないか、を調べた。 2.色々な OS や言語での BOM 2.1 Windows 10, Visual Studio, C++, _wfopen (_tfopen), // Visual Studio 2005 以降 保存 FILE *fp = _wfopen(name, _ L"w, ccs=UTF-8"); if (fp == NULL) { // エラー処理 } fwprintf_s(fp, L"ABC漢字123\n"); fclose

                                • フィーチャーフラグAPIの標準化を目指す「OpenFeature」がCloud Native Computing Foundationのインキュベーティングプロジェクトに昇格

                                  フィーチャーフラグAPIの標準化を目指す「OpenFeature」がCloud Native Computing Foundationのインキュベーティングプロジェクトに昇格 KubernetesやContainerdなどクラウドネイティブ関連ソフトウェアの開発をホストするなど、クラウドネイティブの普及や推進のための団体「Cloud Native Computing Foundation」(CNCF)は、フィーチャーフラグAPIの標準化を目指す「OpenFeature」がこれまでのサンドボックスプロジェクトから、新たにインキュベーティングプロジェクトに昇格したことを発表しました。 The CNCF TOC has voted to accept OpenFeature as a CNCF incubating project! Congratulations @OpenFeature ht

                                    フィーチャーフラグAPIの標準化を目指す「OpenFeature」がCloud Native Computing Foundationのインキュベーティングプロジェクトに昇格
                                  • 1959年に開発されたプログラミング言語「COBOL」が抱える現代の問題にIBMはどう立ち向かっているのか?

                                    1959年に開発されたプログラミング言語「COBOL」は、自然言語に近いコマンド構文が採用されていることから、金融や自動車、医療業界などで広く使用されています。しかし、柔軟性に欠けるCOBOLを扱える人材は減少傾向にあり、COBOLを用いたシステムは窮地に陥っています。このような状況を打開するために、IBMはCOBOLを最新のプログラミング言語に変換できるジェネレーティブAI「watsonx Code Assistant」を開発しています。 The World Depends on 60-Year-Old Code No One Knows Anymore | PCMag https://www.pcmag.com/articles/ibms-plan-to-update-cobol-with-watson 1959年に開発されたCOBOLは、「コーディングが複雑」「タイピング量が他言語と

                                      1959年に開発されたプログラミング言語「COBOL」が抱える現代の問題にIBMはどう立ち向かっているのか?
                                    • 学習用と実用のプログラミング言語

                                      学習用のプログラミング言語分類方法にもよるけど、プログラミングのパラダイム(考え方)は 命令型宣言型の2種類がある。 それぞれに根拠となる計算モデルがあり、細分化すると4種類に分類できる。パラダイム 分類 基礎となる計算モデル言語命令型 手続き型 チューリングマシン C、Java、Python、JavaScript 宣言型 問合せ型 関係モデルSQL宣言型 関数型 ラムダ計算Lisp、Haskell宣言型 論理型 一階述語論理Prolog (参考) anond:20230826113219 プログラミング言語って、似たり寄ったりだけど、それでも後から後から新しい言語が出てくるね。 それぞれのグループで代表的な言語を1個ずつ順番に学んでいけば、全ての種類を一通り制覇できる。 例えば、 PythonSQLHaskellPrologといった具合で。 各グループのどれか1個を知っておけば、同一グル

                                        学習用と実用のプログラミング言語
                                      • ソフトウェアを外部の攻撃から守るために SBOMを使った脆弱性管理の方法1章~3章までを解説

                                        近年、ソフトウェアの脆弱性やマルウェアの台頭で、ソフトウェアのバージョン管理や脆弱性管理などの重要度が日に日に増しています。SBOMはソフトウェアの部品構成表ですが、構成情報の透明性を高めることでライセンス管理や脆弱性対応への活用が期待されます。 ここでは、経済産業省サイバーセキュリティ課の飯塚智氏が、三菱総研と日立ソリューションズとともに作った『ソフトウェア管理に向けたSBOMの導入に関する手引』の概要について、1章〜3章の「背景と目的」「SBOMの概要」「SBOM導入に関する基本指針・全体像」を中心に解説します。 SBOM導入手引きの前半の1章から3章までを解説 渡邊歩氏(以下、渡邊):飯塚さん、ご講演をお願いいたします。 飯塚智氏(以下、飯塚):みなさま、お忙しいところご参加いただきましてありがとうございます。あらためまして、私、経済産業省サイバーセキュリティ課の飯塚と申します。 本

                                          ソフトウェアを外部の攻撃から守るために SBOMを使った脆弱性管理の方法1章~3章までを解説
                                        • 初心者エンジニアにおすすめしたい無料学習サービス20選 - Qiita

                                          IT業界は日々技術が進化していくので、エンジニアの方は勉強を継続が必要です。 また、さまざまな言語があり多くの知識が必要になります。 そんなエンジニアの皆様やエンジニアを目指す方におすすめしたい無料学習サービス20選まとめてみました。 1.paiza エンジニアの転職や就職を支援するプラットフォームで、Java、Python、Rubyなど幅広いプログラミング言語を学ぶことが可能です。 基本は無料ですが、一部動画は有料となっています。 2.ドットインストール 全509レッスン(無料は74レッスン)、7,698本の動画を提供中。 全ての動画が3分以内になっているので、通勤や通学などのちょっとした隙間時間に学べます。 月1,080円のプレミアム会員になると全てのレッスンの学習や先生への質問ができます。 3.Progate エンジニアなら必ずと言っていいほど知られる、有名なプログラミング学習プラッ

                                            初心者エンジニアにおすすめしたい無料学習サービス20選 - Qiita
                                          • 「最も使っている」プログラミング言語で異変、前年首位のJavaが王座陥落

                                            ITシステムを効率良く開発するには、実装する機能に合わせたプログラミング言語の選定が重要になる。現在、多種多様なプログラミング言語が存在するが、言語によって実装しやすい機能が異なるためだ。 システムの機能が多岐にわたる中、日経クロステックの読者はどのような言語を利用しているのか。これを確かめるため、日経クロステックではアンケート調査「プログラミング言語利用実態調査2023」を実施した。調査期間は2023年9月21日~10月18日。358人から回答を得た。 Pythonが首位をキープ アンケートではまず、現在使っているプログラミング言語を3つまで挙げてもらった。利用言語の第1位は「Python」だった。回答者358人うち45.3%の162人が使っているという結果だった。 「あなたが現在使っているプログラミング言語は何ですか」という設問に対する回答の内訳。最大3つ選択してもらった。グラフには回

                                              「最も使っている」プログラミング言語で異変、前年首位のJavaが王座陥落
                                            • イベントの出演者が“実は存在しなかった”──海外の開発者会議が中止に なぜこんな事態に?

                                              12月にオンラインで開かれる予定だった開発者会議「DevTernity」が、ゲストスピーカーの中に実在しない女性がいたことが発覚して開催中止に追い込まれた。IT業界で多様性・包括性が求めらる風潮の中、こうしたイベントの主催者が講演者の確保に苦慮している様子も垣間見える。 12月7~8日に予定されていたDevTernityは、大物ゲストスピーカーも招かれ、399~798ユーロ(日本円換算で約6万円~12万円)という前売りチケットの売れ行きも好調だったらしい。 ところが11月下旬、講演者として紹介されていた人物の中に、実在しない女性がいることが分かった。 偽出演者の発覚でイベントは中止に この問題を指摘したITエンジニアのグレゴリー・オロシュさんによると、DevTernityのゲストスピーカーの顔ぶれをチェックしていたところ「アナ・ボイコ」という女性講演者に目がとまった。「Coinbaseのス

                                                イベントの出演者が“実は存在しなかった”──海外の開発者会議が中止に なぜこんな事態に?
                                              • Omakub

                                                Turn a fresh Ubuntu installation into a fully-configured, beautiful, and modern web development system by running a single command. That’s the one-line pitch for Omakub. No need to write bespoke configs for every essential tool just to get started or to be up on all the latest command-line tools. Omakub is an opinionated take on what Linux can be at its best. Omakub includes a curated set of appli

                                                  Omakub
                                                • Upgrading GitHub.com to MySQL 8.0

                                                  EngineeringUpgrading GitHub.com to MySQL 8.0GitHub uses MySQL to store vast amounts of relational data. This is the story of how we seamlessly upgraded our production fleet to MySQL 8.0. Over 15 years ago, GitHub started as a Ruby on Rails application with a single MySQL database. Since then, GitHub has evolved its MySQL architecture to meet the scaling and resiliency needs of the platform—includi

                                                    Upgrading GitHub.com to MySQL 8.0
                                                  • 非IT企業も「AIプログラミングのない時代には戻れない」 「GitHub Copilot」導入した東急の内製開発チーム、手応えは?

                                                    非IT企業も「AIプログラミングのない時代には戻れない」 「GitHub Copilot」導入した東急の内製開発チーム、手応えは?(1/2 ページ) 米AWSや米GitHubなど、外資ベンダーが提供を進める、生成AIを活用したプログラミング支援サービス。特にGitHubの「GitHub Copilot」は2月に法人版「GitHub Copilot for Business」がリリースされたばかりにもかかわらず、ZOZOやサイバーエージェントなど、さまざまなIT企業が導入を進めている。 非IT企業でも、部門単位などで限定的に導入するケースが見られる。東急もその1社だ。同社では、街づくりにおけるDX(デジタルトランスフォーメーション)を担う内製開発チーム「URBAN HACKS」(アーバン ハックス)が、法人版「GitHub Copilot for Business」を導入。約30人のエンジニ

                                                      非IT企業も「AIプログラミングのない時代には戻れない」 「GitHub Copilot」導入した東急の内製開発チーム、手応えは?
                                                    • シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース

                                                      シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース オープンソースとして開発されているOLAP用データベース「DuckDB」が正式版となるバージョン1.0に到達したことが発表されました。 OLAP用のデータベースといえば、クライアント/サーバ方式の大規模なサーバアプリケーションが一般的ですが、DuckDBは、SQLiteのようにローカル環境上でシングルバイナリでローカル環境でも簡単に実行できる点が最大の特徴です。 SQLでクエリを記述すると同時に、Python、Java、Node.js、Rust、Go、C/C++、R、ODBCなどから呼び出せるAPIも備えており、クライアントアプリケーションに組み込むこともできます。 対応するプラットフォームはWindows(x86_64)、macOS(Intel/Apple Silicon)、Lin

                                                        シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース
                                                      • Stability AIがオープンソースのコーディング補助AI「StableCode」を発表

                                                        画像生成AI「Stable Diffusion」の開発などで知られるAI開発企業Stability AIがコーディング補助AI「StableCode」を発表しました。StableCodeは開発者の業務効率改善に寄与する他、初学者の学習ツールとしても有用とのことです。 Announcing StableCode — Stability AI https://stability.ai/blog/stablecode-llm-generative-ai-coding ????Exciting news! Stability AI has launched StableCode, the revolutionary generative AI LLM for coding! ???? Developers, get ready to level up your coding game! #AI #

                                                          Stability AIがオープンソースのコーディング補助AI「StableCode」を発表
                                                        • Ruby on Railsはどのように生まれ、発展してきたのか[後編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開

                                                          Ruby on Railsはどのように生まれ、発展してきたのか[後編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開 最も有名なWebアプリケーションフレームワークの1つである「Ruby on Rails」は、もともと37signals社が社内向けに開発したフレームワークでした。 現在ではGitHubやShopifyなど大規模なWebサービスを支えるRuby on Railsも、登場初期には「スケールしない」という批判にさらされ、また競合となるフレームワークが登場するなどの経緯を経ています。 こうしたRuby on Railsのこれまでを、作者であるDavid Heinemeier Hansson(以下、DHH)氏や関係者が振り返る動画「Ruby on Rails: The Documentaryが、昨年(2023年)11月に公開

                                                            Ruby on Railsはどのように生まれ、発展してきたのか[後編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開
                                                          • Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp

                                                            Ruby 3.3リリース! 新機能解説 Prism⁠⁠:エラートレラントな⁠⁠、まったく新しいRubyパーサ Prismは、Ruby 3.3.0にバンドルされた新しいライブラリで、プログラミング言語Rubyの新しいパーサであるPrismパーサのバインディングです。Prismはエラートレラント、移植性、メンテナンス性、高速性、効率性を考慮して設計されています。この記事では、Prismの歴史、設計、API、そして今後の課題について取り上げます。 使用方法 Rubyバインディングを通してPrismパーサを使うにはrequire "prism"をして、Prismモジュールのparseメソッド、または他のparse_*系のメソッドを呼んでください。次に例を示します。 require "prism" Prism.parse("1 + 2") parseメソッドは、パース結果のオブジェクトを返します。こ

                                                              Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp
                                                            • スタートアップは静的型付言語しか勝たん

                                                              序章 静的型付け言語がスタートアップにおける成長戦略にどのように貢献するかを解説する記事です。 静的型付け言語とは 静的型付け言語とは、プログラムの実行前に変数の型が決定され、コンパイル時に型チェックが行われる言語のことです。Java、C#、Rust、TypeScript、Goなどが代表的です。実行前にエラーを発見しやすく、大規模なプロジェクトや長期的なメンテナンスに適しています。 静的型付け言語のメリット エラーの早期発見 静的型付け言語は、コンパイル時に型の不一致や変数の誤用を検出します。これにより、ランタイムエラーが減少し、開発初期段階で問題を発見できるため、時間とコストの節約につながります。 コードの可読性と保守性 型情報がコードに明示されているため、他の開発者がコードを理解しやすくなります。チームが拡大する際に、コードの保守性を高める重要な要素です。 パフォーマンスの最適化 静的

                                                                スタートアップは静的型付言語しか勝たん
                                                              • Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog

                                                                ※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアkoyuriが日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK( @ryotkak )です。 先日、特定の条件を満たした場合に攻撃者がWindows上でコマンドインジェクションを実行できる、いくつかのプログラミング言語に対する複数の脆弱性を報告しました。 本日(2024/04/09(訳者注: これは英語版記事の公開日です))、影響を受けるベンダーがこれらの脆弱性に関するアドバイザリーを公表しました。 その影響は限定的なもののCVSSスコアは非常に高く、混乱が予想されるため、脆弱性に関する詳細を本記事にまとめます。 はじめに TL;DR CVSSスコア 技術詳解 根本原因 CreateProcessのラッパー cmd.exeのパース規則

                                                                  Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog
                                                                • Spring Boot 2系のOSS版サポート終了を、モダンなアプリ開発環境を手に入れる“絶好のチャンス”とするための選択肢とは

                                                                  Spring Boot 2系のOSS版サポート終了を、モダンなアプリ開発環境を手に入れる“絶好のチャンス”とするための選択肢とは:「最高の開発者体験」の実現に向けて JavaとSpring Bootの進化は止まらない。Spring Boot 2系のOSS版サポート終了を、モダンなアプリケーション開発・運用を加速する“絶好のチャンス”として生かすにはどうすればよいのか。その決断をするのは今だ。 人気開発フレームワークのOSS版サポートが終了、その後はどうする? Javaアプリケーションの開発フレームワークである「Spring Boot」の2.7.x(2系の最終マイナーバージョン)が、2023年11月24日にOSS(オープンソースソフトウェア)版サポートを終了する。ユーザーは、3.1.xあるいは(2023年11月23日リリース予定の)3.2.xにバージョンアップするか、商用サポートサービス「V

                                                                    Spring Boot 2系のOSS版サポート終了を、モダンなアプリ開発環境を手に入れる“絶好のチャンス”とするための選択肢とは
                                                                  • getとfindの使い分け - 日々常々

                                                                    メソッド名の getXXX と findXXX どっちがいいの?みたいな話になることがある。 この手の話ができるだけでもいい感じだと思います。名前が記号化していないってことなので。 世の中には名前に力を割くのが無駄な文脈もあって、そう言うのに晒されて続けると当然そこに力をかけなくなります。 その文脈では最適解だけど、私は名前が重要だと思っているし、その価値観を土台に他のものを積み上げていきたい。 ということで話を戻す。 「得る」と「探す」のようなものを意図して使い分けるとコードが読みやすくなります。 使い分け方によって読みやすさは変わりはするのですが、「意図して使い分けている」だけでも十分変わります。 その意図に共感できたり汲み取れたりすればさらに読みやすくなりますが、その前段階として意図の有無が重要だと思ってます。 私の基本的な使い分け getHoge(条件): Hoge findHog

                                                                      getとfindの使い分け - 日々常々
                                                                    • OpenTelemetry Collector導入の実践編とその後 - Gaudiy Tech Blog

                                                                      はじめまして。Gaudiyでエンジニアをしているあんどう(@Andoobomber)です。 以前、「OpenTelemetry Collector導入のPoCと今後に向けて」という記事を弊エンジニアの sato(@yusukesatoo06)より公開しました。簡単に記事を要約すると、 OpenTelemetry及びOpenTelemetry Collectorの説明 実際にPoCを作ってみる 実導入を試みたがOpenTelemetry Collectorのホスティングに悩み、今後の課題として保留となった といった内容でした。 あれから1年経ち、GaudiyではOpenTelemetry Collectorを本番環境に組み込み、OpenTelemetryの仕様に準拠して計装し、データの分析や監視を行っています。この記事では、前回からの進捗を紹介すると共にOpenTelemetryの導入方法を

                                                                        OpenTelemetry Collector導入の実践編とその後 - Gaudiy Tech Blog
                                                                      • 「実践プロパティベーステスト」という本が出版されました #pbtbook - YAMAGUCHI::weblog

                                                                        はじめに こんにちは、Google Cloudのオブザーバビリティ/SRE担当者です。このたび私が翻訳しました「実践プロパティベーステスト PropErとErlang/Elixirではじめよう」という書籍がラムダノート社より去る11月1日に出版されました。書店ならびに各社オンラインストアでご購入いただけます。 実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう 作者:Fred HebertラムダノートAmazon 実践プロパティベーステスト ― PropErとErlang/Elixirではじめようwww.lambdanote.com 電子書籍についてはラムダノート社のECサイトよりご購入いただけます。 実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう(電子書籍のみ)www.lambdanote.com 「実践プロパティベ

                                                                          「実践プロパティベーステスト」という本が出版されました #pbtbook - YAMAGUCHI::weblog
                                                                        • いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab

                                                                          Rubyをはじめとする「動的型付け」のプログラミング言語は、ソースコード中に型に関する記述が陽に出てこないことが特徴で、プログラムの実行前に(静的に)型検査をすることはありません。しかし、このようなプログラミング言語においても、大規模な開発における品質の向上や開発体験の改善、実行の高速化のために、静的な解析を活用しようという試みは多くなされてきました。この記事では、動的型付けの言語のための型検査の歴史を簡単に振り返って、現在私が開発しているRuby向けの型検査器Steepとその基盤となっている型記述言語RBSについて説明し、今後の展望を議論します。 著者:松本宗太郎さん(@soutaro) Rubyコミッター。大学院でRubyプログラムの型検査の研究に取り組み、修了後はスタートアップでWebアプリケーションの開発に従事。2017年から型検査ツールSteepの開発を始め、2019年からはRu

                                                                            いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab
                                                                          • Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング

                                                                            TIOBE Softwareが発表したプログラミング言語の人気ランキング「TIOBEインデックス」の2023月10月版では、JavaとC#のレーティングが1.2ポイントのわずかな差に縮まっている。 ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは、2023年10月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。 TIOBEインデックスはプログラミング言語の人気度を示すランキングで、同社が毎月更新している。2023年10月のランキングでは「Python」が14.82%で首位を維持した。2位~5位は「C」(12.08%)、「C++」(10.67%)、「Java」(8.92%)、「C#」(7.71%)だった。 Python、C、C#は、それぞれ長期にわたって首位、2位、5位を占めている。C++は6月にJavaを抜いて3位

                                                                              Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング
                                                                            • GitHub.com を MySQL 8.0にアップグレード

                                                                              Authors Jiaqi Liu Daniel Rogart Xin Wu GitHubは、15年以上前に単一のMySQLデータベースを持つRuby on Railsアプリケーションとしてスタートしました。それ以来、GitHubは高可用性を構築する、テスト自動化を実装する、データのパーティショニングを行うなど、プラットフォームのスケーリングと可用性のニーズを満たすために、MySQLアーキテクチャを進化させてきました。今日、MySQLはGitHubのインフラストラクチャの中核を担い、選択可能なリレーショナルデータベースの一部です。 このブログは、1200台以上のMySQLホストを8.0にアップグレードした物語です。私たちのサービスレベル目標(SLO)に影響を与えることなくフリートをアップグレードすることは小手先の技で済むようなものではありませんでした。計画、テスト、そしてアップグレード自体

                                                                                GitHub.com を MySQL 8.0にアップグレード
                                                                              • Scalaの難しさをインターネットから集めてみる - Lambdaカクテル

                                                                                Scalaは難しいと思われたり敬遠されがちである。Scalaの難しさについてTwitterなどでアンケートをとったり、ネットでググって意見を吸い上げてみた。議論の叩き台にするみたいな用途を意図しています。 ご意見や記事募集中です。できればTwitterじゃなくて記事だと嬉しいです。流れていってしまうので・・・ また、私見は私見です。 追記(2024-03-08)ちなみに、色々書いていますが僕はScalaが大好きです(このブログでものすごい数の初心者~中級者向けの記事を書いています)し、ネットで言われているような終わった言語ではまったくないです。初心者をサポートして、難しいと感じている部分をほぐして、みんながScalaでワイワイやれるようにコミュニティを立ち上げ、継続的に活動しています。おかげさまで日本の公式Scalaコミュニティとして認めてもらっています。ブログのバナー下のリンクからDis

                                                                                  Scalaの難しさをインターネットから集めてみる - Lambdaカクテル
                                                                                • Java 言語仕様・JVM仕様のバージョンごとの差分を見れるページを作りました。 - Qiita

                                                                                  世界 30 億の Java エンジニア向けに、Java 言語仕様・JVM仕様のバージョンごとの差分を見れるページを作りました。 The Java Language Specification diffs The Java Virtual Machine Specification diffs ぜひご利用ください! なにこれ? Java の各バージョンごとの言語仕様・JVM仕様はこちらのページで公開されています。 Java Language and Virtual Machine Specifications ただ、バージョンごとの変更点がありませんでした1。 そこで、各ページからテキストを抜き出して2、GitHub 上で差分が見れるようにしました。 更新について 細かい誤字脱字の変更とかを除いた差分が作れるとより良いのですが、そうすると今後の更新に手間がかかってしまいまそうでした。 それよ

                                                                                    Java 言語仕様・JVM仕様のバージョンごとの差分を見れるページを作りました。 - Qiita