サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
akuwano.hatenablog.jp
おはようございます。やっぱヒノキっぽいんだよなぁ、、、(花粉 ということで鼻ズルズルマンです。 Dropboxはオンプレ回帰した? 最近良く聞きます、Dropboxはオンプレ回帰した、クラウドはコストが高いから最近オンプレに戻る企業が増えている、とか。 一つ一つの記事やツイートをイチイチピックアップはしないですが、とにかくよく聞くわけです。 でも思うんですよね、「そんなわけないのでは?」だってよく考えてみてください、テックが強い組織であればあるほど適材適所でクラウドを使ったほうがいい所も見えてきます。 現代のアーキテクチャでクラウドがハマる部分が全くないシステムはありません。一時的なリソース確保と開放、管理のいらないインフラ、様々なサービス。これを利用しないなんてことあるのかな?ってことなわけです。無理にオンプレのみで頑張るのが論理的か?という話かもしれません Dropboxがオンプレに移
こちらの記事はDatabricks Advent Calendar 2023の23日目の記事です! 何年ぶりにかくねん、、、8年ぶり!!!!!???? 嘘やろ、、、、😨 という衝撃はおいておいて、8年ぶりともなると色々変わっているわけで、一番大きいのは僕は会社をAmazon Web Services JapanからDatabricks Japanに変わりました。 転職の理由というのはポジティブな理由もネガティブな理由もあると思いますが、そういう細かいことはおいておいて(おくんかい)決め手になったのはこれです。 「Databricksというサービスに技術的なアドバンテージを感じたから」 SAとしていえばこういえるかもしれません、 「SAとして働いてる自分を想像して、Databricksをお客さまにオススメするときのイメージが付いたから」 でもあります。 とにもかくにもDatabricksと
※このエントリは個人の見解であり、所属する組織の公式見解ではありません このエントリは、MongoDB Advent Calendar 2015 18日目のエントリです。 どうもどうも乙カレー様です。桑野です。 MongoDB on AWS的ななにかを書こうとしたのですが、その前にこれ紹介したことなかったなーと思いDEXの紹介しようと思います。 DEXとは あのMongoDBならこの人達のMongolabさんの作った、MongoDBのSlowlogなどから適切なINDEX設定をRecommendしてくれるプロダクトになります。 神様仏様Mongolab様。 インストール pipで簡単。 $ pip install dex コマンドライン手順 基本的には、MongoDBのURLと、Logのパスを指定していきましょう。 $ dex -f /var/log/mongodb/mongodb.log
このエントリは、MySQL Casual Advent Calendar 2015 16日目のエントリです。 ※このエントリは個人の見解であり、所属する組織の公式見解ではありません どうもどうも乙カレー様です。桑野です。 前回は、このようなブログを書いてアレだったわけですが、さて今回こそはちゃんとブログ書こうと思ってアドベントカレンダーのページ見なおしたらなんか書いてあるんですよね。 またかよ。MySQLだっつってんだろ。 ということで何書こうかなと思ってたんですが、ネタ記事としてMongifyというRubyのプロダクトでMySQLからMongoDBへの移行しちゃうのをやろうかと思います。 誰得なのかということであれば俺得です(∗ᵒ̶̶̷̀ω˂̶́∗)੭₎₎̊₊♡ウケトレィ! 今度こそ怒られないかな、、、(;´Д`)ハァハァ ちゅーわけでテストテーブル作ってみる。 まずは移行元のMySQL
どうもどうも乙カレーさまです。 この度9/18が最終出社日となり、サイバーエージェントを退職することになりました(籍はもう少しありますが)。 並河さんと退職のタイミングが被っていた事で、きな臭い物を感じていらっしゃる方もいるかもしれませんが、完全に並行で進んでいて、お互いにびっくりした案件になりますw*1 サイバーエージェントでやってきたことを思い返すと、入社した当時はまだアメブロもそれほど流行っていたわけではありませんでした。ただサービスを伸ばしていこうという熱量がすごかったことは今でも覚えています。そんな中で様々なサービスのインフラ部分に関わらせていただくことができました(アメーバピグ、ピグライフ、ガールフレンド(仮)、最近ではAWAなど他にも色々)。 Webサービス、会社が育っていく様をほぼ最初から見ることができたのもラッキーだったなと思っています。 それ以外でも色々な勉強会や講演で
どうもどうも乙カレー様です。桑野です。 今日はちょっとだけ神妙な面持ち。 MongoDB3系でWT使っている場合に、3.0.6以前のものを使っていたらバージョンアップしましょうって話。 問題 アクセスの増えてきたタイミングから下記のようなログがでてコネクションが溜まってしまう。 その後溜まりすぎてメモリが確保できずにプロセスが落ちる。死。 2015-08-16T09:06:36.012+0000 E STORAGE [conn38726] WiredTiger (12) [1439715996:12678][61157:0x7f105350e700], connection.open_session: only configured to support 20010 sessions (including 10 internal): Cannot allocate memory 2015-
どうもどうも乙カレー様です。桑野です。 びっくりするほどブログ書いてなくてびっくりしてます。半年書いてないやん。 Terraformを使っていたりするんですが、最近EC2のAutoScaleを入れようとして辛いことがあったりしたのでちょっとまとめてみます。 Terraform Terraformは言わずとも知れたHashicorpさんのプロダクトですね。 インフラ構築をコード化してGithub等でレポジトリ管理することによって履歴管理や、プルリクエストベースの構築ができるのが売りだったりします。 TerraformでのAutoScale時のハマりどこ 端的にいうとこの2つです。 Terraform経由で実行した際のLaunchConfiguration(イカLC)とAutoScalingGroup(イカASG)の削除の順番が逆 LC内のuser_data更新で一網打尽になる Terrafo
このエントリは、MySQL Casual Advent Calendar 23日目のエントリです。 どうもどうも乙カレー様です。桑野です。 お酒が入ってるとわけわかんないことをいうことがおおいんですが(ごめんなさい) さてブログ書こうと思ってアドベントカレンダーのページ見なおしたらなんか書いてあるんですよね。 MySQLだっつってんだろ。 ということで何書こうかなと思ってたんですが、ネタ記事としてシェルスクリプトだけでMySQLからMongoDBへの移行しちゃうのをやろうかと思います。 誰得なのかということであれば俺得です(∗ᵒ̶̶̷̀ω˂̶́∗)੭₎₎̊₊♡ウケトレィ! と言うかなんか怒られそう、、、ごめんなさいごめんなさいネタが思いつかなかったんですホントですm(_ _)m ちゅーわけでテストテーブル作ってみる。 まずは移行元のMySQLにテーブル作ってみましょ。 適当に。 mysql
どうもどうも乙カレー様です。桑野です。 風邪です:(;゙゚'ω゚'):<寒い MongoDB Advent Calendar 2014 - Qiitaの19日目です! MongoDB2.8の目玉機能であるところのプラガブルなストレージエンジン、その中でも先日MongoDB社が買収したwiredTigerについては気になる所なのでとりあえず使い方メモまで書いてみますた。*1 wiredTigerとは wiredTigerとはWiredTiger社で開発を進めていたデータストアで2.8ではMongoDBのストレージエンジンとして採用される予定だったのですが、そこから一転MongoDB社に買収されるという形になりました。今までのmmapv1(従来)形式のデータストアから置き換えになる方向なのではないかと思われます。ということでちょいとやってみようと。 試してみよう 現在MongoDB2.8のRC
どうもどうも乙カレー様です。桑野です。 MySQL Casual Talks vol.7に言ってまいりました! 思えば長いこと出れておらず久々の出席でしたが、今回はなんといっても @hfm さんの4.0移設の話が間違いなくNo.1ですね、、、面白い&色々背筋が寒くなる話でしたね、、、4.0なんてどこにあるんでしょうね、え?あm(自主規制) そして、LTですが初めて MySQL Casual Talks お話することが、、、でき、、、ま、、、し、、、た! といっても、サイトに名前出てなかったのでなんか嫌な予感はしていたんですが、数に入ってなかったんではないかという疑惑はありつつ行きましたがやっぱり入ってなかった感じがします(;・∀・) ということで異様なスピードでしゃべることになりましたが、とりあえずNVMFS+Compressionためしてみたというところの途中経過のお話をさせていただきま
なんで勝負!!!って盛り上がっちゃうんでしょうね。 はい、乙カレー様です。くわのです。 ISUCON4に初参戦してきました! ISUCON毎回みてて面白そうだなーと思っていたんですがなんとなく気が引けたり予定が合わなかったりで出れてなかったのですが、会社でTOTECに参加して6位になったりしてちょっと悔しかったり面白かったりしてきたので今回初参加してきました。 大分記憶が薄くなってしまったので思い出しつつ書いていきます。 @namikawa, @kei2100の3人メンバーででてきました。 言語はNode.jsです。 チームでやったこと(覚えてる限り) とりあえずサーバ環境を見たり、デフォルト状態のRubyのベンチ結果、デフォルトのNode.jsの結果までみて、Nginxのログと、general_log出したりしてクエリ確認してみる。DBはusersとlogin_logしかテーブル無い。
子供が生まれたり、職場では人事改革が行われたり、@oranieさんがスマートフォンアプリエンジニアになったりと、生活が激変しつつある今日この頃みなさまいかがお過ごしでしょうか。 はい、乙カレー様です。くわのです。 職場ではずっとchef-server 1本で来ていたわけなのですが、ちょっと前からchef solo+Berkshelfを使い始めたりしている私達がいます。 きっとみなさんchef-serverとか強がりやがってやっと素直になりやがったなと思っていることでしょう。 (Chef-serverも使い方で便利ですよ) ドキュメント読んだらいいのかと思ったりもするんだけどBerkshelfのドキュメントがあんま綺麗じゃなくて困るというw ちゅーことで、ざっくり使い方を整理しました。あ、Berkshelfのバージョンは3です。 Berkshelf BerkshelfはCookbookの依存
はい、どもども乙カレー様でつ。 boot2dockerをバージョンアップしたらちょっとハマった事をいくつかメモ。 もともと。前提。 もともとは1,2ヶ月前位に入れたboot2dockerで、入れ方は当時homebrewで入る物が若干古かったかなんかでGithubからwgetしてれる方法で。 mkdir -p ~/boot2docker cd ~/boot2docker wget https://github.com/boot2docker/boot2docker-cli/releases/download/v0.11.1-pre1/boot2docker-v0.11.1-pre1-darwin-amd64 -O boot2docker chmod +x boot2dockerあんまり覚えてないけどこんな感じだった気がする。 これはこれで使えてはいたけど、久々に見たらhomebrewでの提供
乙カレー様です。 書評ばっかりしてる人みたいになっててやなのでマジブログ更新しよう(嗚咽 今年の年末年始にご縁があって『Chef実践入門』のレビューをさせていただきましたということで、献本頂いた(ありがとうございますm(_ _)m)ので改めて読んでみました。 Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus) 作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴出版社/メーカー: 技術評論社発売日: 2014/05/22メディア: 単行本(ソフトカバー)この商品を含むブログ (17件) を見る 内容 期せずしてChef活用ガイドという本もでていて、Chefの本が充実してきている昨今なのですが、Chef活用ガイドの方はChefそのものに対する詳しい説明、という感じで、Chefの内部構造やら、どのように動いているか、と言った部分にフォーカスして
「Git管理しているファイルをあとから除外対象に設定したい」はい?どうやります? Gitって最初とっつきにくいですよねぇえええ。 Git使い始めた時は概念がよくわかんなくて、これなんなの?どういうことなの?って思いながら使ってました。(今も使えてないけど) その頃は書籍もそんなに無いしWebの情報とDocumentみたり、聞いたりでやってた記憶があります。 『開発効率をUPする Git逆引き入門』を献本頂いたので読んだのですが、非常によく出来たGitの書籍だったので紹介させていただこうとこの記事を書いております。 開発効率をUPする Git逆引き入門 作者: 松下雅和,船ヶ山慶,平木聡,土橋林太郎,三上丈晴出版社/メーカー: シーアンドアール研究所発売日: 2014/04/09メディア: 単行本(ソフトカバー)この商品を含むブログ (6件) を見る 内容 まず最初に、装丁がカッコイイw と
はい、乙カレー様です。桑野です。 @kuwa_tw vagrantってVagrantfile複数に対応してないんですか!? 2014-03-07 19:04:26 via YoruFukurou to @kuwa_tw @repeatedly 環境変数で向き先変えるしかないっぽいすな。 2014-03-07 19:07:05 via YoruFukurou to @repeatedly @kuwa_tw え,環境変数で変更出来るんです? 2014-03-07 19:08:36 via YoruFukurou to @kuwa_tw @repeatedly あれ、ドキュメントにそうあった気がしますがいまちょっと確認が出来ないす(^^;; 2014-03-07 19:25:05 via Echofon to @repeatedly @kuwa_tw 早く教えてくださいよ! 2014-03-07
どうも乙カレーさまです。桑野です。 自作サーバカンファレンスをやってもう4、5年近く経つんだなぁと思って感慨深いです。 思えば大きな発表をしたのは自作サーバカンファレンスが初めてに近いですし、@marqsさんにお誘い頂いて発表できた事で色々得るものがあったなー、と思っています。 それだけに@marqs さんが今回来られなかったのは残念でした(´;ω;`)ウッ… そして、その自作サーバですが、ぼくもうちの自作サーバはガチの自作サーバはもうやっていないよ、という卒業生としての立場で参加しました。 自作サーバカンファレンスの資料 こちらは前回の自作サーバカンファレンスの資料です。 アメーバピグにおける自作サーバ運用 from Akihiro Kuwano 自作サーバ同窓会の資料 こちら今回の資料、テイストを合わせてみましたw アメーバピグにおける自作サーバ運用それからどうなった from Aki
はい、乙カレーさまです。寒い日が続きますね。 そしてMySQLも続きそうな私です。 前回はトリガをやってみましたが、今度はパーティショニングをしてみます。 パーティショニングとは パーティショニングは、特定のカラム情報を使って、テーブルを論理的/物理的に自動で分ける事で管理を簡単にしたり、パフォーマンスを確保する機能のことです。例えば今回は、更新日時でパーティショニングを行うことで、特定期間のデータを削除する等の運用が簡単になります。 パーテションの設定 プライマリキーの設定 まず既存のテーブルの場合は最初にパーテションを行うカラムがプライマリキーが含まれていないといけないので貼り直します。 mysql> ALTER TABLE usermaster_cs DROP PRIMARY KEY, ADD PRIMARY KEY(user_id, upd_datetime); 新規テーブルの場合
はい、おつカレーさまさまです。桑野です。 ブログを更新できなくて落ち込んだりもするけれど私は元気です。 もんごさんとかもんご野郎とかよく言われる昨今ですが最近久しぶりにMySQLを触っているのでその話を。 そーいえばMySQLのトリガ設定とかほぼやったことなかったので、メモ書き。 トリガとは トリガというのは、特定のテーブルにある操作(UPDATE,INSERT,DELETE)が行われた時にイベント駆動的に実行される機構のことですね。 トリガ作成 CREATE TRIGGER で作成されます。 トリガの設定 下準備 GRANT でトリガを設定するユーザにTRIGGER権限を与えておきましょう。 GRANT TRIGGER ON `user`.* TO 'dbuser'@'192.168.0.%' IDENTIFIED BY 'dbpass'; 元テーブル定義 mysql> CREATE T
ぼくがいわゆる、インフラエンジニア。サーバサイド等をやるエンジニアになった時に何かに詰まったり、気になった事ができた時にGoogleで検索して、良く出てくるページが有ったんです。それは「sanonosa システム管理コラム集」でした。 その頃はインターネット上の情報もそんなに多くなくて、sanonosaさんの知識は幅広いしありがたいなぁ、と思ってました。 それから、ぼくのRSSリーダー(その頃はWebで見れるRSSリーダーってあんまりなかったですねw)には長らく、 @sanonosa さんのブログは入っていたと記憶しています。 その@sanonosa さんの書いたインフラエンジニア向けの本が出るということで、もし初心者向けだったとしても買うしかない、と思って即決で買った本が、こちらの『インフラエンジニアの教科書』です。 インフラエンジニアの教科書 作者: 佐野裕出版社/メーカー: シーアン
はい、おつカレー様です。 桑野です。 最近暑いですね、カレーが捗りますか?ぼくは捗ってます。 最近PythonでWebアプリを書いたりもしているんですが、環境構築についてちょこちょこまとめておこうと思いまして書きます。 今日はpyenvの環境作成について、、、要するに自分メモですw pyenv Pythonでアプリやら、スクリプトやら使うのにpyenv環境、本番とかでもCentOS6でも使われるPythonは2.6系だったりして、3.3とか、2.7系を使いたい時にいちいちRPMビルドをしたくないし、Pythonのバージョンアップしたい時等、環境もわかりやすくなるし、ぐちゃぐちゃになったら作り直せるしpyenvは便利。 必要なパッケージのインストール。 $ sudo yum install vim gcc gcc-c++ make git openssl-devel zlib-devel r
はい、乙カレー様です。桑野です。 おくれちゃいましたが、7/31に開かれましたbpstudy #71にて発表して参りました。 @matsukaz さんにアプリ側のお話をしていただき、私の方でサーバ側でそもそもユースケースとはどんなものか、というお話をしました。 一部では@takebow さんによる、「運用が楽になる分散データベース Riak」という発表をされていて、運用はホント楽そうだよなーと指をくわえてみたりもしましたw Riakの話はいろんな場所で聞きますが、アーキテクチャが綺麗にまとまっているイメージで、クラスタリングKVSとしてはよっぽどの環境でなければ安定運用できるんじゃないでしょうか。と思っています。 そして、二部では私達が「運用を楽に"したい"分散データベース MongoDB」という事でお話したわけですが、以前のWEB+DB PRESSさんの記事を書いた時にもちょっとブログで
はい、おつカレー様です。 夏はカレーとビールですね。 最近bottleのソースコードリーディング的な事をやっていたりするのですが、これをやっている際にdoxygenでのクラス図生成が便利だったので、メモリん。 環境はCentOS6系です。 doxygenとgraphvizのインストール yum。楽チン。 # yum install doxygen graphvizbottleのソースも落としておきましょう。 $ mkdir bottle bottle_doxygen $ wget http://bottlepy.org/bottle.py -O ./bottle/bottle.py 設定ファイルのテンプレート生成 次にDoxygenの設定ファイルのテンプレートを出力しましょう。 $ doxygen -g Doxyfile$ cat Doxyfile | grep -v ^# | grep
はい、おつカレー様です。くわのです。 気づいたらすっげーーーーーーーーーーBlog書いてなくて、やべーなこれって思ったので今後は書いて行こうと思っています(´;ω;`) と、今回も書籍の話だったりするんですが(汁 『Web+DB Press Vol.75』に第2特集としてMongoDB徹底入門を書かせて頂きました。 @matsukazさんと一緒に書いたのですが、僕の日本語のおかしい部分をまつかずさんは直してくれたのでぼくは一生頭が上がらないのだと思いますが、そういう意味では僕と一緒に記事を書いた人全てに僕は頭が上がらないのだなと思うと、僕は頭を下向きに固定して生きたほうが生きやすいんじゃないかと、僕は、、、僕はあああぁあぁ! 、、、また取り乱しました。すいません。 特集の内容 読者の対象としては、MongoDBを触ったことない人向けとなっています。 記事の内容は、 MongoDBのユースケ
はい、おつカレー様です。くわのです。 羅針盤だ。とかカッコイイ(そうでもない)事を言ってみた(ドヤァ オーム社さまから出版されております、『7つのデータベース 7つの世界』を献本いただきました! オーム社さま、@kdmsnr さんありがとうございました! そこで、ちょっと遅れてしまいました(スイマセン(´Д⊂)が、感想などを書かせて頂きました。 どんな本? まず、この本がどんな本か。というのが気になる所だと思います。 自分はこの本に対して、 「データベースと言われているソフトウェアたちがどのようなアーキテクチャで動いているかを知ることによって、適材適所を見つけるためのインデックス」 と理解しました。 内容 この本ですが、その名前の通りに7つのデータベースについて説明していきます。 PostgreSQL Riak HBase MongoDB CouchDB Neo4J Redis 各データ
jenkins先生をやんごとなき事情でBasic認証かけたいとき。 はい、乙カレー様です。桑野です。 Jenkins先生を公開したいなーって時とか、違う部署で見せたいなーみたいな時にお手軽に認証かます。 そう、Basic認証でしょう。 なんか謎にハマったのでメモ。 追記(1/31) Authorizationヘッダさえバックエンドに渡さなければいいので、Securityオプションは有効でもOKでした。 ということで、これ、Apacheの設定だけで行けますね(;・∀・)スイマセン 基本的なBasic認証のかけ方 まず基本的なBasic認証のかけ方は公式のWikiのここですな。 具体的に書きます。 パスワードファイルの作成 $ htpasswd -c /etc/httpd/htpasswd jenkins Password: password Password: password Apache
はい、おつカレー様です。 くわのです。 Muninという監視ソフトウェアがございます。 こちら、とても使い勝手のいい、ソフトウェアでございまして、プラグインも作りやすいし便利なものなんですが、良くないのが、「1.4だと性的静的なグラフ画像生成のコストがエラい高い」「2.0だとグラフ画像生成は動的にできるけど、画面表示時にガッツリ変換するのでめちゃくちゃ遅い」っていう問題があります。 今回その辺の問題を軽減するためにLazy Load Plugin for jQueryを組み込んでみました。 Muninについて詳しく知りたい方は@zembutsu さんのSlideShareを見ていただけるとありがたいです。 Muninではじめる実践★リソース監視 -俺のサーバがこんなに重いはずがない、を乗り切るために- from Masahito Zembutsu あと、Software Design1月号
はい、おつカレー様です。 bashを使ったシェルスクリプトでパイプを使っても戻り値をちゃんと取りたいときの話です。 シェルスクリプトの戻り値 シェルスクリプトでの戻り値取るときに $? を使うことがあると思います。 $ ls / # こっちは正常 $ echo $? 0 $ ls /notfounddir # こっちはエラー $ echo $? 1コマンドのログを取りたいなと思ってteeとかつなげちゃうとteeの戻り値になっちゃって取れないですよね。 $ ls /notfounddir | tee test ls: /notfounddir: No such file or directory $ echo $? 0 # <-アレ? ${PIPESTATUS[@]} こういう場合は、${PIPESTATUS[@]}を使うことで取ることができます。 $ ls / | tee test.log
MongoDB使いましょって時に、やれ、レプリカセットだの、シャーディングだの、いちいち手順とか教えていくのがめんどくさくなったので、これを見たらコマンド的な手順はひと通りいけますよ。だから後は自分で調べてね、っていう資料をつくってみたのだ。 というわけで、「MongoDBのはじめての運用テキスト」SlideShareにあげました。 MongoDBのはじめての運用テキスト from Akihiro Kuwano 内容 PDFには、以下の様な内容を盛り込んでいます。 インストール レプリカセット構築 シャーディング設定 基本的なオペレーション Stat系ツールの見方。 ただし、徐々に古い情報にはなってくると思うので、詳しい情報や、最新の情報を見たい方には公式のWikiなり、ソースなり見ていただくのを推奨いたしますw 意図 以前MongoDBの薄い本などもあって、あれはすごくわかりやすい入門テ
次のページ
このページを最初にブックマークしてみませんか?
『256bitの殺人メニュー』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く