タグ

ブックマーク / ascii.jp (27)

  • これは嬉しい ChatGPTプロンプト書き方のコツ、OpenAIが公開

    OpenAIは、大規模言語モデル(GPT-4)でよりよい結果を出すためのプロンプトエンジニアリング(プロンプトのノウハウ)入門テキストを同社のウェブサイトで公開している。 同テキストでは、現在同社で最高の性能を持つ大規模言語モデルGPT-4を対象に、よりよい結果を導くための6つの戦略と、それぞれを実行する際の具体的な戦術(コツ)が掲載されている。 また、「Prompt examples」のページでは、上記で紹介したものを含む多数のプロンプト例が紹介されており、すぐに利用できるようになっている。 では紹介された6つの戦略を見ていこう。 明確な指示を書く LLMは利用者の心を読むことができないので、回答が長すぎる場合は「簡潔に」、単純すぎる場合は「専門家レベルで」と明示的に依頼する必要がある。 具体的な戦術としては下記が提案されている。 ・より関連性の高い回答を得られるよう、質問は詳細に ・モ

    これは嬉しい ChatGPTプロンプト書き方のコツ、OpenAIが公開
  • 「インターネット」(The Internet)の語源についてあらためて調べる(前編)

    小説やマンガの編集者、テレビ番組や映画の関係者からむかしのコンピューターやネット事情について聞かれることがある。ちょっとした時代考証なのだが意外とストーリーに影響のあるような話で、ひょっとしたら「これ間違っているとマズいかも?」みたいな感じで連絡をいただくこともある。 すぐ分かることが多いので答えるようにしているが、社内から人づてにきたのを「はいはいどういうことでしょう?」と引き受けたり、まったく知らない方から連絡をいただくこともある。私の古くからの友人で『磯野家の謎』や『QuickJapan』の編集者の赤田裕一氏から少年マガジンの巻頭図説のイラストが送られてきて「このコンピューターって何か分かる?」みたいなこともあった。 メールをさかのぼってみたところ過去1年半ほどの間にこの種のやりとりを3件ほどやっていたことがわかった。グーグルマップを使ったシーンの妥当性については、グーグルマップの開

    「インターネット」(The Internet)の語源についてあらためて調べる(前編)
  • AzureやAWSの大規模障害でもサービスが停止しない設計とは

    こんにちは!FIXER R&D Division担当、フェローの千賀です。 今日は、先日8月23日に発生したAWSでの大規模障害を受けて、クラウドを使ってシステムやサービスを構築、提供する際の考え方や留意事項等をお伝えし、止まらないサービスを作るにはどうしたらいいかをアーキテクチャの観点から解説したいと思います。 AWSでの障害の内容と原因 まず簡単に、AWSで2019年8月23日に発生した障害の原因や内容を簡単に解説します。既に当ブログでも取り上げ、報道などもされておりますのでご存知の方も多いかもしれませんが、同日正午過ぎごろから22時過ぎまでの間、AWS東京リージョンにて、EC2やRDSへの接続障害など発生しました。原因は冷房をコントロールする制御システムを中心とする多重障害であり、サーバの温度が上がりすぎたことによる過熱である、と報告されています。 これにより約10時間に渡って、AW

    AzureやAWSの大規模障害でもサービスが停止しない設計とは
  • ASCII.jp:“元・幼稚園の先生”がデータセンターで働き、プログラミング教育支援に携わるまで

    「さくらの学校支援プロジェクト」は、2017年にさくらインターネットがスタートさせたプログラミング教育支援プログラムだ。「石狩市への小学校プログラミング教育支援プロジェクト」として始まったこの取り組みは、石狩市内の小学校でプログラミング教育の授業を行えるようにするという当初の目標の達成見通しがついた今、新たな名称で北海道内全域を視野に入れた展開も開始している。 そんなプロジェクトを立ち上げ、ここまで育ててきたのが、さくらインターネットの朝倉恵氏だ。“元・幼稚園の先生”というIT業界では異色の経歴を持つ同氏に、IT業界に足を踏み入れたきっかけ、プログラミング教育支援プロジェクトに携わるまでの道のり、プロジェクトを進める中で遭遇した驚きや課題などを聞いた。 幼稚園教諭→Webデザイナー→プログラマー→サーバー管理者→? 「実は、コンピューターを使う仕事にはずっと憧れがあったんです」。北海道で生

    ASCII.jp:“元・幼稚園の先生”がデータセンターで働き、プログラミング教育支援に携わるまで
  • GKE、AKS、EKSを含む54基盤でコンテナーのポータビリティを保証、CNCF

    「Open Container Initiative(OCI)」は、2015年当時、DockerとCoreOSがそれぞれ別に標準化を進めていたコンテナーの仕様を統一することを目的に、Docker、CoreOS、およびAWSGoogleMicrosoft、IBMなど主要プラットフォームベンターが参加して2015年6月に発足した団体だ。2年後の2017年7月に、コンテナーランタイムとコンテナーイメージの最初の標準仕様「OCI v1.0」を発表。現在主要なコンテナーランタイムはすべてOCI v1.0に準拠しており、OCIが目指したコンテナーがプラットフォーム間でポータブルになるエコシステムが実現されつつある。 OCIは、コンテナーオーケストレーターKubernetesプロジェクトを主導する団体Cloud Native Computing Foundation(CNCF)と技術連携している。

    GKE、AKS、EKSを含む54基盤でコンテナーのポータビリティを保証、CNCF
  • IDCフロンティアとファーストサーバがソフトバンク傘下に

    3月20日、ヤフー傘下のファーストサーバはソフトバンクの完全子会社になることを発表した。ヤフーが保有する発行済み株式はすべてソフトバンクに譲渡され、同日付けで株主が変更になる。今後の計画については、「ソフトバンクの強みと、ファーストサーバが強みとしている中小企業領域でのビジネス基盤と、オープンソース技術力を最大限に活用し、中小企業のビジネスを加速させるクラウドサービスを提供して参ります」とコメントしている。 また、同じくヤフー傘下のIDCフロンティアも、2018年5月1日付けで株主がソフトバンクに変更になり、代表取締役社長もソフトバンクの鈴木 勝久氏が就任する予定。今後の計画については、「ソフトバンクの法人向けデータセンター・クラウド事業の中核を担う会社として、拠点数の拡大とともに、互いに培われた開発力を融合し、サービスラインアップの充実、運用の効率化を推進することが可能になる予定です。こ

    IDCフロンティアとファーストサーバがソフトバンク傘下に
  • 性能低下が取り沙汰されるインテルCPUの脆弱性とは? (1/3)

    では松の内が明けたか明けないかの内に騒ぎとなったインテル製プロセッサーの脆弱性に関する報道。 もともとは2017年の早い時期に発見されたもので、その問題の大きさもあってGoogleセキュリティー問題の対処を行なうProject Zeroチームが昨年から主要なCPUベンダーやOSベンダーに連絡を行なっており、今年の早い時期に対応を含めたアナウンスが行われる予定であった。 ただこの情報が、オフィシャルアナウンスの前に流出した。当初はロシア4chanで報じられたらしいのだが、当該スレッドは見つけられなかった。ただ広く報じられるようになったきっかけは、The Registersの記事である。これを受けて主要なベンダーはいずれも自社の製品についてのアナウンスを緊急に公開している。 一覧で示すと、以下のようになる。他にOSベンダーやクラウドプロバイダーなども相次いでレポートを出しており、まもな

    性能低下が取り沙汰されるインテルCPUの脆弱性とは? (1/3)
  • 低レベルアクセスへの入り口(1):io.Writer

    今回は、Go言語がOS直上の低レイヤーを扱いやすくするために提供している io.Writer インタフェースの紹介をします。Go言語がシステムプログラミングを簡単に行える言語でありつつも、それなりに少ない記述量で比較的高速で、それでいて多くのことが達成できるのは、これから説明するようなインタフェースにより、低レイヤーが扱いやすい構造になっているからです。インタフェースと、インタフェースに対して提供されるさまざまなサービス関数が、Go言語の安い、早い、うまいの秘密です。 io.WriterはOSが持つファイルのシステムコールの相似形 前回の記事では "Hello World!" プログラムの関数呼び出しをデバッガーでたどり、最後にシステムコール syscall.Write() が呼び出されているようすを見ました。OSでは、このシステムコールを、ファイルディスクリプタと呼ばれるものに対して呼び

    低レベルアクセスへの入り口(1):io.Writer
  • Go言語のメモリ管理

    ソフトウェアにとってメモリは不可欠です。 実行する命令も、メモリにロードしなければ実行できません。 ソースコードに書かれた定数値も、いったんメモリにロードしないと使えません。 関数を呼び出すにも、スタックと呼ばれるメモリ領域が必要です。 スタック以外に、ヒープと呼ばれるメモリ領域が必要なこともあります。 今回は、Go言語のプログラマーが作成するプログラムの下で、どのようにメモリが管理され利用されるかを探ります。 Go言語のメモリ管理というとガベージコレクターの話を思い起こすかもしれませんが、ガベージコレクターについては連載では取り上げません。 メモリ確保の旅 コンピューターに接続されている物理的なメモリチップが、どのような過程を経てプログラムで使われるのか、順番に見ていきましょう。 (1): カーネル 最近のオペレーティングシステムでは複数のプロセスを同時に実行できます。 それらのプロセ

    Go言語のメモリ管理
  • JavaScriptでシェルスクリプトを書いて面倒な作業はサクッと片付ける

    クライアントのWebサイトをSSLにアップグレードしました。証明書はワンクリックでインストールできるので難しくなかったのですが、SSLへ移行後、混在コンテンツの警告がたくさん出ました。WordPressのサイトなので、修正にはテーマディレクトリのアセットをHTTP経由でインクルードしているファイルをすべて特定する必要がありました。 以前は簡単なRubyスクリプトで自動化して対処していました。Rubyは私が最初に覚えた言語で、このようなタスクに適しているからです。しかしNodeでコマンドラインインターフェイスを作る方法で紹介したとおり、JavaScriptはブラウザーだけの言語ではなくデスクトップのスクリプトにも使えます(ほかにも用途はたくさんあります)。 この記事では、JavaScriptで再帰的にディレクトリ内のファイルにアクセスして特定の文字列を検出する方法を解説し、シェルスクリプトを

    JavaScriptでシェルスクリプトを書いて面倒な作業はサクッと片付ける
  • Go言語と並列処理(3)

    前々回は並行・並列の基Go言語の文法、前回はOSスレッドとの違いと、並列処理をサポートする標準ライブラリの紹介をしてきました。 今回は、並行・並列で処理を記述するためのパターンをいくつか紹介します。 さらに、Goによるプログラミングには直接関係しませんが、これまでの説明では登場しない並列処理のモデルとして、GPUのスレッディンングモデルを紹介します。 今回の記事の執筆にあたっては、GPUまわりの部分でエヌビディアジャパンの森野慎也さんにご協力いただきました。 感謝申し上げます。 Goにおける並行・並列処理のパターン集 Goにかぎらず、並列化を導入するとどれだけ効率が改善するかをあらわす数式として有名な、アムダールの法則というものがあります。 Pは並列化できる仕事の割合、Nは並列数です。 ある仕事のうち50%の部分が並列化可能だとすると、Nを無限大にしても(分母の右側の項がゼロになる)、

    Go言語と並列処理(3)
  • JSのデバッグにはconsole.log()ではなくNodeのデバッガーを使いなさい

    JavaScriptのデバッグに苦労しているなら、Nodeのデバッガーを試してみてはどうでしょうか。Visual Studio Codeならさらに手軽です。 袋小路です! 何時間も費やしていろいろ試してみたけれどもうまくいきません。コードをじっと吟味してもエラーになりそうなところはありません。2、3回ロジックを見直して、何度も実行しています。単体テストも助けにはならず、同じく失敗してしまいます。もはやどうしていいか分からず、虚空を見つめたくなります。ひとり闇の中にいるように感じて、だんだん腹が立ってきます。 こんなときの自然な反応は、コードの品質を落とし、邪魔なものを全部捨て去ることです。コードのあちこちにprintをちりばめて、なにかうまくいくことを祈るわけです。これでは暗闇で的を狙うようなもので、望み薄なことが分かるでしょう。 よくある話だと感じたのではないでしょうか。今までに数行以上

    JSのデバッグにはconsole.log()ではなくNodeのデバッガーを使いなさい
  • Goならわかるシステムプログラミング

    Goで始める、すこし低レイヤのプログラミング入門。入出力、ネットワーク、メモリなど、現実の世界でプログラムが動くために必要な機能をプログラム言語Goを通して覗いてみよう。OSの機能とは何か、それをプログラミングでどう利用するのか、システムプログラミングの世界をプログラマの視点から眺めていく連載企画。 2017年06月21日 17時00分 プログラミング+ Go言語によるプログラマー視点のシステムプログラミング 第20回 Go言語とコンテナ 連載の最終回。この連載ではプログラムがコンピュータ上で動くときに何が起きているのかをGo言語のコードを通して覗いてきました。今回はその締めくくりとしてコンテナについて紹介します。 2017年06月07日 21時30分 プログラミング+ Go言語によるプログラマー視点のシステムプログラミング 第19回 Go言語のメモリ管理 ソフトウェアにとってメモリは不

    Goならわかるシステムプログラミング
  • たった1万円以下で作れる!Raspberry Piで動く自分だけのGitサーバー

    もはやWeb開発プロジェクトに欠かせない存在となったGitGitHubも便利ですが、安価なRaspberry Piでプライベートな専用Gitサーバーを作っちゃう方法を紹介します。 ※記事は2016年4月13日に掲載した記事の翻訳を一部更新したものです。執筆時点の情報をベースにしており、最新ではない可能性があります。 プロジェクトのバージョン管理はとても役に立ちます。もしそれが個人のプロジェクトだとしても、何かの理由で新しいバージョンが壊れてしまったとき、いつでも古いバージョンに戻れるようにしておくことは重要です。 バージョン管理のためにバージョンごとにフォルダを作る方法もありますが、いまならずっといい方法があります。 その1つがGitです。Gitは個人で動かしているプロジェクト、チームで動いているプロジェクト、どちらにおいてもバージョン管理にとても有効です。このツールは単独のコンピュー

    たった1万円以下で作れる!Raspberry Piで動く自分だけのGitサーバー
  • これなら絶対わかる!JavaScriptの変数と型の基礎をいまこそ理解する

    なんとなくjQueryを使っているけど、実はJavaScriptの基礎がよくわかっていない……。そんなJavaScript初心者のために、変数とデータ型をていねいに解説します。 Webプログラミング言語「JavaScript」を学ぼうと決めたものの、どこから始めていいか分からないなら、この記事がちょっとしたヒントになるかもしれません。プログラミングを習得するのに特別なスキルは必要なく、誰だってゼロからスタートしています。一歩ずつ進めていけば大丈夫です。 この記事がおすすめの人は? 以下のどれかに当てはまる人なら、この記事を読むメリットがあります。 プログラミング言語を使った経験がない JavaScriptを使った経験がない 以前JavaScriptの習得に挑戦したが、資料が不十分、または難しくてついていけなかった JavaScriptについての知識は少しあるが、基礎レベルからさらにステップ

    これなら絶対わかる!JavaScriptの変数と型の基礎をいまこそ理解する
  • DDoS攻撃でビルの暖房が使えなくなり凍死寸前!?

    Photo by dagnyg 我々の生活を便利にしてくれるはずのIoTが、犯罪の標的になってしまったことで、文字通り“震える”事態となった――。 2016年11月、フィンランド南東部の南カルヤラ県にある都市・ラッペーンランタの2棟のビルで、事件は起きた。このビルではコンピューターで空調や水道の温度を管理していたのだが、DDoS攻撃の被害に遭い、暖房が停止してしまったのだ。 さいわい、ネットワークトラフィックを制限することで攻撃に対応できたとのことだが、11月のフィンランド(ヘルシンキ)は、平均最低気温はマイナス2度。これでは仕事にならないどころか、ビルを利用する人にとっては健康の被害さえ考えられる。 IoTデバイスは年々リリースされ続けているが、一方で専門家や公的機関から、犯罪の被害に遭う危険性も指摘されている。消費者向けのIoTだけでなく、電気や水道など重要なインフラもインターネット経

    DDoS攻撃でビルの暖房が使えなくなり凍死寸前!?
  • Goで覗くシステムプログラミングの世界

    プログラミングの勉強にあたってよく言われるのは、「流行に左右されるような技術の尻を追いかけるよりも、土台となる技術を身につけることが大切」ということです。 例えば、ウェブブラウザで動くJavaScriptを書くときは、流行しているライブラリの書き方を暗記するよりも、 ブラウザがどのようにCSSHTMLを解釈してスクリーンに文字や絵を描き出していく(レンダリングしていく)のかを理解することが大切です。 さもないと、ライブラリの流行が変わるだけで勉強したスキルが失われてしまいかねません。 データベースでも同じことがいえます。SQLの文法を学ぶことよりも、データベースがどのようにスケジューリングを行い、 どのようにデータを探索していくのかを学ぶほうが、パフォーマンス・チューニングのコツなどもひらめきやすくなるでしょう 1 。 「土台となる技術を身につける」を、もう少しちゃんと言い換えれば、「今

    Goで覗くシステムプログラミングの世界
    yohane00
    yohane00 2016/12/20
  • Ruby超入門(前編)

    こんにちは。 この連載では、ちょっと変わったRuby入門を書いていきます。 想定読者は、Rubyを学びたいプログラミング初心者です。 Ruby以外の言語でプログラミングしたことがあると理解がはかどると思いますが、 Rubyを知らなくてもわかるように、なるべく丁寧に説明していくつもりです。 Rubyをある程度知っている読者には、最初の数回は退屈かもしれませんが、 回を重ねていくにつれ、より深くRubyを知ることができるはずです。 Rubyとは? Rubyは「プログラミング言語」です。 プログラミング言語とは、コンピュータにやらせたい仕事を書くための言語です。 つまり、Rubyを覚えて、Rubyでコンピュータへの指示を書けば、 コンピュータはその指示を実行してくれます。 この指示書のことを「プログラム」と言い、特にRubyで書かれたプログラムを「Rubyプログラム」と言います。 ところで、Ru

    Ruby超入門(前編)
  • スタバからでも自宅にイケる!Raspberry Piで専用VPNサーバー作ってみた

    自宅のネットワークにスタバやオフィスからリモートで接続したいときに便利なVPNサーバー。自宅に転がっているRaspberry Piを使えば、安く手軽にサーバーを立てられちゃいますね。 Internet of Things(モノのインターネット)を使う難しさは、家にいないときに家にあるデバイスへの接続が難しいことです。私はいろいろな場所に出かけるので毎週この問題に直面します。というのは、IoTのテストをしたり、デモを作成したりする必要があるのに家にはいられないからです! そのため、家のネットワークに遠隔から接続できるようにRaspberry PiをVPNにしようと決めました。この記事ではPiVPNと呼ばれるOpenVPNインストーラーを使って、Raspberry PiをVPNにした方法を解説します。 記事を読めば、Raspberry Pi上のターミナルやSSHを使ってRaspberry Pi

    スタバからでも自宅にイケる!Raspberry Piで専用VPNサーバー作ってみた
  • JAWS-UG上越妙高の植木さん、実体験に基づくAWS運用を披露 (1/4)

    5月12日に行なわれたJAWS-UG金沢第10回勉強会のテーマはずばり「運用」。メインセッションでは実際に日々システムの運用保守を行なっているJAWS-UG上越妙高の植木 和樹さんが、現場での知見をたっぷり交えて運用、保守のポイントを語ってくれた。現場に立っている人間だからこそ見えてくるもの、気づけることなどが多く、同じく運用に携わるエンジニアだけではなくもっぱら開発に携わるエンジニアにとっても得るものの多いセッションとなった。 現場のエンジニアが現場のエンジニアから学べる場に 植木さんは、クラスメソッドで運用を担当するオペレーションチームの部長を務めている。クラスメソッドは東京に社を持つシステム企業だが、植木さん自身は新潟県妙高市に住み、テレワークで業務にあたっている。 クラウドにくわしく、働き方はテレワークという先進的な生活を送っている植木さんだが、AWSとの出会いは3年ほど前のJA

    JAWS-UG上越妙高の植木さん、実体験に基づくAWS運用を披露 (1/4)