タグ

mizu0x19fのブックマーク (685)

  • ISUCON予選突破の鍵は過去問を解くことなので無料で試せるようにした(Vagrant+Ansible) - このブログはURLが変更になりました

    タイトルでいいきった。 ISUCON5参加者へのアドバイス まもなくISUCON5が開催されますね。 毎年参加して予選突破を果たしている私からのアドバイスは、過去問を解いてチューニング力を高めることが重要です。これホント大事。 過去問やってる? ですが、ISUCONの過去問はAWS用AMIとソースコード一式が用意して提供されているものの結構難しいんですよね。 AWSの利用は課金がつらい(特に学生) AWSの利用はクレジットカードが必要でつらい*1 ソースコードから構築する方法がわからない(AMIの中身を見ないとわからないこと多数) 無料で過去問やろう そこで無料かつ簡単に手元で構築できるよう、VagrantfileとAnsible用Playbookを用意しました。 https://github.com/matsuu/vagrant-isucon/ https://github.com/ma

    ISUCON予選突破の鍵は過去問を解くことなので無料で試せるようにした(Vagrant+Ansible) - このブログはURLが変更になりました
    mizu0x19f
    mizu0x19f 2017/07/31
  • Nginx基礎 ログ 設定いろは - Qiita

    アクセスログ(とか)をTSVにしてみる apacheとかと同じですね。log_formatにcommon(なんでもいい)という名前を付けてそれを出力したいログに対して設定しています。 ちなみに以下では「http_x_forwarded_for」などカスタムヘッダも出力する設定です。 log_format common '$remote_addr\t-\t$remote_user\t[$time_local]\t' '"$request"\t$status\t$body_bytes_sent\t' '"$http_referer"\t"$http_user_agent"\t$http_x_forwarded_for\t$request_time'; location /hoge { access_log /var/log/nginx/site_hoge/access.log common;

    Nginx基礎 ログ 設定いろは - Qiita
    mizu0x19f
    mizu0x19f 2017/07/31
  • MySQLでのSlowLogの分析方法 - Qiita

    概要 サービス開発/運用中に性能問題が発生した際に、DBのSlowLogを見るのは非常に有効なアプローチです。 SlowLogの出し方はRDBMS毎にやり方がありますが、特にMySQLでは単純に遅いQueryを出力するだけでなく、データが取得しやすいようにSlowLogをサマるためのツールが付属しています。 今回はそのツールmysqldumpslowの使い方を紹介します。 SlowLogから分かること SlowLogが出ていない場合、性能問題の原因がDBではない事。 SlowLogが出ている場合、どのQueryが性能問題を引き起こしているのか。 出力されるQueryの閾値をゼロとして全Queryを出力させると、Query毎の登場頻度も確認可能。 mysqldumpslowの使い方 準備 この手順では以下の物が必要となります。 分析対象のSlowLog リードレプリカを作ってる場合、複数のD

    MySQLでのSlowLogの分析方法 - Qiita
    mizu0x19f
    mizu0x19f 2017/07/31
  • ISUCON4 予選でアプリケーションを変更せずに予選通過ラインを突破するの術 - Hateburo: kazeburo hatenablog

    AMIが公開されたのでもう一度やってみた。 AMIについてはこちらのエントリに書かれています ISUCON4 予選問題の解説と講評 & AMIの公開 : ISUCON公式Blog まず ami-e3577fe2 を m3.xlargeで起動します。 CPUは model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz でした。 とりあえず、MySQLのindexを追加する。init.shに追加 $ cat init.sh cat <<'EOF' | mysql -h ${myhost} -P ${myport} -u ${myuser} ${mydb} alter table login_log add index ip (ip), add index user_id (user_id); EOF ベンチマークツールのhttp keepal

    ISUCON4 予選でアプリケーションを変更せずに予選通過ラインを突破するの術 - Hateburo: kazeburo hatenablog
    mizu0x19f
    mizu0x19f 2017/07/31
  • Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ

    主にアプリケーション開発者向けに、Linuxサーバ上の問題を調査するために、ウェブオペレーションエンジニアとして日常的にやっていることを紹介します。 とりあえず調べたことを羅列しているのではなく、当に自分が現場で使っているものだけに情報を絞っています。 普段使っているけれども、アプリケーション開発者向きではないものはあえて省いています。 MySQLNginxなど、個別のミドルウェアに限定したノウハウについては書いていません。 ログインしたらまず確認すること 他にログインしている人がいるか確認(w) サーバの稼働時間の確認 (uptime) プロセスツリーをみる (ps) NICやIPアドレスの確認 (ip) ファイルシステムの確認(df) 負荷状況確認 top iostat netstat / ss ログ調査 /var/log/messages or /var/log/syslog /

    Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ
    mizu0x19f
    mizu0x19f 2017/07/31
  • ISUCON予選突破を支えたオペレーション技術 - ゆううきブログ

    ISUCONに参加する会社の同僚を応援するために、ISUCONの予選突破する上で必要なオペレーション技術を紹介します。 自分がISUCONに初出場したときに知りたかったことを意識して書いてみました。 一応、過去2回予選突破した経験があるので、それなりには参考になると思います。 といっても、中身は至って標準的な内容です。 特に、チームにオペレーションエンジニアがいない場合、役に立つと思います。 今年のISUCON6は開催間近で、まだ予選登録受付中です。 ※ 文中の設定ファイルなどはバージョンやその他の環境が異なると動かなかったりするので必ず検証してから使用してください。 ISUCONでやること (Goal) ISUCONでやることは、与えられたウェブアプリケーションをとにかく高速化することだけです。 高速化と一口に言っても、複数のゴールがあります。ウェブアプリケーションの場合は以下のようなも

    ISUCON予選突破を支えたオペレーション技術 - ゆううきブログ
    mizu0x19f
    mizu0x19f 2017/07/31
  • ISUCON6予選をC++で参加して予選通過した話

    チーム名「Anago」で @iwiwi, @zuisou, @imos の 3 人で ISUCON6 予選に参加し,幸運にも 1 日目 3 位で通過することができました.@iwiwi が「ISUCON に C++ で参加したい!」と言っており,それを全力バックアップをしようと思ったのがきっかけの参加でした. 前日までにやったこと C++ で全てを書けば最速になるのは自明なのですが,C++ は参考実装として与えられていないだけではなく,HTTP サーバを書くことを想定していない言語のため準備には苦労しました. C++ で HTTP サーバを書く方法は,既存の Web サーバ (e.g., nginx, Apache, H2O) のプラグインを書いて実装するか,FastCGI として実装するか,フルスクラッチで書くかの選択肢が考えられますが,プロセス間通信を避けて爆速にしたかったので,事前に

    mizu0x19f
    mizu0x19f 2017/07/31
  • C/C++言語によるCGIプログラミングの設計入門

    C/C++言語によるCGIプログラミングの設計入門 Webpageを対話的にするCGIプログラムをC/C++言語で設計 する方法についての解説です。 Last revised on May 6th, 2000. 目次 CGIとは何か 現在時刻の表示 色々なファイルの返送 Server side イメージマップ Client side イメージマップ 書き込みFORMの文法 FORMデータの処理 漢字コードの処理 アップロードの処理 電子メールの送信 Sbitによる権限の譲渡 アクセスの排他処理 原始的な電子掲示版 セキュリュティーホール Webserverでのコンパイル サーバーによる認証 パスワードの取扱 Cookieの調理法 特殊なヘッダー命令 CGIの環境変数 SSI:Server side include Java scriptの極一部 画像の作成 アクセスカウンタ アクセスの逆探

    mizu0x19f
    mizu0x19f 2017/07/30
  • nginx で C++14 の FCGI を動作させる簡単な方法の紹介 - Qiita

    使用環境例 この記事で紹介する方法で動作可能な事を確認済みの環境を例示します。 ubuntu-16.04 nginx-1.10.0 clang-3.8 or gcc-5.4 libfcgi-2.4.0 spawn-fcgi-1.6.4 curl-7.47.0 (http動作確認用なので w3m でも telnet でも chromium でも何でもOK) 準備 少なくとも ubuntu-16.04 ではすべて apt で導入できます。他の環境ではそれぞれの環境に合わせて適当に調達して下さい。 // EXTERNAL #include "fcgio.h" // STD #include <iostream> #include <memory> #include <functional> #include <cstring> auto main() -> int { // 元の標準入出力系の

    nginx で C++14 の FCGI を動作させる簡単な方法の紹介 - Qiita
    mizu0x19f
    mizu0x19f 2017/07/30
  • AS番号リスト

    mizu0x19f
    mizu0x19f 2017/07/30
  • Pandasのread_csvの全引数を解説 | 自調自考の旅

    特に断りがない限り、使うデータは、パラメータの効果がわかり易くなるよう、タブ区切りだったり、文字列と空白と数値が混在していたりと、以下のようなちょっと癖のあるものにしています。 filepath_or_bufferパラメータは、読み込むファイル名を指定するときに使うパラメータです。ただし、以下①、②に示すように、引数なしで動きますので実際に使うことはないでしょう。日語はデフォルトだとutf_8形式で保存した場合のみ文字化けなく読み込めます。それ以外の形式の場合はencodingを参照ください。 import pandas as pd #①と②のどちらの書き方でも処理は同じ。 df = pd.read_csv('test.txt') #① df = pd.read_csv(filepath_or_buffer='test.txt') #② Out[1]: D001\tD002\tD003

    mizu0x19f
    mizu0x19f 2017/07/28
  • [Python] pandasの使い方まとめ - Qiita

    DataFrameの作成 データの新規作成 pd.DataFrame で DataFrame の作成ができる。注意点として、各列ごとのデータ数は一致している必要がある。 df = pd.DataFrame({ 'A' : [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 8, 9, 10], 'B' : [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8] })

    [Python] pandasの使い方まとめ - Qiita
    mizu0x19f
    mizu0x19f 2017/07/28
  • - アジャイル勘違い集(2014年版)

    やる気さえれば誰でもできますが、誰でもがすぐにできるわけではありません。できるようになるまでに、時間がかかる人の方が圧倒的に多数派です。 やる気のある人だけでチームを組んでアジャイル開発をすることを前提とします。このようなチームであれば、コミュニケーションにまつわる問題は少なくなると想像しがちですが、実際はそのようなことはなく、連係ミスなどが発生することは珍しくありません。コミュニケーションに関してだけでも、チームがアジャイルやっているという状態になるには時間が必要です。 また、後発の要求に耐えられるようなシステムやソフトウェアの構造をつくるには、それなりのスキルが必要であり、このようなスキルはやる気だけではすぐに身に付けることはできません。 しかし、やる気を持続していければ、いつかはアジャイルにやれるようになるはずです。 そもそも、「アジャイル*を*やる」ということ自体が勘違いです。開発

    mizu0x19f
    mizu0x19f 2017/07/20
  • ソフトウェア工学とは何か

    ソフトウェア設計とは何か? (原文: What Is Software Design?) by Jack W. Reeves (c)C++ Journal - 1992 訳者まえがき この文書は,Jack W. Reeves 氏が1992年に C++ Journal に寄稿した記事の邦訳です。 記事では,オブジェクト指向プログラミング言語の代表として C++ を挙げていますが,これは記事が執筆された当時,一般的に利用可能なオブジェクト指向言語は C++ だけであったという事情があるためです。 今では C++ に加えて Java,Delphi,C# といったオブジェクト指向言語が利用可能となっていますが,そんな今でさえこの記事は古さを感じないものとなっており,ソフトウェア開発の質,現状を鋭くえぐるものとなっています。 邦訳の公開を許諾していただいた Jack W. Reeves 氏に,

    mizu0x19f
    mizu0x19f 2017/07/20
  • https://www.ntt.co.jp/ir/library/presentation/2015/151106_2.pdf

    mizu0x19f
    mizu0x19f 2017/07/16
  • 株式会社Techouse

    We Develop. 今日も生み出そう。世界にまだない価値を。明日も伸び続けよう。世界をより良くするために。 人が集まる場所。 価値が生まれる場所。 技術力と熱意を持つ人が、自然と集まる場所。まったく新しい価値を、社会に生み出す場所。Techouseは、唯一無二の「場所」であり続けます。

    株式会社Techouse
    mizu0x19f
    mizu0x19f 2017/07/05
  • CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog

    日コーポレートサイトでお知らせした通り、Web版のメルカリにおいて一部のお客さまの個人情報が他者から閲覧できる状態になっていたことが判明しました。原因はすでに判明して修正が完了しております。また、個人情報を閲覧された可能性のあるお客さまには、メルカリ事務局より、メルカリ内の個別メッセージにてご連絡させていただきました。 お客さまの大切な個人情報をお預かりしているにも関わらず、このような事態に至り、深くお詫びを申し上げます。 エントリでは技術的観点から詳細をお伝えさせていただきます。 2017年6月27日 CDNのキャッシュの動作について、CDNプロバイダと仕様について確認し検証を行いました。その結果一部記述に実際と異なる箇所があり、加筆修正いたしました。 概要 メルカリWeb版のコンテンツキャッシュをしているCDNのプロバイダ切り替えを行いました。 その際来キャッシュされるべきでない

    CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog
    mizu0x19f
    mizu0x19f 2017/06/23
  • grepでこういう時はどうする? - Qiita

    文字列を抽出するときも、抽出除外するときも便利なGREP、LinuxでCUI操作をするには無くてはならない存在です ほとんど抽出にしか使いませんが、多少覚え書きがありましたので共有しておきます よく使う使い方 grep 検索したい文字列 検索したいテキストファイル コマンド | grep 検索したい文字列 grep -e 検索したい文字列1 -e 検索したい文字列2 検索したいテキストファイル grep -i 検索したい文字列 検索したいテキストファイル grep -E '正規表現' source.txt #利用できる正規表現 . 改行文字以外の任意の1文字 * 直前の1文字の0回以上の繰り返しに一致。直前の文字は正規表現でも構わない ^ 行の先頭 $ 行の末尾 [ ] かっこ内の任意の1文字に一致。ハイフン(-)で範囲指定もできる [^ ] かっこ内の任意の1文字に不一致。ハイフン(-)

    grepでこういう時はどうする? - Qiita
    mizu0x19f
    mizu0x19f 2017/06/23
  • ここからセキュリティ! 情報セキュリティ・ポータルサイト

    サイバーセキュリティ経営可視化ツール (経済産業省/IPA) 「サイバーセキュリティ経営ガイドライン」で定める重要10項目の実施状況を5段階の成熟モデルで可視化(レーダーチャート表示)できます。企業は自社のサイバーセキュリティ対策状況を定量的に把握することで、サイバーセキュリティに関する方針の策定、適切なセキュリティ投資の実行等が可能となります。

    mizu0x19f
    mizu0x19f 2017/06/23
  • Macの通知センターにPythonから通知する - Qiita

    Help us understand the problem. What is going on with this article?

    Macの通知センターにPythonから通知する - Qiita
    mizu0x19f
    mizu0x19f 2017/06/21