タグ

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

  • 次世代監視の大本命! Prometheus を実運用してみた - Qiita

    こんにちは!freeeでインフラゾンビをやっている @sugitak です。ゲームではレベルを上げて物理で殴る派です。 freee ではたまにインフラエンジニアの数が減るのですが、その減ったインフラエンジニアはインフラゾンビへと進化し、社内を闊歩します。インフラゾンビは主に開発チームに所属して、アプリっぽいインフラの仕事をインフラからアプリ側へと持っていきます。デプロイとか、Dockerとか、Jenkinsとかの、いわゆる DevOps 系のところですね。こうすることで開発者は手を出せるものの自由度が増えるし、インフラはより来のインフラとして純度を上げていける、 so, win-win ってわけです。 さて、そんなわけで監視です。freee Engineers Advent Calendar 2016の9日目の記事として、 Prometheus による監視が最高なのでみんなもっと使おうと

    次世代監視の大本命! Prometheus を実運用してみた - Qiita
    key_amb
    key_amb 2016/12/10
  • 運用フェーズにおけるGCPとAWSの違いについて - Qiita

    Google Cloud Platform(2) Advent Calendar 2016 8日目を担当するk-bataです。 Qiitaへ投稿するのは初めてで読みづらい点もあるかと思いますが、最後までお付き合いくださいませ。 今年になってGCPの東京リージョンが発表され、AWSにしか関心がなかった自分がGCPを触ってみたところ、非常に使いやすいと感じました。 特に運用フェーズではGCPの方が使いやすいと感じるところがありましたので、AWSと比較しながら紹介したいと思います。 対象となるかた AWSでたくさんのアカウント(VPC)を管理しているインフラ担当 GCPに興味はあるが、運用で楽できるのか不安に思っている方 ハードウェアメンテナンスで仮想マシンが停止しない AWSで100台以上のインスタンスを運用していると、月に一度はどこかの仮想マシンがメンテナンス再起動の必要に迫られます。 AW

    運用フェーズにおけるGCPとAWSの違いについて - Qiita
    key_amb
    key_amb 2016/12/09
    GCP Advent Calendar の記事
  • GitHubで自動生成コードをDiffに表示しない方法 - Qiita

    結論 ここに書いてある 注意事項 だいぶ懐かしい記事ですが…突然、「Diffに表示しないなんてGitHubの価値を損なうものだから記事を非公開にするべきだ」というご指摘をいただいたので、念のため追記。 Diffに表示しない、ってことは当然PRにも見えません。 レビューされない怪しいコードが紛れ込むリスクを抱えることになります。 せいぜい自動生成分だけを非表示にして、CIの中で再生成、差分が出ないチェックを入れるなど、ガードの手は考えておいたほうが良いでしょうね。はい。ご利用は計画的に。 背景 mockeryだったり、swagger-codegenだったり、go-bindataだったり… GitHub上に自動生成されたコードを載せている場合、PRやcommitの詳細画面でDiffが邪魔になることがあります。 .gitignoreでそもそも自動生成コードをリポジトリに載せない generate

    GitHubで自動生成コードをDiffに表示しない方法 - Qiita
    key_amb
    key_amb 2016/12/09
    おお、これはメニューに無いメニューか
  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

    記事が切っ掛けとなってお声がけを頂き、記事の増補リファイン版となる記事をSoftwareDesign 2018年1月号のシェルスクリプト特集第2章として執筆しました。リファイン版には、この記事で触れていない文法面での分かりにくさについての解説が含まれています。その文法面での分かりにくさの解説の一部に相当する記事もありますので、ぜひそちらも併せてご覧下さい。 Shell Script Advent Calendarをご覧の皆様、図々しくも5日目に続く2度目のエントリーのPiroです。 前回は自作のBashスクリプト製Twitterクライアントをネタに実装を解説しましたが、今日は他の言語で多少のプログラミング経験はあるんだけど、どうにもシェルスクリプトは苦手だ……という人のための、シェルスクリプトによるプログラミングの勘所を解説してみようと思います。多分、プログラミング入門レベルの人や上級

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
    key_amb
    key_amb 2016/12/09
    なるほど。これは力作だ。
  • [Rails] rake taskの途中終了はreturnじゃなくてnext - 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

    [Rails] rake taskの途中終了はreturnじゃなくてnext - Qiita
    key_amb
    key_amb 2016/11/28
  • Elasticsearch用語の適当なまとめ - Qiita

    注:古いです(es1.0か0.90くらいのときに書いたもの) glossaryの超適当まとめ 死ぬほど初心者です。お気づきの点がございましたらご指摘の程よろしくお願い致します。 analysis 全文をtermに変換する処理 cluster 同一の名前を持つnodeの集合 document elasticsearchに保存されるjsonデータ。RDBにおける行みたいなもん id documentの識別子 field RDBにおけるカラムみたいなもん。ネスト構造も許可 index RDBにおけるデータベースみたいなもん。typeを定義するmappingを複数持てる。論理的な名前空間で、1つ以上のprimary shardにマッピングされ、0個以上のreplica shardを持つことができる mapping RDBにおけるスキーマ定義みたいなもん。全てのindexは、index内のtypeを

    Elasticsearch用語の適当なまとめ - Qiita
    key_amb
    key_amb 2016/11/24
  • macOS Sierra で Karabiner が使えない問題にどう対処したか - Qiita

    先に結論 「かな」周りのキーバインディング設定は Karabiner Elements を使う。「かな」キーに F13 を割り当て、そこを入力ソースのトグルにした キーリピート設定は同じく Karabiner Elements iTerm2 のメタキーの設定は、iTerm2 自身の設定を使って対処 Cocoa アプリケーションの最低限のキーバインドは DefaultKeybindings.dict に定義してお茶を濁すHammerspoon を使う方法に移行した http://qiita.com/naoya@github/items/81027083aeb70b309c14 keyhac は利用を検討したが、見送った やりたかったこと 新しい MacBook Pro を購入したことで macOS Sierra を使うことになった。これまでは Karabiner が動かないことを懸念して S

    macOS Sierra で Karabiner が使えない問題にどう対処したか - Qiita
    key_amb
    key_amb 2016/11/22
  • プログラミングでよく使う英単語のまとめ【随時更新】

    プログラミングでよく使う英単語のまとめ【随時更新】 随時追加、整理していきます。 名前をつけるときには、名詞、動詞の違い、複数形、過去形などに注意しましょう。 オブジェクト指向では、クラス名は名詞、メソッドは動詞とします。 使ってはいけない言葉 get / set アクセサ (getter / setter) やプロパティによく使われている。 それ以外に使うと混乱を招くのでよくない。 get は軽量な処理と考えるので、中に重い処理は書いてはいけない。 単純な取得/設定以外で使いたくなったら他の言葉を考える。 load, save, commit, store, enable, disable, fetch, register, configure, add, etc... check 意味が広すぎて何をしているかわからない。 できるだけ別の言葉を使う。 具体的に何をしているかに分解して考え

    プログラミングでよく使う英単語のまとめ【随時更新】
    key_amb
    key_amb 2016/11/21
  • New Relicで無料でRakeタスクの実行時間やプロファイルを記録 - Qiita

    New Relicは無料でも大活躍してくれています。以前、詳解 NewRelic で監視&性能改善という記事をかいてまとめたりしてました。 その中で、Rakeのタスク実行時間が簡単にとれないかなーと思っていたのですが、3.13.0 (release on 28 Jul 2015)からできるようになっていました。以下のようにRakeタスクの実行時間がいい感じで見れます。 設定方法 newrelic.ymlに以下のようにNew Relicのタスクを記録することを設定します。 tasksの設置は正規表現を入れれば大丈夫です。除きたいタスクなどがあるひとは適宜設定してください。

    New Relicで無料でRakeタスクの実行時間やプロファイルを記録 - Qiita
    key_amb
    key_amb 2016/11/17
  • null安全を誤解している人達へのメッセージ - Qiita

    先日koherが投稿した記事が多く読まれたようです。記事の内容は僕とkoherが普段話してきた内容が多く登場しているため、僕が人々に伝えたい内容とも強く合致しています。しかし残念な事にインターネットの反応を見ていると、誤解しているケースが思ったより多くありました。 そこで、ネットで見られた意見に対して返答を書きました。 特定の実在する意見は指さずに、僕が感じ取った文脈を編集したものを対象にします。それによって、「そんな事言われてないじゃないか」と思うものがあれば、僕としてもそのほうが嬉しいのでそれで問題ないです。 「たしかにそうだ」と思ってnull安全に今一度興味をもってもらえれば嬉しいです。 なお、記事中のコードは特に言及が無ければswiftです。 意見: null安全があっても、ちゃんとやるのを忘れているかもしれないのでは 忘れません。ちゃんとやらないと、コンパイルが通らないからです。

    null安全を誤解している人達へのメッセージ - Qiita
    key_amb
    key_amb 2016/11/10
  • YAML や JSON のような構造のオブジェクトに対して再帰的に処理を加えるイディオム - Qiita

    YAML や JSON で表現されるような、スカラー値、Array、Hash で構成されたオブジェクトについて、再帰的に処理をする際、下記のようなイディオムが使える。 def foo(obj) case obj when Array obj.map{|e| foo(e)} # Array の要素を再帰的に処理 when Hash obj.inject({}) do |hash, (k, v)| hash[k] = foo(v) # Hash の値を再帰的に処理 hash end else obj end end def stringify_keys(obj) case obj when Array obj.map{|e| stringify_keys(e)} when Hash obj.inject({}) do |hash, (k, v)| # ここが変わる hash[k.to_s] =

    YAML や JSON のような構造のオブジェクトに対して再帰的に処理を加えるイディオム - Qiita
    key_amb
    key_amb 2016/11/10
    Ruby でネストした Hash / Array を再帰的に処理するコード例
  • null安全でない言語は、もはやレガシー言語だ - Qiita

    これらは、表中の「リプレース対象言語」に挙げたように、多くのメジャー言語に対する代替手段でもあります。 Java の代わりには Kotlin や Ceylon が、 JavaScript には TypeScript や Flow が、 Objective-C には Swift が、そして PHP には Hack があります。 Python は自身に null 安全 を取り込みました。 Crystal は直接 Ruby と連携して使えるわけではありませんが、 Ruby 風の null 安全 な言語です。 RustC++ の代替を目指して開発され、 Firefox の一部で C++ のコードを置き換えるのに使われています [^100] 。 null が引き起こしてきた数々の問題を考えると、僕は、 null 安全 は GC (やその他の安全なメモリ管理手法)に匹敵するプログラミング言語の進

    null安全でない言語は、もはやレガシー言語だ - Qiita
    key_amb
    key_amb 2016/11/07
  • あなたの知らない less の世界 - Qiita

    最近 prezto 入れたんですよ。prezto。そしたらいつものシェル世界が見違えるほど使いやすくなって身長も 3 メートルくらい伸びたんですが、それは余談でして、prezto 入れた後に less 使ってみたら余りの変わりっぷりに驚いたんです。 これを機に man page を読み直してみたら更に驚き。less ってこんなスゴイ物だったのか!みたいな。今回はそんな less の底力を紹介します。 環境変数 $LESS less には様々なオプションがあるのですが、これを予め環境変数 $LESS に設定しておくと、毎度 less ファイル名 と打つだけでそれが有効になります。更に、後述しますが、この設定は less 起動中にオン・オフして切り替えることが可能です。 # 最低限でもこれくらいは設定しておこう export LESS='-i -M -R' # 僕は後述の物を全部付けてます(-

    あなたの知らない less の世界 - Qiita
    key_amb
    key_amb 2016/11/07
    おおお、こんな機能もあったのか
  • bashでmemcachedを実装しました! - Qiita

    TL;DR bashとsocatコマンドを利用してmemcachedを実装しました。 MakeNowJust/bashcached - GitHub 文 はじめに bashで実装したmemcachedです https://t.co/5UQk8x3wqw — さっき作った@3日目東R-13a (@make_now_just) 2016年10月28日 bashでmemcachedを実装したらHacker Newsでちょっと話題になったみたいなので記事にします。 とりあえずインストール方法 インストール方法です。 まずsocatが必要なので、

    bashでmemcachedを実装しました! - Qiita
    key_amb
    key_amb 2016/11/07
    これはすごい
  • [翻訳][ネタ] これが未来だ!(It's The Future) - Qiita

    原文:https://circleci.com/blog/its-the-future/ ヘイ、ボスが君と話せっていうんだ。Webアプリに詳しいんだろ? ああ、俺はもうわりと分散システムガイだぜ。ContainerCampとGlueonから帰ってきたばっかりで、来週はDockerconに行くんだ。業界が進歩するのを目の当たりにしてワクワクしている。全てがシンプルになって信頼性が高まるんだ。これが未来さ! すごいね。僕は今シンプルなWebアプリを作ろうとしてるんだ。Railsの普通のCRUDアプリで、Herokuにデプロイしようと思ってる。今後もこの方法でよさそうかい? オー、ノー。それは古いやり方だ。Herokuは終わった。もう誰も使っていない。今はDockerを使う必要がある。それが未来だ。 OK、それは何だい? Dockerは新しいコンテナリゼーションの手法さ。LXCみたいなもので、パ

    [翻訳][ネタ] これが未来だ!(It's The Future) - Qiita
    key_amb
    key_amb 2016/11/06
    件の2016年のJavaScript、インフラ編ももうあったんだな。これは確かにジョーク感が伝わってくる
  • 外気温を測ってホームページで公開すると気象庁から怒られる件(→怒られなくなった模様) - Qiita

    2022年7月2日追記 コメントをいただいて気づいたのですが、過去の「よくある質問集」にあった ホームページでの公開は、成果の発表にあたりますので、届出が必要です。 などの記述が消えて、 気象観測データをインターネット上のホームページ等で掲載する場合には、その観測データの特徴を踏まえた適切な利用につながるよう、観測データの特徴(例えば、観測の目的や観測場所等)を明示するよう努めていただきますようお願いします。 との記述が追加されていることを確認しました。 現実的な運用になり、嬉しく思います。 2022年7月3日追記 気象観測施設の届出と気象測器の検定 のページ内にある 解説資料「気象の観測を行う場合に」 [PDF形式:218KB] の6-7ページ(PDF上では7-8ページ)に、観測データの特徴の具体的な記載例が書かれています。 平成30年(西暦2018年)3月の文章です。 気づいてあげられ

    外気温を測ってホームページで公開すると気象庁から怒られる件(→怒られなくなった模様) - Qiita
    key_amb
    key_amb 2016/11/02
    そうなんですね
  • https://qiita.com/advent-calendar/2016/no-girlfriend

    key_amb
    key_amb 2016/10/28
    秀逸なタイトルのラインナップ
  • Amazon, Google, Microsoft の mBaaS の比較と Xamarin の対応状況 - Qiita

    それぞれ、 Amazon - AWS Mobile Hub Google - Firebase Microsoft - Mobile App Service とその関連ページからの抜粋です。 AWS Mobile Hub や Azure Mobile Apps という名称は、それぞれのクラウドプロバイダーが提供する機能の集合体として名付けられたに過ぎません(たぶん)。 あと Firebase はその企業自体を Google が買収したものです。 なので、上表の空欄の箇所も、 mBaaS という括りで紹介されてないけど、該当する機能はあります。 クラウドロジック Cloud Functions(Google), Azure Functions(Microsoft) アプリケーション分析 HockeyApp(Microsoft) コンテンツ配信(CDN) Azure CDN(Microsoft

    Amazon, Google, Microsoft の mBaaS の比較と Xamarin の対応状況 - Qiita
    key_amb
    key_amb 2016/10/24
  • 運用の問い合わせチケットを10分の1に削減した話 - Qiita

    Help us understand the problem. What is going on with this article? 会社で働いていると、運用チームからの問い合わせがあると思います。 問い合わせというものは、割り込みに繋がり生産性を下げるのでなるべく減らしていきたいものです。 Redmineで管理されているオープンなチケットを10分の1に削減した話をまとめます。 常時、約50枚ほどオープンなチケットを5枚ほどに減らしました。 問い合わせが多くて辛みを味わっている方の参考になれば。 概要 Web自社サービス タスク管理ツール Redmine 毎日、5枚ほどチケットが増える 運用と開発がそれぞれ20人ほど こんな環境です。 改善のきっかけ うちのチームは、当番制で「問い合わせの窓口」(以下、窓口)となる人を作ります。 窓口の人がチケットを解決したり、有識者にチケットを委譲した

    運用の問い合わせチケットを10分の1に削減した話 - Qiita
    key_amb
    key_amb 2016/10/22
    いい話。
  • JavaScriptの1msは4ms - Qiita

    はじめに JavaScriptのタイマー処理(setTimeout(), setInterval())は1000分の1秒の精度(ms)で遅延時間を指定することができます。 setTimeout(function() { // 1ms後に実行してほしい alert('hello!'); }, 1); 見ての通り、上記のコードは第一引数に渡した関数が1ms後に実行されることを期待して書かれていますが、実際にこれを実行すると4ms以上の遅延が発生する可能性があります。 これは、JavaScriptエンジンの実装によって、4ms以下の設定値は4msに矯正するという処理が行われているためです。 ※追記)厳密には上記処理のみを実行した場合は4msへの矯正は行われないようです。4msへの矯正が行われる条件として当記事最下部に追記を行っておりますので併せてご参照下さい。 なぜ4msなのか 実はこの4msと

    JavaScriptの1msは4ms - Qiita
    key_amb
    key_amb 2016/10/22