JJUG CCC 2025 Springで発表した資料です。 https://ccc2025spring.java-users.jp/
めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回は、ykws(@ykws__)さんに“自分だったらこう進めたい、モバイルアプリ開発の学習ロードマップ”を伺いました。 自己紹介 20年のモバイルアプリ開発の歴史 この20年で変わったこと この20年で変わらなかったこと プラットフォームを理解する必要性 個人開発からチーム開発へ 自分はどの部分を担当するのか 今からモバイルアプリを開発するなら 自己紹介 2004年から携帯電話向けの Java アプリ開発に携わり、2007年には携帯キャリア向けのコンテンツ提供やアプリ開発を行う会社を設立しまし
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 平文通信はRS-232Cまでだよねーキャハハって言われた気がしたので今時っぽく暗号化する話 で、RSA鍵交換ももう使われていないわけなので、ECDHを説明してみようということです 概要 通信を暗号化ということで、AESのような共通鍵暗号が基本 問題は鍵をどうやってお互いに持つのかということ 安全のためには「保存されない一時的な鍵」を使うときに生成、通信経路を通さずに相手と共有したいわけ そこで出てくるのが鍵交換、今はECDHが多いので、とりあえずこれでやってみる 鍵ペア(公開鍵と秘密鍵のペア)をお互いに生成して、公開鍵を交換、
はじめに 祝! Java 25 リリース 先日(2025年9月16日),Java 25 がリリースされたことは,Java を愛する皆々様ならご存知のことかと思います。 特に,このバージョンは Java 21 に続く 2 年ぶりの長期サポート(LTS;Long-Term Support)版であり,企業利用においても安心して使えるバージョンとして今後の普及が見込まれています。 前バージョンとの比較や注目の点に関しては,Qiita の方に良い記事がありましたので,そちらをご参照ください。 Java の言語仕様と JVM の仕組みは公開されている ところで,Java のあらゆる言語仕様や Java 仮想マシン(JVM) の仕組みは,JEP(JDK Enhancement Proposal)や JSR(Java Specification Request)などの提案を通じて議論され,最終的に Ope
はじめに この記事では、Visual Studio Code (VS Code) と Docker を使って Java プログラミングを始めるための、最もシンプルで標準的な方法を解説します。ビルドツール(Maven/Gradle)は使わず、VS Code の拡張機能だけで完結するプロジェクトの作成、コーディング、デバッグ、テストまでの一連の流れを実践的に学びます。 なお、この記事の VS Code では Copilot の画面を閉じた状態で画面キャプチャしてあります。ご承知ください。 環境構築 本記事では、開発環境の差異をなくし、すぐに Java 開発を始められるように、Visual Studio Code の Dev Containers 拡張機能と、筆者が提供する開発コンテナーイメージ hiro345g/dvc:jdk-202507 を使用します。 前提条件 お使いの PC に VS
AIプログラムの開発、つまり、AIにコードを書かせるのではなくて、LLMを呼び出したりRAGを実装したりエージェントを作ったりといったAIを組み込むプログラミングの演習をしたいときに、参加者のPCに十分なリソースを前提とできないことは多いと思います。 Java AIプログラミング記事でQwen3 1.7B Q4_K_Mを選んだ 先月gihyo.jpの連載で、「JavaでAIプログラミングをはじめよう」という記事を出しました。 「JavaでAIプログラミングをはじめよう」という短期連載をgihyo.jpで出しました - きしだのHatena そのときに、読者のPCにGPUが載ってたりMacであることだったりは前提にできないので、なるべく必要なリソースが少ないモデルを選ぶ必要があって、最終的にQwen3 1.7BのQ4_K_Mを選びました。初回に、LM Studioとあわせた導入方法を載せてま
これは何? C++ でいうところの、static でないメンバ関数、static メンバ関数、あるいは クラスとは関係のない関数、そういったものを、各言語でなんと呼ぶのかをまとめてみた。 調べずに記憶で書いている部分もあるので、間違っていたり、昔はそうだったね、とか言うこともあるかもしれない。 ※ 間違っていたら優しく教えて下さい。 以下、関数とか手続きとかメソッドとかそういうものを「やつ」と呼ぶ。 各言語での用語 C++ C++ にはクラスがあり、そこに所属しているやつがいる。そういうやつは「メンバ関数」と呼ばれる。 クラスに所属していないやつもいる。そういうやつらは単に「関数」と呼ぶが、「メンバ関数」ではないことを明示したい場合には「フリー関数」と呼ぶことがある。 メンバ関数のうち、 this がなくても呼べるやつを「static メンバ 関数」と呼ぶ。「静的メンバ関数」と呼ぶ人もいる
リクエストデータをJavaBeansにセット(Commons活用):JavaTips ~Apache/Jakarta編 JavaBeansのプロパティを文字列として指定 Javaで記述されたコンポーネント間で、まとまった情報をやり取りしたい場合は、JavaBeansを使用すると便利です。JavaBeansのプロパティxxxに値をセットしたり取得したりするには、setXxx()やgetXxx()メソッドを呼ぶコードを記述します。しかし、XML形式の設定ファイル内に、JavaBeansにセットしたいプロパティ名と値の組が記述されていた場合等、アクセスしたいプロパティのプロパティ名を文字列として指定したい場合があります。このようなときは、java.lang.reflectパッケージによるリフレクションを用いて、プロパティ文字列に対応するsetter/getterメソッドを呼ぶコードを記述するのが
javac コマンドの-source, -target オプションのルール変更について 2014年7月2日 at 12:55 午後 1件のコメント Java SE 5 以前の Java のソース・コードを Java SE 7, Java SE 8 の環境でご利用頂いている皆様に、今後の JDK における仕様変更(予定)のご案内をさしあげます。 ※ この情報は 2013 年 4 月 14 日に開発者 (Joseph D. Darcy) からアナウンスされた情報です(ご参照:Changing Sources and Moving Targets: Evolving the javac command line )。また、JEP(JDK Enhancement Proposal) 182 としてリストされている内容です。 今まで、javac のコンパイラ・オプションで “-source”, “-
バリデーション解体新書 2025/4/8に開催した #アーキ部 『バリデーション解体新書』の内容を編集したものです。 バリデーションとは何か? 広義には、 何らかの処理を実施するにあたって、入力データが想定する条件を満たすかを検証する行為 と言える。 この定義で、アプリケーションのどこでバリデーションをしているのかを考えると、以下のように各層にそれが見られる。 このように実装される場所が散らばるので、「バリデーション」や「入力チェック」を分類して開発ガイドラインを作ることが多い。 例えば、大規模Java開発向けのTERASOLUNA開発ガイドラインを見てみると、 ユーザーが入力した値が不正かどうかを検証することは必須である。 入力値の検証は大きく分けて、 1. 長さや形式など、文脈によらず入力値だけを見て、それが妥当かどうかを判定できる検証 2. システムの状態によって入力値が妥当かどうか
2025-03-24 関ジャバ'25 3月度 https://kanjava.connpass.com/event/345530/ SpeakerDeckにあげたら9ページ目だけ文字が消えました。 なんでだろ?せろさんのポスト貼ったから? 心の目で見てください。
これは何 HTTPとWebSocketサーバーのコア部分を実装しながら仕組みを理解していきます。学習目的で実用ではありません。 HTTP、WebSocketはどちらもWEBエンジニアなら当たり前に使うプロトコルですが、仕組みはふわっとしか分かっていませんでした。そんな折サーバー周りを触る必要が出てきたので改めて理解しておきたくなり、せっかくなので自分でいちから実装してみることにしました。コード全体は以下から見れます。 実装する機能 ざっくりと以下のような機能を作っています。 HTTPサーバー GETメソッドのみ、HTTP/1.1のみに対応 リクエストラインをパースして、リクエストに応じた処理を行う(GETのみ対応なのでレスポンスヘッダーを付けてファイルを返すだけ) ヘッダーフィールドもパースするが、Websocket関連以外のフィールドは無視する WebSocketサーバー Websock
こんにちは!関数型まつり 運営チームの池田です。 このたび、ScalaMatsuriが進化し、新しい関数型プログラミングのカンファレンス「関数型まつり」を開催することをお知らせいたします!🎉 関数型まつりとは? 関数型まつりは、プログラミングにおける「関数型」の思想や技術にフォーカスした新しいテックカンファレンスです。 言語に限定されることなく、あらゆるプログラミング言語の壁を越えて、関数型プログラミングというものについて広く学び共有する場です。たとえば、あなたがHaskellを愛する開発者でも、JavaScriptで関数型っぽく書いているフロントエンドエンジニアでも、あるいは「関数型って興味あるけどよくわからない」という初心者でも、きっとこのイベントで新しい発見があるはずです。 イベント詳細 イベント名 関数型まつり 開催時期 2025年6月14日(土)〜2025年6月15日(日) 開
'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
Java Champion 谷本 心 EverforthとAcroquestの2社で正社員として働くエンジニア。仕事のかたわらでコミュニティ活動も行っており、日本Javaユーザーグループの代表を務めるほか、アメリカで開催されたJavaOneやSpringOneなど国内外のイベントで登壇。その実績から日本で3人目の「Java Champion」に任命された。著書に『Java本格入門』(技術評論社)。趣味は対戦格闘ゲームと、BABYMETALを追いかけて世界中を旅すること。 X: @cero_t Blog: https://cero-t.hatenadiary.jp/ 1. 『Java本格入門~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで』(谷本心、阪本雄一郎、岡田拓也、秋葉誠、村田賢一郎 著) 2. 『プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく
Java デベロッパーの皆さんは IntelliJ IDEA や Eclipse を使ってる方が多いのではないでしょうか。筆者は VS Code を使っています。業務では長らく Java から離れていたのですが、ここ数年はけっこう書いています。かつては IntelliJ IDEA に課金してましたが Java 再開を機に VS Code の環境を整えました。この記事では、定番の拡張やワークスペースの使い方についてご紹介したいと思います。 結論から言うと 「Microsoft の Extension Pack for Java を入れましょう。」で終わりです。 Extension Pack for Java - Visual Studio Marketplace Extension Pack はその名の通り複数の拡張の集合体で、現状は6つの拡張がインストールされます。少しこの中身を見ていきま
MyJVNバージョンチェッカで最新バージョンのソフトウェアをチェックする 概要 2024年7月17日(日本時間)に Oracle Java に関するセキュリティ更新プログラムがが公表されています。 これらの脆弱性を悪用された場合、アプリケーションプログラムが異常終了したり、攻撃者によってパソコンを制御されたりして、様々な被害が発生するおそれがあります。 攻撃が行われた場合の影響が大きいため、早急にセキュリティ更新プログラムを適用してください。 対象 サポートされている以下の Oracle 製品が対象です。 Oracle Java SE 22.0.1 Oracle Java SE 21.0.3 Oracle Java SE 17.0.11 Oracle Java SE 11.0.23 Oracle Java SE 8 Update 411-perf Oracle Java SE 8 Upda
ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Integer java.lang.Object <- new java.lang.Runnable java.lang.String java.lang.System java.lang.Thread java.nio.file.Files <- new java.nio.file.Path <- new java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.io.OutputStream java.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く