CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
![Rails 7でリアルタイムWeb開発! Action Cableの応用とRails 7.1の新機能について](https://cdn-ak-scissors.b.st-hatena.com/image/square/bc40780fbe5a23bc2eba238d5130a191771232ab/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fimages%2Farticle%2F18263%2F1200.png)
進化を続ける生成AIの最前線、ChatGPT。既に多くの業界で注目される中、まだこの革命的な技術を手にしていないあなたへ。本連載では、具体的なコードを交えながら、ChatGPT APIの可能性とその活用法を徹底解説します。今回は、ChatGPTをさらに使いこなすための「プロンプトエンジニアリング」について紹介します。 はじめに 前回までの記事では、ChatGPTに興味はあるものの、活用イメージがわかない方々に向けて、ChatGPT APIを利用するとどのようなサービスが開発できるのかを中心に具体定な実装を交えてご紹介してきました。今回は最終回として、ChatGPTのみならず全てのLLMを扱う上で重要となる、プロンプトエンジニアリングについて解説します。 プロンプトエンジニアリングとは 大規模言語モデル(LLM)を利用するにあたって、モデルに入力する文章を主に「プロンプト」と呼びます。このプ
機械学習(ほぼ)初心者が、Webアプリケーションを作ったキッカケ 本記事では、機械学習の(ほぼ)初心者である筆者が、TIS株式会社の5daysインターンシップ「機械学習を用いたWebアプリケーション開発」に参加した際に開発したWebアプリケーションについて紹介します。筆者は、学部で情報工学の基礎を学び、現在は都内国立大学大学院に通う大学院生です。これまでにWebアプリケーションの開発経験はなく、機械学習も「なんとなくイメージはできる」程度の理解でした。今回は、開発にPythonを用いました。Pythonの使用経験は2年弱でしたが、機械学習を実装するのは初めてでした。 開発したアプリケーションのソースコードは、GitHubで公開していますので適宜参照してください。 5daysインターンシップとテーマ設定 今回のインターンシップでは、機械学習技術を活用したWebアプリケーションを開発するという
対象読者 JavaScriptフレームワーク・ライブラリの選定に悩んでいる方 本格的にJavaScriptを触るのが初めてという方 jQueryでの大規模なフロントエンド開発に限界を感じている方 必要な環境 Node.jsがインストールされていることが推奨です。 React.jsとは何か React.jsは最近注目を浴びているFacebook製のライブラリで、MVCアーキテクチャでいうViewにあたる機能を提供します。 前提として、JavaScriptの世界でMVCのVといえば、紛れもなくDOM(Document Object Model)のことを指します。特に何も意識しないで作った場合、都合の良いDOMからデータを引っ張り出しては別のDOMを書き換えるといった、行き当たりばったりな作りになりがちです。そこで、MVCの考え方を導入することにより、データを画面とは独立した構造体として切り出し
まつもとさん自身によるStreemについての解説は、今後日経Linuxで順次掲載されるようです。まつもとさんがStreemについて解説する内容は、おそらく、プログラミング言語設計に関する高レベルなものとなるのではないでしょうか。 本記事はそれとは無関係に、2015年1月に公開されているStreemについての低レベルな解説、つまり現時点のStreemのソースファイル(の一部)の読み解き方を示します。具体的には、GitHubのStreemリポジトリにある「lex.l」と「parse.y」という2つのソースファイルについて解説します。 Streemのソースファイルは、https://github.com/matz/streemからダウンロードできます。画面右下にある[Download ZIP]ボタンをクリックしてください。 lex.lとparse.y ダウンロードしたStreemソースファイルの
はじめに 『Javaによる簡易HTTPサーバーの作成』第2回目の今回は、RFC2617で規定されているHTTPのBasic認証およびDigestアクセス認証を、前回作成したHTTPサーバーに実装します。 本記事では HTTPの認証の仕組み NullObjectパターンの利用 Javaでメッセージダイジェストを利用する方法 デファクトスタンダードと仕様の齟齬(そご)の実例 といったトピックを取り上げます。 対象読者 本記事は、Javaプログラミングの初級者から中級者を対象に、J2SEのメッセージダイジェストの利用方法や、NullObjectデザインパターンの利用などについて解説します。 また、HTTPの認証機構や、RFCと現実の実装の差などの、コンピューティングの周辺知識についても簡単に説明します。 必要な環境 本記事のソースをビルド/実行するには、J2SE 1.4以上を利用してください。ソ
はじめに SQLが提供する結合演算には、その特徴に応じて内部結合、外部結合、クロス結合などさまざまな名前が与えられています。普通、これらの結合の多くは、異なるテーブルまたはビューを対象として行われます。しかし、SQLは結合が同一のテーブルまたはビューに適用されることを禁止していません。同一のテーブルを対象に行う結合を「自己結合(self join)」と呼びます。自己結合は、使いこなせば非常に便利な技術ですが、動作がイメージしにくいため敬遠されがちです。そこで本稿では、この自己結合の便利さを例題を通して学び、その動作を分かりやすく解説します。 自己結合を理解することは、実務上のテクニックを身につける以外に、もう一つ利点があります。それは、集合指向(set-oriented)というSQLの重要な特徴を理解できることです。オブジェクト指向言語が世界をオブジェクトとして表現するように、SQLは世界
はじめに Google App Engine(GAE)/Javaでは、Java仮想マシン上で動作する言語を利用することができます。例えば、JRubyやGroovyなどです。 Scalaも、コンパイルすることによりJava仮想マシン上で動作するクラスファイルを生成する言語ですので、当然、GAE/Java上で動作させることができます。 Scalaが動作するということは、ScalaでできているWebアプリケーションフレームワークであるLiftを元に作成されたアプリケーションを、GAE/Javaに載せることができるということです。 前後編で構成される本連載では、ScalaおよびLiftをGAE/Java上で動作させる方法を解説した後、サンプルアプリケーションでGoogleが提供するさまざまなAPIを利用した、GAEならではのアプリケーションを作成して、GAEでのアプリケーション作成のイメージをつか
Nu is an interpreted object-oriented language. Its syntax comes from Lisp, but Nu is semantically closer to Ruby than Lisp. Nu is implemented in Objective-C and is designed to take full advantange of the Objective-C runtime and the many mature class libraries written in Objective-C. Nu code can fully interoperate with code written in Objective-C; messages can be sent to and from objects with no co
はじめに 今回は、前回作ったTwitter風アプリをGoogle App Engineで動くように改造していきます。 Google App Engineは単なるサーバ環境の提供ではなくデータ管理等も含む独自環境です。そのため、Ruby on Railsのアプリケーションを動かす上で大きな問題点になってくるのは、データ管理機構がRDBではないことです。 GAEのデータ管理機構「Datasotre(BigTable)」は基本的には Key-Value ストアです。一応、RDBのようにテーブルや行列という概念を持っており、RDB同様に行単位でデータの読み書きを行え、上位ライブラリではSQL風言語もサポートしています。しかし、基本はKey-Value ストアであり検索で指定できる条件は限られています。リレーション(join)等もありません。 Ruby on Railsの高生産性を支えている大きな要
今回は、「Amazon EC2」のインスタンスを停止してもデータが失われないストレージオプションである「Amazon Elastic Block Store(EBS)」の使い方や活用方法を紹介し、「Amazon EC2」を取り巻くデータバックアップ方法を紹介していきます。 はじめに 前回は、「Amazon EC2」をより実践的に扱うためのオプションや、GUIで簡単に操作できるツールの利用手順を紹介しました。 今回は、「Amazon EC2」のインスタンスを停止してもデータが失われないストレージオプションである「Amazon Elastic Block Store(EBS)」の使い方や活用方法を紹介し、「Amazon EC2」を取り巻くデータバックアップ方法を紹介していきます。 前提条件 今回も前回同様「Amazon EC2 Command-Line Tools」を利用した方法を紹介していき
はじめに こんにちは。hirataraです。 私が初めて正規表現を使ったのは、PerlによるCGIでの文字列処理でした。それから私はPerlを使い続け、今では正規表現なしのコーディングは考えられないほど、正規表現を当たり前の機能として日常的に使っています。昔は標準では正規表現をサポートしていなかったJavaも、今では正規表現をサポートするようになりました。Javaだけではなく、今日ではほとんどの高級言語にとって、正規表現はなくてはならない機能であると言っても過言ではないほどメジャーな機能となっています。 本記事では、この正規表現の舞台裏に光を当てます。一見すると作ることが難しそうな正規表現エンジンですが、その根底には数学的な概念があり、その概念さえ知っていれば基礎となる機能の実装はそんなに難しくありません。この連載ではその数学的な概念をPythonを使って表現しながら、実際に動作する正規表
はじめに 1970年代にヨーロッパを主な舞台として生まれ育ったプログラミング言語Prolog(programming in logic)は、事実とルールから一種の自動推論を行う点に特徴があります。その基本的な動作は200行ほどのRubyプログラムで実現できます。ここでは、筆者がRubyで作成したProlog処理系を解説します。 Prologによる簡単なプログラム例を下記に示します。 これは「ソクラテスは人間(human)である」「プラトンは人間である」という事実と、「人間ならばいつか死ぬ(mortal)」というルールを書いたものです。mortal(X) :- human(X)は、変数Xが実際には何であったとしても、もしもhuman(X)が成り立つならば(つまりXが人間ならば)、mortal(X)が成り立つ(つまり、Xはいつか死ぬ)という意味です。 簡略化のため、本処理系ではRubyの構文要
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く