タグ

ブックマーク / qiita.com (299)

  • MySQL MEMORYストレージエンジンでデータ解析 - Qiita

    データ解析用にMySQLのMEMORYストレージエンジンを使っています。基的にはinnodbを使っているのですが、インデックス付けに莫大な時間(日単位)がかかることがあり、取り回しが面倒なので、常時メモリに入れておき、定期的にinnodbにセーブするという運用にしています。 さて、このMEMORYストレージエンジンですが、いくつか落とし穴?があります。これについてメモしておきます。 キーの種類の違いの注意する MySQLでは、キーを作成する際、USING HASH / USING BTREEという二つのオプションが選べます。MEMORYストレージエンジン以外では、BTREEしか使えませんが、MEMORYストレージエンジンではUSING HASHがデフォルトです。これが結構くせものです。 AUTO_INCREMENTでつけられたような任意の番号は、大小関係が問題にならないことが多いと思いま

    MySQL MEMORYストレージエンジンでデータ解析 - Qiita
    ichi2410
    ichi2410 2016/08/10
  • PostgreSQL のパフォーマンスチューニング - Qiita

    PostgreSQL Advent Calendar 2014 の 13日目です。 Advent Calendar を今年もやってみたいと思って、枠が空いていたので飛び込んでみました。 昨日は osapon さんの libpqxx を使ってみたでした。 概要 PostgreSQL のパフォーマンスチューニングは大きく下記に分かれます。 システムチューニング SQL チューニング ここでは Linux 上で動かしていることを前提に、それぞれ説明します。 システムチューニング システムチューニングの概要 システムチューニングとは、OS または PostgreSQL の設定を変更することです。 それぞれ順に説明します。 OS チューニング PostgreSQL では特にメモリ関連でOSパラメータを設定変更すると、高速化効果が得られます。 特に下記のカーネルパラメータに注意します。 vm.dirt

    PostgreSQL のパフォーマンスチューニング - Qiita
    ichi2410
    ichi2410 2016/07/26
  • PDOでfetchAll()は避けた方がいいのかもしれない - Qiita

    たいていの場合、$stmt->fetchAll() でレコードセットを取得するコードを書いていたのですが、いかのようなコードで、ジェネレータを使ったらどうなるのかを実験してみました。 mst_address には郵政データ(123,909件)がそのまま入っています。 <?php ini_set('display_errors', 1); error_reporting(E_ALL); function get_pdo() { $dsn = sprintf('mysql:dbname=%s;host=%s;charset=%s' , 'database' , 'localhost' , 'utf8' ); $username = 'root'; $password = 'password'; $options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCE

    PDOでfetchAll()は避けた方がいいのかもしれない - Qiita
    ichi2410
    ichi2410 2016/07/04
  • たった6個のsedを通せば、Apacheログは驚くほど扱いやすくなる - Qiita

    Q. awk '{print $9}'とかでUser-Agent丸ごと取り出したい とか思ったことない? Apacheのログ解析で。でもできないじゃない。例えば 192.168.0.1 - - [17/Apr/2014:11:22:33 +0900] "GET /index.html HTTP/1.1" 200 43206 "https://www.google.co.jp/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36"

    たった6個のsedを通せば、Apacheログは驚くほど扱いやすくなる - Qiita
    ichi2410
    ichi2410 2016/06/28
  • フロントエンドエンジニア(mizchi)が暇な時にやること - Qiita

    暇というか日常的にやってること https://news.ycombinator.com/ と http://www.echojs.com/ と http://b.hatena.ne.jp/efcl/ をフィードリーダーに突っ込んでいて、面白そうなのをメモっておく 暇なとき 日頃メモってたライブラリの試し切りをする 面白かったら紹介記事を書く 多少やる気リソースが多めだと新しい言語(最近はRustかElixir)の勉強を進める http://codepen.io/ で面白い動きするやつのコードを探してコード読む とくにCodePenがオススメで、割とゲラゲラ笑いながら読めるやつが多いので楽しい。CodePenのテクニックはそのまま自分の業務に持ち込むと悪目立ちするので控えているが、Webでもこういう演出ができる、と頭の片隅にいれておくことで、いずれ何かに役立ったりする。たとえば昨日読んだ奴

    フロントエンドエンジニア(mizchi)が暇な時にやること - Qiita
    ichi2410
    ichi2410 2016/06/27
  • Win/Mac どちらの Excel でも正しく開ける Unicode な csv の出力方法 - Qiita

    2018/11/27 追記 Excel for Mac 2016 のあるアップデートから UTF8-BOM が開けるようになったようです。 https://www.ka-net.org/blog/?p=7764 手元の 16.16.4 で試してみましたが開くことが出来ました。 平和になってよかったですね。 あらまし まず UTF-8 で吐いた csvExcel で開いてみます。化けます。 仕方がないので BOM をつけてみます。 Win だと正しく開けました!でも Mac で化けます。 それならと UTF-16LE で吐いてみましょう。Win/Mac どちらも化けずに表示されました!これで大丈夫かと思いきやなんとカンマ区切りされず A 列に 1 行まるごと収まっています。死にます。 仕方がないので tsv で出力してみましょう。すごい!ちゃんと表示されています!でも .tsv はデフ

    Win/Mac どちらの Excel でも正しく開ける Unicode な csv の出力方法 - Qiita
    ichi2410
    ichi2410 2016/06/17
    いい話だった
  • 緯度経度付き住所LODを作りました - Qiita

    Linked Open Addresses Japan サイトのURLは以下のになります。 使い方 住所データの引き方は2種類あります。URLに直接入力する方法と、トップページからブラウジングする方法です。 URLに直接入力 Firefox、Chrome等WebブラウザのURL入力フォームに住所を直接入力することで、該当住所のデータが閲覧できます。 入力は以下のようにしてください。 http://uedayou.net/loa/[都道府県][市区町村][町・大字][丁目・字][番地] 「一丁目」等の丁目の数は漢数字で記述してください。 番地は半角数字で記述して「1番」、「1番地」のような「番」、「番地」をつけないでください。 たとえば、「東京都千代田区永田町一丁目7番」という住所のデータを見たい場合は以下のようにURLを作ります。 トップページからブラウジング URLに直接入力する方法以外

    緯度経度付き住所LODを作りました - Qiita
    ichi2410
    ichi2410 2016/06/16
  • leaflet.js + Turf.jsでヘックス(六角形)で地図に可視化 - Qiita

    はじめに はじめまして、ValueCreation と申します。 最近は、何かとデータ ビジュアライゼーションの大切さを痛感しています。もともとは、JavaPHPなどのサーバーサイドのエンジニアだったんですが、JavaScriptのすごさに最近感動しています。先日、IBMのWatsonハッカソンの決勝で、とあるアプリでのWatson APIの結果をグラフで表現しましたが、やはり印象が良かったです。ビジュアライゼーションって、インパクトがあるなと思いました。その時は、グラフとして、amcharts を使用したので、次回はこれについても紹介してみたいと思います。 その時の記事が日紹介されていました!!! http://japan.cnet.com/news/business/35075190/2/ さて、題ですが、今回は、JavaScriptで地図表示用のライブラリである Leaflet

    leaflet.js + Turf.jsでヘックス(六角形)で地図に可視化 - Qiita
    ichi2410
    ichi2410 2016/06/10
  • Dockerでホストを乗っ取られた - Qiita

    注意 件記事ですが、私の不適切な行動(拾ったスクリプトを検証なく走らせる)が原因です。「dockerは(特に何もしなくとも)危険」との誤解を皆様に与えた点、ご迷惑をおかけいたしました。申し訳ございません。 拡散されている記事を削除するのはさらなる誤解を招きかねないと思いましたので、冒頭に注意を付記しております。以下の記事は、「自分が何してるかをきちんと検証できないとセキュリティホールを生み出す」という意味で参考にして頂ければ幸いです。 追記 Twitterやはてブで言及いただきました皆様、ありがとうございます。 件はpullしてきたイメージが悪意ある開発者によるものかどうかにかぎらず、不適切な設定をしていると起こり得ます。 ※コメント欄に質問への回答という形で、私がそのときに走らせていたイメージの一覧を挙げておりますが、どのイメージも評判あるものだと思います。 皆様におかれましては「あ

    Dockerでホストを乗っ取られた - Qiita
    ichi2410
    ichi2410 2016/06/06
  • PostgresのRDSチューニング - Qiita

    Wantedlyは今までRDSを初期設定のまま使っていました。ごめんなさい。 今回ちゃんとチューニングしてみたのでやってみた過程と結果を書きます。 ちなみにWantedlyDBを幾つか持っていて、その中のDBの一つの最適化結果です。 NewRelic での測定の結果、平均31ms ぐらいかかっていたのが、 平均23ms ぐらいになっているので25%ぐらいの改善になりました。 インスタンスタイプ 使っているDBのインスタンスタイプです モデル: r3.4xlarge vCPU: 16 メモリ: 122GB SSDストレージ: 1 x 320G デフォルト値 RDSはパラメータグループを調節します。 それぞれのデフォルト値は書かれてないですが、以下のSQL出だすことができます。 => SELECT name,setting,unit FROM pg_settings; name | sett

    PostgresのRDSチューニング - Qiita
    ichi2410
    ichi2410 2016/05/31
  • 超うす味のCSSフレームワーク『LightTaste』を作りました! - Qiita

    タイトル通り超うす味CSSフレームワークを作りたいな!って気持ちで書いています。 タイトル通り超うす味CSSフレームワークを作りました!(5月3日)。 自分でいうのもなんですが、かなり自由度高くて使いやすいです! ぜひお試し有れ!(githubにstarつくとテンション上がります。気に入ったらよろしくお願いします!笑) LightTaste.css https://github.com/maru-3/LightTaste 自分はRailsエンジニアでサーバー側を書く事が多いのですが、自分の趣味サービスを作る時などはがっつりデザインまでやるのでフロント側もよく触ります。 いつもはskeleton.cssを使って土台作りしてあとは自分でcssを書いて、サービス作りをしているんですが、サイドバーとか作ってると12分割のgridが意外と嫌だったり(僕だけ?)、無駄に色とか付けないでよ!とか、lis

    超うす味のCSSフレームワーク『LightTaste』を作りました! - Qiita
    ichi2410
    ichi2410 2016/05/03
  • 多段SSHの設定を.ssh/configにまとめる - Qiita

    概要 踏み台サーバを経由した多段SSHの設定をconfigにまとめる方法 接続するマシンは、WANやゲートウェイ内のネットワークのいずれにも属する可能性があると想定(ノートPC等) ネットワーク図 図のようにゲートウェイ経由でしかアクセスできないネットワーク内にさらにゲートウェイがあるネットワークを想定 単純な多段SSHの書き方 host gateway HostName sshgate.hoge User hoge Host RemoteHost-out HostName RemoteHost User fuga ProxyCommand ssh -W %h:%p gateway 上記の設定を~/.ssh/configに書いた後、 ssh RemoteHost-out でgateway経由でのアクセスが可能 複数に同時に設定を適応する場合 .ssh/configには複数の設定をワイルドカ

    多段SSHの設定を.ssh/configにまとめる - Qiita
    ichi2410
    ichi2410 2016/04/24
  • Chrome Developer Toolsでパフォーマンス計測・改善 - Qiita

    Chrome Developer Toolsを使ったWebページのパフォーマンス計測・改善についての説明です Networkパネル、Timelineパネル、Profilesパネルの使い方を説明してから パフォーマンスの計測・改善について説明していきます Networkパネル Networkパネルはページのリクエストをしてからの通信内容の一覧を表示します 記録方法 左上のRecordボタンを押すと記録が始まる もう一度押すと記録が停止する 必要に応じて、Disable cacheやCapture screenshotsを設定する 表示項目の変更 赤枠で囲んだ部分を右クリックすると こんな感じでメニューが出てくるので表示したい項目をクリックする 項目の一例 Name:リソースの名前 Method:HTTPメソッドの種類 Status:レスポンスのステータスコードとテキスト Type:リソースの

    Chrome Developer Toolsでパフォーマンス計測・改善 - Qiita
    ichi2410
    ichi2410 2016/03/24
  • 【意訳】たった今、npmのパッケージを解放しました。

    このポストは以下の記事を意訳したものです。 I’ve Just Liberated My Modules - Medium.com Twitterでフロント系のエンジニアの方がざわついていたので訳しました。間違いが有りましたら、ご指摘いただけると幸いです。 以下、意訳。 数週間前、特許弁護士が私にメールをよこしました。メールの内容によると、私の作成した"kik"パッケージをnpmから削除せよ、とのことでした。返答としては"No"でしたが、弁護士からは次のような返信が来ました。"悪いとは思いますが、kikは我々の登録済の名称ですので、あなたの家に弁護士がやってきてあなたのアカウントを取り下げてもらうことになるでしょう。" 私が"kik"のコードを書き始めたとき、同名の企業があるなんて知りませんでしたし、企業に名前を変えさせられるなんてゴメンです。要求を拒絶された彼らは、npmのサポートに対し

    【意訳】たった今、npmのパッケージを解放しました。
    ichi2410
    ichi2410 2016/03/23
  • slackのログをAWS(DynamoDB)にためて、検索できるようにした - Qiita

    > chatOps的な話ではなく、slack のことでお願いします。 すみません、書く直前に知りました。。 でも、カレンダー全然埋まってないし、chatOps的なこと書いてる人他にもいるので強行します。 ごめんなさい。 はじめに slack【有料版】使ってますか?でしたらこの記事はあなたには特に必要ないです。 無料版の制約 有料版にどんな素晴らしい機能があるのかよくわかりませんが、無料版で特に不自由していません。 ただ、1つだけ、過去ログが消えてしまう、という点を除いては。 どうするか? slackでの発言が消えてしまう前に、全部DBに溜め込んで、そこから検索させればいいじゃない。 構成 slackでのHubotとの連携の記事は腐るほどあるので、省きます。 構成は、こんな感じでやりました。 理想 client > 自鯖(Go aws-sdk) > DynamoDB <> CloudSear

    slackのログをAWS(DynamoDB)にためて、検索できるようにした - Qiita
    ichi2410
    ichi2410 2016/03/18
  • sudoersのお勉強 - Qiita

    sudoersの【ユーザー名】 ALL = (ALL:ALL) ALLとは一体何表してんのかってことでman sudoersを読んでみた。 (全文読むのは結構時間がかかる上に、知識がないと上の方は恐らく読むことすらできない。わからないけど読みたい方は【Runas_Spec (どのユーザやグループに変身できるか)】あたりから読み始めることをお薦めする。) 【ユーザー名】 ここはユーザー名を指定。 %付きにするとグループ名 最初のALL ホストに対する許可。 ホストに対するエイリアスを書かない限りALL指定で問題ない。 ホスト指定を書かなくてはならないような人は間違いなく趣味人ではなくプロのネットワーク管理者だと思われ・・・ ()内の左のALL どのユーザーになれるか。 当たり前だがALLだと誰にでもなれる。 ここに個々人のユーザー名を書くとその人と同じ権限を得られる。 (つまるところサブの管

    sudoersのお勉強 - Qiita
    ichi2410
    ichi2410 2016/03/18
  • データサイエンティストを目指す人のpython環境構築 2016 - Qiita

    pythonの環境構築について "python 環境構築"でググると20万件くらいヒットしますが、割と内容が古いです。 タイトルにはデータサイエンティストと書いてありますが、データサイエンティスト以外にもanacondaはおすすめです。 2.x or 3.x? 3.xは動かないライブラリが多いので2.x推奨 > 3.xで動かないライブラリがある、くらいまで来ました。 easy_installでpipを入れて、setuptoolsも入れて、でもwheelというのもあって... > 古いです。 virtualenv 必須 > そんなこともないです。 winでは64bitは不具合が多いので32bit推奨 > 古いです。 winでは非公式バイナリからダウンロードしてインストール > お世話になりましたが、最近は使っていません。 2016版 OS毎python環境構築法決定版 Windows: an

    データサイエンティストを目指す人のpython環境構築 2016 - Qiita
    ichi2410
    ichi2410 2016/03/18
  • ディープラーニングで顔写真から〇〇かどうかを判別してみる (うまくいったか微妙) - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    ディープラーニングで顔写真から〇〇かどうかを判別してみる (うまくいったか微妙) - Qiita
    ichi2410
    ichi2410 2016/03/17
  • 初心者なのでPHPで円の面積を求めてみた - Qiita

    整数で値をひとつ読み込み、それを半径とする円の面積を求めて表示するプログラムを作成しなさい。 円周率は3.14とし、計算結果は、小数第2位を四捨五入して小数第一位まで表示すること。 知恵袋方面に上記のプログラムをPHPで書きたい人がいるという噂を聞きました。世の中にはPHPの宿題が出る学校があったりするのかもしれません。PHPなら任せろー、というわけでPHPのLua拡張を利用して書いてみましょう。LuaもLua拡張も初心者ですが、がんばります! まず手元のPHPのバージョンを確認します。今回はPHP 7.0.4を使います。 $ php -v PHP 7.0.4 (cli) (built: Mar 9 2016 16:14:46) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1

    初心者なのでPHPで円の面積を求めてみた - Qiita
    ichi2410
    ichi2410 2016/03/14
  • PHP開発でCIするならScrutinizer使ってみよう - Qiita

    Scrutinizerが凄い!! ScrutinizerというサービスがPHPの静的解析出来て凄いというスライドを読んで試しに使ってみたら思いの外すごかった。 公式サイトURL https://scrutinizer-ci.com/ スライドの記事 http://www.slideshare.net/hinakano/scrutinizer-ciphp オープンソースのリポジトリ(publicリポジトリ?)なら無料で利用出来るようです。 静的解析が優秀! Scrutinizerでは初期設定の段階で、php-sim、pdepend、php-analyzerツールが有効になっています。 これらツールの他に設定で、 PHP Code Sniffer PHP Change Tracking Analyzer PHP CS Fixer PHP Mess Detector Security Advis

    PHP開発でCIするならScrutinizer使ってみよう - Qiita
    ichi2410
    ichi2410 2016/03/02