サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「かわいい」
oranie.hatenablog.com
yokuo825さんのカッコいいインタビュー記事を t.co 読んで、この部分ですね ──例えばどのような話をしましたか? 「インストールされたばかりのMySQLがあるとして、特定テーブルに1件のレコードを最初にINSERTした場合、アクセスが発生するファイルとその理由をすべて教えてください」と質問されたのを覚えています。 具体的にどのような理由でどのファイルにアクセスするか、一連の流れを片っ端から答えていくと、彼らがすごく楽しそうにしてくれて。「そうか、LINEの環境だと○○の設定が最初から○○になっているので、そのファイルへのアクセスは考えていなかったです。確かにそれもありますね」などと答えてくれました。 でこんなツイートしたんですが 全国のDBAは「特定テーブルに1件のレコードを最初にINSERTした場合、アクセスが発生するファイルとその理由をすべて教えてください」これ明日から職場で
はてなブログに投稿しました #はてなブログ Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenabloghttps://t.co/JXxHpQrsZb— kazeburo@スタンドの時間です�! (@kazeburo) 2020年12月17日 素晴らしい内容のエントリですね。 https://kazeburo.hatenablog.com/entry/2020/12/17/164857 ここで出てくる「秘伝のタレ」とはなんなのか?久しぶりにmy.cnf見て意味忘れていたので自分の復習というコバンザメエントリです。 それぞれの内容はオフィシャルドキュメントを確認するのが一番正確です。 innodb_doublewrite = 0 https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters
2020/6/17 追記 そもそも僕の文章が分かりづらい、という至極まっとうなコメントがあったので若干修正。本を読見直してもっと分かりやすい文章書けるようにならないと。 今日こんなツイートしたら 会社の人がレコメンドしていて「伝わる短い英語 Plain English」読んだけど、この本は本当に良かった。なんか複雑な表現するのが偉い・頭良さそうみたいなのは色んな人が見る文章として適切じゃないのをちゃんと教えてくれてとてもいい。https://t.co/pb0hsGSPxG— oranie (@oranie) 2020年6月16日 結構色んな人がLikeしてくれたので改めてブログに。 伝わる短い英語―アメリカ、イギリス、カナダ、オーストラリア 政府公認 新しい世界基準Plain English 作者:浅井 満知子東洋経済新報社Amazon 自分は英語全然出来ないので仕事でもコンプレックス満載
海外旅行などでモバイル機器の通信をどうするかは以前こんな感じの記事を書いた。 oranie.hatenablog.com そして昨年自分の不注意でiPhone7を微妙に壊してしまい、せっかくなのでiPhone11Proを買った。単純に容量がとにかくデカイのが欲しかったがカメラ性能が最高で本当に買ってよかった。子供も本当に可愛く撮れるし夜景とかも三脚無しでテキトーにやってもこんなに綺麗に撮影できるのかと感動した。 そしてiPhone11になったのでeSIMが使えるようなった事でまだ自分が実際に海外は行っていないが色々調べた結果airaloが良さそうだった。 www.airalo.com そしてたまたま1月外出が多くて今使っているキャリアの帯域を使い切ってしまったので、検証がてら日本のSIMを買ってみた。感想としては本当に楽ちんでアプリポチポチしていたら慣れたら10分くらいでSIMが使えるよう
いろんな人がいろんなもので既に可視化するのをやっている大人気な題材ですが、僕も試しにやってみました。 とりあえずiPhoneでこんな感じで見える。 実際のコードはこれ。 github.com 全体のアーキテクチャ図は https://github.com/oranie/natureremo-create-graph/blob/master/architecture.png 多少自分の仕事の検証も兼ねているため少し冗長な構成になっているが解説すると Lambdaがスケジュール実行されNatureRemo APIを叩いて情報を取得 取得した情報をDynamoDBに保存 保存した情報をGlueで定期的にS3にparquet変換を行ってExport Exportされた情報を元にAthenaでクエリによる集計が出来るようにtableを作成 集計クエリを元にQuickSightで可視化 となる。Qui
oranie.hatenablog.com というブログを書いてからはや半年ですが予定どおり実施していました。おかげさまで大盛況でした。 発表頂いたみなさまの資料などは以下の通りです。本当にまとめが遅くなってしまってすみませんでした・・・。せっかく旬の資料だったのが少し時間経ってまとめになってしまいすみません。 speakerdeck.com PostgreSQL 12の話 from Masahiko Sawada www.slideshare.net noti.st www.scylladb.com S3 整合性モデルと Hadoop/Spark の話 from 宜孝 関山 www.slideshare.net speakerdeck.com で、こんな雑な報告をしておきながらアレですが、来年改めて第二回やれれば良いなーというのと、今度はDBももちろんですがWebサーバとか全然違う方面で
題名そのままですが、Middlewares Deep Talksというイベントをやります。そもそもどんなイベントなのか?というのは公式申込みサイトの https://middlewaresdeeptalkstokyo20190.splashthat.com/ を見て頂ければ(そして参加して頂ければ)という感じなのですが、少し補足をするとMySQL(@yoku0825さん)、PostgreSQL(@masahiko_sawadaさん)、Elasticsearch(@johtaniさん)、Cassandra(Yahoo!星井さん)、Hadoop/Spark(@moomindaniさん)という各プロダクトのエキスパートの方がスピーカーとして登壇して頂けることになりました。個人的にも今この人に喋ってもらえると嬉しいなーという人に来て頂けたので大変嬉しく思っています。 Deep Talksという銘を
今の仕事になってからプライベートも含めアメリカに5回くらいとアジアに4回くらい行ってモバイル通信どうするかについて色々と覚えたのでまとめておく。 モバイルルーターをレンタルか、SIMを買うか まず海外でモバイル通信する手段としてはモバイルルーターをレンタルするかSIMカードを買うかに分かれる。で、僕はモバイルルータを初めのうち借りていたけど、モバイルルータ自体の電池の持ちやレンタル手続きとか返却とか1週間も借りるとそこそこ良い値段するとか紛失や故障を気にするのが面倒になり今のiPhoneがSIMフリーモデルな事もあって現地に対応したSIMカードを購入するスタイルになった。 現地で買うか日本で買うか SIMカードを買う場合現地で買うか日本で買っておくかの二種類に分かれるが、アジア圏の大都市は現地でSIMカードを買うのが圧倒的に安いし、香港とかだとツーリスト用に無料SIMカードとかもある上に空
題名のままです。 ついにCassandraにslow query logがVer 3.10でマージされた様です。 [CASSANDRA-12403] Slow query detecting - ASF JIRA で、今までなぜこれが無かったのかというのと、どれだけ素晴らしいかというのを簡単に解説したいと思います。英語の部分はすごいニュアンスだけで書いていたり正確に仕様や歴史や経緯を把握している訳では無いのであくまでも傍から見ていてCassandraを運用した思い出を持っているだけの人が書いているという認識でお願いします。間違っていたらコメントで指摘下さい。もしくはもっとちゃんとした解説ブログ書いて頂ければ幸いです。 まずslow query log自体の要望は普通にありました。まあデータストア運用する人間からしても、実際にクエリを発行するアプリを書く人からしても当然ですよね。 [CASS
考え方やその時の流行のアーキテクチャとかもあるのでそういった物はそれでいいですが、明らかに間違えた事を書いて出来ない!とか載せてしまう時があります。にんげんだもの。 ただ、それを放置する、削除するとかはあまり良くないアプローチだと考えています。理由はそれを読んで真似してしまった人が一人でもいるかもしれない、同じ間違いをする人がいるかもしれない時にその間違いは良い勉強になる、などなど。 最も大きな理由は「間違いを指摘してくれた人に対してちゃんと敬意を払って修正する」が間違えた記事を書いた事に対する責任だと僕は考えています。その為もし僕が不完全なブログを書いて「ちげーだろ。もっと勉強しろ」と言われ確認し自分の間違いに気づいたら顔を真赤にして枕に顔をうずめてバタバタしたり酒を飲んで憂さを晴らすのではなく まず冒頭に間違っていたことを素直に認める 何が間違っていたかをちゃんと正確に記載する 原文中
有給消化を入れると2ヶ月くらい地元の北海道で遊んだり引っ越ししたり酒飲んだりしました(∩´∀`)∩ワーイ で、さすがに引っ越ししたりでお金が無くなり生きていけないので働く事になりました。職場はAWS(アマゾン データサービス ジャパン)にSolution Architectとしてジョインしました。 真面目な話をちょっと書くと今までは一般ユーザーにサービスを提供する側の事業者(いわゆるBtoC)で働いている事が多く、正直退職を考えた時期は「自分が興味を持てるサービスをしている会社さんの話が聞けたら良いなー」という感じで、クラウド事業者に行こうとは正直選択肢に出てこなかった感じもありました。ただ、ひょんなことからお話を聞かせて頂き、最近では eventdots.jp こんなイベントもあり、逆に言うとクラウド事業者で働くというのはいわゆる「インフラレイヤ」でやってきたエンジニアにとってはスタンダ
皆様サガシリーズはご存知でしょうか。昨年はサガ25周年というめでたい年でした。特にロマサガシリーズ、サガフロンティア2が好きで「ついに最低でもロマサガ2、3のリメイク来るか・・・」と待ち焦がれていた時に「ロマンシング佐賀」が発表され マジでこれが25周年にふさわしいコンテンツだと思っているスクエニに期待をする方が馬鹿だったんや… — oranie (@oranie) 2014, 2月 19 という絶望に打ちひしがれたツイートをしていました。 そこから1年弱。ついに「SAGA2015」が発表されました。はじめは半信半疑でした。 えっ・・・SAGA2015って・・・本当に新作なの・・・? — oranie (@oranie) 2014, 12月 14 今年一年スクエニに裏切られてきたから、未だに信じられない。何か罠がある気がする…。 — oranie (@oranie) 2014, 12月 1
タイトルそのまま。勉強がてらslack botを作ってみた。やった事はRubotyのruboty-google_imageとか、他のGolangで既にあるslack ライブラリの劣化パクリです。 r7kamura/ruboty-google_image · GitHub ソースはこれ。 oranie/slack-bot-golang · GitHub 書いてみて思ったのは、slackのoutbound webhookがデータをJSONで投げてくれなかったので面倒だった事が分かりました(小並感 とりあえずherokuで動かしています。実際の動作はこんな感じ。 「画像も立てずにスレ立てとな?」とは言わず、自分から画像を貼る意識の高い麻呂をslackに登場させる事が出来ました。 やる事としては通常のherokuの使い方はまあ一旦置いておいて、golangでやらなければいけない事として Goで作っ
「HBase徹底入門」という本を同僚が書き、クレクレ言いまくったら苦い顔されて快くおこぼれを頂くことが出来ました。 今までHBaseと言えば良く知らないけど 構築の容易さという意味では couchbase < cassandra <<<<<<<<<<<<<<<<<<<<<|圧倒的な超えられない壁|<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Hbase というイメージ。ソースは俺。 — oranie (@oranie) 2013, 9月 3 Hbaseとflumeはinstall作業で運用できるかどうかをふるいに掛けている感がある。 — oranie (@oranie) 2013, 9月 3 簡易・・・ RT @repeatedly: HBaseが簡易じゃない,というツッコミは野暮か… > "HBaseを使って簡易アクセス解析サービスを作っ
【追記】 @naoya_ito @oranie v0.2.6 だしました 2014-12-22 19:53:09 via YoruFukurou to @naoya_ito https://twitter.com/tagomoris/status/546981761385639937 との事で直りました。このエントリの寿命1時間くらいでした! - もうISSUE上がっているけど、同様のエラーが出た。 https://github.com/kaizenplatform/fluent-plugin-bigquery/pull/31 要するにgoogle-api-clientが古い。ただ、 /opt/td-agent/usr/sbin/td-agent-gem update google-api-clientでやってもfluent-plugin-bigqueryが使うのが https://git
結論:gitのVerが古いから。多分1.7.1系とかが入っているとダメで、2.0系とかにアップデートすると解決した。 ソース https://github.com/spf13/hugo/issues/297 解決方法 http://www.torutk.com/projects/swe/wiki/CentOS_6%E3%81%A7git%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E4%B8%8A%E3%81%92%E3%82%8B とりあえずこれでgo get gopkg.in/hogehogeが問題無く出来る様になりました。
自分メモなので簡単に。 MongoDB側にcounter用コレクション作る Go側でcounter用のstructを定義しておく。 Apply()を利用してcounterをインクリメントし、その値を使ってドキュメントをINSERTする。 という流れになる。 mgoのドライバ公式にApplyの代表的な使い方として書かれているが初め良く分からずハマったのでメモ。 http://godoc.org/labix.org/v2/mgo#Query.Apply MongoDB側にcounter用コレクション作る とりあえずここを読みましょう。 http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/ コンソールからauto incrementする方法がオフィシャルドキュメントに書いてあります。 Go側でcoun
【追記】 このブログ書いた後に改めてググったら普通にこの方法見つかるね。俺が見逃していただけですな・・・。 - 表題のままで、開発中にAndroid アプリで定義したSQLiteのスキーマをちゃんと確認したいとか、中にどんなデータが入ったかを確認したかったが、ググっても出てくるのが「SQLite3のファイルをローカルにコピーしてきて、それを見る」ばっかりだったので、面倒くせーと思ったらファイルコピーしなくても出来た。 環境はMac + Android Studio + Genymotion上のNexus端末なので、実機ではRoot権限を取らないと多分この方法はムリ。試しにやったらroot権限無くて対象のディレクトリに入れないので出来なかった。 方法としては adb shellで端末に入る cd /data/data/{アプリ名}/databases/してディレクトリを移動。 中にあるSQL
結論から言うと、システム時間を確認しましょう。 環境はDocker上のfluentdで 2014-10-02 06:31:47 +0900 [error]: unexpected error error_class=Signet::AuthorizationError error=#<Signet::AuthorizationError: Authorization failed. Server message: { "error" : "invalid_grant" }>というエラーが出て起動出来なかった。でも認証情報は合っているし、GoogleDeveloperConsleで見てもAPIの許可とかはしている。で調べて見ると https://github.com/abronte/BigQuery にも記載があるが Troubleshooting If you're getting an
改めて著者の方々と実際に僕に本を送付する手配をして頂いた@yoshi_kenさん本当にありがとうございます。 社内の他のエンジニアが「本頂きました!^^」とかのツイートをしている*1のを見る度に「ブルジョワが!( ゚д゚)、ペッ」とか思っていたらついに僕も貰える時が来るなんて・・・。もう二度とこんな機会はこなさそうなので、保存版として額に入れておこうかと思いましたが、せっかくなので読んでみました。 特集1「ログ解析から始めるサービス改善」 ここではまず「なぜログ解析をする必要があるのか?」「何のためにそもそもやるの?」という事が分かりやすく書かれているかなと思います。特にログは大規模であれば膨大な量や情報を抱える為、やみくもに「これも取ってみよう」「あれも計測してみよう」という事をやっても結局「そもそもなんでこれ必要なんだっけ?」で終わるパターンもあるので、まずここを読んで自分に必要な事
この2日ぐらいスマートフォンアプリ開発エンジニア必須スキルのNginxを触りまくっていて、同僚が見つけて来て触ったら便利だった。 githubはこれ。 https://github.com/vincentbernat/rfc5077 手順はREADMEに書いてあるけど、 sudo yum install openssl-devel gnutls-devel nss-devel libpcap-devel libev-devel nspr-devel pkgconfig git clone https://github.com/vincentbernat/rfc5077.git cd ./rfc5077 git submodule init git submodule update makeで完了。カレントディレクトリに/rfc5077-clientというファイルが出来るので、 ./rfc5
多分Nginxでゴリゴリやっている人ならm9(^Д^)プギャーだろうけど、メモっておく。 サーバサイドでSSL処理をする際に少しでもCPU処理を軽くする+レイテンシを下げたい目的で ssl_session_cache shared:SSL:128m; ssl_session_timeout 300m;的な設定を入れた所、負荷が高い時間帯に [alert] 14099#0: *1627571 could not allocate new session in SSL session shared cache "SSL" while SSL handshaking, client:〜省略〜というログが出た。ソースコードをほげほげ読んでみると ngx_event_openssl.cのngx_ssl_new_session で記述されている処理でおそらく キャッシュ領域に書き込もうとする 溢れ
昨今の殺伐としたインターネットを見ていたら「インフラエンジニア(狭義)は死んだ」というのを発見し、内容にいたく感銘を受けこれではマズイと思ってジョブチェンジしました。 本当の所は深淵なる諸事情とかもあるが「まあアプリ書けたらエンジニアとして良いよね」というノリで、ジョブチェンジする事になりました。 正直サーバサイドの運用担当から離れる事は結構未練や不安はあり、特にこの2年間くらいはCassandra運用に結構専念させて貰っていた(まあCassandraのソースちゃんと読んだりするレベルとかは他のエンジニアが調べたのを教えて貰ってというレベルですが)おかげで、第一人者には程遠いですがCassandra芸人チックなレベルにはギリギリなれた感はあったので、サーバサイドアプリではなく今までの経験があまり活用できないかもしれないスマートフォンアプリに行くことは「本当にキャリアにとっていいんだろうか?
MySQL Casual #6で@studio3104さんが発表していたnata2を触った。 My sql casual talks vol.6 from studio3104_com で、とりあえずローカルにnata2を起動しtd-agentを入れてプラグインを入れてmysqlslapを実行してみた。 動作環境はRuby2.1.2で。1.9系は動かなかった。 手順はgithubにも書かれているが、 https://github.com/studio3104/nata2 https://github.com/studio3104/fluent-plugin-nata2 以下は簡単な流れ。 まずnata2自体の設定。 git clone https://github.com/studio3104/nata2.git cd ./nata2 bundle install vim ./config
nginx 1.7系を設定している時に、まあ良くある要望でリバースプロキシの設定をしたいんだけど、アプリ側が静的ファイルを返す時にそれはアクセスログに出したく無いって設定でハマった。 初めはlocationの内部でif文書いてaccess_log offとかでやろうとすると、何故かファイル自体へのアクセスがそもそも404になる。で、じゃあ画像用のlocation切ってやろうとすると、locationの条件に正規表現を使った場合は nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in こんなエラーに
ちょうど今のチームに新卒メンバーが一人配属になり、「何からやっていこうかー」「今年の研修何教わった?」「今までどんな事やった事ある?」とか聞いている段階だった所にドワンゴさんの新卒研修の記事が流れてきたので、せっかくなので公開されている色んな会社さんの新人研修をメモっておく。なお、見たことがあるやつとか、ちょろっと調べてあくまでも自分と同じ職種に近いやつだけセレクトしているので、気の向いた人は「◯◯エンジニア編」とか作ると良いかもですね! 他社さんの充実したメニュー見ているだけじゃなくて、うちのチームの配属になったメンバーが「このチームに配属されて良かった」と思えるような事を僕もやらないとですね。 @okb_mさんのまとめブログ Web系会社の新卒研修の内容をまとめた(自分の調べた範囲) 既に去年の段階で似たようなまとめを作られている人が。以下かぶっているのも結構あるので、そこはまあお察し
やりたいこと 例えば10台のサーバでHTTPチェックをして「hostgroupに定義しているホストのうち、n台までNGはアラートはWARN、n台を超えたらCRIT」みたいな事をやりたい時に、監視プラグイン側にチェックする為のIPアドレスを引数に渡したいけど、service定義する箇所でコマンドの引数に全部のIPを書くとかはイケていないのでチラッと本を読んだら書いてあった。 方法 簡単に言うと $HOSTADDRESS:<hostgroup名>:<デリミタ>$というオンデマンドグループマクロという物を使えば実現出来る。 check_command check_nagios_value_test!$HOSTADDRESS:linux_servers: $こんな感じで定義すると、仮にlinux_serversにhost1,host2が設定されていれば、監視プラグイン側には host1のIPアドレ
タイトルまんま。主催のtagomorisさん、同じく登壇者の皆様、話を聞いて頂いた皆様、会場運営のLINEの皆様ありがとうございました。 僕はCassandra Casualの時にもチョロチョロ話をした物をベースに「Cassandra運用で実施しているJVM監視について」という内容でスピーカーをさせて頂きました。発表する際はGrowlを有効にすると面白くないスライドでもみんなが面白い感じにしてくれるので、スピーカーをする人は必ずGrowlを有効にしましょう。スライドの後半は若干Cassandraに寄りすぎている所とかがあって、JVMの話からはちょっと脱線している所がありイベントの趣旨から若干アレな感じになっていたので反省です。資料はこちら。 Jvm operation casual talks from oranie 他の方の発表を聞いてGC周りをみんなわかりやすく解説してくれてもっと早く
最近「ついに実運用段階に入った」と言われてTwitter上でも一部で騒がしいCassandraですが、日本語の情報があまり無いのでググったりしても「※この情報はVer0.8の時です」とか書かれていて、今2.1系ベータが出る時代なので全く参考にならないとかお困りの方も多いのでは無いでしょうか。 以下のリンク集はググったら5分位ですぐ見つかる様なサイトばかりですがメモです。 The Apache Cassandra Project http://cassandra.apache.org/ プロジェクト自体のオフィシャルサイト。まずはここを読みましょう。とりあえず触る人は「GettingStarted」くらいは読んでおくと良いんじゃないでしょうか。 DataStax http://www.datastax.com/ Cassandraと言えばDataStax社と言っても過言じゃないレベルなので、
次のページ
このページを最初にブックマークしてみませんか?
『oranie's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く