タグ

utwangのブックマーク (325)

  • direnv で特定のディレクトリ下の環境変数を定義する | DevelopersIO

    direnv direnv は、特定のディレクトリに移動したときのみ環境変数を有効化するツールです。アプリごとに環境変数を変更したいときに便利なアイテムです。ちなみに、言語は Go で開発されているようです。 私は、Middleman で静的 Web サイトを S3 にデプロイするとき (ちなみに middleman-s3_sync という 便利 Gem) の AWS のアクセスキーとシークレットキーを設定するときに使いました。類似ツールに Dotenv がありますが、こちらは環境変数を有効化するために Dotenv.load を実行する必要があります。direnv はディレクトリに移動してきたタイミングで自動で有効化してくれて楽だったのでこっちを採用しました。どちらが良いかは開発環境に依るかなぁと思います。 direnv を使おう 早速使ってみましょう。Mac の場合は Homebrew

    direnv で特定のディレクトリ下の環境変数を定義する | DevelopersIO
    utwang
    utwang 2016/03/17
  • GeneratorとSequence - Qiita

    GeneratorType generatorとは新しい要素を返す処理のことで、以下のGeneratorTypeプロトコルに従う。 class LineGenerator: GeneratorType { typealias Element = String var lines: [String] init(text: String) { self.lines = text.componentsSeparatedByString("\n") } func next() -> Element? { return lines.isEmpty ? nil : lines.removeAtIndex(0) } } let text = "いろはにほへと ちりぬるを\nわかよたれそ つねならむ\nういのおくやま けふこえて\nあさきゆめみし よひもせず" let generator1 = LineG

    GeneratorとSequence - Qiita
    utwang
    utwang 2016/03/17
  • webpack で Chrome 拡張を作って得られた知見 - もなでぃっく

    文書校正ツール textlintChrome 拡張を作ったのですが、その開発の過程でハマった問題や対策などを記録として残しておきます。 なお、textlint 拡張のソースコードは GitHub で公開しています。 github.com 1. textlint Chrome 拡張の仕組み textlint とは azu さんが作成している文書校正ツールで、Node のパッケージマネージャである npm を通してインストールできるようになっています。中身は当然 Node の JavaScript 製であり、モジュールとして Node で読み込んで利用する事もできるため、textlint 拡張ではそれを利用しています。 Node のコードを Chrome 拡張として動かすにあたり、Chrome 拡張の JavaScript エンジンはブラウザとしての Chrome のものと同等なため、そ

    webpack で Chrome 拡張を作って得られた知見 - もなでぃっく
    utwang
    utwang 2016/03/17
    拡張作らなくても参考になる
  • webdesign-dackel.com - このウェブサイトは販売用です! - webdesign dackel リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    webdesign-dackel.com - このウェブサイトは販売用です! - webdesign dackel リソースおよび情報
    utwang
    utwang 2016/03/16
    フロントついていけてないなぁ
  • クックパッドにおける最近のMicroservices事例 - クックパッド開発者ブログ

    こんにちは。技術部の吉川です。 最近ではMicroservicesという言葉もかなり浸透し、そのテクニックも体系化されつつあります。 一方でMicroservicesについての話は概論や抽象的な話が多く、具体像が見えないという方もいらっしゃるのではないでしょうか。 当ブログでは1年半ほど前にMicroservicesへのとりくみについてご紹介しました。 当時社内ライブラリだったGarageはその後オープンソースとして公開され、また社内のシステムも当時と比べ飛躍的な進化を遂げています。 そういったクックパッドにおける最近のMicroservices事例を先日Microservices Casual Talksで紹介しました。 Microservicesの抽象的な話は一切割愛し、具体的な事例に終始した内容となっています。 Microservicesの基となる考え方はわかったものの、実践方法で

    クックパッドにおける最近のMicroservices事例 - クックパッド開発者ブログ
    utwang
    utwang 2016/03/16
    サービス間のCIまでやってるとは。
  • 世界3,200万ダウンロード、単月黒字化も達成。フリマアプリ「メルカリ」が語るマーケティング、検索結果にあえて「売り切れたモノ」を置いている理由。 | アプリマーケティング研究所

    世界3,200万ダウンロード、単月黒字化も達成。フリマアプリ「メルカリ」が語るマーケティング、検索結果にあえて「売り切れたモノ」を置いている理由。 今回は、日米3,200万ダウンロードのフリマアプリ「メルカリ」を取材しました。 ※株式会社メルカリ 取締役 濱田優貴さん(左)、プロダクトマネージャー 山久智さん(右)、広報 中澤理香さん 「メルカリ」について 「メルカリ」についておしえてください。 濱田: 誰でもかんたんに売り買いできる「フリマアプリ」です。ダウンロード数としては世界3,200万ダウンロード(日 2,500万、アメリカ 700万)です。OSで見ると、iOSのほうがすこし多いですね。 月次の流通額としては100億円を超えていて、会社としても単月で黒字になっています。(手数料が10%なので、会社の売上は月10数億円くらい) 中澤: いまスタッフは250名になりました。東京に1

    世界3,200万ダウンロード、単月黒字化も達成。フリマアプリ「メルカリ」が語るマーケティング、検索結果にあえて「売り切れたモノ」を置いている理由。 | アプリマーケティング研究所
    utwang
    utwang 2016/03/16
    スマホで移動中に利用できる時点で、他の媒体と比べて圧倒的に便利だよな。
  • それでenumとclassのどっちにすれば良いの? - soutaroブログ

    SwiftのenumがObjective Cで欲しいときはどうするか - soutaroブログ この記事には enumが便利なのは ある状態では有効だけど、別の状態では有効ではない値を定義するとき です。 と書きましたが、「それはサブクラスっていうやつではないか」という声があります(どこに?)。その通りで、enumとクラスはよく似ている側面があって、enumでできることはクラスでも(再コンパイルの量とか、網羅性の検査とか、isKindOf:とか、キャストとかの問題を見なかったことにすれば)できるという話でした。 ここで疑問になるのは、 なぜSwiftにはenumとclassという似たような機能が二つ用意されているのか(TMTOWTDI?) 何を考えてenumとclassを使い分ければ良いのか でしょう。 enumとclassの違い Swift的には「classは状態を持てるがenumは持て

    それでenumとclassのどっちにすれば良いの? - soutaroブログ
    utwang
    utwang 2016/03/16
    行と列の話、操作をどこにもつかって話かな?関数の場合は型の外部、クラスの場合は型の内部だから操作の追加しやすさが違うという認識。
  • Swift 2.2 - cockscomblog?

    寒さも和らぎ、日によっては春の訪れを感じさせる今日この頃、いかがお過ごしでしょうか。春といえば Swift です。Swift は春と秋に、まるで衣替えのように大きなリリースがあります。2016年の春と予告されていた Swift 2.2 は、おそらく来週には正式にリリースされるものと思われます3月22日にリリースされました。 Swift 2.2 は、バグの修正や警告や診断の改善、コンパイル時間や実行速度の向上が主目的であるとされ、それに加えて Swift 2.0 以来のちょっとした機能向上を図ってのリリースとなります。Swift2.2 は OSS となった Swift の初めてのバージョンアップでもあります。すなわちコミュニティからの直接的なフィードバックを経た、最初の Swift と言えるでしょう。そんな Swift 2.2 の変更から主だった(おもしろい)部分を紹介します。 春に備えて準

    Swift 2.2 - cockscomblog?
    utwang
    utwang 2016/03/15
    どんどん変わっていく
  • チームでテストを共有した話(ペアテスト) - CAT GETTING OUT OF A BAG

    探索的テストを含む「テスト」をチームで共有したときに、やってみたことを紹介します。キーワードはこの4つ。 ・テストの地図 ・ペアテスト(今回はこれ!) ・テストの渡航記録 ・朝会とテストの夕会 ペアテストはその名の通り2名(以上)で行うテストですが、テスターだけのものではありません。一般にはテスター×テスターの組み合わせが多いのかもしれませんが、わたしは同僚のプログラマーと一緒にテストすることもあるし、開発環境の入っていないテストPCの前に2、3名のプログラマーが集まり、みんなでテストしているのも、よく見る風景です。 ペアテストはもうそれ自体が(実施者間での)テストの共有であり、ペアテストの実施内容(どのようなテストをして、どうだったのか)は、ペアテスト直後に一番知りたがっている人たちに話しますし、朝会やテストの夕会、また日常の会話の中でも話題にしています。 ですので、今回はテストの共有と

    チームでテストを共有した話(ペアテスト) - CAT GETTING OUT OF A BAG
    utwang
    utwang 2016/03/14
    なるほど、テストの知見もペアワークで共有していくと確かに早いかもしれん。
  • VIPER アーキテクチャによる iOS アプリの設計

    導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来についてshinjiigarashi

    VIPER アーキテクチャによる iOS アプリの設計
    utwang
    utwang 2016/03/14
    Clean Architechtureと似たような図だ。これを実装したライブラリかな。https://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
  • あなたが知らないシリコンバレーの歴史

    宣伝: 僕が共訳した「Factfulness(ファクトフルネス)10の思い込みを乗り越え、データを基に世界を正しく見る習慣」が日経BP社より2019年1月に発売されました。気で訳したので、ぜひお手にとってみてください! あなたが知らないシリコンバレーの歴史2016/03/08 こないだ、日の某自治体が主催する学生・社会人向けシリコンバレーツアーに現地人として招かれ、最終日のビジネスプランコンテストで審査員を務めさせてもらいました。 意識を高めながら、至極適当にジャッジをしました。 このツアーについてのブログ記事はこちら。 シリコンバレー式・自分を変える最強のエ◯ビデオ鑑賞会ツアー最終日だったその晩、参加者が泊まっていたホテルの一室を借り、疲れた学生さんたちを労うべく、「シリコンバレー式・自分を変える最強のエ◯ビデオ鑑賞会」を開かせてもらいました。(伏字は検索エンジン対策です) ツアーの

    あなたが知らないシリコンバレーの歴史
    utwang
    utwang 2016/03/13
    動画もみよ
  • TravisCIをやめてSemaphoreCI を使ってみる - rochefort's blog

    つい先日、TravisCIでChrome ExtensionのCIを動かし始めたばかりですが ES6に書き直したところ、Travis CIでエラーになってしまいました。 おそらく原因は、TravisCI上のchromeのversionが低いからだと思われます。 Chromium 37.0.2062 (Ubuntu 0.0.0) そこでKaramの公式サイトに掲載されていた、Semaphore CI を試してみました。 Semaphore Semaphore - Semaphore 今回CIしか触っていませんが、herokuawsなどへのdeploy機能もあるようです。 ドキュメントも充実しており、対応言語も豊富です。 C/C++ Clojure Elixir Erlang Go Java JavaScript PHP Python Ruby Scala 全てGUIで設定できて分かりやすい

    utwang
    utwang 2016/03/13
  • JavaScriptのモジュール管理(CommonJSとかAMDとかBrowserifyとかwebpack) | tsuchikazu blog

    昨年のAdvent Calendarを眺めたり、JS周りの記事を見ていると、RequireJSとか、CommonJSとか、AMD、Browserify、webpackあたりが、同じような文脈で登場するんですが、それぞれ何を指しているのかよくわからなかったため、今更ながらまとめてみます。 前提 小規模にしかJavaScriptを使っていないWebサイトでは、jQueryを使ってDomイベントで色んな処理をして、Domに反映させる。というような処理が、ごちゃっとまとめて書くことが多いかと思います。ごちゃっととは、特にDomにしか情報を保持していない状態を指していて、イメージとしてはこのようなコードです。 $(function() { # イベントハンドラ $("#btn").on("click", function(){ $.ajax({ url: "api/resources", dataT

    JavaScriptのモジュール管理(CommonJSとかAMDとかBrowserifyとかwebpack) | tsuchikazu blog
    utwang
    utwang 2016/03/13
    恥ずかしながら、仕様と実装がごっちゃになってた。
  • Bond Tutorial: Bindings in Swift

    Note: Updated for Xcode 8.3, iOS 10.3, and Swift 3.1 by Tom Elliott. Original tutorial by Colin Eberhardt. Almost any app you can think of needs to be able to fetch some sort of data from somewhere (disk, the network, the user) and display it somewhere else, possibly transforming or translating it along the way. Often you may want to show the same data in multiple ways. The process of keeping all

    Bond Tutorial: Bindings in Swift
    utwang
    utwang 2016/03/13
    Bondのtutorial。throttleの使用例がある。map、filter、observeの基本的な使い方しかやっていないので目通しときたい。
  • 型消去を用いたSwiftによるリポジトリパターンの実装 - AnyType

    リポジトリパターンとは リポジトリはオブジェクトの参照を取得するのに必要なロジックをすべてカプセル化するためのパターンです。 Domain Driven Design Quickly 日語訳 iOSアプリ開発の文脈では、オブジェクトをWeb APIから取得するのかRealmから取得するのかといった関心ごとがある。リポジトリを実装することで次のようなメリットがあると思う。 どこからどのように取得するのかなどの関心ごとからドメインモデルを切り離せるため、ドメインモデルをクリアに保つことができる。(DDDの観点) テスト時にWeb APIやRealmにアクセスするリポジトリをメモリにアクセスするリポジトリに差し替えること(Dependency Injection)が可能になるため、テストデータを簡単に用意できたりテストのパフォーマンスを向上できるなど、テストしやすくなる。(テスタビリティの観点

    型消去を用いたSwiftによるリポジトリパターンの実装 - AnyType
    utwang
    utwang 2016/03/12
    リポジトリパターンは使ってるので、これは参考にしたい。
  • モナドはポケモン。数学が出てこないモナド入門 - Qiita

    仮説:モナドとはポケモンである このテキストは、でんこうせっかの速さでモナドが使えるようになりたいひとのための、真面目なモナド入門です。数学っぽい話はなるべく避けていますし、関数型言語についての知識がなくても読めるように書いています。対象の読者は以下のような人です。 モナドが何なのか知りたい、使いたい Haskellを学ぼうとしたがモナドがわからなくて挫折した モナドを学ぼうとしたら、箱だのブリートだのと変な喩え話をされて余計わからなくなった プログラミングを学ぶつもりが数学の講義が始まったので止めた 最初はモナドは難しいからとGHCiを使わされたが、電卓程度にしかならないので飽きた なお、何故か説明の補助としてポケモンが登場しますが、この記事を読むのに別にポケモンをプレイしたことがある必要はありません。この記事はもしポケモン要素を全部無視したとしてもわかるようになっています。 挿絵があっ

    モナドはポケモン。数学が出てこないモナド入門 - Qiita
    utwang
    utwang 2016/03/12
  • GitHub、コメントに「いいね!」など6種類の感情表現が可能に 

    GitHub、コメントに「いいね!」など6種類の感情表現が可能に 
    utwang
    utwang 2016/03/12
    :+1:
  • Swift 型消去 (Type Erasure) - タコさんブログ

    try! Swiftで発表のあった型消去の話。 この例ではSwiftにおける型消去技法を使用して、結城さんの 増補改訂版Java言語で学ぶデザインパターン入門 Iteratorパターンを愚直にSwiftで実装する。 前提知識 [増補改訂版Java言語で学ぶデザインパターン入門] Iteratorパターン Swift ジェネリクス・プロトコルの基礎 環境 Xcode 7.2 Swift 2.1 Iteratorインターフェース 要素の数え上げをするインターフェース。 protocol Iterator { typealias Element func next() -> Element? } Aggregateインターフェース SwiftではJava版のように、以下のようにAggregateを定義することはできない。 protocol Aggregate { func iterator()

    Swift 型消去 (Type Erasure) - タコさんブログ
    utwang
    utwang 2016/03/10
    Pokemonのときは使う状況がピンときてなかったけど。実用的な例だと思う
  • 国内のオープンなslack teamを検索できるslack list jaを作った - undefined

    国内のオープンなslack teamを検索できるslack list jaを作った Slack-list-ja 経緯 最近、リモートワーカーのためのslack teamが作成されて参加させてもらっている。リモートワークならではの健康面などの知見・意見が交換されていて、非常に有用だと思っている。リモートワークして2ヶ月が経とうとしているんだけど、リモートワーク控えめに言っても最高なのでもっと広まって欲しい。 リモートワーカー Slack Team のご紹介 - 9mのパソコン日記 そんな中、国内にオープンなslack teamがどれだけあるんだろう?と調べ始めたら、海外にはそういったslack teamをリスト化したページSlack Listなるものが存在しており、remote-workers-jpの布教も兼ねて国内版を作ってみることにした。 技術的なとこ せっかく作るんだから何か触ったこと

    国内のオープンなslack teamを検索できるslack list jaを作った - undefined
    utwang
    utwang 2016/03/10
    これ以上所属増やすと破綻しそうだけど、のぞいてみよ。
  • 『PlayFrameworkをただの静的型付けMVCだと思って本番稼動させると死ぬ - サナギわさわさ.json』へのコメント

    ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

    『PlayFrameworkをただの静的型付けMVCだと思って本番稼動させると死ぬ - サナギわさわさ.json』へのコメント
    utwang
    utwang 2016/03/09
    Playはイベント駆動なのか