How We Structure Our Work At Mercari Microservices Platform Team
前書き 以前、VimでGit連携といえば、fugitiveが定番で(参考1、参考2)で、コミットツリーの確認するにはGitvが便利、という状況でしたが、最近、次々と新しいプラグインがリリースされていますので、紹介したいと思います。 Agit.vim git log を見やすく表示するためのプラグインです。 従来より、gitv というプラグインがありましたが、それら機能に加えて、修正されたファイル一覧も見られるようになっています。 また、gitvにあった以下のような難点も改善されています。 キーバインドをカスタマイズするために、filetype=gitvのautocmdを作成しなければならない 外部コマンド(git)の実行タイミングの影響かなんかもっさり encodingの設定によっては日本語のコミットログをデコードに失敗して文字化けする 参考: gitk クローンみたいな Vim プラグイ
Oracle Linux and MySQL TPC-C Optimizations When Implementing the Sun Flash Accelerator F80 PCIe Card O R A C L E W H I T E P A P E R | O C T O B E R 2 0 1 4 Table of Contents Table of Contents i Introduction 2 Optimizing Performance with the Sun Flash Accelerator F80 PCIe Card 3 Enable NUMA for the Sun Flash Accelerator F80 PCIe Card Error! Bookmark not defined. Aligning the Sun Flash Accelerator
As a part of improving the error handling, in MySQL 5.7.5 we have re-implemented STRICT sql mode. STRICT mode in MySQL affects the errors that arise from invalid, missing, or out of range values in DML statements such as INSERT, UPDATE, and DELETE. The new implementation aims to make the behavior of STRICT mode more consistent, yet maintain backward compatibility as much as possible. In MySQL 5.7.
osxでプロダクションに限りなく近い開発環境を準備するのコメントでlvh.meのことを知った。 lvh.meというループバックドメイン localhost以外のドメインやサブドメインでのテストをしたいとき、/etc/hostsに書いたりローカルにDNSサーバーを立てる方法があるが、普通のドメインを127.0.0.1に解決させてしまえば確かにお手軽だ。 仕組みも簡単なので自分用に作ることにした。 適当なドメインを用意し、トップレベルドメインloopback.jp.とワイルドカード*.loopback.jp.のAレコードに127.0.0.1を指定する。 以下のいずれも127.0.0.1に名前解決される。 loopback.jp www.loopback.jp sub.domain.loopback.jp 例えばサブドメインで言語を設定するサイトを作っているとする。 うんお手軽! 仕様 loop
6. Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker 7. Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker, Docker 8. Docker, D
osxでプロダクションに限りなく近い開発環境を準備するのコメントでlvh.meのことを知った。 lvh.meというループバックドメイン localhost以外のドメインやサブドメインでのテストをしたいとき、/etc/hostsに書いたりローカルにDNSサーバーを立てる方法があるが、普通のドメインを127.0.0.1に解決させてしまえば確かにお手軽だ。 仕組みも簡単なので自分用に作ることにした。 適当なドメインを用意し、トップレベルドメインloopback.jp.とワイルドカード*.loopback.jp.のAレコードに127.0.0.1を指定する。 以下のいずれも127.0.0.1に名前解決される。 loopback.jp www.loopback.jp sub.domain.loopback.jp 例えばサブドメインで言語を設定するサイトを作っているとする。 うんお手軽! 仕様 loop
LL Diverでの発表 http://ll.jus.or.jp/2014/
// Tutorial //How To Use Etcdctl and Etcd, CoreOS's Distributed Key-Value Store Introduction One of the technologies that makes CoreOS possible is etcd, a globally distributed key-value store. This service is used by the individual CoreOS machines to form a cluster and as a platform to store globally-accessible data. In this guide, we will explore the etcd daemon as well as the etcdctl utility and
C言語では多分岐(前回のif文など)を扱いたい場合、switch文っていうのも使うことができます。 if文の考え方と同じように もし、○◯の場合、××する ってな感じで設定をしていくのですが、switch文とif文との違い把握しておきましょう。 switch文を書き方 switch文はどんな時に使うのが最適かってのを聞かれた場合、ジュースなどの自動販売機を思い出してくださいって言われました。 自動販売機には選択股が複数あり、その中から欲しい物のボタンを押すとガッコンってでてきます。 こんな感じで、switch文が使われているようです。 よくわからん方は無視してください。 ここでは、「a,b,c」のどれかを選択するとそれぞれの出力結果を表示するプログラムを書きました。 #include <stdio.h> int main(void) { char select ='a'; printf("
Resource Management Guide 1. Introduction to Control Groups (Cgroups) Expand section "1. Introduction to Control Groups (Cgroups)" Collapse section "1. Introduction to Control Groups (Cgroups)" 1.1. How Control Groups Are Organized 1.2. Relationships Between Subsystems, Hierarchies, Control Groups and Tasks 1.3. Implications for Resource Management 2. Using Control Groups Expand section "2. Using
ユーザファースト推進部の丸山(@h13i32maru)です。 先日「撮るレシピ」というサービスを cookpad.com にて公開しました。「撮るレシピ」というサービスは料理本や雑誌のレシピを写真に撮ってクックパッド上に保存できるというものです。料理本や雑誌でレシピを良く見る方はぜひ使ってみてください(Androidアプリ版もあります)。 この「撮るレシピ」は全体公開前に一部のユーザに限定公開をしていました。そして全体公開をするにあたりフロント側のコードを全面的に書き換え高速化を行いました。その結果、最大で30倍高速化することができユーザの使い勝手が向上しました。以下が「書き換え前」と「書き換え後」の計測結果です(Android端末8機種 + iOS3機種で各操作のターンアラウンド時間*1を計測)。 閲覧系 最大: 30倍高速化(4.2秒→0.14秒) 平均: 15.7倍高速化(3.6秒→
By Ilya Grigorik on June 20, 2013 HTTP Archive is a treasure trove of web performance data. Launched in late 2010, the project crawls over 300,000 most popular sites twice a month and records how the web is built: number and types of resources, size of each resource, whether the resources are compressed or marked as cacheable, times to render the page, time to first paint, and so on - you get the
(※)このページで紹介している事項は記事初出時点の情報に基づいたものです。本ページはアーカイブとして掲載しています。 ツイート 2012年5月29日 IIJ-II技術研究所では、2009年の秋からMighttpd(mightyと読む)というWebサーバの開発を始め、オープンソースとして公開しています。この実装を通じて、マルチコアの性能を引き出しつつ、コードの簡潔性を保てるアーキテクチャにたどり着きました。ここでは、各アーキテクチャについて順を追って説明します。 ネイティブ・スレッド 伝統的なサーバは、スレッド・プログラミングという手法を用いています。このアーキテクチャでは、1つのコネクションを1つのプロセスかネイティブ・スレッドが処理します。 このアーキテクチャは、プロセスやネイティブ・スレッドを生成する方法で細分化できます。「プール」方式では、あらかじめ複数を起動しておきます。例としては
The script and styleSheet elements will reject responses with incorrect MIME types if the server sends the response header "X-Content-Type-Options: nosniff". This is a security feature that helps prevent attacks based on MIME-type confusion. This change impacts the browser's behavior when the server sends the "X-Content-Type-Options: nosniff" header on its responses. If the "nosniff" directive is
過去のBlogで手動でやっていたことをAnsible Playbookに書き起こしました。 Raspberry piからmqttcliでSangoに送信する - @ledsun blog Raspberry piで計った温度をMQTTでSangoに送信する - @ledsun blog 変更点は? 秘密情報(Sangoへの接続情報)をansible-vaultで隠蔽した cron設定(15分に一回)を追加した 困ったこと 電車の中や外出中はRaspberry Piの実機がなくて動作確認できなかった 次にやりたいこと Raspberry Pi でMQTTで更新トピックを監視、メッセージが飛んで来たらansible-pull Raspberry Pi を増やして、それぞれ別トピックにpublish。ansibleのrollを使ってトピック名を変数で指定する
概要:弊社が運用するWebAPIサービスをオンプレミス環境からAWSクラウド環境へ移行させた取り組みについてご紹介します。 弊社が持つデータベースはレコード数が巨大であるものの、いわゆる「ビッグデータ」的ではないデータ構造や負荷パターンを持っています。これをAmazon DynamoDB上に展開してシステムを構築しましたが、結果としてデータの特性とAmazon DynamoDBの仕様とがうまくフィットして機能していると思います。 移行にあたって感じたAWSそのものやAmazon DynamoDBの特徴のほか、コスト面・運用面での変化についてもご紹介します。典型的なユースケースについては他のスペシャリストの方にお任せするとして、「こんな使い方もできるのか」というヒントをお伝えできればと思っています。Read less
MacをYosemiteにアップデートしたら自前のlaunchdジョブが軒並実行されなくなって死亡したので対応した。 結論 launchdから直接叩くコマンド: /usr/local/bin にパスが通らないのでフルパスで実行する。 launchdからシェルスクリプトを呼び出して叩くコマンド: 事前に launchctl setenv PATH /usr/local/bin:$PATH とかしておけばOK。 ジョブの作成・登録 記事中では便宜的にターミナル使っているけど実際のジョブ作成にはLingon 3を使っています。 経緯 Yosemiteでは /etc/launchd.conf が無効にされた上に /usr/local/bin が有効にならないバグがあるらしい。 environment variables - Yosemite launchd.conf no longer work?
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
Top page ☆はじめに 関数をいろいろと作っていると main関数がどんどん下に埋もれていく これは「関数は最初に使われるよりも前に宣言されていなければならない」という規則のためだ しかしながら、main()が一番下にあるというのは面倒な場合がある なんとかmain関数を上のほうにもってこれないか それを実現するのがプロトタイプ宣言である ¤ プロトタイプ宣言 ¤ プロトタイプ宣言:引数名の省略 void main()でエラーが出る場合は int main()としてコンパイルしてください ☆プロトタイプ宣言 プロトタイプ宣言とは仮の宣言であり、「今後、そういう関数が出てくる」 と先に形だけ定義しておくものだ プロトタイプ宣言した関数はかならずあとで定義されなくてはならない プロトタイプ宣言のみの場合はコンパイルエラーがおきる #include <stdi
Docker1.3がリリースされましたね! それに合わせて、周辺ツールがアップデートされていて とても便利になったと感じたので紹介してみます。 Docker/boot2docker Docker 1.3: signed images, process injection, security options, Mac shared directories boot2dockerでのVolume問題が解決しそう Virtual Box Guest Additionsをサポートしたことにより、 MacOS上のファイルとコンテナ内の同期が簡単になりました。 またDockerがexecコマンドをサポートしたことにより sshインストールなしでコンテナ内でコマンド実行することが出来ます。 でかい。 figは複数のDockerコンテナをお手軽に管理するためのツールです。 シンプルなyamlファイルを用意
I have a query related to the implementation of threads in Linux. Linux does not have an explicit thread support. In userspace, we might use an thread library (like NPTL) for creating threads. Now if we use NPTL it supports 1:1 mapping. The kernel will use the clone() function to implement threads. Suppose I have created 4 threads. Then it would mean that: There will be 4 task_struct. Inside the t
セキュリティ関連ビジネスを手がけるsproutが、上場企業100社に対し無断で攻撃を行っていたのではないかという疑惑が出ている。 発端は雑誌「FACTA」の2014年11月号掲載記事『上場企業5割に「サイバー脆弱性」』。会員限定の記事なので本文全文は閲覧できないが、sproutの公式Twitterによると、「本日発売の経済誌FACTAに、スプラウトが行った上場企業100社のサイバー脆弱性調査が掲載されました。」とのことで、sprout社が上場企業100社に対し、無断で「サイバー脆弱性調査」を行ったようだ。 しかし、脆弱性調査を行う場合、通常は調査対象の同意や事前の調整・準備が必要となる。調査を行うためには攻撃を行う必要があり、それによってデータの消失や改変などの被害が発生する可能性があるからだ(過去記事)。そのため、相手に無断で調査を行った場合、その内容によっては不正アクセス禁止法に抵触す
皆さん、Swiftでガリガリ開発してますか? Objective-Cから変わりすぎて涙目になりながら開発してますが、 そんな中データ管理にSwiftでもMagicalRecord使おうかと思ってましたが 言語も新しくなった事だし、何か代わりがないかなぁと探していたところ Realmに出会いました。 実際に使ってみたので、その使用感をお伝えできればと思います。 環境 x-code 6.0 swift os:ios realm 0.83 Realmとは CoreDataやSQLiteに変わる次世代Mobileデータベースみたい。 Androidでも使えるので移植するときにインタフェースも統一されてて移植しやすいよね! 詳しく知りたい方はここを見ればいいと思います。 なぜRealmを選んだのか iOSアプリを作ってると、まだAndroidアプリがなかったら必ずと言っていいほど Androidアプ
原文は、こちらです。 この 2 回にわたるシリーズで、モーション センサーのトリガーで音を出すデバイスを Arduino で開発します。これを使って、さまざまな応用ができます。たとえば、訪問者検知、猫を台所から追い払う、ソファで眠りこけてしまったときに起こしてくれるとか、仕事場の侵入検知とかです。 第 2 部は、ここ。 私は、庭を害虫から守るために使うつもりです。地球上で人間が占める割合は、土地の 5% だそうです。太った鹿、スカンク、アライグマ他、多数の動物が私の庭を自分の王国だと考えているのです。 Arduino は、組み込み用ハードウェアであると同時に、オープン ソフトウェア用のプラットフォームです。組み込みプログラム、電子工学、ロボットやラピッド プログラミングの入門に最適です。このプロジェクトを終えるころには、半田付け、半田外し、回路図の読み方がわかるようになっています。電子工学
Editor – The NGINX Plus Dockerfiles for Alpine Linux and Debian were updated in November 2021 to reflect the latest software versions. They also (along with the revised instructions) use Docker secrets to pass license information when building an NGINX Plus image. Docker is an open platform for building, shipping, and running distributed applications as containers (lightweight, standalone, executa
October 16, 2014Optimizing the Critical Rendering Path Web pages are getting bigger and bigger in terms of consumed bandwidth and loaded assets (CSS, JS, images, fonts). The share of users who surf the web with mobile phones and tablets is increasing. Sure, at home you have your desktop computer with a really fast internet connection. Yet, a lot of people out there probably don’t visit your site w
一般的に ImageMagick のサムネイル画像生成は遅いとされており、パフォーマンスが求められるシーンでは Imlib2 などのより高速な画像処理ライブラリが使われることが多いです。 Imlib2 の高速さについては、以前「Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 床のトルストイ、ゲイとするとのこと」という記事で紹介しました。この記事のベンチマークにおいて、Imlib2 によるサムネイル画像の生成は、 ImageMagick の3倍程高速でした。 しかし、 ImageMagick は Imlib2 より画質がよく、高機能で使いやすく、今も頻繁にメンテナンスされており、とてもよく出来ています。その点 Imlib2 は、2004年からメンテナンスされておらず、セキュリティホールが見つかっても、各Linuxディストリビューションがそれぞれパッチを当て
semctl()を読むのは良いけどフラグによって操作が違うのでshmctl()の時と同じくIPC_RMIDの場合を読みます。 まずはsemctl()からでshmctl()と同じくIPC_SETとIPC_RMIDは同じ関数が使われます。 1569 SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, unsigned long, arg) 1570 { 〜略〜 1596 case IPC_RMID: 1597 case IPC_SET: 1598 return semctl_down(ns, semid, cmd, version, p); ではsemctl_down()を見ていきます。と思ったんですが、shmctl()の場合とほぼ同じなので確実に違う部分だけ読みます。 それはどこかというと、セマフォでコマンドがIPC_RMID
When you're building a web application there's probably some shared functionality that you want to run for many (or even all) HTTP requests. You might want to log every request, gzip every response, or check a cache before doing some expensive processing. One way of organising this shared functionality is to set it up as middleware – self-contained code which independently acts on a request before
This page provides status information on the services that are part of Google Workspace. Check back here to view the current status of the services listed below. If you are experiencing an issue not listed here, please contact Support. Learn more about what's posted on the dashboard in this FAQ. For additional information on these services, please visit https://workspace.google.com/. For incidents
static linkするにあたっての動機、諸注意(ハメがあるので必読)は [twitter:@sonots] さんの mysql2 gem を mysql5.6 の libmysqlclient.a と static link したい話 - sonots:blog を参照してください。 ここではDBD::mysqlをビルドする際のオプションのみ記します。 http://dev.mysql.com/downloads/mysql/ からダウンロードできるrpm MySQL-client-5.6.21-1.el6.x86_64.rpm MySQL-devel-5.6.21-1.el6.x86_64.rpm MySQL-shared-5.6.21-1.el6.x86_64.rpm の場合、 $ ldconfig -p | grep libmysqlclient libmysqlclient.s
この数ヶ月というもの、プログラマーに本を執筆することを薦めている記事をいくつも見かけてきています。このような記事ではそれぞれ少なくとも少しは役に立つアドバイスを提供しており、最終的には同じようなアイディアへとつながる結論に達していました。 自分のブランド構築のために本を執筆するべき . この結論は私からすると正確で非常に残念なものです。本を執筆するということに対する圧倒的な理由がブランド構築というのであれば、これから著者になるであろう人々はブランド構築をすることで何らかの利得があるという人(そして、時間を無駄遣いする人)だけになってしまいます。 そこに至るまでの道のり インターネットが原因だというのは明白です。誰もがといっていいほど多くの人が動画や楽曲、そして書籍を無料でダウンロードできることを知っています。「違法ダウンロード」に関する意見は反対意見からプライドに満ちたものまでと様々です。
ども、大瀧です。 皆さん、Treasure Data Serviceやfluentdを活用するためのクライアント・エージェントであるTreasure Agent(通称td-agent)を活用してますか?AWS環境でも、Amazon KinesisやAmazon DynamoDBとの連携などビッグデータに関わる処理では欠かせないツールになりつつあります。 ただ、Treasure Data社公式のtd-agentパッケージはサポートOSにAmazon Linuxが含まれておらず、独自にビルドして使用することが推奨されています。そこで本エントリーでは、その独自ビルドを検証した結果をシェアしたいと思います。Amazon Linuxでのサポートについて、詳しくは以下のQiitaエントリーを参照してください。 td-agent - Treasure AgentとAmazon Linux - Qiita
ども、大瀧です。 皆さん、Treasure Data Serviceやfluentdを活用するためのクライアント・エージェントであるTreasure Agent(通称td-agent)を活用してますか?AWS環境でも、Amazon KinesisやAmazon DynamoDBとの連携などビッグデータに関わる処理では欠かせないツールになりつつあります。 ただ、Treasure Data社公式のtd-agentパッケージはサポートOSにAmazon Linuxが含まれておらず、独自にビルドして使用することが推奨されています。そこで本エントリーでは、その独自ビルドを検証した結果をシェアしたいと思います。Amazon Linuxでのサポートについて、詳しくは以下のQiitaエントリーを参照してください。 td-agent - Treasure AgentとAmazon Linux - Qiita
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く