Site Reliability Engineering(SRE) Teamの@cubicdaiyaです。 今回は数あるnginxのサードパーティモジュールの中でも一際強力で、メルカリでも活用しているngx_luaの便利な活用方法や最適化集について紹介します。 ngx_luaは軽量スクリプト言語のLuaでnginxを拡張できるモジュールです。 nginxの設定ファイル内にLuaのコードを埋め込んだり、nginxの拡張モジュールをCではなくLuaで開発することができます。以下はngx_luaにおける「Hello, World!」です。 location / { content_by_lua 'ngx.say("Hello, World!")'; } 上記のロケーションにHTTPでアクセスするとnginxはボディが「Hello, World!」のレスポンスを返します。 なお、先月末にリリースさ
トレンド(世界):すべての国/過去12か月/基準としたキーワードを外さずに数値を取得 トレンド(日本):日本/過去12か月/基準としたキーワードを外さずに数値を取得 公式サイト:Interactive JavaScript charts for your webpage | Highcharts デモサイト:Demos / Stock Demos / Maps Demos / Gantt Demos GitHub:https://github.com/highcharts/highcharts npm:https://www.npmjs.com/package/highcharts CDN:https://code.highcharts.com/highcharts.js ライセンス:商用利用は有償、非営利向け無料ライセンスあり(詳細後述) 推薦しておきながら入門記事も少なくてとっつきにく
こんにちは。学生ライターの池澤章太です。 Webで記事を書くときや資料を作るときに、フリー写真素材をよく使うと思います。しかし、イメージに合う写真や素材を見つけるってなかなか大変です。場合によっては商用利用できるか調べるなければいけませんし。 そんなときに、商用利用ができて、無料で使える素材サイトがまとめてあると便利ですよね。 ちなみに動画素材については送別会、結婚式に!映像制作に使える無料動画素材サイトまとめをご覧ください。 今回は、23個ほど素材サイトをまとめました。この記事をブックマークしておけば素材に困ったときに役立つはず! 【こちらもおすすめ】 無料で商用利用OKのサイト特集 商用利用できるフリー写真素材サイトまとめ23選 ここでひとつ注意を。「フリー」という単語は、なにかと誤解を招きやすいですが、著作権がフリーだったり、クレジット表記が不要だったりする意味ではありません。各素材
「市場価格は適当に決まるから、給与は最終的には適当に決める」「でも、そのプロセスの説明責任はしっかり果たす」 こう話すのは サイボウズ副社長 兼 サイボウズUS社長の山田理。創業以来、人事評価制度を決めては変え、変えては決め、紆余曲折をたどってきました。 そして今、サイボウズの給与は「市場価値」から決めています。それは社外/社内的価値の2軸から定められるものです。給与が決定した後は徹底的に「説明責任」を果たします。「市場評価は適当」と話す裏側にある、サイボウズの人事制度の変遷を追いかけてみます。 2015年10月28日開催、「Gartner Symposium2015」の講演を再構成したものです。後編「社内評価だけで給料を決めるのをやめたら、多様な働き方が実現できた」に続きます サイボウズの山田です。最近注目を集めているサイボウズの働き方や人事制度の中で、今回は「市場価値」について話してみ
操作は快適! UIのデザインもいい! 機能も充実! と3拍子が揃ったWindowsでのフォント管理が捗るフォントマネージャーを紹介します。 しかも、完全無料です! テキストのスタイル フォントのカラー、背景、サイズ、行間などを変更して一覧にできます。 コレクション システム、Typekitのグループの他に、自分でコレクションを作成できます。 ライブ テキスト編集 サンプルのテキストは編集可能で、日本語表示も可能です。 フォントの検索 簡単にフォントを検索できます。 フォントの比較 ピン機能を使って、複数のフォントを比較することができます。 OpenTyepのサポート 外字やスワッシュなど、OpenTyepの機能を広くサポート。 自動アップデート FontBaseは自動アップデートに対応しています。 キーボードショートカット 「Ctrl+F」で検索、「Enter」でテキスト編集、「Ctrl+
Web制作における対応ブラウザの選定方法 「フロントエンドのテクニカルディレクションに求められるスキル」で出てきた話題として対応ブラウザの選定方法について掘り下げて解説を行います。 サイトのターゲット・予算・リソース・開発期間などビジネスにより選定方法は異なりますので、あくまで参考程度にしてください。 対応ブラウザを絞る意味 まず最初は「なぜ、対応ブラウザを絞るのか」という視点から。 理想論で言ってしまえばWebサイトを訪れるユーザー全てに最適なコンテンツを提供できれば申し分がありません。 しかし、現実的には各ブラウザ/OSによって実装が異なる機能があったり、実装されていない機能があったり、特有のバグを含んでいる物があったりすることもあり、そういった場合は個別のブラウザ/OSに対してデバッグやチューニングを行わなくてはいけません。 そのため対応ブラウザの数が多ければ多いほど、Webサイトの
こんにちは、KID.Aです。 前回の記事ではペリフェラルのアドバタイジングデータの発信を実装しました。 今回はペリフェラルのデータ通信の実装をしていきます。 まずは、データ通信を行う際はアドバタイジングで設定するsetConnectableをtrueにします。 AdvertiseSettings.Builder settingBuilder = new AdvertiseSettings.Builder(); settingBuilder.setConnectable(true); これでデータ通信が可能になります。 BluetoothGattServerの実装 ペリフェラルにはBluetoothGattServerを使用してサービス登録やデータのやり取りを行います。 ・開発サイトのAPI http://developer.android.com/intl/ja/reference/and
去る11月21日にmixiで開催されたVimConf 2015に参加してきました。 vimconf.vim-jp.org 僕はvimを使い始めてもう7年目になるけれど、最近はあまりvimを使っていません。 最近は主にモバイルアプリ開発をしているので、XcodeやAndroid StudioなどのIDEを使う機会が多いし、JetBrainsのIDEが最高すぎるので、趣味でPythonを書く時はPyCharm、仕事でもRubyMine(+IdeaVim)を使ってコードを書いてます。 一昔前は、まともなIDEがなくて、どんなものを書くにも大体vimでなんとかしなくてはならなかったけど、今は札束を積めばいくらでも優秀なIDEが金で買えるので、メインのコーディングを全てvimで行うモチベーションがあまりありません。 とはいえ、IDEが無い言語を書いたり、Markdownやちょっとした設定ファイルの変
Python開発者が大好きな言葉があります。それは”全てはオブジェクトである”です。実際、私自身もPythonのクラスを教えているときに何度も口にしています。多くの人が何度も聞いた言葉かもしれないのですが、私が言う度に生徒は賛同の相槌をしてくれます。結局のところ、Javaにおいて全ては(対象がそうでない場合を除いて)オブジェクトであり、.NETにおいても全てはオブジェクトであると、よく言われています。 しかしPythonにおいて全てがオブジェクトであると言う時、(私の生徒は驚いていましたが)「 全て 」にはクラスも含まれているのです。これはとても筋が通っていて、オブジェクトシステム全体が理解しやすくなります。しかしそれでも、広い視野で物事を見ることは難しいのです。 今回のブログ記事では、Pythonのオブジェクト間のつながりをざっと見ていきたいと思います。そして”全てはオブジェクトである”
情報表示:lsblk, blkid パーティション作成:fdisk, cfdisk, gdisk, cgdisk, sgdisk, parted マウント:mount, umount ファイルシステム:mkfs, fsck ファイルシステム(ext2/3/4)用: resize2fs, dumpe2fs, tune2fs スワップ:mkswap, swapon, swapoff SMART情報表示:smartctl LVM:lvmdiskscan, pvdisplay, pvscan, lvdisplay, lvscan 不良セクタ対処:badblocks, ddrescue どのディレクトリが容量を食っているか調べる:ncdu 太字のコマンドはutil-linuxに含まれており、整合性が取れていることが期待できる(と思う)。 ディスク、パーティションの情報を調べる fdisk -l でほ
In the world of Linux system programming, a signal is an event that’s delivered to a process by the kernel. A signal says to the process “something has happened that you might want to respond to”. A few signals are generated as a result of something that the program itself is doing (usually something bad), but most of them originate from sources external to the program itself. Why do you need to k
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く