タグ

2017年6月23日のブックマーク (24件)

  • CloudFrontをかますとキャッシュなしのAPIコールでも速くなるようだ : sonots:blog

    CloudFrontをかますとキャッシュなしのAPIコールでも速くなるようだ : sonots:blog
  • ドリコムで使ってるgem一覧 #railsdm - くりにっき

    先日 【増枠】Rails Developers Meetup #2 でLTした時の資料です。ご査収ください rails-developers-meetup.connpass.com 資料 スライド版 sue445.github.io markdowngithub.com 当日の質問 覚えてる範囲で 社内gemにするかOSSするかどう切り分けてる? 基的には外に出すこと前提で作ってる 理由:みんなに使ってもらえた方がフィードバックが得られやすいし、Travis CIなどのエコシステムも利用できる ビジネスロジックを抽出していたり、社内コンテキスト*1に依存してるような場合は社内gemにしてる OSSにするとどうしても汎用化しちゃいがちでEasyから外れてしまうので、社内利用用途に絞ることでEasyを維持*2しているケースもある 詳しくは以前エントリに書きました sue445.haten

    ドリコムで使ってるgem一覧 #railsdm - くりにっき
  • Under-The-Jack Pack 2.0買った - よりぶろ

    以前もおすすめの記事を書いたUnder-The-Jack Pack、ふとBetabrandのサイトを覗いたら、いつの間にか新しいバージョンが出てました。 yo-ry.hateblo.jp www.betabrand.com というわけでさっそく注文しました。だいたい10日ほどで到着。 左が今回買った2.0。右はこれまで使ってきた1.0(勝手に命名)。タイミングよくMacBook Pro 2017の15インチも購入したので、今回は15インチ用をチョイス。 何が新しくなったの? 上の写真だとサイズ感が違うので比較がちょい難しいですが、まずぱっと見で判別できるのは「背中のクッションが厚くなった」「ショルダーストラップのパッドが厚くなった」あたりでしょうか。2.0のメジャーアップデート内容として、全体的なクッション性能の向上があります。言うて1.0も大きな不満はなかったのですが(むしろ薄いのが良い

    Under-The-Jack Pack 2.0買った - よりぶろ
    clavier
    clavier 2017/06/23
  • Cross-Platform-PWA

    Progressive Web Apps use modern web capabilities to deliver an app-like user experience. They evolve from pages in browser tabs to immersive, top-level apps, maintaining the web's low friction at every moment.

    Cross-Platform-PWA
    clavier
    clavier 2017/06/23
  • アドテクスタジオの新卒エンジニア研修「ひとりDSP」 | CyberAgent Developers Blog

    アドテクスタジオのDynalystの黒崎です。 約2ヶ月間のサイバーエージェントの新卒エンジニア全体の研修を終えて今年はアドテクスタジオに新卒エンジニアが15人配属されました✨? アドテクスタジオでは独自の「ひとりDSP」という研修を開催したので、その紹介をしたいと思います? ひとりDSPとは その名の通り、新卒に5日間でひとりでDSPを作ってもらいます。2年前から始まり、今年で3回目の開催です? アドテクと言っても様々な領域がありますが、まずはインターネット広告の取引方法の一つであるRTB(Real Time Bidding)というプロトコルを理解してもらう事、そこでなぜデータ分析や負荷分散、非同期処理といった技術が必要とされるのかを体感してもらう事が狙いです? RTBはよく以下の図のように説明される事が多いです。 RTBの概要 広告を配信したい広告主(DSP, Demand Side

    アドテクスタジオの新卒エンジニア研修「ひとりDSP」 | CyberAgent Developers Blog
    clavier
    clavier 2017/06/23
  • Jump in the Pool

    clavier
    clavier 2017/06/23
  • Big Sky :: ダウンロードの進捗プログレスバー実装は可能か

    要求仕様から工数を出す側から言うと「ブラウザのダウンロード画面に進捗出てるから要らないでしょ」と言いたい所でしたが「出来ないのか」と言われると「出来るもん」と言わざると得ないエンジニア魂。 JavaScript - ブラウザから、ファイルをダウンロードしている途中で、プログレスバーを実装したい。完了したら、プログレスバーを閉じたい。(81363)|teratail 前提・実現したいこと javaScript/HTML/CSSを利用しております。 目的は、ブラウザから、ファイルをダウンロードしている途中で、プログレスバーを実装したい。完了したら、プログレスバーを閉... https://teratail.com/questions/81363 通常、ブラウザからファイルをダウンロードする際は javascript からは制御できません。サーバからバイト列を JSON で Range っぽく返

    Big Sky :: ダウンロードの進捗プログレスバー実装は可能か
  • ラムダ計算基礎文法最速マスター - 貳佰伍拾陸夜日記

    ラムダ計算は, 多くのプログラミング言語, とくに関数型言語の原形になっています. ラムダ計算について理解しておくことは, 多くのプログラミング言語の習得に役立つでしょう. ラムダ計算はチューリング完全で, 計算能力としてはふつうのプログラミング言語と同じです. ラムダ計算で計算を書く訓練をしておくことは, 任意の計算を関数のみを使って(他の制御構文を用いずに)書くときに役立ちます. ふつうに書いたら煩雑な処理を, 関数型言語のやり方で書くとすっきりすることが多々あり, コードを自由自在に書くためには必須の考え方と言えるでしょう. 項 ラムダ計算の式を項(term)と言います. 項は変数, 抽象, 適用のいずれかです. 変数 変数(variable)はふつう1文字で書きます. 変数には関数内の束縛変数(bound variable)か自由変数(free variable)かという区別があり

    ラムダ計算基礎文法最速マスター - 貳佰伍拾陸夜日記
  • 企業に移って5年が経ちました - 渋谷駅前で働くデータサイエンティストのブログ

    月日が経つのは早いもので、かつてボンクラ研究者だった僕が企業(そしてインダストリー*1)に移ってからちょうど今日で5年が経ちました。インダストリーに移ってからのこの5年間で様々なことを体験し、あるいは見聞し、あるいは決断したりしてきたわけですが、良い区切りなので自分にとってのマイルストーンとするためにも、ここでこれまでの5年間を振り返ってみようと思います。 Disclaimer 以下に体験談もしくは見聞談として記載されている内容は、特に断りがなければ自分自身の複数の体験や見聞及び同業の友人知人からの見聞をマージして一般化したものであり、過去現在の個々の特定の所属先における特定のエピソードや職務内容及び特定の個々人のエピソードなどを意味するものではありません。またここで述べられている意見はあくまでも個人の主観的な意見であり、いかなる特定の企業・組織・機関も代表するものではありません。 この5

    企業に移って5年が経ちました - 渋谷駅前で働くデータサイエンティストのブログ
  • case文の条件で正規表現を使って内部でマッチ部分を使いたいとき - Qiita

    タイトルが意味不明なのでとりあえず下のコードを見て欲しいです。 まずrubyではcase文の条件に正規表現が使えます。 そこで、caseでStringを渡し、whenを正規表現で表し、さらに分岐後にそのマッチ部分を使いたいといったとき以下のように書いていました。 message = "2015年05月01日" case message when /\d{4}年\d{2}月\d{2}日/ m = message.match(/(\d{4})年(\d{2})月(\d{2})日/) puts "#{m[1]}/#{m[2]}/#{m[3]}" # => 2015/05/01 else puts "not match." end これだと正規表現の部分が冗長だし、なにより全然rubyっぽくない。 そこで、\$1, $2, ... という特殊変数はキャプチャーされた部分文字列が格納されるので、これを

    case文の条件で正規表現を使って内部でマッチ部分を使いたいとき - Qiita
  • Functional programming in Javascript is an antipattern

    After a few months writing Clojure I began writing Javascript again. As I was trying to write something ordinary, I had the following thoughts: “Is this variable ImmutableJS or Javascript?” “How do I map an object and get one back?” “If it’s Immutable, use <this function> with <this syntax>, otherwise use <a different version of the same function> with <different syntax and totally different behav

    Functional programming in Javascript is an antipattern
  • サーバーレスアーキテクチャのパターン別ユースケース - yoshidashingo

    セクションナイン の 吉田真吾(@yoshidashingo)です。 昨今のサーバーレスアーキテクチャの実装パターンについて5つの分野でユースケースをまとめました。 実装方法はAWSがベースですが、クラウド各社のFaaSに大きな機能差はないので(そもそもシンプルなコンセプトなので)、FaaS単体よりも、連携可能な周辺サービスまで含めて自分のアプリケーションのユースケースに合っているかどうかが大事になってきます。また、そもそもいくつかの実装はPaaSのオプション機能として組み込まれている場合もあります。よって、この先連携先の機能強化などによってもっと多くのパターンが発見されることになると考えています。 【1】Webアプリケーション シングルページアプリケーション ex. Serverless Single Page Apps Web API REST API GraphQL 非同期Webジョ

    サーバーレスアーキテクチャのパターン別ユースケース - yoshidashingo
  • IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第5章 暴露対策:プロキシキャッシュ対策

    第5章 暴露対策 プロキシキャッシュ対策 プロキシキャッシュへのコンテンツ残留 ブラウザとWebサーバの間には、いくつかのキャッシュメカニズムが働いていることが多い。 プロキシサーバのキャッシュ──企業等LANを運用している多くの組織体ではLANからインターネットアクセスを行う際プロキシサーバを経由して行うことが多い キャッシュサーバ─インターネットプロバイダの中には、会員のWebアクセスを円滑にする目的でキャッシュサーバを運用しているところがある これらのキャッシュメカニズムは、ブラウザからのリクエストによって得られたコンテンツをキャッシュに保持しておき、同じURLのリクエストが生じたとき、来のWebサーバにコンテンツを取りに行かず、キャッシュの内容をブラウザに渡すものである。 このようにキャッシュは、円滑なインターネットの利用に寄与してくれる。 しかし、コンテンツによっては、ただひと

  • Shows

    AI is suddenly everywhere. Do you need to go and get a shiny machine learning degree to remain competitive? John Maeda says not to worry. He’ll show you how to cook delicious dishes into your coding repertoire with his new show - Mr. Maeda’s Cozy AI Kitchen. Find out how you can use GitHub Copilot, an add-on that is powered by AI, to get helpful suggestions when writing code or documentation. This

    Shows
  • localStorageにユーザーIDを保存するサンプル

    前回の記事、localStorageを使ってユーザー設定を保存するサンプルと同じ様な内容ですがコンテンツ側でユーザーを判別するのにユーザーIDをlocalStorageに保存する簡単なサンプルです 個人作成のWEBゲームや知られていないコンテンツなどなど 最初からアカウント登録やメールアドレス登録を必要とするには、よほど魅力的でないと利用してもらえない可能性があります 僕も結構そうで、最初からアカウント登録が必要だったりすると利用しなかったり、面白そうなゲームでもそっと閉じちゃう事が多いですね それでもユーザーの管理や保存データが必要な場合は、最初は自動発行したユーザーIDと認証コードを渡してコンテンツ利用やゲームで遊んで貰う方法があります 最終的には認証コードをサーバー側で発行・チェックしたりデータベースを活用しないと実用的ではありませんが、その手前までのサンプルになればな、と

    localStorageにユーザーIDを保存するサンプル
    clavier
    clavier 2017/06/23
  • 2017年の夏、Swiftをどうやって学ぶか - Hatena Developer Blog

    Xcode 9 betaがリリースされ、Swift 4(とSwift 3.2)の足音が聞こえてくる。このタイミングで、今こそSwiftを学ぼうと考えるのは、なんら不思議なことではない。しかしながら、いざSwiftを学ぼうとしても、どうするのがよいのか、最初は見当もつかないことだろう。ではプロフェッショナルとしてSwiftを利用しているプログラマーたちは、どのようにして学んできたのだろう。 学び方は人それぞれであり、正解はないと考えている。 私の場合は、最初にざっくりと学び、手を動かして慣れ、ようやっと体系的に学ぶという手順を踏むことが多い。 最初のフェーズでは、何が出来るか自分の道具箱には何が追加されるのかと知るためであり、次のフェーズは実際に道具を使ってみて使い方を覚えるフェーズと言える。 そうして道具箱全体が見渡せるようになってきたところで、体系的に学ぶことで効率良く学ぶことが出来ると

    2017年の夏、Swiftをどうやって学ぶか - Hatena Developer Blog
  • Node.jsのログ取得にはwinstonがオススメ - UTALI

    2017 - 06 - 20 Node.jsのログ取得にはwinstonがオススメ Node.js www.npmjs.com Expressでデフォルトで利用できるロガーと比較して多機能なWinstonをおすすめします。 Winstonはログの種類によるログファイルへの出力の振り分けや、データベースへの書き出しにも対応しています。 例えば、通常のログファイルはローカルのファイルに書き出す一方で、エラーログに限定してリモートのデータベースに保存するような使用法も可能になっています。 導入 sudo npm i winston --save
 const winston = require( 'winston' ); ログのレベルの振り分け ログはそのレベルによって分類が可能なように RFC5424 の規格で定められています。 そのレベルは { error: 0, warn: 1, info

    Node.jsのログ取得にはwinstonがオススメ - UTALI
    clavier
    clavier 2017/06/23
  • 【翻訳】「Everyday Rails - RSpecによるRailsテスト入門」の2017年版アップデートについて - give IT a try

    はじめに 先日、僕が翻訳をしている電子書籍「Everyday Rails - RSpecによるRailsテスト入門」の英語版が大幅にアップデートされました。 アップデートの内容は原著者のAaronさんが自身のブログで説明しています。 そこで、このエントリでは日語版の読者のみなさんに向けて、上記ブログの内容を翻訳します。 備考 2017年6月時点ではまだ英語版しかアップデートされていない点に注意してください。 日語版も早めにアップデートする予定ですが、現時点では具体的なスケジュールは未定です。 「Everyday Rails - RSpecによるRailsテスト入門」の2017年版アップデートについて みなさん、新しくなった「Everyday Rails - RSpecによるRailsテスト入門(英語版)」がついに公開されました。これまでのアップデートとは異なり、今回は書を全面的に書き

    【翻訳】「Everyday Rails - RSpecによるRailsテスト入門」の2017年版アップデートについて - give IT a try
  • ちょっとしたdocker環境を素早く作れるツールを作った - 圧倒亭グランパのブログ

    3回同じことを繰り返したので自動化しました。 作ったもの crystalで des というツールをつくりました。docker環境の設定ファイルを生成するCLIツールです。 github.com まれによくあるケース crystalを試したいけどcrystalがローカルに入っていない php7を試したいがphp7がローカルに入っていない ディープラーニングの勉強のためにpython環境がほしい サクッと試したいだけなのに、ローカルにいろいろ入れるのは面倒ですよね。自分の場合は、実現したい環境をdockerで用意していました。Dockerfile、Makefile、docker-compose.yml の雛形を用意しておき、必要な時にそれをコピーし、適宜書き換えて利用していました。 この作業が面倒だったのでツールを作りました。 使い方 以下の3つのコマンドを打てば、docker環境に入ること

    ちょっとしたdocker環境を素早く作れるツールを作った - 圧倒亭グランパのブログ
    clavier
    clavier 2017/06/23
  • 🌟 Introducing Dash 🌟

    Create Reactive Web Apps in pure PythonDash is a Open Source Python library for creating reactive, Web-based applications. Dash started as a public proof-of-concept on GitHub 2 years ago. We kept this prototype online, but subsequent work on Dash occurred behind closed doors. We used feedback from private trials at banks, labs, and data science teams to guide the product forward. Today, we’re exci

    🌟 Introducing Dash 🌟
    clavier
    clavier 2017/06/23
  • CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog

    日コーポレートサイトでお知らせした通り、Web版のメルカリにおいて一部のお客さまの個人情報が他者から閲覧できる状態になっていたことが判明しました。原因はすでに判明して修正が完了しております。また、個人情報を閲覧された可能性のあるお客さまには、メルカリ事務局より、メルカリ内の個別メッセージにてご連絡させていただきました。 お客さまの大切な個人情報をお預かりしているにも関わらず、このような事態に至り、深くお詫びを申し上げます。 エントリでは技術的観点から詳細をお伝えさせていただきます。 2017年6月27日 CDNのキャッシュの動作について、CDNプロバイダと仕様について確認し検証を行いました。その結果一部記述に実際と異なる箇所があり、加筆修正いたしました。 概要 メルカリWeb版のコンテンツキャッシュをしているCDNのプロバイダ切り替えを行いました。 その際来キャッシュされるべきでない

    CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog
    clavier
    clavier 2017/06/23
  • 【Bootstrap製】90ページ超えの無料HTML5/CSS3テンプレート素材 Titan

    ウェブサイトやアプリ制作に必要なスタイルがあらかじめ定義された、人気CSSフレームワーク Bootstrap。しかし、デザインが他のサイトとかぶってしまうとお悩みの方も多いのではないでしょうか。 今回は、Web制作をより手軽に行うことができる、Bootstrap対応の無料HTML5/CSS3テンプレート素材 Titan をご紹介します。90ページにおよぶ大量のサンプルHTMLページが用意されており、あらゆるプロジェクトに活躍してくれるフリー素材となっています。 Bootstrap を拡張パワーアップ!参考にしたい50個の無料プラグイン、コンポーネントまとめ 無料HTML/CSSテンプレート Titan について Titan はHTML5/CSS3で制作されたBootstrap対応テンプレートで、過去5年間のウェブデザインの傾向を分析して作成されたスタイリッシュな素材です。 じっくりと検討さ

    【Bootstrap製】90ページ超えの無料HTML5/CSS3テンプレート素材 Titan
  • 個人開発環境をvagrantで建てるべきか、dockerで建てるべきか - Qiita

    ローカルPC個人開発環境を建てたいけど、母艦は汚したくないものです。 そうすると、だいたいの場合vagrant(virtualbox)かdockerかの2択になると思います。 この使い分けにいつも迷うのでどうするべきかの指針を考えてみました。 お断り: 以下は個人の見解であって、所属先の見解ではありません。 カーネルに依存する操作を行いたい場合 dockerの場合、いじれるカーネルパラメータが限られています。 特定バージョンのカーネルの環境を用意する必要がある場合や、カーネルパラメータに特殊な設定が必要な環境では仮想マシンの方である必要があります。 内部で生成されたデータの保全を行いたい場合 dockerの場合、ふとした操作(docker killやdocker builddocker rm(i)など)でデータコンテナの中身が消えてしまうことがあります。 仮想マシンのイメージであれば、

    個人開発環境をvagrantで建てるべきか、dockerで建てるべきか - Qiita
    clavier
    clavier 2017/06/23
  • RedisのSorted Setsで簡易的な遅延実行Queueを作って迅速にLINE LIVEのPC配信対応をリリースした話 - LINE ENGINEERING

    ! This post is also available in the following languages. 英語, 韓国語 みなさんこんにちは、LINE LIVE開発のYappoです。 今回は先日リリースされました一般向けのPC配信機能を実装するときに作った簡易的な遅延実行Queueについて書いていこうと思います。 関連エントリ:LIVE PRESS 公式ブログ – ゲーム実況にもぴったり!LINE LIVEでPC横型ライブ配信を試してみよう 背景 今までのLINE LIVEでの配信方法としては、アプリ上で直接配信する方法と、公式アカウント向けの専用画面(LINE OFFICIAL ACCOUNT MANAGER)とRTMPソフト(もしくは専用機材)を利用してPCからの配信する方法がありました。 この2つの方法は全く違う仕組みで実装されるように見えますが、実は基となる設計は同じで

    RedisのSorted Setsで簡易的な遅延実行Queueを作って迅速にLINE LIVEのPC配信対応をリリースした話 - LINE ENGINEERING
    clavier
    clavier 2017/06/23