タグ

t_ymt2のブックマーク (1,112)

  • メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング

    ソウゾウの Software Engineer をやっています、@mookjp です。 8/10 の記事「メルカリShopsの技術スタックと、その選定理由」では、メルカリ Shops のアーキテクチャについて、その全体像を紹介しました。 この記事では、そのうちの BFF(Backend for Frontend) レイヤとして用意した GraphQL サーバについて、NestJS を使った実装例を交えて紹介します。 GraphQL とは GraphQL サーバ周辺の構成 NestJS とは GraphQL Module NestJS で Code First なスキーマ定義をする Object types の定義 Query と Mutation の定義 GraphQL スキーマの生成 スキーマの Breaking Change (破壊的変更)を防ぐ DataLoader を使って Bat

    メルカリ Shops での NestJS を使った GraphQL Server の実装 | メルカリエンジニアリング
    t_ymt2
    t_ymt2 2021/08/19
  • 3.2億円調達した事業計画書(SeriesA Deck)を公開します - Phybbitまとめ

    日11/21に3.2億円のシリーズAの資金調達のリリースを出しました。 prtimes.jp もっと大きい金額を調達している会社さんがいっぱいいる中で、私の事業計画書を公開するのは恥ずかしい気もしますが、 今回の資金調達にあたり、いろいろGoogleで調べた際に(特に日語では)全く参考になるものがなくて苦労しました。 特にSaaSではどんなメトリクスが必要かもよく分かってなかったので、同じようなビジネスや金額を目指す人達の参考になればいいと思います。 弊社にはCFOはいないので、100%自分で作ったものです。資金調達のコンサルタントみたいな方もお願いしてないです。 スケジュール 資金調達のTips 1. ビジョンよりも数字にフォーカスをした方が良い 2. 資金調達中も足元の売上げをちゃんと作る 3. グローバル戦略は書かないほうが良い 事業計画書のスライドです スライドから削除している

    3.2億円調達した事業計画書(SeriesA Deck)を公開します - Phybbitまとめ
    t_ymt2
    t_ymt2 2019/11/25
  • Langserver.org

    Langserver.org A community-driven source of knowledge for Language Server Protocol implementations Langserver.org is a community-driven site, maintained by Sourcegraph, to track development progress of LSP-compatible language servers and clients. What is LSP? The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like a

    t_ymt2
    t_ymt2 2019/10/29
  • エンジニアが最高のUIをつくるためのプロトタイピング方法まとめ(2017年版) - Qiita

    こんにちは、 UXデザイナーの @yuh_iw です。 この記事は NTTコミュニケーションズ Advent Calendar 2017 の23日目です。 すべては最高の体験のために 弊社では、ようやく社内にUXデザインという言葉が浸透し始めていますが、 実態はUIと共に語られることが多いです。(実際は違うよ) とはいえ今回はUIを作るために私達がいつも行っていることについて記載します。 どうやってUIを作っていくのがよいか とにもかくにも、ユーザーに対する検証と学習をくり返すことです。 最高のUI=カッコイイUIではありません。アーティスティックなUIでもありません。 UIにはユーザーがいるので、ユーザーが使いやすいと思わなければならないのです。 そのために、使ってくれそうな人に、検証していく必要があります。 検証するためにはいくつか方法がありますが、 稿ではUIプロトタイピングを行う

    エンジニアが最高のUIをつくるためのプロトタイピング方法まとめ(2017年版) - Qiita
    t_ymt2
    t_ymt2 2017/12/25
  • さよならクックパッド

    先日、「記事を読みました!」と旧知の町田龍馬さんから連絡がありました。「現在開発中のビジネスモデルに関して、一度ご意見をいただきたい」とのことで、さっそく業(編集業)の合間、平日のランチタイムを利用して会いました。実に4年半ぶりの再会です。 町田さんのビジネスは、いわゆる「民泊(空き部屋に有料で旅行者を宿泊させる)」の代行業務です。彼の経営する「Zens株式会社(ゼンス)」は2013年9月の創業。米サンフランシスコまで行ってAirbnb共同創業者にプレゼンをして、その後も日に招き接待するなど、町田さんの行動力はハンパないです。今や社員とスタッフを合わせ49名の大所帯で、2015年12月には『Airbnb空室物件活用術』というも出してます。「しばらく会わないうちに、立派になったなぁ」と、1987年生まれの町田さんを目の前に、親戚のオジサンになった気分でした(笑)。 相談内容は何だったか

    さよならクックパッド
    t_ymt2
    t_ymt2 2017/10/29
  • Microservices on Fastly

    Exploring the Power of Turbo Streams & Action Cable | RailsConf2023

    Microservices on Fastly
    t_ymt2
    t_ymt2 2017/10/18
  • SpinnakerによるContinuous Delivery | メルカリエンジニアリング

    SREの@deeeetです。 新しい機能を素早くリリースしフィードバックを得てすぐにPivotの決定を行う、もしくはリスクを抑え小さな改善を継続的に行うContinuous Deliveryはソフトウェア開発において非常に重要です。 メルカリではこのContinuous DeliveryのためのPlatformにSpinnakerを採用し始めました。現在は主にkubernetes(k8s)へのコンテナアプリケーションのDeployに利用しており、既にいくつかの番アプリケーションがSpinnakerによりDeployされています。 記事ではなぜSpinnakerを採用したか、Spinnakerとは何か、実際にメルカリでどのようにSpinnakerを使っているか、について簡単な紹介をします。 kubernetes上でのDeploy問題 k8sへのコンテナイメージのDeployは非常に簡単で

    SpinnakerによるContinuous Delivery | メルカリエンジニアリング
    t_ymt2
    t_ymt2 2017/10/18
  • flaskでglobalに保持することを前提としたひどいライブラリを騙し騙し使う方法 - Qiita

    from flask import Flask from something import Something class settings: MESSAGE = "hello from something" app = Flask(__name__) app.config.from_object(settings) hmm = Something(app) # これ @app.route("/") def hello(): return hmm.hello() # ここ if __name__ == "__main__": app.run(port=4040) 中のコードを覗いてみると、appの代替をしてくれるわけでもなくappを引数に取るのはconfigの情報を取得したいからのようでした。来はこのようなライブラリを使いたくはないのですが。使わなくてはいけない場合もあります。 実装自体

    flaskでglobalに保持することを前提としたひどいライブラリを騙し騙し使う方法 - Qiita
    t_ymt2
    t_ymt2 2017/08/28
  • 【Unity道場 2017】ゲーム開発者のためのタイポグラフィ講座

    ・ポスターをブラシュアップしよう! ・文字は主役になれる、という話 ・フォントは錯覚補正などを考慮して作られた工芸品である ・欧文フォントの源流は未だ現役という話 ・フォントをカテゴライズしてみようという話 ・フォントを選ぶ上で大事なこと ・フォントのトレンドの話Read less

    【Unity道場 2017】ゲーム開発者のためのタイポグラフィ講座
  • スタートアップ共同創業者の見つけ方、付き合い方、別れ方

    多くの投資家やアクセラレーターが投資判断をする際に、「スタートアップのチームを見る」という発言をするように、最初期のチームメンバー(共同創業者)はスタートアップの成功を左右します。ではどのような共同創業者を選べばよいのか、というのが今回のスライドです。 ただチームに別れはつきものです。別れ方については、チーム作った時に別れ方を決めておくことが重要なので、それを併記しておかないとあまり実用的ではないのかなと思ったほか、であれば真ん中の付き合い方も必要、ということで、少し長くなりましたが、見つけ方と付き合い方と別れ方の3つを併記させていただきました。(付き合い方の部分は流して書いてはいますが、もっとドロドロしてるというご指摘もあるかと思います…)Read less

    スタートアップ共同創業者の見つけ方、付き合い方、別れ方
    t_ymt2
    t_ymt2 2017/07/08
  • Material Design

    Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences.

    Material Design
  • C/C++中規模プロジェクトのための超シンプルなMakefile | POSTD

    私は多くの小規模プロジェクトで Make を使ってきましたが、より大きな規模のプロジェクトになると、それは非常にうんざりするようなものでした。最近までは、自分のビルドシステムに行いたいことが4つあったのですが、Makeでの方法が分かりませんでした。 out-of-sourceビルド(オブジェクトファイルが、ソースとは分離されたディレクトリにダンプ出力されます) 自動生成される(かつ正確!)ヘッダの依存関係 オブジェクト/ソースファイルのリストの自動的な決定 インクルードディレクトリのフラグの自動生成 以下にこれらの全てを行える、C、C++、およびアセンブリで動作するシンプルなMakefileを紹介します。 MAKEFILE TARGET_EXEC ?= a.out BUILD_DIR ?= ./build SRC_DIRS ?= ./src SRCS := $(shell find $(S

    C/C++中規模プロジェクトのための超シンプルなMakefile | POSTD
  • Go1.7のcontextパッケージ

    Go1.7ではgolang.org/x/net/contextがcontextパッケージとして標準パッケージに仲間入りする.そしていくつかの標準パッケージではcontextパッケージを使ったメソッド/関数も新たに登場する.contextパッケージは今後さらに重要な,Gopherは普通に扱うべき,パッケージになると考えられる.記事ではそもそもcontextパッケージとは何か?なぜ登場したのか?なぜ重要なのか?どのように使うべきか?についてまとめる. contextパッケージが初めて紹介されたのは2014年のThe Go Blogの記事 “Go Concurrency Patterns: Context”である.この記事ではなぜGoogleがcontextパッケージを開発したのか,どのように使うのか具体的な検索タスクを例に解説されている.まだ読んだことがない人はそちらを先に読むと良い. co

    t_ymt2
    t_ymt2 2017/06/06
  • Go Concurrency Patterns: Context - The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code

    Go Concurrency Patterns: Context - The Go Programming Language
    t_ymt2
    t_ymt2 2017/06/06
  • Cult of the Party Parrot

    ParrotHD Open-source ParrotHD Middle ParrotHD Reverse ParrotHD Aussie ParrotHD Goth ParrotHD Old Timey Parrot Bored ParrotHD Shuffle ParrotHD Shuffle Further Parrot* Conga Line ParrotHD* Reverse Conga Line ParrotHD Party ParrotHD Sad ParrotHD* Cop ParrotHD* Fast ParrotHD* Ultra Fast ParrotHD* Slow ParrotHD* Slo-mo Parrot* Dad ParrotHD* Deal With It ParrotHD Deal With It Now ParrotHD Fiesta Parrot

    t_ymt2
    t_ymt2 2017/04/28
  • メルカリは日米英で異なるインフラを採用――メルカリのインフラの変遷を ソウゾウ 鶴岡達也さんに聞く

    吉羽 鶴岡さんはメルカリ(当時:コウゾウ)の創業メンバーだそうですが、ジョインしてどれぐらいで最初のバージョンがリリースされたのでしょうか? 鶴岡 会社の設立が2013年の2月1日なんですけど、作り始めたのは2013年の1月ごろです。実際のリリースは7月で、Androidアプリが先に出て、その後iOSが出ました。なので半年くらいですね。 吉羽 当時、インフラはどうしていましたか? 鶴岡 僕がほぼ見ていました。僕ともう1人、初期のメンバーがいて、彼も一通り見れるので相談しながらやっていきました。選定は僕がメインでやっていました。 吉羽 当時はオンプレミスだったと聞いたことがあります。 鶴岡 そうなんです。とにかく早くリリースしたかったので。スピード重視の考え方でした。 吉羽 手慣れた技術を使いたい、という感じなんですね。 鶴岡 自分たちが扱ったことのある技術だけにしようと決めました。スケーラ

    メルカリは日米英で異なるインフラを採用――メルカリのインフラの変遷を ソウゾウ 鶴岡達也さんに聞く
    t_ymt2
    t_ymt2 2017/04/28
  • 6ヶ月後に会社が潰れるのが確実になった時、ベンチャー企業のCFOがやるべきこと 【とあるCFOの独白】 | エグゼクティブキャリア総研

    ホームEXレポート6ヶ月後に会社が潰れるのが確実になった時、ベンチャー企業のCFOがやるべきこと 【とあるCFOの独白】 ベンチャー企業でCFOをしようとする人間はよほど物好きな人間だと思っている。 それ以上に変わり者が多いのはCEOだが、変わり者の上に強気一辺倒で攻めるCEOの場合とは異なり、CFOのポジションはいつも資金繰りに追われ、夢の中まで追いかけてくるCF計算書の悪夢に苦しめられている人も多いのではないだろうか。 今から10年ほど前、そんなポジションでCFOをしていた。 社長はベンチャー企業の経営者と言うには異色の50代後半。 30年の歴史があり、売上50億円、従業員数700名あまり(うち、パートアルバイト500名程度)を抱える地域では知られた中堅企業で、業界の規制緩和で先進的な事業に取り組み始め、第二の創業を迎えている時だった。 鼻の利くVC(ベンチャーキャピタル)が集まり多く

    6ヶ月後に会社が潰れるのが確実になった時、ベンチャー企業のCFOがやるべきこと 【とあるCFOの独白】 | エグゼクティブキャリア総研
    t_ymt2
    t_ymt2 2017/04/21
  • Go Proverbs

    Proverbs from @rob_pike's inspiring talk at Gopherfest SV 2015 (video). The Gopher character is based on the Go mascot designed by Renée French and copyrighted under the Creative Commons Attribution 3.0 license. These proverbs are the basis of a talk by Rob Pike and the list may be updated when he next gives the talk. Please read the contribution guidelines before opening an issue to nominate a ne

  • Goでスレッド(goroutine)セーフなプログラムを書くために必ず注意しなければいけない点 - Qiita

    Goは言語機能として並列実行をサポートしているけど、Goで書いたからといって自動的にデータ構造がスレッドセーフになるわけではないので、スレッド安全性を気にしなければならないはこれまでの言語と変わらない。どういうケースが良くてどういうケースがダメなのかを理解していないと安全なプログラムは書けない。それについて説明をしよう。 まず第一にEffective Goのこの一文は覚えておこう。 Do not communicate by sharing memory; instead, share memory by communicating. メモリを共有することで通信しようとしないこと。代わりに通信することでメモリを共有すること。 変数の値を変更したあとにチャネルなどを使わずに、おもむろに別のgoroutineからその変数の値を読み書きしてはいけない。そういうやり方だと読み書き操作の前後関係がき

    Goでスレッド(goroutine)セーフなプログラムを書くために必ず注意しなければいけない点 - Qiita
    t_ymt2
    t_ymt2 2017/03/24
  • Petpot – 毎日のペットライフが楽しくなる情報メディア

    t_ymt2
    t_ymt2 2017/03/11