タグ

2017年2月17日のブックマーク (18件)

  • Idiomatic Go Readability

    I talked about “Idiomatic Go Readability” at Go 1.8 release party in Tokyo. Here is the Google slide.

  • Spring + Railsによるサービス分割の取り組み

    はじめまして、ビューティ開発Tの寺下です。 現在ホットペッパービューティーでは、一部システムのリプレイスに取り組んでいます。 リプレイスはiOS・Android・Webと、各プラットフォームでそれぞれ並行して進めている状況です。 今回は私のチームが担当している、Web開発に焦点をしぼって書いていきたいと思います。 なお、iOS・Androidのリプレイスの取り組みにつきましては、 Wantedly にて紹介していますので、ネイティブアプリにご興味のある方はそちらをご参照下さい。 リプレイスに至った背景 ホットペッパービューティーは、サービス全体で年間5000万件以上のネット予約が行われるなど、 多くのユーザの方にご愛用していただいています。 サービス内容・品質の改善のため、日々機能開発を行っているのですが、 長年の運用・改修により、少なからず技術的負債が蓄積しており、 機能追加開発速度とビ

    Spring + Railsによるサービス分割の取り組み
  • docker で全自動 Let's encrypt - Qiita

    https-portal があまり知られてないようなので紹介記事だけ書いとく。 https://github.com/SteveLTN/https-portal あなたがすでにhttpで動作するサービスのdockerコンテナを持ってるなら、こいつを docker-compose に加えるだけで https 対応は完了。 え? 加えるだけで完了。 まじです。 https-portal は何をするものか 基的には https のリクエストを受け取り、他のコンテナの http へ転送するリバースプロキシとして動作する nginx である。 ところで https を提供するには証明書の取得、設定などが必要だが、こいつはそれを全自動でやってくれる。 え? 証明書の取得、設定を全自動でやってくれる。 まじです。 期間延長も自動でやってくれるらしい。 まあとにかく便利なので、 Let's encryp

    docker で全自動 Let's encrypt - Qiita
  • Slackで簡単チェック!textlint で始める文字校正Bot - コネヒト開発者ブログ

    こんにちは! 新オフィスに移転してから毎日2缶ドクターペッパーを買うのが習慣化してきた @fortkle です。 今回はSlackで簡単に文字校正ができるBotを作ってみたのでご紹介したいと思います。 手軽に校正したい メールやチャットだけでなく、こういったブログやissueに書く仕様など「文章を書く」シーンはたくさんあると思います。 そんなとき自分が伝えたいことを相手にちゃんと伝えることができれば良いのですが、良い文章を書くのはなかなか難しく、今も試行錯誤しています。 そこで、相手に伝えたいことがちゃんと伝わる良い文章を書くためにSlack上で簡単に試せる文字校正Botを作ってみました。 成果物 実際に見たほうが早いと思うので画像を交えてご紹介します。 例として以下の文章をチェックしてみたいと思います。 この文章はご存知の通り、ダミーテキストです ヽ(^o^)丿 そして、様々な、エラーチ

    Slackで簡単チェック!textlint で始める文字校正Bot - コネヒト開発者ブログ
  • 現場で使えるアニメーション系JSライブラリまとめ(2018年版) – TweenMax, CreateJS, WebAnimation, Velocityなど - ICS MEDIA

    現場で使えるアニメーション系JSライブラリまとめ GSAP, CreateJS, WebAnimation, Velocityなど ウェブサイトのインタラクションやUIの振る舞いなど、HTMLでモーションを実装する機会は多々あります。HTML要素の簡易的なアニメーションであればCSS Transitionを使ったことのある方も多いでしょう。しかし、WebGLやCanvas、SVGなどJavaScriptが実装の中心となる制作作業では、CSS Transitionでは対応しきれず、アニメーションライブラリ(トゥイーンライブラリとも言います)が必要となる場面があります。 JavaScriptのアニメーションライブラリは多種多様なので、どのライブラリを採用するのか悩みどころ。記事ではHTMLJavaScriptライブラリについて、使い勝手や書式を紹介します。 今回紹介するメジャーなJSライブ

    現場で使えるアニメーション系JSライブラリまとめ(2018年版) – TweenMax, CreateJS, WebAnimation, Velocityなど - ICS MEDIA
  • Module ngx_http_upstream_module

    Defines a group of servers. Servers can listen on different ports. In addition, servers listening on TCP and UNIX-domain sockets can be mixed. Example: upstream backend { server backend1.example.com weight=5; server 127.0.0.1:8080 max_fails=3 fail_timeout=30s; server unix:/tmp/backend3; server backup1.example.com backup; } By default, requests are distributed between the servers using a weighted r

    Module ngx_http_upstream_module
  • NginxHttpCoreModule

    Enables or disables the use of asynchronous file I/O (AIO) on FreeBSD and Linux: location /video/ { aio on; output_buffers 1 64k; } On FreeBSD, AIO can be used starting from FreeBSD 4.3. Prior to FreeBSD 11.0, AIO can either be linked statically into a kernel: options VFS_AIO or loaded dynamically as a kernel loadable module: kldload aio On Linux, AIO can be used starting from kernel version 2.6.2

  • デブサミ2017、講演関連資料まとめ

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    デブサミ2017、講演関連資料まとめ
  • UIデザインにユーザーストーリーが必要な理由

    Tom Brinton氏はBYUを2012年に卒業した後、CitrusBits、Wallaroo Media、CustodyXChangeでUI/UX設計者として働いてきました。彼は優雅なインターフェースをデザインすることが好きです。 あるデザインチームが、クライアントの新しいアプリのモックアップについて話し合っているとします。すると、アプリがどのようにあるべきかついて、チームメンバーはそれぞれ 違う考えを持っているということが明らかになります。こうなると、ミーティングはすぐに、「何が正しいか」というよりも、「誰が正しいか」という議論になってしまいます。 誰もが自分のデザインを守ろうとしますが、誰もユーザーを守ろうとはしません。ひょっとしてあなたにも思い当たる節がありませんか? このようなときにこそ、ユーザーストーリーを導入する必要があります。 最近では、UI/UXのプロがアジャイル開発で

    UIデザインにユーザーストーリーが必要な理由
    Akineko
    Akineko 2017/02/17
  • 「Google Cloud Spanner」発表。地球規模の大規模分散環境で稼働するミッションクリティカルなリレーショナルDB。NoSQL並のスケーラビリティでSQL対応、トランザクション処理を実現

    Google Cloud Spanner」発表。地球規模の大規模分散環境で稼働するミッションクリティカルなリレーショナルDB。NoSQL並のスケーラビリティでSQL対応、トランザクション処理を実現 Googleは、クラウド上で高度なスケーラビリティを実現する、ミッションクリティカルな業務に対応したリレーショナルデータベースサービス「Google Cloud Spanner」を発表しました。 Google Cloud Spannerは、地球規模の大規模分散処理データベースとして、NoSQL並の非常に高いスケーラビリティと高い可用性、そして高速な処理を実現しつつ、SQLに対応。強い一貫性を持つトランザクション処理も実現。企業のミッションクリティカルな業務にも使えると説明されています。 地球規模に分散したリレーショナルデータベース 一般に、ミッションクリティカルな業務に対応したリレーショナルデ

    「Google Cloud Spanner」発表。地球規模の大規模分散環境で稼働するミッションクリティカルなリレーショナルDB。NoSQL並のスケーラビリティでSQL対応、トランザクション処理を実現
  • 運用監視クラウドサービスのDatadog、アプリケーション監視の「Datadog APM」を正式リリース。インフラ、ミドルウェア、アプリをまとめてクラウドで監視可能に

    運用監視クラウドサービスのDatadog、アプリケーション監視の「Datadog APM」を正式リリース。インフラ、ミドルウェア、アプリをまとめてクラウドで監視可能に クラウドサービスとしてITシステムの運用監視を提供しているDatadogは、これまでのインフラ、ミドルウェアの監視サービスに加えて、アプリケーションの監視サービス「Datadog APM」の正式リリースを発表しました。 Datadogは1つの監視サービスと1つのエージェントでインフラからアプリまでまとめてモニタリングできるようになったわけです。 モニタリング対象となるのは、PythonGoRubyで書かれたアプリケーション。エージェントがこれらのアプリケーションや代表的なフレームワークを検知し、エラーの発生状況やレイテンシ、スループット、パフォーマンスなどのデータを収集し、クラウド上のサービスとしてリアルタイムにグラフ化

    運用監視クラウドサービスのDatadog、アプリケーション監視の「Datadog APM」を正式リリース。インフラ、ミドルウェア、アプリをまとめてクラウドで監視可能に
  • GitHubにおけるPull RequestのAssign/Mergeを自動化して開発を加速させる - CARTA TECH BLOG

    皆さんこんにちは. 現在はfluctにてfluct DRという広告配信システムの開発を行っております, 大関です. GitHub上でのチーム開発では, レビューの依頼や, CIが通ったことを確認した上でのPull Requestのマージといった複数の作業が発生しますが, これらはGitHubUIを複数回クリックする必要があり, 非常にストレスフルな作業です. 稿では, こうした定形作業を自動化するbotとしてpopukoを開発・導入することで, 我々開発者のストレスを軽減するとともに, より堅牢かつフィードバックの多い開発が実施できるようになった事例を紹介します. GitHubでの開発はとてもクリック操作が多い 前段でも述べたように, GitHubを用いたチーム開発においては, 数多くの定形作業が存在します. コードレビューの可能な人を探してレビューを依頼する, 依頼の度に対象者をAs

    GitHubにおけるPull RequestのAssign/Mergeを自動化して開発を加速させる - CARTA TECH BLOG
  • Unity 5.5でアセットバンドル数に応じて、ビルド時間が指数的に伸びる – ユニティ・テクノロジーズ・ジャパン株式会社

    Unity 5.5にて、ビルド対象のAssetBundle数が増えれば増えるほど、ビルド時間が指数的に長くなるという問題が起きています。 (AssetBundle数が 2000~3000を超えてくると、とても厳しい問題となってくると思います) こちらのバグは修正されました。 5.5.3p2 / 5.6.0p2 にて修正されていますので、お使いのUnityのバージョンをアップデートしていただくことをお勧めいたします。 https://issuetracker.unity3d.com/issues/drastically-longer-asset-bundle-building-time-when-building-multiple-small-asset-bundles Unity自体のバージョンアップが出来ない場合等では下記にワークアラウンドを記していますので、こちらをご参照ください。 "

    Unity 5.5でアセットバンドル数に応じて、ビルド時間が指数的に伸びる – ユニティ・テクノロジーズ・ジャパン株式会社
  • Nginx設定のまとめ

    はじめに 僕は盲目的にunicornを起動するためだけにnginxを使っていて、設定ファイルの内容とかをほとんど知らない。 なので、ここにnginxの設定内容をまとめる事で自分自身が覚えようと思う。 普段使う大抵の設定は記載しているつもりです。 記載内容は実際に試したものと試してないものが混在してるので、誤った設定などがあるかもしれないのでその辺はコメントでご指摘いただけると助かります。 インストール インストールについては僕が書くより他の人の記事を見た方がいいと思う。 centosに入れるなら以下の記事が参考になる。 CentOS6.xにてnginxの最新版をインストールする手順 CentOS 6.5でnginxを動かす為の最低限の設定 またchefでインストールする場合は以下の記事が役にたつ。 Chefでnginxを導入してみる ChefでNginxをインストールするときにハマった c

    Nginx設定のまとめ
  • Nginx + Rails (Puma) on Docker のいくつかの実用パターン - Qiita

    フロントとバックエンドを同一コンテナで済ませるパターンと, 1 プロセス 1 コンテナの原則に従い個別コンテナでやるパターンです. 他にも, 共有ストレージ専用の busybox を利用するパターン などがあるようです. 今回の要件 フロントエンドNginx, バックエンドは Rails5 (Puma) Nginx-Puma 間は socket 通信 Rails の静的コンテンツ (public/ 配下) は Nginx が処理する パターンA: NginxRails が同一コンテナ 全てのコードはこちらにあります. https://github.com/na-o-ys/rails_docker_sample/tree/single-container 全体図 $ rails new 直後のディレクトリに Dockerfile などを配置したもの. 一つの Dockerfile

    Nginx + Rails (Puma) on Docker のいくつかの実用パターン - Qiita
  • nginx連載5回目: nginxの設定、その3 - locationディレクティブ

    locationディレクティブはパスの条件が評価されて選ばれたものが適応されます。この条件はパスの文字列の前方一致あるいは正規表現による評価です。この評価の順番は以下のようになります。 前方一致("=", "^~", プレフィックスなし)の条件の評価を実施 最も一致する条件を選ぶ。 選ばれた条件が、完全一致で、プレフィックスが"="であれば、そこで評価を終了し、そのlocationディレクティブを適応する。 選ばれた条件のプレフィックスが"^~"であれば、そこで評価を終了して、そのlocationディレクティブを適応する。 正規表現("~", "~*")の条件の評価を実施 正規表現の条件を設定ファイルに定義した順番に評価する。一致したら、そこで評価を終了して、そのlocationディレクティブを適応する。 前方一致の評価で選ばれた条件のlocationディレクティブを適応する。 ここで注意

    nginx連載5回目: nginxの設定、その3 - locationディレクティブ
  • golang で始める Slack bot 開発 - at kaneshin

    この記事は Slack Advent Calendar 2016 - Qiita の3日目の記事です。 昨日は Kinoppyd さんの「今そこにあるSlack」でした。 さて、今回、この記事では golangSlack bot を実装する方法を紹介しようと思います。 世に蔓延る Slack bot これから bot を世に放とうとしている人は、是非、1日目と2日目の記事を読み、事前知識を頭に叩き込んでおくと良いと思います。 Slackで業務チャンネルの平穏を維持するbot、そして人間のトークンをbotに与える話 - Qiita 今そこにあるSlack的に、自身で作成した bot はもちろん好きになると思いますが、人によっては理解不能な bot や、意味不明な場面で反応したりと、「邪魔だな」と思われてしまうことがあります。そのため、bot を開発する人は「謙虚・尊敬・信頼」(T

    golang で始める Slack bot 開発 - at kaneshin
  • Arukas

    Arukas is a cloud hosting platform that makes Docker container deployment and management simple for users, perfect for developers of all levels and businesses of all types. Users can quickly set up applications without being bogged down with server administration complexities. Arukas' greatest strength lies in its Automatic scaling enables applications to respond immediately to sudden surges in tr

    Arukas