並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 19469件

新着順 人気順

content-typeの検索結果321 - 360 件 / 19469件

  • ChatGPTプラグイン の作成方法|npaka

    1. ChatGPTプラグインの作成手順「ChatGPTプラグイン」の作成手順は、次のとおりです。 (1) APIの実装 (2) マニフェストファイルの作成 (3) OpenAPIドキュメントの作成 2. マニフェストファイルの作成2-1. マニフェストファイルの基本構成「マニフェストファイル」は、「ChatGPTプラグイン」のメタデータを記述するファイルです。APIのドメインの「/.well-known/ai-plugin.json」でホストします。 「マニフェストファイル」の基本構成は、次のとおりです。 { "schema_version": "v1", "name_for_human": "TODO Plugin", "name_for_model": "todo", "description_for_human": "Plugin for managing a TODO list.

      ChatGPTプラグイン の作成方法|npaka
    • ウェブサービス(Web API)をプログラムから使う

      ウェブサービス(Web API)をプログラムから使う 2009-12-26-2 [WebAPI][Programming] 前回[2009-12-24-1]はウェブサービス(Web API)の基本的事項と、よく採用されているプロトコルとデータ構造の概要を解説した。 プロトコルとデータ構造の組み合わせ、計4つのうち3つを取り上げて、実際にプログラムから Web API を使う方法を例を用いて説明する。 今回取り上げるサンプルプログラムで使った Web API と用いたプログラム言語を表に示す: プロトコル\データ構造XMLJSON, JSONPREST風MECAPI, Perlキーフレーズ抽出API, JavaScriptSOAP, XML-RPCはてブ件数取得API, Perl- REST風 + XML Web API をREST風プロトコルでアクセスしXMLデータを得る流れを perl

        ウェブサービス(Web API)をプログラムから使う
      • S3経由でXSS!?不可思議なContent-Typeの値を利用する攻撃手法の新観点 - Flatt Security Blog

        はじめに セキュリティエンジニアの齋藤ことazaraです。今回は、不可思議なContent-Typeの値と、クラウド時代でのセキュリティリスクについてお話しします。 本ブログは、2024 年 3 月 30 日に開催された BSides Tokyo で登壇した際の発表について、まとめたものです。 また、ブログ資料化にあたり、Content-Type の動作や仕様にフォーカスした形で再編を行い、登壇時に口頭で補足した内容の追記、必要に応じた補足を行なっています。 また、本ブログで解説をする BSides Tokyoでの発表のもう一つの題である、オブジェクトストレージについては、以下のブログから確認をすることが可能ですので、ご覧ください。 blog.flatt.tech なぜ今、この問題を取り上げるのか? 従来のファイルアップロードにおいて、Content-Type の値を任意の値に設定すること

          S3経由でXSS!?不可思議なContent-Typeの値を利用する攻撃手法の新観点 - Flatt Security Blog
        • 実行環境依存のコードに対してテストを書く考え方

          社内用の啓発記事ですが、閉じる理由がないのでここに投げます。 ブラウザにべったりなコードを書いてると、ブラウザや node.js 固有の環境をインラインで記述してしまうことが多々あると思います。 あえてダメダメなブラウザ向けのエントリポイントの例を書きます。 // main.ts let id = localStorage.get('id'); if (!id) { id = `${navigator.userAgent}-${Math.random()}`; localStorage.set('id', id); fetch('/auth', { method: 'POST', credentials: 'include', body: JSON.stringify({ id, at: Date.now(), }), headers: {'Content-Type': 'applicat

            実行環境依存のコードに対してテストを書く考え方
          • microCMS + Gatsby + GitHub Actions + S3 でJamStackのチュートリアル | DevelopersIO

            What is Jamstack? ここ数年でよく聞くようになったワード。 Jamstackとはウェブサイトを構築および運用するための、技術の組み合わせです。 JavaScript・API・事前にレンダリングされたMarkupの組み合わせでJamStackとのこと。 (以前はJAMStackといってたけど、最近はJamstackだったりする) Jamstackは、 「ウェブをより速く・より安全に・より簡単に拡張できるように設計されたアーキテクチャ」であり、 生産性を最大化するツールやフレームワーク、ライブラリやワークフローなどを 組み合わせて構築されるもの、とのことです。 ※jamstack.orgより 従来のCMSではアクセスがあったとき動的にページを生成しますが、 Jamstackではデプロイ以前に必要なページを生成します。 具体的には、下記。 Webサイトのフロントエンド全体(HTM

              microCMS + Gatsby + GitHub Actions + S3 でJamStackのチュートリアル | DevelopersIO
            • pylori*style wiki - HTMLパーサ Hpricot

              Hpricotは Ruby用の HTML パーサです。スキャン部分は C 言語で書かれていて高速に動作します。 HTMLの解析や書き換えに威力を発揮する便利なライブラリです。 rubygemsを使うのが簡単です。 # gem install hpricot すると以下のようにプラットフォームを聞いてきます。Unix系OSであれば 1 を、mswin32 であれば 2 を選びます。 Select which gem to install for your platform (i386-freebsd6) 1. hpricot 0.4 (ruby) 2. hpricot 0.4 (mswin32) 3. Cancel installation コンパイルが始まり、インストールが行われます。 Building native extensions. This could take a while.

              • Cloudflare R2もいいぞ! - ゆーすけべー日記

                CloudflareがSQLデータベースD1をアナウンスして衝撃を受けましたが、「R2もいいぞ!」というお話。 R2はS3みたいなストレージエンジンで、Sの前「R」、3の前の「2」ともじってて、AWS対抗といえます。で、ちょうどD1がアナウンスされた昨日にベータオープンしました。 A New Hope for Object Storage: R2 enters open beta 「ただのストレージだろ」とたかをくくってたんですが、使ってみてだいぶよいです。 先にまとめると以下の3つのことが言えます。 安い DX(Developer Experience)がよい Cloudflareの他の製品を組み合わせるとヤバい 詳しく紹介します。 作ったアプリ R2を評価するために、以前S3をバックエンドにして作ったアプリケーションをR2に置き換えるというのをやりました。そのアプリケーションについては

                  Cloudflare R2もいいぞ! - ゆーすけべー日記
                • .htaccessの小技編 - アクセス制限ベーシック認証~パスワードでページを守ろう~ - futomi's CGI Cafe

                  ホームページを作る上で、特定の人にだけ見せたいページが出てくるでしょう。 そのようなページでユーザー名とパスワードを入力させる認証ダイアログがポップアップ表示するところを見たことがあると思います。 これを Basic 認証 と呼びます。 ここでは、Basic 認証の仕組みや特徴、.htaccess と .htpasswd の書き方、 そして、.htpasswd に記述するハッシュ化パスワードの生成方法について解説します。 Basic 認証のダイアログ Basic 認証の認証ダイアログは、ブラウザーによって見た目が異なります。 実際に、お使いのブラウザーではどのような画面が出るのかをお試しください。 Basic 認証を試す Basic 認証の特徴 Basic 認証は、認証の仕組みとしては非常にシンプルなため、手軽に用意できるメリットがある反面、 いくつかのセキュリティ上のデメリットもあります

                  • mruby + ngx_mrubyでアプリケーションを実装するという選択肢 - LIFULL Creators Blog

                    はじめまして、技術基盤部の相原(kaihar4)です! 今回は、アプリケーションのクラウドサービスへの移行の一環で、 Amazon S3から取得した画像URLを含むファイルを元に、そのURLの外部画像を取得して返す機能 をmrubyで書き直してAWSに移行した話をしていきたいと思います。 この機能は元々モノリシックなアプリケーションの一機能として動いていたもので、これを切り出してAWSに移行するというのが今回私に与えられたミッションでした。 このアプリケーションは歴史が長く、その間ほとんどメンテナンスされていませんでした。 ディストリビューションは古くPHPのバージョンも4系、したがってそのまま持っていくという選択肢はなく、AWS上に新規にインスタンスを構築することになります。 弊社にはAPI部分をPHPからRubyに移行する方針があるということもあり、Amazon Linux上にRuby

                      mruby + ngx_mrubyでアプリケーションを実装するという選択肢 - LIFULL Creators Blog
                    • Using prototype.js v1.3.1

                      What is that? In case you haven't already used it, prototype.js is a JavaScript library initially written by Sam Stephenson. This amazingly well thought and well written piece of standards-compliant code takes a lot of the burden associated with creating rich, highly interactive web pages that characterize the Web 2.0 off your back. When I first started trying to use this library, a few years ago,

                      • Greenbear Diary - 5分でわかるRack , シュレーディンガーの猫たち

                        ■ [ruby][rack] 5分でわかるRack RackはRubyのためのWebサーバインターフェイスだ。 RubyでWebっていうとRailsが有名だけど、実はRails以外にもいろんなRuby用のWebアプリ用フレームワークが存在する。 Ramaze Merb Camping Waves などなど…。 一方Webを実際に動かすにはWebサーバが必要だ。RubyのためのWebサーバも、これまたいろんなものがある。 Apache(CGI, FastCGI..) WEBrick Mongrel Ebb Thin などなど…。 ここで問題が一つ。それは「フレームワークが増えるたびに、いろんなサーバをサポートするためのコードが必要になる」ってとこだ。 各フレームワークの作者がみんなそれぞれにCGIやMongrelに対応するためのコードを書いてるなんて、無駄だと思わないか? RackはWebア

                          Greenbear Diary - 5分でわかるRack , シュレーディンガーの猫たち
                        • W3C - 『HTML 5 differences from HTML 4』日本語訳 - HTML5.JP

                          一部、直訳ではなく意訳した部分がございます。原文と表現が異なることがございますので、ご了承ください。この日本語訳は、私が理解を深めるために、自分なりに日本語化したものです。本日本語訳には、翻訳上の誤りがある可能性があります。したがって、内容について一切保証をするものではありません。正確さを求める場合には、必ず原文を参照してください。当方は、この文書によって利用者が被るいかなる損害の責任を負いません。もし誤りなどを見つけたら、当サイトのお問い合わせより連絡いただければ幸いです。 原文URL:http://www.w3.org/TR/2011/WD-html5-diff-20110525// 原文タイトル:HTML 5 differences from HTML 4 - W3C Working Draft 25 May 2011 翻訳日:2011/05/26 最終更新日:2011/05/26

                          • SinatraでTwitter Streaming APIにアクセスする超簡単なWebアプリのつくりかた:Kenn's Clairvoyance

                            Twitterには、ストリーミングAPIという、プッシュでリアルタイムに情報を受け取ることのできるAPIが用意されています。 これを使えば、定期的にポーリングをしたりすることなく、誰かが発言した時点で即座にメッセージを受け取れます。 しかし、これを使うためには、TCP接続をTwitterに対して張りっぱなしにしておく必要があり、Webアプリなどで使うのに敷居が高いと感じている人もいるのではないでしょうか。 今回は、「そんなことないよ、超簡単だよ」ということを、Rubyベースのサンプルで示したいと思います。 なぜそんなことが簡単にできるのか、その秘密を先に種明かしすると、Ruby用のWebサーバとして急速に人気を獲得し、デファクトの座をとりつつある「Thin」というWebサーバが、内部的にEventMachineという非同期サーバを使用しているので、その機能を使うことで、今までのWebアプリ

                              SinatraでTwitter Streaming APIにアクセスする超簡単なWebアプリのつくりかた:Kenn's Clairvoyance
                            • Node.jsのアプリケーションデバッグ・改善方法をおさらいする - hiroppy's site

                              ステップ実行 --debugと--debug-brkは Node8 の時点ですでに非推奨なので、使わないでください。 デバッグ方法 コンソール Chrome devtools または、VSCode のような IDE に任せる 今回は、エディタ依存の話は特にしないです。 共通的な手順 基本的には、debugger を止めたい場所に置いていくことになります。 例として、以下のコードで説明していきます。 "use strict"; const { readFile } = require("fs"); const { promisify } = require("util"); const readFileAsync = promisify(readFile); (async () => { const data = await readFileAsync("hello.txt", "utf8"

                                Node.jsのアプリケーションデバッグ・改善方法をおさらいする - hiroppy's site
                              • 商用環境で設定しておきたいセキュリティ関連 HTTP ヘッダまとめ - A Memorandum

                                TL;DR X-Content-Type-Options X-Frame-Options(XFO) X-XSS-Protection Content-Security-Policy (CSP) Upgrade-Insecure-Requests Strict-Transport-Security (HSTS) Public-Key-Pins (HPKP) 設定 TL;DR X-Content-Type-Options MIME スニッフィングの無効化 X-Frame-Options(XFO) フレーム表示を制限しクリックジャッキングを予防 X-XSS-Protection XSSフィルタの有効/無効 Content-Security-Policy (CSP) XSSなどの攻撃を軽減するセキュリティレイヤー Strict-Transport-Security (HSTS) HTTP の代わり

                                  商用環境で設定しておきたいセキュリティ関連 HTTP ヘッダまとめ - A Memorandum
                                • 【PoC編】XSSへの耐性においてブラウザのメモリ空間方式はLocal Storage方式より安全か? - Flatt Security Blog

                                  はじめに こんにちは。 セキュリティエンジニアの@okazu-dm です。 この記事は、Auth0のアクセストークンの保存方法について解説した前回の記事の補足となる記事です。前回の記事の要旨をざっくりまとめると以下のようなものでした。 Auth0はデフォルトではアクセストークンをブラウザのメモリ空間上にのみ保存するin-memory方式であり、XSSへの耐性のなさ等の理由でlocalStorageで保存することを推奨していない しかし、XSSでアクセストークンを奪取できるのはin-memory方式でも同じのはず(検証は行いませんでした)。localStorage方式を過度に忌避する必要はないのではないか なお、Flatt Securityの提供するセキュリティ診断はAuth0に限らずFirebase AuthenticationやAmazon CognitoなどのIDaaSのセキュアな利用

                                    【PoC編】XSSへの耐性においてブラウザのメモリ空間方式はLocal Storage方式より安全か? - Flatt Security Blog
                                  • PHPのイタい入門書を読んでAjaxのXSSについて検討した(3)~JSON等の想定外読み出しによる攻撃~ - ockeghem(徳丸浩)の日記

                                    昨日の日記の続きで、Ajaxに固有なセキュリティ問題について検討します。今回はJSON等の想定外読み出しによる攻撃です。これら攻撃手法は本来ブラウザ側で対応すべきもので、やむを得ずWebアプリケーション側で対応する上で、まだ定番となる対策がないように思えます。このため、複数の候補を示することで議論のきっかけにしたいと思います。 まず、作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeから、Ajaxを利用したアプリケーションの概念図を引用します(同書P20の図1-23)。 前回、前々回は、(5)のHTTPレスポンスの前後で、JSON等のデータ作成(エンコード)に起因するevalインジェクションや、(5)のレスポンスを受け取った後のHTMLレンダリングの際のXSSについて説明しました。 しかし、問題はこれだけではありません。正常

                                      PHPのイタい入門書を読んでAjaxのXSSについて検討した(3)~JSON等の想定外読み出しによる攻撃~ - ockeghem(徳丸浩)の日記
                                    • Tumblr API

                                      Tumblr APIWelcome to the Tumblr API! There isn't anything we enjoy more than seeing talented designers and engineers using Tumblr to invent whole new forms of creative expression. We've put a tremendous amount of care into making this API functional and flexible enough for any projects you throw at it. Drop a line in the GitHub Issues if you have ideas for what could be better, or want to discuss

                                      • SPAなClientがトークンを安全に扱えるかもしれない拡張仕様「OAuth2.0 DPoP」とは - r-weblife

                                        おはようございます、ritou です。 今日は日頃の情報収集方法の一つである Mike Jones氏のブログ記事に書いてあったドラフト仕様のご紹介です。 self-issued.info The specification is still an early draft and undergoing active development, but I believe the approach shows a lot of promise and is likely to be adopted by the OAuth working group soon. まだDraft中のDraftな状態ですが、まいくたんの推し感が出ているのでざっと見ておきましょう。 OAuth2.0 DPoPとは? tools.ietf.org This document describes a mechanism

                                          SPAなClientがトークンを安全に扱えるかもしれない拡張仕様「OAuth2.0 DPoP」とは - r-weblife
                                        • 画像ポップアウト・イメージギャラリー・スライドショー|jQuery plugin|Ajax|PHP & JavaScript Room

                                          PHP、JavaScript、CSS、Webページ埋め込みによる音声・動画配信方法など、実用的なプログラミング・テクニックを解説jQueryでシンプルにスライドショーを実装する方法が掲載されています。 スライドショーとして表示する画像をあらかじめimg要素で列挙しておき、z-indexを変更することで入れ替え表示しています。 スライドのスピードはミリ秒で指定可能です。 すべての画像を表示し終わると、また繰り返し最初からリピート再生されます。 スライドを開始する画像のimg要素にはactiveクラスを指定します。 設置イメージ A Simple jQuery Slideshowの設置サンプルサンプルを見る<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtm

                                          • ChatGPTをぬるぬるにする🐌Server-Sent Eventsの基礎知識

                                            単方向通信であるということと、HTTP/1.1上で動作しているのが大きな特徴です。 また、HTTP上で動作することから、通信の互換性が高く、セキュリティモデルも使いまわせるので安心です。 どんな用途と相性がいいの? 双方向通信がしたいわけでなければ、相性の幅がとても広いです。 今回の ChatGPT のような、GPT がトークンを生成するごとに送るケースはもちろん、通知の未読件数バッジの更新、ニュース速報の表示など、サーバからイベントを送りたい時ならなんでも使えます。 HTTP/1.1で動くカラクリ SSEはHTTPのレスポンスヘッダにContent-Type: text/event-streamを指定した上で動作します。 SSEが動く流れ クライアントがサーバーに HTTP/1.1 リクエストを送信し、イベントストリームに接続します。 サーバーは、Keep-Alive 接続を使用して、T

                                              ChatGPTをぬるぬるにする🐌Server-Sent Eventsの基礎知識
                                            • リアルタイムアクセス可視化ツール「Hummingbird」を使ってみた

                                              自分のウェブページやウェブサイトを持っている場合には、閲覧しているユーザーの動向をリアルタイムに知りたいと思うものです。GIGAZINEでもアクセスをリアルタイムに表示できないものかということで、最近公開されたツールの「Hummingbird」を使ってみました。 詳細は以下から。 mnutt/hummingbird @ GitHub 実際に使用してブラウザ上で棒グラフが表示されているムービーはこちら。横軸が時間で、縦軸がアクセス数を示しています。HTML5の技術であるWeb Socketを使用することで、50ミリ秒というきわめて短い間隔でのアクセス情報を表示することが可能です。 YouTube - リアルタイムアクセス可視化ツール「Hummingbird」 MITライセンスで配布されているHummingbirdではGoogle Chromeに搭載されているJavaScriptエンジンV8を

                                                リアルタイムアクセス可視化ツール「Hummingbird」を使ってみた
                                              • Amazon S3 へのファイルアップロードで POST Policy を使うと、かゆいところに手が届くかもしれない - カミナシ エンジニアブログ

                                                はじめに こんにちは。カミナシでソフトウェアエンジニアをしている佐藤です。 みなさんは、アプリケーションのフロントエンドから、Amazon S3 にファイルをアップロードするときに、どのような方法を用いているでしょうか? 「バックエンドのサーバーにファイルを送信し、バックエンドのサーバー経由で S3 にアップロードしている」「Presigned URL を払い出して、フロントエンドから直接 PUT している」など、いくつかの方法があると思います。 弊社で提供しているサービス「カミナシレポート」でも、用途に応じて上記の方法を使い分けて S3 へのファイルのアップロードを行っています。 特に、Presigned URL は、手軽に利用できる上に、バックエンドのサーバーの負荷やレイテンシーの削減といったメリットも大きく、重宝しています。 一方で、その手軽さの反面、アップロードに際して様々な制約を

                                                  Amazon S3 へのファイルアップロードで POST Policy を使うと、かゆいところに手が届くかもしれない - カミナシ エンジニアブログ
                                                • 「React / Flux を実案件で使ってみた」その後

                                                  改めて覗いてみよう 1) CheckboxWithLabel changes the text after click: AssertionError: # /path/to/test/components/CheckboxWithLabel_test.jsx:21 assert(label.getDOMNode().textContent === 'On') | | | | | | "Off" false | HTMLLabelElement{htmlFor:"",form:null,accessKey:"",control:HTMLInputElement{src:"",valueAsNumber:NaN,incremental:false,defaultChecked:false,form:null,multiple:false,list:null,size:20,checked:f

                                                  • 早速Google AJAX Feed APIを導入してみました

                                                    Googleから「Google AJAX Feed API」が公開されました。 このAPIは、他ドメインのRSSやAtomの一般的なフィードを簡単に取得するためのAPIです。 公開APIを利用したサンプルサイトを作っていくよ管理人として、早速「Google AJAX Feed API」のテストを兼ねて、[Z]ZAPAブロ~グ2.0に導入してみました。 各記事の下部に、「この記事に言及していそうなブログを検索する」というリンクを追加してあります。 このリンクをクリックすると、画面遷移することなくAjaxで、リンク元のブログが表示されます。 Googleにキャッシュが生成されるため、クロスドメイン制約を気にすることなく、他のドメインのフィードを表示できます。 [Z]ZAPAブロ~グ2.0:人気記事の はじめてのApolloプログラミング ニコニコ動画みたいなものを作ってみるテストと問題点 など

                                                      早速Google AJAX Feed APIを導入してみました
                                                    • きんモザのアリスのgif画像を取得するAPIを作った - もがもがしいブログ

                                                      きんモザが終わる。 毎週楽しみにしていたきんモザが。 寂しい。 アリスと会えなくなることが、寂しい。 寂しいので、アリスのgif画像を取得できるAPIを作った。 http://mogashi.com/alice/ クエリストリング無しでアクセスするとランダムで Content-Type: image/gif な画像が降ってくる。 クエリストリングに使える有効なパラメータは以下の通り。 パラメータ説明id画像を一意に識別する ID。これを指定すると ep, no の指定は無効化される。ep話数。ep=1 なら第1話。no と一緒に指定して使う。なお作者は第6話のたこ焼きのシーンを作成して満足したため第7話以降のgif画像は存在しない。 10/5追記:11話のアリスの泣き顔に心を打たれたためgif画像を追加した。ついでに12話まで作成した。no話数の中の順番。no=1 に近いほど序盤のシーンに

                                                      • Minibuffer からはじめるGreasemonkey Script - 枕を欹てて聴く

                                                        20080406 21:50 キーコードについての説明を追記しました。 Greasemonkeyを使ってる人ならたいていの人が知ってるMinibufferとLDRize(偏見?) ただ、なんというかMinibufferについての説明がMinibuffer 2007.11.15 の変更点 | 3.14とsilog - script/LDRizeの記事くらいしかなく、半ばソース読んで書け状態になってるので結構ハードルが高いのではないかと。 そこで、自分でもDeleteCommand for GreasemonkeyっていうMinibuffer上で動くGreasemonkeyを書いたんだけれど、そのときにわかったこととか、後でMinibuffer用Scriptを書くときの備忘録みたいなのをまとめておく。 これよんでちょっとでもGreasemonkey、またMinibufferに興味持つ人が増えな

                                                          Minibuffer からはじめるGreasemonkey Script - 枕を欹てて聴く
                                                        • SlackをGo製ツールのGUIフロントエンドとして使う(#1: データの登録と表示) - ほんじゃらねっと

                                                          ブラウザで操作できるツールを作りたいけどWebのフロントエンド作るの面倒だな...とWeb系開発者にあるまじき事を考えつつ良いプラットフォームを探していたら、SlackのAPIが進化してツールフロントエンド化するのにうってつけの機能が増えているのを見つけました。 api.slack.com チャットツールのAPIといえば、「チャットで入力したテキストをボット側でがんばって解釈して実行する」というCUIのコマンド的な使い方しかできないイメージだったのですが、最近のSlackのAPIは「ショートカット(Shortcuts)」「モーダル(Modals)」「ブロックキット(Block Kit)」といった機能を使うことで、入力コンポーネントを使用したGUIでボットとやりとりすることができるようになっています。 これらを駆使すれば、入力フォームからデータを登録したり、編集フォームでデータを変更したり、

                                                            SlackをGo製ツールのGUIフロントエンドとして使う(#1: データの登録と表示) - ほんじゃらねっと
                                                          • 最近話題のWeb言語 Elixirのご紹介 | DevelopersIO

                                                            ここ最近、Elixirという言語がWebプログラマー界隈で話題になっています。 ElixirはErlangのVM上で動くRuby風味の関数型言語で、RailsコミッタのJose Valimさんが作ったプログラミング言語です。 この言語はErlangの並行性とRubyの開発生産性を持っています。 今回はこの言語が出てきた背景と文法の特徴について書こうと思います。 Elixirが注目されている理由 ここ数年、Webアプリケーションは以下の問題を抱えています。 C10K問題 10000以上のクライアントがサーバに同時接続すると、HWの性能は足りていてもOS、ソフトウェアの問題で処理が破綻する ムーアの法則の限界 CPUチップメーカーの製造するチップのクロックレートの成長に陰り。代わりにマルチコアアーキテクチャのCPUが開発されている リアルタイムWeb サーバ、クライアントが常時接続するアプリケ

                                                              最近話題のWeb言語 Elixirのご紹介 | DevelopersIO
                                                            • ディープラーニングを活用したマイクロサービスを構築し、画像から商品カテゴリの分類をしてみる - ZOZO TECH BLOG

                                                              こんにちは、VASILYのバックエンドエンジニアの塩崎です。 iQONの中ではクローラーと検索サーバーを担当しています。 iQONのクローラーには提携ECサイトさんからクロールした商品を商品カテゴリー(Tシャツ、ワンピース、etc.)に自動的に分類する機能があり、商品タイトルや商品説明文などのテキスト情報を元に分類を行っています。 しかし、一部のカテゴリー(セーター・ニット帽)の商品はテキスト情報だけからでは精度の良い分類を行うことができません。 そのため、これらのカテゴリーの商品については画像を用いたカテゴリー分類を導入しました。 これらの機能を実現するために、当社のデータサイエンスチームとも協力を行い、ディープラーニングを用いたカテゴリー判定器を開発しました。 また、この機能は既存のクローラーの機能からの独立性が高いので、クローラーに組み込むときにはマイクロサービス化をして組み込みまし

                                                                ディープラーニングを活用したマイクロサービスを構築し、画像から商品カテゴリの分類をしてみる - ZOZO TECH BLOG
                                                              • node.js

                                                                V8 JavaScript を用いたイベント駆動I/Oの実現 全てのリクエストに対して"Hello World"と返答するNodeで書かれたWEBサーバの例です。 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(8124, "127.0.0.1"); console.log('Server running at http://127.0.0.1:8124/'); このサーバを走らせるには、コードを example.jsというファイル名で保存し、下記のように nodeコマンドを実行してください。 % node example.js

                                                                • Ajaxでタブインタフェースを実現するためのライブラリ:phpspot開発日誌

                                                                  havocStudios: Ajax tabs CSS Tabs seem to be all the rage with the kids these days. I love the idea of them. It seems that the most popular method of creating tabs using CSS is the Sliding Doors method. They seem to look the coolest and are very easy to implement. However, they're so... static. Ajax Tabsを使えば次のようなCSSベースでデザインされたタブインタフェースの部品が簡単に作れます。 Ajaxを使ってタブが更新されるため、各タブ内のページ(HTML)は独立したファイルにすることが可能で

                                                                  • Crystal : The Crystal Programming Language

                                                                    Batteries includedCrystal’s standard library comes with a whole range of libraries that let you start working on your project right away. Check the API docs # A very basic HTTP server require "http/server" server = HTTP::Server.new do |context| context.response.content_type = "text/plain" context.response.print "Hello world, got #{context.request.path}!" end address = server.bind_tcp(8080) puts "L

                                                                      Crystal : The Crystal Programming Language
                                                                    • JavaScript の MIME タイプが `text/javascript` に統一されようとしている

                                                                      現在、 JavaScript の MIME タイプは2006年4月に公開された RFC 4329(www.rfc-editor.org) にて text/javascript (OBSOLETE) application/javascript (COMMON) text/ecmascript (OBSOLETE) application/ecmascript (COMMON) の4つが定義されています。 この RFC 4329 では text/* の2つは OBSOLETE 扱いな一方で、 JavaScript を呼び出す HTML の仕様では HTML5 以降、 <script> 要素の type 属性を省略することが推奨 されたうえで、省略時の値は text/javascript である とされました。 このように RFC 側と HTML 側で矛盾が生じる事態が長い間続いています。 実

                                                                        JavaScript の MIME タイプが `text/javascript` に統一されようとしている
                                                                      • apache module 開発事始め : DSAS開発者の部屋

                                                                        先日は,必要に迫られて Apache 1.3 の mod_access を改造したという話を書きました.その時は単にあるものを改造しただけでしたが,ふと思い立って,一から Apache 2.0 用のモジュールを書いてみました.書く上で色々 Web サイトを探してみたのですが,あまり日本語の入門向けの文章が見あたらなかったので,開発する上で分かったこと(と言うほど大したものじゃないですが)をまとめておこうと思います. フェーズには,例えばそのリクエストを受け付けるか拒否するかを決めるフェーズや,リクエストされた URI と実際のディスク上のファイルとの間の対応付けを解決するフェーズ,そしてもちろん実際のレスポンスを生成するフェーズ等があります.hook 関数を挿入するポイントはこれらのフェーズになりますが,もちろんその全てのフェーズのための関数を用意する必要はありません.また個別の設定を施す

                                                                          apache module 開発事始め : DSAS開発者の部屋
                                                                        • 無料の API 自動生成ツールを使って、Excelファイルから REST API を生成してみる:CData API Server - Morning Girl

                                                                          今月はじめに CData API Server というAPIの自動生成ツールで無料版・freeのライセンスがリリースされました! 今日はこの CData API Server を使ってExcel ファイルから REST API を生成する方法を解説したいと思います。(ちなみに機能的にはExcel だけでなく、MySQL などのRDBからもAPIの生成が可能です。というかそっちの方がメインです) ちなみに今回作ったAPIは以下の内容で公開しています。 O'Reilly Demo API ID:user Token:7y3E6q4b6V1v9f0D2m9j CData API Server って何? こんな REST API を生成するよ 実施手順 1. Excel データソースの接続設定を追加する 2. ExcelのシートをAPIリソースとして追加する 3. アクセス用のユーザーを追加する

                                                                            無料の API 自動生成ツールを使って、Excelファイルから REST API を生成してみる:CData API Server - Morning Girl
                                                                          • Docker版OWASP ZAPを使用してWebアプリの簡易的な脆弱性診断をしてみた | DevelopersIO

                                                                            こんにちは、CX事業本部の若槻です。 最近Webアプリケーション向けのセキュリティ診断ツールについて調べてみたところ、OWASP ZAPというオープンソースツールが定番としてよく使われているそうです。 https://owasp.org/www-project-zap 今回は、Docker版OWASP ZAPを使用してWebアプリのログインページの簡易的な脆弱性診断を行ってみました。 なぜDocker版を使ったのか OWASP ZAPにはWindows、Mac、Linuxで使えるインストーラー版およびパッケージ版と、Docker版があります。 https://www.zaproxy.org/download/ 当初はMac向けインストーラー版を使おうとしましたが、Macのセキュリティによりインストールできなかったため断念しました。 よってインストールを要しないDocker版を使うこととしま

                                                                              Docker版OWASP ZAPを使用してWebアプリの簡易的な脆弱性診断をしてみた | DevelopersIO
                                                                            • ウノウラボ Unoh Labs: RackでWebアプリのWebサーバー依存を無くす

                                                                              rack-logo posted by (C)komagata komagataです。 仕事でも使う必要が出てきたのでRubyの勉強をしています。WebアプリケーションでRubyを使おうとしていきなり躓いたのがApache、WEBrick、Mongrel等、実行環境毎の設定やAPIの違いです。 Rubyを普段使っている人には常識過ぎるのか情報が少なく、FastCGIで単に「Hello, World」を表示させるのにも一苦労でした。(Railsでは簡単に動くのが悔しい) そんな実行環境毎のAPIの差を吸収してくれるRackというライブラリを知ったので試してみました。 RackはRuby版WSGIと呼ばれているそうです。WSGIとはWeb Server Gateway Interfaceの略でWeb ServerとWeb Applicationの間のInterfaceを定めたPython界の仕

                                                                              • こんなに簡単! Linuxでロードバランサ (2) : DSAS開発者の部屋

                                                                                前回までで、 複数のWebサーバにロードバランスする というところまではできました。 これでリアルサーバへ負荷分散することができたのですが、冗長性がありませんでした。つまり、リアルサーバがダウンしても、ロードバランサはそれを認識できず、ダウンしているリアルサーバなのにパケットを送ってしまっていました。 このとき、クライアントから見ると、たまにサーバから応答がないように見えてしまいます。 というわけで今回は冗長化のお話、 リアルサーバのヘルスチェック を紹介したいと思います。 今回はkeepalivedを使います。 おおざっぱにいうと、keepalivedは2つの機能を提供します。 1. ヘルスチェック機構と連携したIPVSでのリアルサーバの管理 (--check) 前回ipvsadmコマンドを使って行ったような、バーチャルIPアドレス (VIP) やリアルサーバの管理を設定ファイルに記述す

                                                                                  こんなに簡単! Linuxでロードバランサ (2) : DSAS開発者の部屋
                                                                                • yohei-y:weblog: HTTP ステータスコードを正しく使おう

                                                                                  先月、ぐるなび API がリリースされていました。 ぐるなびさんの持っている膨大なデータベースに Web API を通して気軽にア クセスできるようになったのは、非常に喜ばしいし、その英断に感謝したいと 思います。 しかし、Web API 仕様書、特にエラー仕様を見てちょっとがっかりしました。 もう少し上手にデザインすれば、もっとよかったのに…、という思いです。 一度出してしまった API はそう簡単に変えられないと思いますが、 参考までに僕だったらどうするか、を書いてみます。 この仕様の一番の問題はエラーコードです。 以下は 2-2 のエラー仕様に記述されているサンプルです。 <?xml version="1.0" encoding="UTF-8"?> <gnavi> <error> <code>602</code> </error> </gnavi> タグが三つ(gnavi, erro