タグ

ブックマーク / codezine.jp (53)

  • 大規模言語モデル(LLM)をアプリケーション開発で活用するには? グーグル・クラウドが基礎から解説

    大規模言語モデル(LLM)とは何か? その仕組みと実用化まで 登壇したのは、グーグル・クラウド・ジャパン合同会社 ソリューションズアーキテクトの中井悦司氏と、同社のAI/ML 事業開発部長である下田 倫大氏の2人。まず中井氏がセッションのテーマである大規模言語モデル(LLM)の基礎知識を解説した。 グーグル・クラウド・ジャパン合同会社 Solutions Architect 中井悦司氏 ウィキペディアで「言語モデル」を調べると、「単語列に対する確率分布を表わすもの」とある。中井氏は、世の中に存在する大量の自然言語で書かれたテキスト文書に対し、その文書がどれほど「ありそう」なものなのかを確率で表現するものが言語モデルであると説明した。 言語モデルの利用例として、文章の次に来る単語の予測が挙げられる。例えば、"This is a ……"とあると、多くの日人は"pen"と想像することが多い。そ

    大規模言語モデル(LLM)をアプリケーション開発で活用するには? グーグル・クラウドが基礎から解説
  • Java開発者御用達! 今も利用者が増え続けている「Springフレームワーク」は何がすごいのか【デブサミ2022】

    Javaフレームワークを利用したソフトウェア開発は、今やすっかり当たり前の開発スタイルになった。今日では数多くのJavaフレームワークが存在するが、中でも特に国内外の数多くのJavaデベロッパーに支持されているのが「Springフレームワーク」だ。その魅力や使いこなしのポイントについて、SB C&S株式会社のDevOps推進チームでさまざまな製品・サービスの情報をデベロッパー向けに発信している佐藤梨花氏と河上珠枝氏に紹介してもらった。 SB C&S株式会社 テクニカルマーケティングセンター ビジネス開発課 佐藤梨花氏(上)、同 河上珠枝氏(下) 今、Javaフレームワークが必要とされている理由 今日のシステム開発においてJavaフレームワークが広く必要とされている背景として、佐藤氏は「ITが果たす役割の変化」を挙げる。 「2000年代にはITの役割はあくまでもビジネスのための道具、ツールの

    Java開発者御用達! 今も利用者が増え続けている「Springフレームワーク」は何がすごいのか【デブサミ2022】
  • そのテスト、正しく設計できていますか? テスト技法ツール「GIHOZ」を活用したAPIテスト設計【デブサミ2022】

    マイクロサービスアーキテクチャの普及や、Webブラウザのほかモバイルやスマートスピーカーなどクライアントチャネルの多様化もあって、Web APIを前提としたシステムが増加している。当然、Web APIのテストも現場では大きな課題になってくるが、株式会社ベリサーブの朱峰錦司氏は「なぜ、そのテストを実行するのか、全員で共有できているチームはどれほどあるだろうか」と疑問を抱く。そして正しいテスト技法を少し覚えるだけでも、個々のテストに対する理解はぐっと深まるという。テスト技法の初歩を、実演も交えて解説してくれた。 株式会社ベリサーブ 研究企画開発部 サービス開発課 課長 朱峰錦司氏 テスト作りの過程を言語化するツールがテスト技法 朱峰氏は「今はソフトウェアプロダクトを1回作って終わりという時代ではない。プロダクトをどんどん進化、変化させていく時代だ」と指摘し、この状況に対応するために書いたテスト

    そのテスト、正しく設計できていますか? テスト技法ツール「GIHOZ」を活用したAPIテスト設計【デブサミ2022】
  • 受託開発は「納品」をなくせばうまくいく? なくさなくてもうまくいく? ソニックガーデン倉貫義人氏、グロースエクスパートナーズ鈴木雄介氏対談

    また、今回の対談のモデレータを、倉貫氏、鈴木氏とも交流の深い株式会社SyncThoughtの橋吉治氏が務めました。 顧客企業と受託開発スタイル 橋 ► 倉貫義人さんは、近著『「納品」をなくせばうまくいく~ソフトウェア業界の“常識”を変えるビジネスモデル』(日実業出版社刊)で「納品のない受託開発」を提示し、話題を集めています。個人的には、この書籍は倉貫さんの試みの集大成で、開発者の幸せが顧客の幸せにつながる、1つの方法論を示しているのではないかと思っています。 この書籍に対し、ブログで「「納品」をなくさなくてもうまくいく」と反論的な感想を寄せたのが鈴木雄介さんです。お二人の考えの違いを突き詰めると、個別の開発現場でより幸せな開発を模索するヒントが得られるのではないかと思います。 では、まずお二人の会社と代表的な事例について紹介していただきましょう。 納品がなく成果で契約、IT部門がなく

    受託開発は「納品」をなくせばうまくいく? なくさなくてもうまくいく? ソニックガーデン倉貫義人氏、グロースエクスパートナーズ鈴木雄介氏対談
  • 軽くて使いやすい仮想化技術 「Docker」の仕組みと エンタープライズ開発における4つの活用事例

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    軽くて使いやすい仮想化技術 「Docker」の仕組みと エンタープライズ開発における4つの活用事例
  • デブサミ2014、講演関連資料まとめ

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    デブサミ2014、講演関連資料まとめ
  • さよなら手作業・人海戦術! HTML5時代のツール「Selenium2」でWebシステムのテストを自動化

    シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。 シリーズのスコープと対象読者 シリーズはWebシステム・Webアプリケーションのテストの中でも「Webブラウザを操作して実施するテスト」をスコープにしています。開発工程としては、1モジュールとして単体テストに位置付けられる場合もあれば、複数のモジュールやシステムと連携して結合テストや総合テストに位置付けられる場合もあるでしょう。これらのテストのことを、シリーズ

  • JavaScriptテンプレートエンジンJsRender 基本のキ

    はじめに JsRenderは高速、軽量、高性能なJavaScriptテンプレートエンジンです。JsRenderを使うと、ブラウザ側で動的にテキストやHTMLを生成できます。 JsRenderはoutlook.comなどのサイトですでに使われており、今後利用者が増えることが期待されています。先日、JsRenderの正式版のリリースが近いことが、作者であるボリス・ムーア氏のブログで発表されました。そこで、正式リリースに先立ちJsRenderの使い方を紹介していきます。 対象読者 JavaScriptテンプレートエンジンに興味のある方 JavaScript、jQueryの基を理解している方 必要な環境と準備 JsRenderとjQueryを以下のサイトからダウンロードしてください。JsRenderは単体でも動きますが、jQueryのプラグインとしても機能します。 JsRenderのダウンロード

  • リアルタイムWebを構築しやすくする「Socket.IO」とは

    連載では、このTech-Sketchから「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けいたします。 リアルタイムWebとSocket.IO 栄えある連載第1回は、リアルタイムWebとSocket.IOについてお届けいたします。Tech-Sketchに掲載した元ネタはこちらです。 JavaScriptとDynamic HTMLによる「動的に表示内容が更新されるWebサイト」は、JavaScript内から非同期にサーバへ接続しデータを取得する技術、いわゆるAjaxが利用できるようになったことを皮切りに、爆発的に広がりました。Google Mapsなどがその代表例です。 このGoogle Mapsは、表示する場所や縮尺を変更するといった「利用者の操作」を契機として新しいデータをサーバへ取りに行く仕組みになっています。そのためサーバ側でデータが変更されたとしても、次にデータを

    リアルタイムWebを構築しやすくする「Socket.IO」とは
  • レビューを軸に駆動する

    要件定義工程はさまざまなことが決まっていない混沌とした状態にあります。このような状況の中で、洗練化などの繰り返し作業の方法と上位のステークホルダーの意向にあわせて軌道修正する進め方を説明します。そのポイントはマイルストーンごとにテーマを決め、そのテーマに基づく作業とレビューを行い、軌道修正しながら成果物を洗練化することです。 レビューを計画の中心におく レビュー駆動で進める プロジェクトオーナーなど上位のステークホルダーはプロジェクトに責任を負うので、プロジェクトに対する軌道修正や中止などの大きな権限をもちます。従って要件定義段階では上位のステークホルダーの意見を十分に配慮し、適切に要件を組み立てる必要があります。 そのために上位のステークホルダーが参加するレビューを計画の中心に据え、要件定義以降に大きな方針転換が起こらないように計画を組み立てます。 例えばレビューが月1回行われるようであ

    レビューを軸に駆動する
  • 「要件定義」の4つの構造と依存関係に着目した実践手法

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「要件定義」の4つの構造と依存関係に着目した実践手法
  • 格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する

    はじめに Virtual Private Server(VPS)とは、一台のサーバー上で仮想サーバーを何台も起動させることで、個々のユーザーに対して管理者権限を付与し、専用サーバーのような環境を提供するサービスのことをいいます。VPSのユーザーはサーバーのリソースを自由に使用でき、CGI実行環境のカスタマイズや大規模データベースの利用などが可能です。 ServersMan@VPSは、そのVPSを格安で提供するサービスの一つ。例えば、ServersMan@VPSの「Entryプラン」では、HDD容量10GB、メモリー容量256MBのVPSが、初期費用無料、月額490円で利用できます。 また、料金の安さだけではありません。申し込んでからすぐ利用できる、VPS環境を簡単にリセットできる、マニュアルや管理ツールが充実しているというメリットもありますので、試験的な開発や個人的な開発でサーバーのチュー

    格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する
  • JavaのバグをFindBugsで見つける

    はじめに FindBugsは、Javaコードのバグ検出のために設計されたオープンソースの静的分析ツールです。ただし、他の多くの静的分析ツールとは違って、アプリケーションを破壊する可能性がある危険なコーディングエラーを特定することに、ほぼ全力を傾けます。他の静的分析ツールでは検出できないような微妙なバグでも見つけることができます。 FindBugsは、コンパイル済みのJavaバイトコードを走査して、いわゆる「バグパターン」を探します。簡単にいうと、バグパターンとは、バグを生みやすいコーディング上の習慣のことです。バグパターンは、「人は(個人でも集団でも)同じ過ちを繰り返す傾向がある」という考え方に基づいています。人は習慣に従って行動する生き物であり、習慣は、たとえ有害なものでも、恒常的に繰り返されるのです。経験の浅い開発者が、経験豊富な開発者がまだ新人だった頃に犯したようなミスを犯すことも珍

    JavaのバグをFindBugsで見つける
  • GPS携帯を使った口コミサイト構築 - PHPによるメールの受信処理 -

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    GPS携帯を使った口コミサイト構築 - PHPによるメールの受信処理 -
  • グーグル、Google App Engineを1日で学べる日本語教材を公開

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    グーグル、Google App Engineを1日で学べる日本語教材を公開
  • 処理並列は、必ず処理速度が向上するのか

    はじめに CPUは、コンピューターの頭脳です。単純に考えると、頭脳が2つあれば、1つの時と比べて、同じ時間でたくさんのことを考えることができそうです。10年ほど前、Intel製プロセッサーPentium IIの頃から、1枚のボードに複数のCPUを載せて高速化する試みがなされました。Intel製CPUでは2ユニットまででしたが、SUN Microsystems製のコンピューターでは、もっとたくさんのユニットを載せることができていました。今では、CPU自体に複数の「コア」を載せ、1ユニットで同時に別々のことを実行できるようになっています。 ハードウェアが、同時に複数のことを実行できるようになったため、ソフトウェアもそれに対応する必要が出てきました。記事では、昨今あちらこちらで声高に繰り返される、「並列処理化すれば速くなる」に疑問を持ったため、それを検証することにします。 対象読者 なんといっ

    処理並列は、必ず処理速度が向上するのか
  • プログラミング未経験から始めるPHP入門一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    プログラミング未経験から始めるPHP入門一覧
  • 高速、小容量の自然言語解析で直感的な 対話型インターフェースを実現する「Answers Anywhere」

    1. Answers Anywhereとは 「Answers Anywhere」は、自然言語で入力されたユーザーの指示から意図を汲み取り、対話をしながら機器操作やデータ検索をするシステムを構築するためのミドルウェアです。 分かりやすいイメージとしては(かなり誇張表現ですが)アプリケーションを「2001年宇宙の旅」のHAL9000やスタートレックのコンピューターのように操作できるようにするものと言えるでしょう。映画の中でシステムは知的にふるまい音声対話によりユーザーの指示に答えながらユーザーを支援していました(HAL9000は最後暴走してしまいましたが……)。現状のAnswers Anywhereでは、映画中のシステムのように音声入力まで含めた機能は実現してはいないのですが、ユーザーから文章として受け取った指示を意味解釈し、アプリケーションの操作やデータ抽出を対話的に行うことができます。 具

    高速、小容量の自然言語解析で直感的な 対話型インターフェースを実現する「Answers Anywhere」
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

    Scalaとは Scalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaJavaの後継として実用的な言語を目指して開発されています。 Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。 Scalaのメリ

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編
  • CakePHP内の処理を理解する

    はじめに PHPの世界ではフレームワークがさかんに発表され、次から次へと新興勢力が現れてきます。そんな中で大きなコミュニティに発展しているのがCakePHPフレームワークです。一部では、開発環境をいったんCakePHPからRuby on Railsに移行したものの、再びCakePHPに戻ってくるという「CakePHP回帰現象」も起こり始めています。CakePHPは、手軽に利用できるPHP言語にぴったりの「手軽に利用できるフレームワーク」です。フレームワークとは、先人の知恵をまとめ上げたものと言うことができます。その中にはどんなノウハウが蓄積されているでしょうか。PHP4/PHP5で使用できるRails風フレームワークCakePHPを使って、フレームワークの処理の流れを調べてみましょう。 対象読者 この記事は、CakePHPでの開発を始めた方が対象です。CakePHPに関する基的な知識に関

    CakePHP内の処理を理解する