2016年12月13日のブックマーク (17件)

  • 短縮URLサービスの作り方 - Qiita

    これは 日情報クリエイト Engineers Advent Calendar 2016 による10日目の記事になります。 短縮URLサービスとは 長いURLを短いURLにしてリダイレクトさせるサービスです。 https://ja.wikipedia.org/wiki/%E7%9F%AD%E7%B8%AEURL 利用されだして随分経ちますが便利な反面いろいろと問題はあります。 1. 提供サービスの閉鎖により利用できなくなる。 2. 提供サービスの規約に抵触し利用できなくなる。 3. ウイルス感染源になりうる。 1,2は外部サービスを使う宿命ですが、できれば自分でコントロールしたいところです。 3は元のURLが隠しやすいためセキュリティ攻撃者にとっても便利なサービスとなってしまっています。 自分で作れば安心 自分でつくれば閉鎖もないし制限も受けないし、利用者も制限できます。 そこで、できるだ

    短縮URLサービスの作り方 - Qiita
    nishitki
    nishitki 2016/12/13
  • さくらインターネットとピクシブが業務提携し、画像の変換・配信サービス「ImageFlux」を提供 | さくらインターネット

    さくらインターネットとピクシブが業務提携し、画像の変換・配信サービス「ImageFlux」を提供 〜ファーストユーザーとして、メルカリが利用開始〜 自社運営のデータセンターでインターネットインフラサービスを提供するさくらインターネット株式会社(社:大阪市中央区、代表取締役社長:田中 邦裕)とイラスト投稿・交流サイト「pixiv」を運営するピクシブ株式会社(社:東京都渋谷区、代表取締役社長:片桐 孝憲)は業務提携し、画像処理や画像配信において必要となる画像変換機能とコンテンツ配信をワンパッケージ化したサービス「ImageFlux(イメージフラックス)」を2016年12月13日より提供開始します。また、サービス契約前に全ての機能を試すことができる「無料トライアル」を併せて提供します。 「ImageFlux」は、レンタルサーバーやクラウドなどのインターネットインフラサービスやコンテンツ配信な

    さくらインターネットとピクシブが業務提携し、画像の変換・配信サービス「ImageFlux」を提供 | さくらインターネット
    nishitki
    nishitki 2016/12/13
  • Prefer DEFER Over ASYNC

    Steve works at SpeedCurve on the interplay between performance and design. He previously served as Google's Head Performance Engineer, Chief Performance Yahoo!, and Chief Performance Officer at Fastly. Steve has pioneered much of the work in the world of web performance. He is the author of High Performance Web Sites and Even Faster Web Sites. He is the creator of many performance tools and servic

    Prefer DEFER Over ASYNC
    nishitki
    nishitki 2016/12/13
  • Netdata: Monitoring and troubleshooting transformed

    Netdata actively supports and is a member of the Cloud Native Computing Foundation (CNCF) …and due to your love ❤️, it is one of the most ⭐'d projects in the CNCF landscape! Why Netdata? Netdata is different. Real-Time data collection and visualization. Infinite scalability baked into its design. Flexible and extremely modular. Immediately available for troubleshooting, requiring zero prior knowle

    Netdata: Monitoring and troubleshooting transformed
    nishitki
    nishitki 2016/12/13
  • Docker上でWordPressの静的ファイルジェネレータを使ってみる - Qiita

    WordPressSimply Static というプラグインを検証するために、MacDocker上にWordPressコンテナを立て、投稿記事を静的ファイル郡として出力してみました。 その際の手順になります。 環境 macOS Sierra 10.12.1 Docker for Mac 1.12.3 Simply Staticプラグインについて WordPressというブログソフトウェア用プラグインの1つです。 ブログの投稿記事を静的ファイルに変換することで、WordPress体とサイトを分けたり、スピード面でのメリットがありそうです。 Simply Static is a static site generator for WordPress that helps you create a static site that you can serve separately fr

    Docker上でWordPressの静的ファイルジェネレータを使ってみる - Qiita
    nishitki
    nishitki 2016/12/13
  • consul watchの変な挙動 - 右往左往ブログ

    watchとは consulのwatch機能は、サービスなどを監視し、状態が変化したときに指定した処理を実行する機能です。 公式によると、以下の条件でwatchは発動するようです。 https://www.consul.io/docs/agent/watches.html Key/Valueが変化したとき Key Prefix配下が変化したとき Serviceの数が変化したとき nodeの数が変化したとき 特定のServiceの状態が変化したとき checkの状態が変化したとき ユーザの指定したeventを発行したとき ここではwatch機能の挙動を確認してみます。 自分の理解が足りないのか、ちょっと今のままでは使いづらいなという印象です…。 なお、検証したのは上記のうち「特定のServiceの状態が変化したとき」についてです。 使いづらいポイント 検証で後述しますが、まとめると以下です。

    consul watchの変な挙動 - 右往左往ブログ
    nishitki
    nishitki 2016/12/13
  • -bootstrap-expect=3のConsulサーバクラスタが一旦落ちると復帰できないのでその対策 - Qiita

    冗長化したConsulサーバクラスタでの問題 Consulはサーバを-bootstrap-expectオプションで3以上(あるいは、設定ファイルでbootstrap_expectの値を3以上)を指定して3台以上起動することによってサーバクラスタとして冗長化することができ、半数以上が停止するまでサーバとして利用可能な状態のままで居続けることができる。 つまり、-bootstrap-expectが3なら1台までサーバが落ちても問題ない。 逆に言えば半数以上のサーバが落ちてしまえば利用できなくなる。1 もちろんそれは仕様通りなのだが、(少なくとも私の環境では)その後再度落ちたサーバを普通に起動してもLeaderの再選定が行われず全員Followerになってしまうため利用可能な状態になってくれない。 これはバグだと思われる。 https://github.com/hashicorp/consul/

    -bootstrap-expect=3のConsulサーバクラスタが一旦落ちると復帰できないのでその対策 - Qiita
    nishitki
    nishitki 2016/12/13
  • Cureutilsを使ったプリティでキュアキュアなターミナルライフの実現 - Qiita

    ADVENTERのプリキュア Advent Calendar 2016の13日目の記事です。 日々の作業を便利にする *utils を活用しよう 端末上の対話シェルで作業をすることが多い方は、最初からインストールされているコマンドだけでなく、新たにコマンドをインストールして使う方が多いと思います。 例えば、OSXをお使いの方で、coreutilsという、GNUの標準コマンドが含まれたツール集をインストールする方をよく見ます。便利なので、よく私もお世話になっています1。 他にも、似た名前の moreutils というツール集もあります。coreutilsと違い、少し複雑な動作や機能を提供してくれるようなものが含まれます2。これも、使いこなすと日々の仕事を楽にできそうです。ちなみに私は、よくspongeコマンドにお世話になることが多いです。 また最近では、dateutils というツール集を使

    Cureutilsを使ったプリティでキュアキュアなターミナルライフの実現 - Qiita
    nishitki
    nishitki 2016/12/13
  • Codenize Meetup に参加して Infrastructure as Code ツールとオペレーションの実践的な話が聞けた - kakakakakku blog

    木曜日に Codenize Meetup に参加してきた.Codenize.tools には様々なツールがあって,有名なものだと Roadworker(Route 53 の設定をコード化) / Piculet(セキュリティグループの設定をコード化) / Miam(IAM の設定をコード化)など.タイミング良く Roadworker と Piculet を検証していたので, 実際に運用で Codenize.tools を活用している現場の話を聞いてみたく,抽選も当たって参加できて良かった. codenize.connpass.com cloudinfra-audio に Codenize.tools 開発者の @sgwr_dts さんが出てて,Roadworker を作ることになった背景とか,裏話っぽいことが聞けるので良い!オススメ! cloudinfra.audio Infrastruct

    Codenize Meetup に参加して Infrastructure as Code ツールとオペレーションの実践的な話が聞けた - kakakakakku blog
    nishitki
    nishitki 2016/12/13
  • テストしやすいGoコードのデザイン

    テストしやすいGoコードのデザイン golang.tokyo #2 12 December 2016 Taichi Nakashima 言いたいこと 明示的であれ! 2 whoami @deeeet / @tcnksm (GitHub) http://deeeet.com A PaaS Dev&Ops (Using go for CLI tool, API, Batch jobs) 3 OSS Tools gcli - The easy way to build Golang command-line application ghr - Create Github Release and upload artifacts in parallel Packages go-httpstat - Go package for tracing golang HTTP request latency

    nishitki
    nishitki 2016/12/13
  • Go言語でExcel操作ライブラリを書いてみた - Qiita

    excl ライブラリ なぜそんなもの書いたのか Go言語にはExcel作成用のライブラリ xlsx がすでに存在します。 xlsxライブラリは強力で、普通に使用する場合このライブラリが一番だと思います。 ただ、xlsxライブラリを調査していると今回作成するものの仕様に耐えられない部分がありました。 xlsxライブラリの利点欠点 xlsxライブラリにできること ・Excelファイルの書き込み・読み込み・新規作成 ・セルの書式設定 ・Excelファイルを解凍せずに扱える ・OpenXMLの仕様に基づいた開発 xlsxライブラリの問題 ・既存のExcelファイルを使用するといろいろなものが消える ・チャートが消える ・画像が消える ・図形が消える ・マクロの存在するファイルの場合はマクロも消える ・メモリ使用量が異常に高くなる ・数十メガバイトのデータでも使用メモリがギガを超える exclライブ

    Go言語でExcel操作ライブラリを書いてみた - Qiita
    nishitki
    nishitki 2016/12/13
  • GolangでDockerでドカドカするコンテストサーバを組んだ - Qiita

    初めに この記事はGo Advent Calendar13日目の記事です。 コンテストサーバとは 競技プログラミング1のコンテストを開催するためのサーバです。 一般に、問題の公開、ユーザの提出コードを判定、その結果をもとにランキングの作成などの機能が求められます。 UIはWebだったり専用アプリケーションだったりしますが今回は使い勝手の良いWebを採用しました。 製作にあたって直面した課題 Web UI製作経験なし。 C++、CoffeeScript(Node.JS)、Go以外の言語をほぼ触ったことがない。 DataBaseに関しては知識のみ、実際に運用したことはない。 ユーザの提出コードを判定するために実行している際に使うサンドボックスの製作に必要なLinux関連の知識があまりない。 といったかなり致命的な問題が並んでいて厳しい状況でした。 最初はC++での製作を試みていましたがC++

    GolangでDockerでドカドカするコンテストサーバを組んだ - Qiita
    nishitki
    nishitki 2016/12/13
  • PostgreSQL10でテーブルパーティションへのINSERT性能が大幅Upする件 - Qiita

    これはPostgreSQL Advent Calendar 2016の13日目の記事です。 はじめに PostgreSQLには、継承とトリガを利用したテーブルパーティション機能が従来からありましたが、パーティションへのINSERTが非常に遅いという問題がありました。一方、それらの従来のテーブルパーティション機能の様々な問題を解決するため、NTT OSSセンタのAmit Langoteさん(@amitlan)が中心となり、新たな改善版テーブルパーティション機能が(記事執筆時点で)開発中のPostgreSQL10に取り込まれました。PostgreSQL10では、従来版と新機能版の2つのテーブルパーティション機能を利用できることになります。 この記事では、PostgreSQL10新機能版テーブルパーティションのINSERT性能が、従来のものに比べてどれだけ改善されているのか簡単に比較検証します。

    PostgreSQL10でテーブルパーティションへのINSERT性能が大幅Upする件 - Qiita
    nishitki
    nishitki 2016/12/13
  • ミスを少なくする明日からのCustom Lint Rules - Qiita

    社会の荒波に旅立ってから早半年が経過した研修の果にです。 Custom Lint Rulesについて書きます🙇 Custom Lint Rulesの作り方や説明などはhotchemiさんのCustom Lint Rulesが非常に参考になるので御覧ください。 今回は実際に作ってみてハマった点と、既存のGoogleのCodeを読んで参考になった部分を紹介します。 作ったもの 背景 Databindingを使ったNumberPickerでの実装に若干ハマったことがきっかけでした。 NumberPickerではありがたいことにvalueに対し2-way bindingが提供されています。 そのため以下のような実装をしました <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.c

    ミスを少なくする明日からのCustom Lint Rules - Qiita
    nishitki
    nishitki 2016/12/13
  • DevOps時代のテスト要求分析 - Test Automation

    はじめに こちらのエントリはソフトウェアテストAdvend Calendar2016の13日目の記事です。 qiita.com ちなみに、昨日のエントリ、テスターがエンジニアとキャッキャウフフしながら文言指摘軽減を技術的に30分で解消したかもしれない話 - テストする人。は、キャッキャウフフしてる感じが楽しそうですね。 DevOps時代のテスト要求分析は難しい DevOps時代のテスト要求分析は難しい。それは、ウォーターフォール時代のテストで基として使われていたVモデルによる従来のテスト戦略をそのまま適用することが出来ないからだ。これにはいくつかの理由がある。 (理由1)ビジネスの成熟度によってサービスやプロダクトに重要な品質が変化する (理由2)開発中にシステムのアーキテクチャ設計が変化する このブログエントリーでは、これらの理由を解説したのちDevOps時代のテスト要求分析の方向性に

    DevOps時代のテスト要求分析 - Test Automation
    nishitki
    nishitki 2016/12/13
  • Apache Sparkでバイナリ固定長ファイルを読み込む - Qiita

    SparkはテキストファイルやJSON, CSVなど様々な形式のファイルを読み込むことができます。 HDFSから読み込んで、そのままRDDに変換されるので難しいこと考えずに、取り合え使えてとても便利です。 ただ、業務アプリを書いてると独自フォーマットのバイナリデータとか普通にあります。初めてのSparkを読むとSparkContext#newAPiHadoopFileやSparkContext#hadoopFile使えばできるよ! って書いてあるんですが、使い方がさっぱり記載されてません... Spark使ってる人はHadoopを通過してるからその辺の説明は不要なのか、単にニーズの問題か、私のグーグル力の無さか、いずれか分かりませんが、やり方と振る舞いを把握するのに結構時間がかかってしまいました。なので、備忘として現状の理解を残しておこうと思います。 以前、ミーハーに買ってみたけど、実は特

    Apache Sparkでバイナリ固定長ファイルを読み込む - Qiita
    nishitki
    nishitki 2016/12/13
  • Mac OS Xのgitでhttpsクライアント認証を使用する - Qiita

    クライアント認証に失敗する問題 gitでSSLクライアント認証が必要なhttpsサイトを使用する場合、通常以下のような設定を行いますが、OS Xではエラーとなります。 $ git init $ git config --local http.sslCert ~/.ssh/Hoge.crt $ git config --local http.sslKey ~/.ssh/Hoge.key $ git config --local http.sslVerify false #オレオレ証明書なので * Couldn't find host gitlab.example.com in the .netrc file; using defaults * Trying xxx.xxx.xxx.xxx... * Connected to gitlab.example.com (127.0.0.1) por

    Mac OS Xのgitでhttpsクライアント認証を使用する - Qiita
    nishitki
    nishitki 2016/12/13