タグ

programmingとServerに関するyukimori_726のブックマーク (79)

  • Apacheの設定を変更し、単一IPアドレス上で複数のSSLサイトを運用する - builder by ZDNet Japan

    Apacheのバージョン2.2.12以降では、SNI(Server Name Indication)という、SSLプロトコルに対する拡張機能がサポートされているため、名前ベースのHTTPサイトを設定する場合と同じように名前ベースのHTTPSサイトを設定することが可能になっている。記事では、Apacheのこの機能について紹介する。 Apache Webサーバがバージョンアップし、成熟していくに伴い、新機能の追加やバグの修正が行われてきている。そして、バージョン2.2.12で追加された機能のうち、最も重要なものはおそらく、単一IPアドレス上で複数のSSLサイトを運用できるようにするという、長らく持ち望まれていた機能だろう。 これまでは、特定のIPアドレスに対してSSL対応のWebサイトを割り当てた場合、そのサイト1つしかSSL対応のWebサイトを運用することができなかった。つまり、IPアドレ

    Apacheの設定を変更し、単一IPアドレス上で複数のSSLサイトを運用する - builder by ZDNet Japan
  • JaxerによるサーバーサイドJavaScript

    はじめに 既に「Ajax」という言葉が陳腐に感じてしまうほど、JavaScriptはWeb開発者の間に広く浸透しています。今では、クライアント側でのUI構築にJavaScriptは不可欠となっている、といってよいでしょう。クールなサイトを目指してJavaScriptを必死に勉強する人はずいぶんと多いはずです。 が、ある程度まで学習が進むと、多くのJavaScriptプログラマは「壁」にぶつかってしまいます。それは「サーバーサイドプログラム」という壁です。Ajaxによるサーバーへの非同期通信が当たり前のように使われるようになった今、JavaScriptプログラミングといえども「サーバー側に用意されるプログラム」の作成なしには行えなくなりつつあります。 サーバーサイドのプログラム作成はどうすべきなのか。PHPを勉強するのか、Perlあたりがいいのか、はたまたRubyPythonか。いずれにせ

    JaxerによるサーバーサイドJavaScript
  • Kazuho@Cybozu Labs: 「サーバ書くなら epoll 使うべき」は、今でも正しいのか

    多数のTCP接続をハンドリングするサーバを書くなら、1コネクション1スレッドのモデルではなく、epollやkqueueのようなイベント駆動型のI/O多重化を行うべきだ、と言われます。だが、そのような主張は、「C10K問題」が書かれた2002年から7年経過した今でも有効なのでしょうか? echoサーバを書いて、ベンチマークを取ってみることにしました。 ふたつのグラフは、いずれも接続数とスループットの関係を表しています。最初のグラフは、全接続がアクティブに通信した場合、あとのグラフは、全接続のうち小数のコネクションが順次アクティブになっていく、というモデルです。これらのグラフから、以下ようなことが読み取れます。 epoll も per-thread モデルも、良くスケールする epoll は、ワークセットが小さい場合に (最大50%) per-thread モデルよりも高速 少なくとも、1コネ

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • RPC サーバの遅延リターン - steps to phantasien(2009-07-04)

    最近は過労気味でウェブにものを書くこともできない, という話で上司の同情を誘うべく 日人の労働時間やストレスの実態をまとめた エンドレス・ワーカーズ を読んだら, 自分の労働時間は日人労働者の上位 2 割から漏れていることを知り愕然とした. あんなに働いたってのに...残業エリートへの道は険しい. 道を進みたいわけじゃないけれど. (平均は越えてたぜ!) いずれにせよ流行からはすっかり脱落しているので, 時流を無視して仕事の話でもしよう. 以前, 会社の blog で RPC の結果をノンブロッキングスタイルで受け取るプリミティブ "弱関数" を提案した. でも試行錯誤の結果, いまは使っていない. C++ での弱参照は意図しないリークを作りやすい. 使いわすれることも多く, 忘れた頃にクラッシュする. 要求は明示的にキャンセルした方がいいことがわかった. (世間はみんなそうやってます

  • memcachedのステータスをtop風に·memcache-top MOONGIFT

    最近のWebシステム開発ではキャッシュを使うケースが増えつつある。各種Webアプリケーション向けフレームワークでもキャッシュをデフォルトでサポートしているものも多く、その筆頭に挙げられるのがmemcachedだ。 top風にmemcachedのステータスが確認できる memcachedは軽量で、あると便利だと思える機能が殆ど実装されていない。ステータスを監視するような機能もないが、そこは独自に開発されたmemcache-topを使えば解決する。 今回紹介するオープンソース・ソフトウェアはmemcache-top、memcachedのステータスを表示するコマンドラインスクリプトだ。 memcache-topPerlで作られたスクリプトで、既に立ち上がっているmemcachedサーバを一覧し、そのステータスを表示してくれる。デフォルトで3秒ごとにリフレッシュされるようになっており、topコマ

    memcachedのステータスをtop風に·memcache-top MOONGIFT
  • 印刷して電車の中で読める (かもしれない) TCP ECHO サーバのソースコード (1) - moriyoshiの日記

    アーキテクチャに関する質問として、「○○の仕組みってどうなってるの」というようなことを聞かれても、説明下手なせいか、なかなか口で説明できないことがある。そこで「UTSL (ソース読めばいいよ)」と言いたいんだけど、かといって実際に、これを読むといいんじゃないかな、という話にもしづらい。入門的なコードはあまりにも単純すぎて退屈だし、かといって何か適当な著名なプロダクトのソースも、おおよそ手軽に読めるという感じではない。 さて、前エントリで epoll(7) やら select(2) やらの内部の説明をしたわけだけど、呼び出し側がどうなっているのかという部分のイメージがつかめなければ、片手落ち、というか意味不明だろうというように思ったので、恥をしのんで、簡単なシングルスレッドのイベントループベースの (twisted っぽい) TCP ECHO サーバを書いてみた。 電車の中でも読めるというコ

    印刷して電車の中で読める (かもしれない) TCP ECHO サーバのソースコード (1) - moriyoshiの日記
  • Webサーバ不要、40行程度のスクリプトひとつで動かせる Gyazoサーバー(クローン)を書いた - 今日もスミマセン。

    WEBricで動かせるようにしたので、たかだか40行程度のスクリプト一個で済ませることができてしまった。やっぱりRubyサイコー。 Gyazo + WEBric で Gyabricと呼んでみる。 とりあえずGistに貼っているので、お好きなように...。 Linux(FedoraCore6?くらい?)で動作確認済み。特別なことはやってないんで、Rubyが入っていればWindowsとかMacとかでも動かせるはず... コード 使い方 以下、簡単な使い方。 1.適当なディレクトリに上記のスクリプトを入れる。(たとえば /home/snaka/gyazo とかでもオケ) 2.エディタでスクリプトを編集 ### CONFIGURE ###################################################{{{ HOST = 'xxx.xxx.xxx.xxx' # yo

    Webサーバ不要、40行程度のスクリプトひとつで動かせる Gyazoサーバー(クローン)を書いた - 今日もスミマセン。
  • n日前より古いファイルを消す - moratorium

    n日前より古いファイルを消す 2009-05-12 (Tue) 7:51 Unix バックアップスクリプトを書く時にいつも忘れるのでメモ。 DATE=`date -d '7 days ago' +%y%m%d0000` echo $DATE echo >temp.file touch -t $DATE temp.file find . ! -newer temp.file -print | xargs rm -f rm temp.file findコマンドの-newerを使用しています (お好みで-anewer, -cnewerなど)。 P.S. chunさんよりzshのextended_globを覚えろとの指令が飛びました。 setopt extended_glob; ls *(^m-7) -ld Zzappers Best of ZSH Tips おー。 P.S.2 Higepon

  • 2009-04-17

    プロジェクトとかのためにサーバーの作り方を書こうと思ったんですが、割と一般的な知識で難しい内容でもないので、公開でやります。 正直細かいことは知りませんが、逆に細かいことを考えなくてもサーバーくらい作れるよという感じで書いていきます。 Perlでサーバーを書くのは難しくありません。 ソケットを作り、ポートに結びつけ(bind)、接続を待ち(listen)、接続を受け付け(accept)、来たら適当に処理するだけです。 このときlistenまでは一回だけやればよく、acceptをwhileでループして、何度も接続をうけることができます。 実際のechoサーバー(=入力された内容を反射するだけのサーバー)は以下のようになります。(たったこれだけです) use Socket; #ソケット作成 socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname

    2009-04-17
  • KLab勉強会#2 のご案内 : DSAS開発者の部屋

    前回の勉強会、「DSASのあれこれ」に続いて、第2回 KLab勉強会を開催したいと思います。 前回の「DSASのあれこれ」はDSAS全体を俯瞰するような内容だったのですが、今回はピントをしぼって、DSASのとある構成要素について深く濃くしゃべりたいと思います。 そして今回はもう1セッションあります。 VIVERの開発者である古橋さんを招いて、VIVERについていろいろとしゃべっていただきます。 VIVERについて詳しくはVIVERのサイトを見ていただきたいのですが、とてもエキサイティングなシステムなので、ぼくたちも楽しみにしています。 開催要項 日時 2007/6/22 (金) 19:00-20:00 (18:30受付開始) 場所 KLab株式会社 第3会議室 東京都港区六木6-10-1 六木ヒルズ森タワー20F 参加費 無料 人数 30名程度 (定員になり次第、参加登録を締め切らせて

    KLab勉強会#2 のご案内 : DSAS開発者の部屋
  • DSAS開発者の部屋

    12/27 から年末年始をはさんだ5日間で、技術系インターン「KLabサーバーサイドキャンプ」を開催しました。 今春3月に第2回も企画しているので、 その宣伝も兼ねて開催報告をします。 (尚、エントリー最終締切日が1/24(月)に迫っているので興味を持って頂けた方はお早めにご応募ください) キャンプの目的 このキャンプは、主にこれから就職活動を始める学生を対象にサーバーサイド開発を体験してもらい、今後の進路を考える上で参考にしてもらうことを目的としています。 そのため、Pythonでのある程度のプログラミング経験は前提としつつ、SQLやSSHなどを触ったことがない方でも参加できるように講義や課題を準備していました。 キャンプの内容 題材として、実際に遊べるリズムゲーム音ゲー)を用意しています。 このゲームにはユーザー登録機能と、複数人で同一曲を同時にプレイする機能があります。この2つの機

    DSAS開発者の部屋
  • Diggの高速化技術MXHRを解説してみる - by edvakf in hatena

    これのこと。 AJAXサイトをスピード化するMXHR - huixingの日記 Digg the Blog » Blog Archive » DUI.Stream and MXHR どこにも解説が無かったので、詳しく読んだ。 上の記事から引用すると、「サーバーとクライアント間で、ただひとつだけのHTTPコネクションを開く。これによりサーバーがページのどのパーツを先行して読み込むかをコントロールすることが可能になり、ユーザーにとってはページ読み込みがほぼ一瞬で済むことを意味する。」という技術。XMLHttpRequest を使って複数のデータを受信する場合に効果がある。 まずデモから デモ1は10個のテキストをダウンロードして表示するもの。 デモ2は300個の画像をダウンロードして表示するもの。 どちらも左側 (MXHR 有効) が完了した後に右側 (MXHR 無効) を開始するので驚かない

    Diggの高速化技術MXHRを解説してみる - by edvakf in hatena
  • LAN に DNS サーバ立てる < 10 < July < 2006 < nulog, NULL::something : out of the headphone

    全部のマシンの hosts を編集とかテラダサスwwwぷぷpとか言われたので (脳内変換です)、DNS サーバ立てて一元管理することにした。 サーバは ubuntu 6.06 LTS。普通に BIND を使うことにした。 BIND のインストール。sudo apt-get install bind。終了 ubuntu (というか Debian) は設定ファイルが分かれていて、基的に named.conf は編集しないみたい? とりあえず自分の場合は named.conf.options と named.conf.local だけ編集した。 named.conf.options // 最初に // アクセスコントロールリストの設定 acl lan { 127.0.0.1; 192.168.0.0/16; }; // options セクション内に // 内側からのだけクエリに答える all

  • 内部向け DNS サーバの構築 - Linux で自宅サーバ [ Home Server Technical. ]

    DNS サーバとして有名な BIND を使用して、LAN 内部向けの DNS サーバを構築します。 LAN 内部向けの設定ですので、外部(インターネット側)からのアクセスは一切関係ありません。 LAN 内に サーバ以外のパソコン(以下、クライアント)がある場合、クライアントから自分のドメインでアクセスした場合、 ルータの設定画面が表示されます。これは簡単に言うと、LAN 内の名前解決が出来ていないからです。 クライアント毎に hosts ファイルを設定しても良いのですが、クライアントが複数台ある場合、その設定を行うのも面倒ですよね。 そこで、LAN 内部の名前解決を一括管理する DNS サーバを構築します。 このページでの実現させる事を以下に示します。 LAN 内からのみこの DNS サーバを使用可能 LAN 内からドメイン名でアクセスする様にする hosts ファイルには極力記述しない

  • Shibuya Perl Mongers : 1周年記念テクニカルトーク 発表資料とレビューリンク集

    We are a group of people dedicated to the encouragement of all things Perl-like in Shibuya. 1周年記念テクニカルトーク 発表資料とレビューリンク集 Shibuya Perl Mongers 1周年記念テクニカルトークが無事終了しました。スピーカの皆さん、休日でビルのセキュリティなど面倒な中、セミナー会場を貸していただいた技術評論社 Software Design, WEB+DB PRESS のスタッフの皆様、そして参加された皆さん、ありがとうございました。 当日の発表資料をこちらで公開します。スピーカの都合などにより、当日とは内容が異なっているものもありますがご了承ください。 Session #1-#3 伊藤直也 - Blog テクノロジと Web サービス [.ppt 4.8M] 竹迫良範 - m

  • High-Performance Server Architecture

    Introduction The purpose of this document is to share some ideas that I've developed over the years about how to develop a certain kind of application for which the term "server" is only a weak approximation. More accurately, I'll be writing about a broad class of programs that are designed to handle very large numbers of discrete messages or requests per second. Network servers most commonly fit

  • Grizzlyの概要 2 : Java New I/Oで実装されたサーバ

  • CGIが動くWebサーバを,3分で自作しよう (ブラウザからのHTTPリクエストを処理する,簡易ソケットプログラム) - 主に言語とシステム開発に関して

    Webサーバを3分で自作する。 ローカルPC内の HTMLなどの固定ファイル PHP, Rubyなど動的ページ を,どちらもブラウザ越しでアクセスできるよう,インターネットに公開する。 以下を流し読みしながら,ソースコードをコピペすると,およそ3分でWebサーバが動く。 とりあえずGETのみ・テキストデータのみ・SJISのみ。 実用版ではないので,起動中のセキュリティリスクは自己責任で。 (1)窓口を作ろう まずは,「リクエストを受け付けて,レスポンスを返す」という窓口の部分。 下記コードを javac Sv.java でコンパイル。Sv.class ができる。 Sv.java import java.io.*; import java.net.*; public class Sv implements Runnable { // ユーザの窓口となるソケット private Socket

    CGIが動くWebサーバを,3分で自作しよう (ブラウザからのHTTPリクエストを処理する,簡易ソケットプログラム) - 主に言語とシステム開発に関して