タグ

2015年11月9日のブックマーク (20件)

  • unassert - JavaScript でも契約による設計で堅牢なプログラミング

    unassert - Encourage Design by Contract (DbC) by writing assertions in production code, and compiling them away from release. Takuto Wada 2015/11/07 @nodefest Tokkyo 2015Read less

    unassert - JavaScript でも契約による設計で堅牢なプログラミング
    clavier
    clavier 2015/11/09
    unassert - JavaScript でも契約による設計で堅牢なプログラミング
  • AWS LambdaでS3にアップロードすると自動でリサイズ・減色するパッケージ書いた - blog::wnotes.net

    リサイズとか減色とかも自動でやりたい人向け このご時世のフロントエンドエンジニアという肩書きを持ってる方々におかれましては、画像の減色とか最適化はタスクのうちの1つだと思いますが、 それって自身の管理下にある静的な画像リソースに限られてしまいますよね(背景画像とか、CSSスプライト用の画像とか)。 例えばユーザーの投稿した画像は管理外になってしまうし(VCS管理下に置かれない)、リサイズするスクリプト書いたりするのも面倒でした。 (そもそもユーザ画像を減色するのはどうなのってこともありますが、必要なケースもままあるかと) ということで、AWS Lambdaを使って、S3に上がった画像を自動的にリサイズ、最適化して戻してくれるスクリプト書きました。 ysugimoto/aws-lambda-image 動作としては、 S3に上げる →Lambdaでイベント検知、処理実行 →S3に戻す という

    clavier
    clavier 2015/11/09
  • とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita

    というわけで、10倍の差がでた。 当然、配列の長さやソートする長さ、また実装の方法によって性能差は変わってくるが 今回の方法は有効であるということは確認できた。 既存の記事(2015/11/09 20:22 追記) コメント欄でUnordered partial sorting にそれらしきことが書いてあると教えていただいた。 そちらでは、「上位k個を取り出す(ソートは不要)」という問題を考えている。 同様に分割統治法を用いてソートしていきながら、上位k個以内の小区間になったらその区間はソートせずに全て選択して良いとしている。 早い話が、QuickSelectによりk+1番目の要素を探してそれより上位の要素をごそっと抜き出している。 分割統治法で大雑把にソートしていきながら、不要なソートを行わないようにする という同様のアプローチである。 C++のSTLの場合(2015/11/09 22:

    とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita
    clavier
    clavier 2015/11/09
    JavaScript - とても長い配列の上位M件だけをクイックソートより高速に取り出す - Qiita
  • Re: フロントエンドに秩序を取り戻す方法 #nodefestB

    フロントエンドに秩序を取り戻す方法のこの辺で自分の発表資料が引用されてたので返信してみる。 E2Eテストから導入することに関しては正常系のシナリオのみのテストを書くことを想定しています。E2Eでレグレッションテストはおすすめしません #nodefestB // フロントエンドに秩序を取り戻す方法 https://t.co/Whzvrpvzhu

    Re: フロントエンドに秩序を取り戻す方法 #nodefestB
    clavier
    clavier 2015/11/09
    0-9, Re: フロントエンドに秩序を取り戻す方法 #nodefestB
  • モバイル上のJSフレームワークの実行可能性 – ReactとRedux | POSTD

    私が好むと好まざるとに関わらず、誰もが私のWebアプリをiOS9の搭載されたiPhone 6SやNexus 6Pで、超高速Wifiに接続して使っているわけではありません。 現実は甘くありません。3Gでの接続や、古いハードウェアも珍しくありません。Googleのレポートによれば、 Androidのアクティブユーザは14億人 だそうです。彼らの多くは間違いなく、最先端ではないハードウェアを使っていることでしょう。 Androidのパフォーマンスについての Jeff Atwood氏の最近の記事 などを読んだことがあるなら、モバイルWebには希望がないように感じるかもしれませんね。 その記事からいくつか注目すべき文を引用します。 端的に言えば、今日最も高速なAndroidデバイスとして知られているものでも、新しいiPhone 6Sよりも5倍遅く、2012年代のiPhone 5上のEmberに比べて

    モバイル上のJSフレームワークの実行可能性 – ReactとRedux | POSTD
    clavier
    clavier 2015/11/09
    モバイル上のJSフレームワークの実行可能性 – ReactとRedux | プログラミング | POSTD
  • アプリアイコンを手軽かつハイクオリティに仕上げることができるジェネレーター「App Icon Generator」

    TOP  >  Tool  >  アプリアイコンを手軽かつハイクオリティに仕上げることができるジェネレーター「App Icon Generator」 スマートフォンアプリなどのアイコンは、UIの中で目に留まる・またデザイン的に魅力的で分かりやすくすることがとても重要。いつもデザインに苦戦されているというデザイナーの方は少なくないのではないでしょうか?そんな中今回紹介するのは、アプリアイコンを手軽かつハイクオリティに仕上げることができるジェネレーター「App Icon Generator」です。 用意されたベースを組み合わせていくことで、簡単にデザイン性のあるアプリアイコンを作り上げることができます。 詳しくは以下 ベースとなるフレームワークは、立体タイプとフラットタイプが用意されており、さらにデザインの背景テクスチャ16種ラインナップ。組み合わせの仕方によっていろいろなイメージを作り上げる

    アプリアイコンを手軽かつハイクオリティに仕上げることができるジェネレーター「App Icon Generator」
  • JAWS-UGコンテナ支部 #3 (2015/11/20 19:00〜)

    【開催概要】 日時: 11月20日 (金) 18:30~ 受付開始 場所: DeNA セミナールーム (東京都渋谷区渋谷2-21-1 渋谷ヒカリエ) 参加費: 無料 (当日はLTのタイミングからお飲み物と軽のご用意がございます。愛のある一口1,000円のカンパをお待ちしております!) 【スケジュール】 18:30 受付開始 19:00-19:05 挨拶 19:05-19:20「ECSアップデート情報 (仮)」 AWSJ 岩永亮介さん (@riywo) 19:20-20:00「Next FRESH! Applications with Amazon ECS (仮)」 株式会社サイバーエージェント @stormcat24 さん 20:00-20:10 休憩 20:10- スーパーLTタイム (お一人5分程度でお願いします!) ・「毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕

    JAWS-UGコンテナ支部 #3 (2015/11/20 19:00〜)
  • Swift2で作るコマンドラインツール - クックパッド開発者ブログ

    会員事業部の三木(@giginet)です。 この記事では、業務改善のために開発者向けのツールをSwiftで開発してみたため、その知見についてお伝えしたいと思います。 なお、この記事はXcode7.1上でSwift2.1を使った開発を前提としています。 作ったもの クックパッドiOSアプリでは開発の際に、新しい機能を実装したり、インターフェイスを改善したあとにiOSシミュレーターの動画を撮影しPull Requestに貼り付けています。 動画を撮影する際には、汎用的にスクリーンキャストを撮影する社内ツールを使っていたのですが、使いづらい面も多かったため、 簡単にiOSシミュレーターの操作をアニメーションgifとして記録したいという需要がありました。 そのため、空き時間を使って、簡単なユーティリティを実装しました。 なぜSwiftで作るのか 今回は、OS Xの開発用SDKであるCocoaを使い

    Swift2で作るコマンドラインツール - クックパッド開発者ブログ
    clavier
    clavier 2015/11/09
    Swift2で作るコマンドラインツール - クックパッド開発者ブログ
  • loggingについて話そう - Qiita

    この記事は Let’s talk about logging の翻訳です。 Nate Finch による Go Forum への投稿で始まったスレッド を見てこの記事を書くことにしました。 この記事は Go を対象にしていますが、あなたのいままでのやり方を振り返ってみたら、同じ考え方がより広く適用できると思います。 なんでこんなに足りないの? 訳注: "Why no Love?" を、「(愛されてないから)機能が足りない」というニュアンスで解釈しましたが、自信が無いです。 Golog パッケージ はレベル付きのロギングを提供していません。なので手動で debug, info, warn, error のようなプレフィックスを書く必要があります。 また、 Go はパッケージごとにログの出力レベルを制御する方法も提供していません。 比較対象としてサードパーティーのロギングライブラリを見て

    loggingについて話そう - Qiita
    clavier
    clavier 2015/11/09
    golang - loggingについて話そう - Qiita
  • norikra-listener-mackerel で Norikra のクエリ結果を直接 Mackerel に投げる - 酒日記 はてな支店

    Norikra でクエリした結果を Mackerel に投げたい場合、これまでは fluent-plugin-norikra で取得して fluent-plugin-mackerel で送信する、という作りにしていたと思います。 Norikra 1.2以降では Listener plugin が使えるようになったので、クエリ結果を直接 Norikra 上で扱うことが可能になりました。 ということで、norikra-listener-mackerel (rubygems) を書きました。Norikra 単体で、クエリ結果を Mackerel のサービスメトリクスとして送信できます。 使い方 $ gem install norikra-listener-mackerel norikra が動作する ruby でインストールすれば、norikra start 時に自動的に読み込まれます。 クエリ

    norikra-listener-mackerel で Norikra のクエリ結果を直接 Mackerel に投げる - 酒日記 はてな支店
  • Mackerelの監視設定も「コード」に落としこもう! - Masteries

    前々から書こうと思ってて, すっかり忘れてたので, 書きます! Mackerelの監視 Mackerelでは, ホストの状態(CPU, メモリ, ファイルシステムの利用率とか, Mackerelと繋がっているかとか...)やURLの死活などを監視することが出来るのですが, 8月末に監視設定APIがリリースされ, これらのパラメータをAPI経由で実施出来るようになりました. というわけでReactioの開発チームでも, 早速このAPIを利用して, 以下のような仕組みを作ることで, Mackerelの監視パラメータを"コード"で管理するようにしました. 仕組み Reactioには, 開発者支援ツールが詰め込まれた「Reactio-HQ」というリポジトリがあるのですが, そこにMackerelの監視設定ファイルを用意しました. ちなみにReactioの開発者支援ツールは, Reactioそのもの

    Mackerelの監視設定も「コード」に落としこもう! - Masteries
  • nginxでApacheのMaxRequestsPerChild相当の機能を実現する - Qiita

    ついカッとなって書いた。 タイトルにもある通り、ngx_bumpylifeはnginxでApache HTTP ServerのMaxRequestsPerChildに相当する挙動を実現するための拡張モジュールです。 さらに言うとap-mod_bumpy_lifeがやってるようなMaxRequestsPerChildの値を一定範囲内でランダムにする機能も合わせて提供します。bumpylifeという名前はこちらのモジュールから来ています。 使い方と動作解説 こんな感じで設定します。 ngx_bumpylifeは以下の3つのディレクティブを提供します。 bumpylife -> ngx_bumpylifeを有効/無効にする bumpylife_min -> nginxの各ワーカプロセスが終了するまでに処理するリクエスト数の下限値 bumpylife_max -> nginxの各ワーカプロセスが終

    nginxでApacheのMaxRequestsPerChild相当の機能を実現する - Qiita
  • 【初心者向け】ランニングを継続するコツ - Life goes on

    ランニングをはじめたいと思っている人、はじめたけど続かない人のために、ランニングを続けるためのポイントをまとめる。 1. ハードルを低く設定する いきなり「毎日走る」とか高い目標を設定すると挫折するのでやめておこう。 最初は「週に1回、1回あたり15分走る」など、達成しやすい頻度、時間、距離を決めて続けることを最優先にしよう。 「×曜日に走る」というのもできれば決めておいたほうがいい。 走るタイミングについては、後だと1時間は空けたほうがいい。 前だと「痩せやすい」という効果があるようだが、エネルギーが足りずバテやすいので個人的には初心者向けではないと思う。自分の体質に合ったタイミングを見つけるといい。 気分が乗らない日が絶対にあると思うが、「走れなかったら歩いてもいい」「調子が悪かったらすぐに帰ってくればいい」とハードルを下げて、とにかく着替えて外に出ることを大事にするといい。 走る

  • The Kaigi Must Go On

    大江戸Ruby会議05の講演 "The Kaigi Must Go On"のスライド http://regional.rubykaigi.org/oedo05 #oedo05

    The Kaigi Must Go On
  • GitHub - jackielii/simplest-redux-example: Simplest redux + react example

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - jackielii/simplest-redux-example: Simplest redux + react example
  • Webhookを使ったサービスをローカル環境で開発したい時にめっちゃ便利なこれ

    初めてクレジットカード決済するようなアプリを作ってみています。 決済には Stripe を使ってるんですが、その使い方はまた今度として、 Webhookをどうやってローカルで受け取るかという話。 UltraHook - Receive webhooks on localhost ↑ これ、めっちゃいいです。 開発環境は Mac で Vagrant を使ってます。 まずは登録。 ネームスペースも登録する。 登録すると api_key がもらえるので、それをこんな感じ。

    Webhookを使ったサービスをローカル環境で開発したい時にめっちゃ便利なこれ
  • UITableViewのUX改善(今すぐ出来る!) - Qiita

    はじめに deselectRowAtIndexPath(indexPath: NSIndexPath, animated: Bool) UITableView上にあるセルの選択状態を解除するときに使うメソッドですが、 呼び場所を替えるだけでUXを大幅に改善することが出来ます。 経緯 アプリによってはセル押下後に画面遷移するにもかかわらず、 押下直後にdeselectRowAtIndexPathを呼ぶような挙動になっていたりします。 これは悪いことではないですが、画面遷移から戻ってきた時に セルの選択状態を解除してあげたほうがどのセルを押したのか ユーザーに視覚的に伝えることが出来るのでUX的に良いと思ったからです。 例 セル押下直後に解除 この方法だとどのセルを押したのかをユーザーは思い出さなければいけません。 遷移から戻ってきた時に解除 こちらはどのセルを押したのか視覚からはっきりと分か

    UITableViewのUX改善(今すぐ出来る!) - Qiita
  • Rubyで定数を扱う場合はfreezeするべき - Qiita

    Rubyにおける定数は意図せず書き換えられることがある 以下のような場合、警告すら出ずに定数が書き換えられてしまう。 PERMIT_ID = ['0001', '0002', '1234'] PERMIT_ID.reject! { |id| id == '1234' } p PERMIT_ID # => ["0001", "0002"] Rubyにおける定数は不変の値というより、グローバル変数に近い。 また、Rubyでは先頭が大文字になっている識別子のことを定数としていることから、クラス名であるStringやArrayなども定数として扱っている。 そう考えると、クラスはメソッドを追加したり等いつでも書き換えられるミュータブルなオブジェクトなので、定数が参照するオブジェクトもミュータブルにする必要がある。 よって上記のコードはRuby的に正しい挙動なので警告は出されない。 とはいえ、定数を定

    Rubyで定数を扱う場合はfreezeするべき - Qiita
    clavier
    clavier 2015/11/09
  • 東京Node学園祭2015に行ってきた: misc

    こんばんは、最近次男が反抗的でイヤイヤ期っぽい感じで、気に入らないこと言われると、叩きに来ます。kjunichiです。 午後から参加 nodefest会場にもうちの息子たちより一回り上くらいのお子さんを連れて参加されている方もいた。youthをパスしやすくするには、子連れでの参加もありか?とも思えった。のちのスポンサートークでKAIZEN PLATFORMのCTOの方で父親業も兼ねてのお子様連れでの参加と知ったが。 Mac率高いなぁ、自分はWindows 10の2 wayタブレットをキーボードつきで持参。MacBook AirよりProの方が圧倒的に多い印象。 英語がんばろうと思いきや、同時通訳がついてくださり理解しやすかった。感謝。 いつもはEnglishのドキュメントは読んではいるものの、聞く機会は皆無なので、良い機会だった。英語の発表者の方にも、片言でも何か会話を交わす事が次回の目標

    東京Node学園祭2015に行ってきた: misc
  • IT業界・エンジニアの転職ならTech Stars Agent

    技術に精通した コンサルタント が併走 経験豊富なアドバイザー 元ITエンジニア、元ゲーム企業人事、 IT会社役員、大手人材エージェント

    IT業界・エンジニアの転職ならTech Stars Agent