並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 1392件

新着順 人気順

javaの検索結果121 - 160 件 / 1392件

  • Pythonが教育用途において十分だという話

    Pythonが教育用途において十分だという話 今話題のPythonを教えている現役の講師です。Pythonを教える際に重視すべきだと考えている機能等について書いておきます。 dataclass / Pydantic 自分は型ヒントよりもdataclassやPydanticを使った型付けを重視しています。いわゆるクラスベースな言語の書き方が大事だと考えています。 dataclass Pythonは動的型付け言語であり、interface相当の機能すらclassの構文で書く変わった言語です。近年Pythonの型ヒントは少しづつ充実してきていますが発展途上であることは否めないですし、何より実行時にその型であることは保証されないので、dataclass等を使った開発スタイルが依然強力だと考えています。 Python+TypeScriptというようなスタックを使う際には両言語の差に混乱するでしょう。

      Pythonが教育用途において十分だという話
    • Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表

      Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表 式言語とは一般に、プログラミング言語の一部やネットワークなどの構成ファイル、テンプレートファイルなどの中で、簡易な式やロジック、ポリシーなどを記述する際に使われる言語のことです。 こうした用途では、さまざまなプラットフォームに対応する移植性、起動時やプログラムの実行中に評価されることがあることから高速に評価が完了すること、安全に評価が実行できること、用途に応じて拡張しやすいこと、などが求められます。 CELは超高速に評価、ポータブル、サブセットサポート CELは正にこうした要件に対応した式言語となっており、Googleは次のような特徴があるとしています。 ナノ秒からマイクロ秒程度の高速な評価に最適化されている C++、Java、Goでサポートされるスタックによるポータブ

        Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表
      • フロントエンドの移り変わりは早すぎるのか

        インターネットでは毎日のように言われることですが、私はそこまでではないと考えています。 ネットでよくそう言われる理由として考えられるものと、それを踏まえてどう向き合っていくとよさそうか、個人的な考えをまとめてみます。 なぜ言われるのか 言語が実質的にJavaScript一択 バックエンド、というかサーバサイドでは技術選定に「言語の選択」が入りますが、フロントエンドでは実質的にはJavaScriptにほぼ固定されます(TypeScriptも別言語ではないので、ここではJavaScriptに含めます) サーバサイドと比較して「技術の移り変わりが早すぎる」と評される場合、多くはその人の使用しているとある言語と比較されているように思われます。 実質的に言語が固定なので、比較するならすべてのサーバサイドの変化の総量と比較するのが妥当でしょう。 PHP + Python + Ruby + go + J

          フロントエンドの移り変わりは早すぎるのか
        • WebAssembly所感

          WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想 WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 Webサンドボックス JavaScript および asm.js Javaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

            WebAssembly所感
          • 技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(後編)

            技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(後編) ソフトウェアの品質をテーマに研究をしている名古屋大学 森崎研究室は、ソフトウェアの技術的負債をなんらかの形で数値化する手法の研究の一環として、コードの読みにくさの原因となる要因などを分析した研究結果を発表するイベントをオンラインで開催しました。 この記事ではそのダイジェストを紹介します。記事は前編と後編の2つに分かれています。今お読みの記事は後編です。 森崎氏による補足説明 前編では、グループA(命名的問題)より、グループB(構造的問題)の方が正答率が大きいということ。一方でグループA(命名的問題)よりグループB(構造的問題)の方が読みにくさを感じた、という点に統計的に有意な差があったことが発表されました。 発表の後、オンラインイベントの参加者からの質問について森崎氏と和田氏

              技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(後編)
            • Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料

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

                Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料
              • ダイソーの在庫検索APIを叩く - Qiita

                const md5 = text => fetch('https://md5sum.deno.dev/' + text).then(r=>r.text()) // 店舗コード const str_cd = '002870' // yyyyMMdd:hhmmss sources\com\locationvalue\ma2\extensions\ScreenExtensionsKt.java:78 const request_datetime = new Date().toLocaleString('sv').replaceAll(/-|:/g, '').replace(' ', ':') // ジャン const sku_cd = ['4549131971149'] await fetch('https://zaikoapp.plat.daisojapan.com/api_get_store

                  ダイソーの在庫検索APIを叩く - Qiita
                • イベント駆動とドメインモデルの完全性を意識したアーキテクチャ設計

                  こんにちは。LINEヤフー株式会社で、出前館というプロダクトのサーバーサイドエンジニアをしている古田大志です。 株式会社出前館はLINEヤフーのグループ会社です。資本業務提携を結んでいて、LINEヤフーが開発などをサポートしています。 詳しくはこちらをご参照ください。(https://corporate.demae-can.co.jp/pr/news/demaecan/line.html)(外部サイト) 今回の記事では、その出前館における開発の内容を紹介させていただきます。 出前館はデリバリーサービス事業のプロダクトで、開発においてはマイクロサービスアーキテクチャを採用しています。出前館のマイクロサービスの1つに、クーポンに関するドメインの責務を持ったコンポーネントであるクーポンサービスがあります。 クーポンサービスでは、ビジネスエンハンスに伴う「非機能要件の増大」や「仕様の複雑さの肥大化

                    イベント駆動とドメインモデルの完全性を意識したアーキテクチャ設計
                  • ast-grep VSCode: 構造検索と置換の強力なツール

                    こんにちは、 ast-grepの作者Herringtonです。 正規表現でコードを検索したことがある方なら、複数行のマッチングや入れ子構造の処理、コメントの無視などに苦労したことがあるかもしれません。 そこで、ast-grep VSCodeという新しい拡張を紹介します。これは、構造的検索と置換(SSR)という技術を利用して、より正確で効率的な検索と置換を実現するツールです。 構造検索は? テキスト検索と置換の限界 例えば、JavaScriptコードをリファクタリングして、lodash の _.filter 関数をネイティブの Array.prototype.filter メソッド に置き換えたいとします。単純なテキスト検索と置換は次のようになります: これは一部のケースではうまくいくかもしれませんが、いくつかの問題があります。 一行の式しかマッチングできません。コードが複数行にまたがってい

                      ast-grep VSCode: 構造検索と置換の強力なツール
                    • Don't DRY Your Code Prematurely

                      TotT 98 GTAC 61 James Whittaker 42 Misko Hevery 32 Anthony Vallone 27 Code Health 27 Patrick Copeland 23 Jobs 18 Andrew Trenk 12 C++ 11 Patrik Höglund 8 JavaScript 7 Allen Hutchison 6 George Pirocanac 6 Zhanyong Wan 6 Harry Robinson 5 Java 5 Julian Harty 5 Alberto Savoia 4 Ben Yu 4 Erik Kuefler 4 Philip Zembrod 4 Shyam Seshadri 4 Adam Bender 3 Chrome 3 Dillon Bly 3 John Thomas 3 Lesley Katzen 3 Ma

                        Don't DRY Your Code Prematurely
                      • WebAssembly の過去・現在・未来 - Qiita

                        はじめに WebAssembly (略して Wasm) では WASI や WIT、 Component Model など様々な仕様があります。 それぞれが登場した背景、モチベーションなどを理解することでなんとなく概要を掴んでいくことができるのではないかと考えたため、過去・現在・未来と時間軸で整理してみました。 まず Wasm とその特徴に関して簡単に紹介した後、Wasm の過去として生まれた背景やモチベーションを紹介します。 そして現在の Wasm がなぜ注目を集めているのか、そして現在策定中の仕様と目指している未来について紹介します。 WebAssembly とはなにか WebAssembly はスタックベースの仮想マシン用バイナリ命令フォーマットの仕様です。Wasm と略されます。 Wasm ファイル(Wasm モジュール)は一般に .wasm という拡張子で表されるバイナリファイル

                          WebAssembly の過去・現在・未来 - Qiita
                        • 【2024年】ITエンジニア本大賞まとめ - Qiita

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

                            【2024年】ITエンジニア本大賞まとめ - Qiita
                          • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版) | Recruit Tech Blog

                            こんにちは! 2023年度エンジニア新卒の、吉田です。 株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。 本日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。 研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。 ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。 研修の概要 エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」 「現場で求められる『仕事への取り組みスタンス』をつかむ」 「気軽に相談できる仲間(同期)をつくる」 の3点が目的とされています。 今年度は、入社前に行われたスキ

                              株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版) | Recruit Tech Blog
                            • Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes

                              昨今Infrastructure from Code (IfC)という概念をよく耳にします。先日もAWSのGregor Hohpeが関連する記事を書いていました。 architectelevator.com この記事では、Infrastructure from Codeとはなにか簡単に紹介し、具体的にどのようなツールがあるか網羅的にまとめます。 Infrastructure from Codeとはなにか Infrastructure from Code (IfC) とは、その名の通り、Infrastructure as Code (IaC) に関連する概念です。IaCとの根本的な違いは、IaCは開発者がインフラを明示的に意識して構成を記述するのに対し、IfCでは開発者がインフラをできるだけ意識しないよう抽象化を試みていることです。これにより、差別化に繋がらない重労働ができる限り排除された高

                                Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes
                              • PostgreSQLのPub/Sub機能とJavaのクライアント実装 | フューチャー技術ブログ

                                本記事は「珠玉のアドベントカレンダー記事をリバイバル公開します」企画のために、以前Qiitaに投稿した記事を改訂したものです。 はじめにPub/Sub型のメッセージングアーキテクチャを採用するにあたっては、kafkaなどのブローカーミドルウェアや、Amazon SNS、Google Cloud Pub/Subなどのマネージドサービスを利用するケースが多いかと思います。ところでPostgreSQLでも実はPub/Subができます。 すでに業務でPostgreSQLを使っていれば、新たにPub/Subブローカーを構築しなくても、疎結合なシステム間通信を簡易的に実現できます。 本記事ではこの機能の紹介と、Pub/SubクライアントをJavaで実装する場合の選択肢、考慮点を示しています。 ※実行環境はPostgreSQL 16.2とJava 21です ※データベースの文字コードはUTF-8としてい

                                  PostgreSQLのPub/Sub機能とJavaのクライアント実装 | フューチャー技術ブログ
                                • チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                                  プロダクト技術本部の川口です。 3年間、ビッグローブ光といった固定回線のインフラ部門に所属していましたが、今年の4月に BIGLOBE の基幹システムのリニューアルを推進していく部署に異動することになりました。 所属するチームでは、ドメイン駆動設計(DDD)で開発しています。 チームにジョインすると開発チュートリアルをやることになっており、そこで IntelliJ や Spring Boot での開発の仕方を学んだり、チュートリアルを通して DDD を学んだりします。 今回は、DDD のチュートリアルで実際に作成したドメインモデルがどういう風に成長していったかについて紹介します。 勤怠管理アプリ チュートリアル 初期ドメインモデル 中期ドメインモデル 後期ドメインモデル 学んだこと、感想 勤怠管理アプリ チュートリアル お題は GitHub のパブリックリポジトリに公開されています。 ht

                                    チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
                                  • 【ABA Games】インディーゲーム制作歴40年。PC黎明期から生成AI時代まで折れずに続ける理由

                                    【ABA Games】インディーゲーム制作歴40年。PC黎明期から生成AI時代まで折れずに続ける理由 2024年3月25日 インディーゲーム開発者 長 健太 早稲田大学でコンピュータサイエンスを学び、学士号・修士号・博士号を取得。メーカー就職後はITの研究職を経て、現在はマネジャーとしてシステム開発に携わる傍ら、大学時代から一貫してインディーゲーム開発者としての顔を持ち続けている X ABA Games GitHub Blog -ABAの日誌- シューティングゲームを中心にこれまで400作以上もの作品を生み出し、インディーゲーム界の第一人者として国内外で知られる「ABA Games」こと長健太氏。 2023年9月に公開した「小さなゲーム開発の楽しみ」という電子冊子も話題となり、開発の楽しさを心から味わっている様子がうかがえます。 今回は長きに渡りインディーゲーム業界を牽引してきた長さんにイ

                                      【ABA Games】インディーゲーム制作歴40年。PC黎明期から生成AI時代まで折れずに続ける理由
                                    • Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成

                                      Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成 Docker社は、DockerfileやDocker Composeの設定ファイルであるCompose.yamlなどを自動生成してくれる「Docker Init」コマンドが、1月25日付でリリースされたDocker Desktop 4.27で正式版となったことを明らかにしました。 Dockerには、Dockerコンテナの構成を記述するDockerfileや、複数のコンテナを組み合わせてアプリケーションを構成するDocker Composeの設定を記述するdocker-compose.ymlなどのファイルがあります。 これまでは、これらの設定ファイルを開発者自身が記述する必要があり、手間がかかっていました。Docker Initコマンドは、これを

                                        Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成
                                      • これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル

                                        自分は、仕事でScalaを数年間・プライベートな経験を含めると10年弱のScalaの経験がある、そこそこの熟練Scalaエンジニアだ。チームにメンバーが入ってきたり他人に勧めるたびにScalaの環境構築を教えている一方、最新の知見を反映した記事が無くて他人に勧めづらかったので、自分が書くことにした。 現在ある記事 けっこう古びている 覚えながら書かれていることが多いのでやや曖昧な箇所がある(でもありがとう!) 最新のツールが利用できておらず無駄が多い 網羅的でない 今回目指す内容 最新の知見を活用して最短距離を目指す 何もない状況から一通りのツールが揃う所を目指す Scalaの環境構築は年を追うごとに簡単になってきているので、大多数の読者は引っかからずに進めるようになっているはず。 Scalaは基本的にJVMで動作する言語だ。このため環境構築にはJVMのセットアップも含まれるのだが、それに

                                          これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル
                                        • Java 21新機能まとめ - Qiita

                                          Java 21が2023/9/19にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2023-September/008267.html The Arrival of Java 21! LTSであり、パターンマッチングや仮想スレッドが正式化され、プレビューとして入ったString Templatesや無名クラス&インスタンスメインメソッドも面白い機能なので、大切なリリースになっていると思います。 詳細はこちら JDK 21 Release Notes Java SE 21 Platform JSR 396 OpenJDK JDK 21 GA Release APIドキュメントはこちら Overview (Java SE 21 & JDK 21) 追加されたAPIまとめはこちら https://docs.oracle.com/en/

                                            Java 21新機能まとめ - Qiita
                                          • WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース

                                            WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース Webブラウザ上で実行可能なWebAssembly製JavaVM 前バージョンのCheerpJは、Javaのバイトコードを事前コンパイルによりJavaScriptコードに変換することで、Webブラウザ上でJavaアプリケーションを実行可能にするコンパイラを中心とするツール群でした。 今回の新バージョン「CheerpJ 3.0」では、WebAssemblyによってOpenJDKのJavaランタイムを完全に実装したと説明されています。これにより、JITコンパイラなどを含むJavaVMの機能をWebブラウザ上で実行できるようになりました。 Javaアプリケーションのソースコードは不要で、ビルド済みのJarファイルをそのままWebブラウザで実行

                                              WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース
                                            • 引っ越し先の部屋にあった謎のIoT機器の正体をエンジニアが明らかにする過程

                                              低レイヤのRustエンジニアであるニキータ・ラプコフ氏が、引っ越し先の部屋に設置してあった謎のIoT機器が一体何であるのかを突き止める過程をブログに投稿しました。 What's that touchscreen in my room? | Nikita Lapkov https://laplab.me/posts/whats-that-touchscreen-in-my-room/ ラプコフ氏は2015年築のアパートに引っ越した際に壁に下図のデバイスを発見したとのこと。何らかのタッチスクリーンであることは間違いありませんでしたが、家主はこの機器について全く知りませんでした。本体にはボタンやラベルが存在せず、電源のオンオフを知らせるライトが付いているのみだったとのこと。 アパートのさまざまな家電製品のマニュアルが入ったバインダーを調べると下図のパンフレットが出てきました。このパンフレットを見

                                                引っ越し先の部屋にあった謎のIoT機器の正体をエンジニアが明らかにする過程
                                              • Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability

                                                Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability

                                                  Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability
                                                • 倫理を振りかざすライセンスが好ましくないのは何故か?

                                                  オープンソースが社会で受容されるにつれ、コミュニティの中においても一定の倫理が求められる傾向が強まっている。Code of Conduct(行動規範)を定める開発プロジェクトが多くなったのもその流れだろう。しかしながら、ライセンスによって使用者に対して倫理的な行動を求めることは現在に至っても忌避されており、それを悪だと看做す人々も多い。これは何故だろうか? (本稿は「オープンソースとは何か? Open Source Definition逐条解説書」の付録の一つとして収録されている文書である。) 嫌いな奴を排除する 大抵の人には嫌いな人がいるものだ。人間とはそのようなものだろう。その嫌いな人々に自分が開発したソフトウェアを使わせたくないという感情を持つことを中々否定できるものではない。そして、ソフトウェアの開発者には開発したソフトウェアに対する著作権が帰属する。著作権に基づいて第三者に対しソ

                                                    倫理を振りかざすライセンスが好ましくないのは何故か?
                                                  • [速報]古いJavaや.NETのコードを最新のJavaにAIが自動変換する「Amazon Q Code Transformation」、AWSが発表。AWS re:Invent 2023

                                                    [速報]古いJavaや.NETのコードを最新のJavaにAIが自動変換する「Amazon Q Code Transformation」、AWSが発表。AWS re:Invent 2023 Amazon Web Services(AWS)は、ラスベガスで開催中のイベント「AWS re:Invent 2023」の基調講演で、生成AIを用いて多様なAIサービスを提供する「Amazon Q」を発表。Amazon Qの機能の一部として、古いJavaや.NETのコードを最新のJavaや.NET対応に自動変換する「Amazon Q Code Transformation」を合わせて発表しました。 参考:[速報]AWS、Copilot対抗となる「Amazon Q」発表。生成AIによるシステム開発支援や業務支援など、多様なAIサービスを提供。AWS re:Invent 2023 Amazon Q Code

                                                      [速報]古いJavaや.NETのコードを最新のJavaにAIが自動変換する「Amazon Q Code Transformation」、AWSが発表。AWS re:Invent 2023
                                                    • macOS Sonoma 14.4にアップデートするとJavaがクラッシュするとオラクルが注意喚起。Appleシリコン搭載Macで

                                                      macOS Sonoma 14.4にアップデートするとJavaがクラッシュするとオラクルが注意喚起。Appleシリコン搭載Macで オラクルは、Appleシリコン搭載のMacでmacOS Sonoma 14.4にアップデートを行うと、Java 8以降のすべてのバージョンでJavaが予期せず終了する現象が発生するとして、Macユーザーに注意喚起を行っています。 今のところ回避策はなく、macOSをバージョンアップしてしまうと元に戻す簡単な方法もないため、Appleシリコン搭載のマシンでJavaを利用している開発者やユーザーは、この問題が解決するまでは最新のmacOSへの移行を延期することをオラクルは勧めています。 Javaが正常に動作しないことで、Javaに依存しているツールもmacOS Sonoma 14.4では動作しなくなります。Kotlinの開発元などで知られるJetBrainsは、J

                                                        macOS Sonoma 14.4にアップデートするとJavaがクラッシュするとオラクルが注意喚起。Appleシリコン搭載Macで
                                                      • サーバレスに最適化したJava実行基盤「GraalOS」、オラクルが発表。Javaをネイティブバイナリにコンパイルし瞬時に起動

                                                        オラクルはJavaをサーバレス環境で実行するのに最適化した技術「GraalOS」を発表しました。 同時に、Oracle Cloudのサーバレス実行基盤である「Oracle Cloud Functions」でGraalOSの機能を提供することも発表されました。 Javaをコンパイルし、ネイティブバイナリを実行 GraalOSは名称にOSと付いているものの、LinuxやWindowsのようなOSではなく、Javaをデプロイする新たな技術とその基盤を指します。 具体的には、同社が提供しているJava実行環境である「GraalVM」のコンパイラを用いてJavaをコンパイルしてネイティブバイナリを生成し、それをサーバレス基盤にデプロイし実行することで、サーバレスアプリケーションの瞬時の起動と高速な実行などを実現するというものです。 参考:Javaのネイティブバイナリ生成可能なGraalVMの全機能が

                                                          サーバレスに最適化したJava実行基盤「GraalOS」、オラクルが発表。Javaをネイティブバイナリにコンパイルし瞬時に起動
                                                        • TypeScript Origins: The Documentaryを観た - laiso

                                                          TypeScript Origins: The DocumentaryはTypeScriptの誕生に関わった関係者たちへのインタビューで構成されたドキュメンタリー動画。 www.youtube.com 製作元はOfferZenというアムステルダムの求人プラットームの会社で、以前にはSvelte OriginsやLaravel Originsも公開している。 本作ではReact.js: The Documentaryの次世代フロントエンドフレームワーク開発競争と時期を同じくして起っていたAltJS戦争の中でどうTypeScriptが現在の地位を獲得していったのかに迫る。 laiso.hatenablog.com 私はTypeScriptについては片手間業務プログラマーという感じで全然詳しくないんですけど、TypeScript Originsのゆりかご からRemove TypeScriptの

                                                            TypeScript Origins: The Documentaryを観た - laiso
                                                          • Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表

                                                            Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表 GoogleはWebブラウザ上でスプレッドシート機能を提供する「Google Sheets」の計算エンジンの性能をWebAssembyで実装し、従来のJavaScriptによる実装と比較して性能を2倍に向上させたことを明らかにしました。 これにより単純なSUM計算から複雑なクエリまで、シート上でのあらゆる計算を始め、ピボットテーブルの作成、条件付きフォーマットなどさまざまな処理が高速になるとのことです。 この性能向上は、JavaScriptで構築されていた計算エンジンをWebAssemblyに最適化したことで実現していると説明されており、そのためにWebAssemby GC(ガベージコレクション)機能を用いたとのことです。 そのため現時点ではChromeとMicrosoft

                                                              Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表
                                                            • 【登壇資料公開】JJUG CCC 2023 Spring「APIによるレガシーシステムの改善」 - techtekt

                                                              こんにちは。techtekt編集部です。 6/4に開催された「JJUG CCC 2023 Spring」にて弊社のリードエンジニアである齋藤 悠太が登壇しました。 資料公開に関する声を多く頂戴し、当日の資料を公開します。 ぜひご覧ください! APIによるレガシーシステムの改善 それでは次回のtechtektもお楽しみに! 齋藤 悠太 Yuta Saito システムアーキテクト部 dodaアーキテクトグループ リードエンジニア SIerや事業会社業務での開発を経験し、2020年9月にパーソルキャリアに入社。現在はdodaサイト開発に携わっている。好きな技術領域はJava、Spring、AWS。 ※2023年6月登壇時点の情報です。

                                                                【登壇資料公開】JJUG CCC 2023 Spring「APIによるレガシーシステムの改善」 - techtekt
                                                              • Meta、コード生成や解釈に特化した大規模言語モデル「Code Llama」公開

                                                                Metaは、コードもしくは自然言語によるプロンプトから、コードの生成およびコードに関する自然言語の説明を生成できる大規模言語モデル「Code Llama」を公開しました。 Code Llamaは、先月(2023年7月)にMetaが発表した大規模言語モデル「Llama 2」をベースに、コードに特化したデータセットでさらに訓練したバージョンだと説明されています。 対応するプログラミング言語はPython、C++、Java、PHP、JavaScript、Typescript、C#、Bashなどを始めとする主要な言語。 GPUで処理できるサイズやPython特化のモデルも Code Llamaは3つのサイズ、7B、13B、34Bが提供されています。 7Bモデルは1つのGPUで処理できる一方で、34Bモデルは最善の結果を返し、より良いコーディング支援を可能にする能力があります。 一方、7Bおよび13

                                                                  Meta、コード生成や解釈に特化した大規模言語モデル「Code Llama」公開
                                                                • 昨今のロシア軍の捕虜に対する蛮行を見ると日本兵のシベリア抑留は『ロシア基準』だと最高レベルに甘々で優しい扱いだったんやな…

                                                                  Java-lan(じゃばらん) @lan_java 昨今のロシア軍の捕虜に対する蛮行を見ると… 日本兵のシベリア抑留は、ロシア基準だと最高レベルに甘々で優しい扱いだったんやな…そりゃ、ロシア視点だと「なんで日本兵をこんなに優しく扱ったのに、日本人は俺達を嫌うの?米国に騙されてない?」ってなるよね ※ただ日本兵視点ではしぬほど辛い 2023-07-31 17:28:10 Java-lan(じゃばらん) @lan_java 男にはLANケーブルと蛇腹配線だけがあれば良い…かつて解読班といわれたHOI1時代を知る古参パラドファンの洋ゲーマー。そして、ひぐらし園崎家を愛する男である!なんか書いたもの:syosetu.org/novel/259493/ kokopa.blog23.fc2.com

                                                                    昨今のロシア軍の捕虜に対する蛮行を見ると日本兵のシベリア抑留は『ロシア基準』だと最高レベルに甘々で優しい扱いだったんやな…
                                                                  • UUIDv7 in 32 languages

                                                                    UUIDv7 is a 128-bit unique identifier like it's older siblings, such as the widely used UUIDv4. But unlike v4, UUIDv7 is time-sortable with 1 ms precision. By combining the timestamp and the random parts, UUIDv7 becomes an excellent choice for record identifiers in databases, including distributed ones. Let's briefly explore the UUIDv7 structure and move on to the zero-dependency implementations i

                                                                      UUIDv7 in 32 languages
                                                                    • BrowserStack:テスト自動化有料ツールの決定版

                                                                      特によく使われる上二つのサービスでは”Webアプリケーションのテスト環境"を提供しており、インターネットに公開されたWebアプリケーション、開発中のローカルのWebアプリケーションのテスト環境が揃っています。 テスト環境 = テスト用アプリケーションがデプロイされ、ホストされている環境 テスト実行環境 = 上記テスト環境にアクセスし、テストを実施するためのデバイス・ブラウザ・OSを含む環境 BrowserStackはクラウド上で後者の「テスト実行環境」を提供しています。 BrowserStack Live (手動テスト) BrowserStackにホストされている様々なデバイスを利用し、マニュアルテストすることが可能です。画像ではiPhone13のデバイスを立ち上げ、Webのダッシュボード上で操作を行っている様子です。シミュレータではなく、実機デバイスをブラウザ上から操作できます。 Bro

                                                                        BrowserStack:テスト自動化有料ツールの決定版
                                                                      • ゼロから始めるシステム障害対応フロー - Qiita

                                                                        初めに 本記事 『ゼロから始めるシステム障害対応フロー』 の内容について タイトルの「ゼロから始める」には二つの意味があります。プロダクトのリリースを間近に迎える中、チーム内での障害対応体制の枠組みがなかったこと。そして体制づくりを担当することとなった私の知識・知見が(ほぼ)ゼロだったこと。この二つです。 この状態から、リリース前〜リリース後の約2月間でなんとか形にすることができました。本記事ではその過程でぶつかった問題とそれに対する課題、それらにどう対応したのか、何を学んだのか、の紹介。 そして、障害対応体制の策定・構築や改善の流れの中で私が起こした失敗から、人としてリーダーとして何を心がけなければいけなかったのかの反省を共有させてもらいたいと思います。 本記事は以下の構成です。 0. 始まり ※ スクラムチームでの話。スクラムチームの登場人物は以下の三つ PO:プロダクトオーナー(Pd

                                                                          ゼロから始めるシステム障害対応フロー - Qiita
                                                                        • Java 21の概要 / outline of Java 21

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

                                                                            Java 21の概要 / outline of Java 21
                                                                          • ソートできるUUID v7をJavaで使うときの話

                                                                            JJUG CCC 2024 Spring の発表資料です

                                                                              ソートできるUUID v7をJavaで使うときの話
                                                                            • 非同期処理をシンプルなPythonコードで説明する - Qiita

                                                                              想定読者 非同期処理がいまいちイメージできないという人 非同期処理って具体的にどう書くの?という人 Pythonの基本文法はなんとなく知っているよという人(←具体的な実装方法を知りたい人のみ) Pythonがパソコンにインストールされている(←動作確認したい人のみ) 非同期処理、同期処理とは? まずは結論から。 非同期処理とは、 あるタスクが終了するのを待っている間、別のタスクを実行すること。 同期処理とは、 処理を順番に実行していくこと。 以下、詳しく書いて行きます。 非同期処理のイメージ 非同期処理のイメージは、 家事を並行してこなすことに似ています。 例えば、 ご飯を炊いている間、炊飯器の前でただ炊けるのを待っていては、時間がもったいないです。 炊けるまでの1時間の間に、他のメニューを作ったり、部屋の掃除をした方が効率的です。 このように、 タスクA(ご飯を炊く)が完了するまでの間、

                                                                                非同期処理をシンプルなPythonコードで説明する - Qiita
                                                                              • モダンな開発環境のBtoB SaaSアーキテクチャ特集 技術選定のポイントと今後の展望 - Findy Tools

                                                                                公開日 2024/06/25更新日 2024/07/01モダンな開発環境のBtoB SaaSアーキテクチャ特集 技術選定のポイントと今後の展望 ご好評頂いているアーキテクチャ特集の第三弾となる今回は、BtoB SaaSを提供する企業10社にご協力頂き、技術選定のこだわりや今後の展望をご寄稿いただきました。アーキテクチャを通して、各社の事業特性や設計思想にも触れられる内容となっております。※ご紹介は企業名のアルファベット順となっております 株式会社あしたのチーム あしたのチームは「誰もが "ワクワク" 働ける世界を創る」をビジョンに掲げ、人事評価制度の構築・運用・クラウド化で "人と組織の成長" を支援しています。今回は、2024年4月にリリースされた同社の新サービス:パフォーマンスマネジメントプラットフォーム『Cateras™』のアーキテクチャについてご説明します。 アーキテクチャ選択の背

                                                                                  モダンな開発環境のBtoB SaaSアーキテクチャ特集 技術選定のポイントと今後の展望 - Findy Tools
                                                                                • メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita

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

                                                                                    メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita