tohu-soyのブックマーク (2,259)

  • Snowflake形式のIDを採用した場合の苦労ポイント - yoskhdia’s diary

    高速にIDを採番できる仕組みを検討したとき、Snowflake形式のID生成は選択肢のひとつとして有力です。 Snowflakeを紹介する記事は見つかりますが、実際に採用して苦労した話はあまり聞かないため、備忘的に書いてみるエントリです。 Snowflakeとは 1つのIDは64bitScalaではLong型)に収まり、ID採番サービスを複数のデータセンターに分散可能かつ高速に採番可能に設計されたID生成の方式です。 先頭ビットにタイムスタンプを持つため、順序があることも特徴のひとつです。 Twitter社がオリジナルの考案者です。*1 github.com カヤック社からSnowflake形式でID生成可能なKatsubushiというオープンソースのソフトウェアがGithubで公開されています。 発表スライドも参考になります。 github.com 他のID生成方式 他にはDBのシーケ

    Snowflake形式のIDを採用した場合の苦労ポイント - yoskhdia’s diary
    tohu-soy
    tohu-soy 2019/06/17
  • ブラウザはCSSのセレクタを右から読む、ほんまか? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先日、 ブラウザ君「ワイはCSSのセレクタを右から読むんや」 という記事を読みまして、ちょっと気になったので後で確かめようと思っていたのですが、なんとなくそのままになってしまいやや旬を逃した感がありつつ、ツッコミを入れてみようと思います。 なお『ワイ「ほげほげ」』みたいな形式は使いません1。恥ずかしいので。 私は仕事Chromiumのソースコードをよく読んでいるので、ChromiumのソースコードからCSSの処理を見つけて、それを基準にして解説しようと思います2。そのため、他のブラウザのレンダリングエンジンと異なる最適化が施されている

    ブラウザはCSSのセレクタを右から読む、ほんまか? - Qiita
    tohu-soy
    tohu-soy 2019/06/16
  • コンテナ移行ってこんなに大変? ~「家族アルバム みてね」を支えるインフラの裏側~ - Speaker Deck

    AWS Summit Tokyo 2019 登壇資料 2019年6月13日(木)14:00-14:40 コンテナ移行ってこんなに大変? ~「家族アルバム みてね」を支えるインフラの裏側~ ※資料の公開に関してはAWS確認済

    コンテナ移行ってこんなに大変? ~「家族アルバム みてね」を支えるインフラの裏側~ - Speaker Deck
    tohu-soy
    tohu-soy 2019/06/15
  • 素のVimでGoを書く時のテクニック - daisuzu's notes

    gorillavim.connpass.com にて、 外部ネットワークに繋がらない環境でvimgoしか使えない という縛りでライブコーディングをしてきました。 実際にそういう環境があるのか?という話はさておき、そのような状況でも以下を駆使してそこそこコードが書けます。 :%!gofmtでコードを整形できる :r! go docの結果を適当なバッファに出力する Vim内でドキュメントが読める ドキュメントの内容をCTRL-NやCTRL-Pで補完できる :set path+=$GOROOT/srcで標準パッケージを検索できるようにする :findなどで標準パッケージのディレクトリやファイルを開ける :grep*1 で色々と探せる 開いたファイルはただ見るだけではなく、補完の対象にもできる 作ったものはGET /fizzbuzz/:numberにアクセスするとFizzBuzzを返すというHT

    素のVimでGoを書く時のテクニック - daisuzu's notes
    tohu-soy
    tohu-soy 2019/06/14
  • NPNS における Erlang/OTP

    Erlang & Elixir Fest 2019 で任天堂さんの発表について、懇親会で話せる範囲でお教えていただいたことなどを交えて、Erlang/OTP を利用してパッケージ製品を開発しているプログラマー視点で見ていきます。残念ながら運用については未経験のため、その辺りは触れません。 また自分が XMPP というプロトコルはなんとなく知っているレベルということもあり、XMPP 自体には踏み込みません。 XMPP/ejabberd という選択当たり前ですがプッシュ通知を送るには TCP/IP の接続を維持するという方針になります。その上、将来的には 1 億を目指して行くわけです。 TCP の常時接続が経験ない中で 1 億同時接続を目指す際の技術選定で、自作プロトコルに行かず、 枯れている XMPP という選択をしたのは当に素晴らしいと思います。 また、そんな中で実績がある ejabbe

    tohu-soy
    tohu-soy 2019/06/14
  • 期待のサービスはなぜ「総売り上げ3万5400円」でクローズに至ったのか――失敗から学び成長するための6項目

    「失敗の振り返り」は、同じ間違いを繰り返さないために必要なこと……と分かっていても、できれば避けて通りたいツラい作業でもある。失敗したのが、自分自身が責任者として取り組んだプロジェクトであれば、なおさらだ。2019年4月24日に東京の大田区産業プラザPiOで開催された「明日の開発カンファレンス」では、あるサービスのプロダクトオーナー(PO)を務めた開発者が、あえて公開の場でその苦行に挑んだ。なぜ、そのサービスは失敗してしまったのか。立ち上げから、クローズまでの過程で、どのような意思決定があったのか。貴重な「公開振り返り」が行われた。 「総売り上げ:35400円 受託エンジニアが自社サービスのPOをやって学んだこと」と題したセッションを行ったのは、現在、永和システムマネジメントで「Agile Studio Fukui」のディレクターを務める岡島幸男氏だ。同社は受託開発ビジネスを主軸に、近年で

    期待のサービスはなぜ「総売り上げ3万5400円」でクローズに至ったのか――失敗から学び成長するための6項目
  • Redux の記述量多すぎなので、 Redux の公式ツールでとことん楽をする。 ( Redux Toolkit) - Qiita

    2019/11/20 追記 当記事でメインに取り扱っていたライブラリ名が変更されました。Redux Starter Kit -> Redux Toolkit それに合わせて、記事もアップデートしています。 追記終わり はじめに Redux Hooks がリリースされたおかげで、Redux の store とコンポーネントのつなぎ込みが簡単になりました。 今回は Redux チームが公式にリリースしている Redux Toolkit を利用すると、Action、Reducer 部分もかなり簡潔に記述できるというお話です。 Redux Hooks については以下の記事を参照してください。 Redux Hooks によるラクラク dispatch & states Redux Toolkit とは? Redux チームが公式にリリースしているReduxを簡潔に記述するためのライブラリです。 ほ

    Redux の記述量多すぎなので、 Redux の公式ツールでとことん楽をする。 ( Redux Toolkit) - Qiita
  • メルペイにおけるお客さま残高の管理手法 | メルカリエンジニアリング

    はじめに この記事はMERPAY TECH OPENNESS MONTHの19日目の記事です。 こんにちは。株式会社メルペイのPayment Platformチームでエンジニアをしている knsh14 です。 メルペイの様々な決済手段でどのように決済の整合性を保とうとしているかは15日目の記事で紹介しました。 メルペイでは決済の手段をもつマイクロサービス(Payment Service)と決済のための原資を管理するマイクロサービス(Balance Service)を分けています。 今回はこのお客さまの残高を正しく管理するためのマイクロサービスがいかにして正確に増減をしているかを説明します。 Balance Service の提供する機能 Balance Service ではお客さまの残高を増減させるという機能を提供しています。 決済のフローや他のマイクロサービスとの整合性の管理などは上位レ

    メルペイにおけるお客さま残高の管理手法 | メルカリエンジニアリング
  • Getting started with create-react-app, Redux, React Router & Redux Thunk

    Our working example 🤘There is a fantastic tool on the block endorsed by React that boasts “no configuration necessary”. I use create-react-app for every new React application. It’s so good 💯. The great thing Create React App has bundled is the eject tool, which allows you to completely disconnect and add your own advanced configuration. Seriously though, this is not required to add things like R

    Getting started with create-react-app, Redux, React Router & Redux Thunk
    tohu-soy
    tohu-soy 2019/06/14
  • React Router Docs Moved

    ReactTraining.com is the world-renowned React training company who's committed to diversity and education in the tech community. ReactTraining

  • React – ユーザインターフェース構築のための JavaScript ライブラリ

    React は、インタラクティブなユーザインターフェイスの作成にともなう苦痛を取り除きます。アプリケーションの各状態に対応するシンプルな View を設計するだけで、React はデータの変更を検知し、関連するコンポーネントだけを効率的に更新、描画します。 宣言的な View を用いてアプリケーションを構築することで、コードはより見通しが立ちやすく、デバッグのしやすいものになります。 自分自身の状態を管理するカプセル化されたコンポーネントをまず作成し、これらを組み合わせることで複雑なユーザインターフェイスを構築します。 コンポーネントのロジックは、Template ではなく JavaScript そのもので書くことができるので、様々なデータをアプリケーション内で簡単に取り回すことができ、かつ DOM に状態を持たせないようにすることができます。

    React – ユーザインターフェース構築のための JavaScript ライブラリ
    tohu-soy
    tohu-soy 2019/06/14
  • Redux · A Predictable State Container for JS Apps

    Centralizing your application's state and logic enables powerful capabilities like undo/redo, state persistence, and much more. The Redux DevTools make it easy to trace when, where, why, and how your application's state changed. Redux's architecture lets you log changes, use "time-travel debugging", and even send complete error reports to a server.

    Redux · A Predictable State Container for JS Apps
    tohu-soy
    tohu-soy 2019/06/14
  • Linux コンテナとは何か - コンテナ技術の仕組みと歴史| Red Hat

    Linux® コンテナとは、システムの他の部分とは分離された一連のプロセスです。これらのプロセスを実行するために必要なファイルはすべて個別のイメージから提供されます。つまり、Linux コンテナは、開発からテスト、最終的には番環境へ移行するまで可搬性と一貫性を維持します。この特色によって、従来のテスト環境をレプリケートすることに依存する開発パイプラインよりも開発速度が向上します。広く普及して簡単に使用できることから、コンテナは IT セキュリティにとっても重要な部分です。 アプリケーション開発を行っているところを想像してください。作業はノートパソコンで行っており、開発環境は特定の構成になっています。他の開発者とは、やや異なる構成かもしれません。開発中のアプリケーションはその構成を利用し、特定のライブラリ、依存関係、ファイルに依存しています。一方で、会社の開発環境および番環境は、独自の構

    Linux コンテナとは何か - コンテナ技術の仕組みと歴史| Red Hat
    tohu-soy
    tohu-soy 2019/06/14
  • Docker入門(第一回)~Dockerとは何か、何が良いのか~ | さくらのナレッジ

    みなさん、こんにちは。Acroquest Technology (アクロクエストテクノロジー) の横山 仁(よこやま じん)と申します。 主に仕事ではインフラ関係やDevOps推進に向けた活動などに携わっています。最近では、今回の記事の内容でもあるDocker(ドッカー)を使うこともかなり増えてきて、他にもAnsibleであったり、CIツールのJenkinsなども使って、自動化や開発環境の整備などを主に行っています。 この度、さくらのナレッジでDockerの入門記事の連載をさせていただくことになりました。よろしくお願いします。 今回、Dockerについて、Dockerでどのようなことができるのか、どんな使い方をすると良いのかを、実際に手を動かすことを中心に、6回に分けて紹介していく予定です。前提として、Linuxの基的な知識がある方を対象として書いていきます。 世の中が当たり前のようにD

  • 「Webサーバに複数のクライアントから同時に接続要求があったとします」(1) Master of IP Network - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

    tohu-soy
    tohu-soy 2019/05/10
  • 築地の魚卵専門店で魚卵におぼれる

    業は指圧師です。自分で企画した「ふしぎ指圧」で施術しています。webで記事を書くことをどうしてもやめられない。(動画インタビュー) 前の記事:なんでだ?「味が全然しない担々麺」が超うまいぞ? > 個人サイト ふしぎ指圧 築地の場外はメチャクチャにぎわっている 平日のお昼に築地の場外に来たのだが、観光客がすごい。外国人と修学旅行生だらけである。 ご存じの通り、築地の魚市場はすでに豊洲に移転している。しかしこの人混みはまるでそんな事実などなかったかのようだ。 Q.なぜ築地にこんなに魚介を中心としたお店が多いんでしょうか? A.それはむかし築地に魚市場があった名残なんですね。 頭の中で唐突にそんなクイズ番組が始まった。全てを忘れ去られた50年後くらいのクイズ番組である。

    築地の魚卵専門店で魚卵におぼれる
    tohu-soy
    tohu-soy 2019/05/09
    ビジュアルを知識で処理するっていうの好き
  • 仕事を任せられるエンジニアになるために意識してほしいこと - 食べチョク開発者ブログ

    皆さんこんにちは。エンジニアの西尾です。 今日は仕事を任せられるようなエンジニアになるために意識してほしいことをまとめましたので、ここに公開いたします。 もともとは社内向けに公開したものです。 この文章は私がビビッドガーデンに入社する前の、前職での経験を踏まえて書いています。 今のべチョクエンジニアが意識できていない、という話ではありませんのでご注意ください。 意識面 作業の見積もりができる 技術力が低い(コーディングができないなど)よりも敬遠されるエンジニアは、作業の見積もりができない方です。 第一線で活躍している方は、作業見積もりが他の方に比べて正確です。 見積もりをするためには、どういう設計をして、どういう機能を作り、どういう影響範囲があるのかを正しく理解する必要があります。 見積もりができないということは、作業内容を正しく理解できていない、技術的な困難性を理解していない、不確定要

    仕事を任せられるエンジニアになるために意識してほしいこと - 食べチョク開発者ブログ
    tohu-soy
    tohu-soy 2019/05/03
  • 「響け!ユーフォニアム」で引っ張り出された、私の青春の話 - 古代史

    これを読んでくれている酔狂な方、はじめまして。たった今、『劇場版 響け! ユーフォニアム~誓いのフィナーレ~』を見てきた古代人です。 このGW中友人宅で見た「響け!ユーフォニアム」によって、心の奥底にしまっていた感情の置き場を無くしてしまったのでここに置かせてください。 全国大会、この言葉で未だに私の心はざわつく。かつて、渇望し、敗れ、もう二度と手に入れることは出来ないもの。僕は特別になりたかった。 この話は私が高校一年生の時から始まる。無事に受験を終え、高校では文芸部とどっかの部活に入ってふわふわ生きようとしてた私が兼部先に選んだのが、工芸部だった。おそらく何をする部活かピンとこないと思うので説明すると、簡単に言えば木工版美術部である。年一回の高校美術展に向けて、椅子やテーブルを作る。工作が好きだし、部室が離れのアトリエ感があり面白そうだったので入部を決めた。まさかこの決断が私の一生を大

    「響け!ユーフォニアム」で引っ張り出された、私の青春の話 - 古代史
    tohu-soy
    tohu-soy 2019/05/02
  • 大企業の技術系インターンシップに参加した - Alice in the Machine - Blog

    春休みに3週間ほどインターンシップに参加してきました. いろいろと思うところがあったので, 参加した感想を書いていきます. 経緯 近年ではインターンシップ(以下インターン)が盛んに行われています. 就職活動には関係ないという建前で行われているのがほとんどですが, 実際には就活の選考に有利に働くことが多いようです. 就活に出遅れるのも得策ではないと思い, インターンに参加してみました. 具体的なインターン先は述べませんが, ITベンチャーとかではなく, いわゆる Japanese Traditional Big Company です. 多分, 日人なら誰でも知っている企業だとは思います. 応募したきっかけは, そこに就職する先輩がいたことと, 大学OBが学内でそこのインターンの紹介をしていたからです. 非IT系の企業ですが, 配属先はICTでソリューションするような所でした. インターンの

    tohu-soy
    tohu-soy 2019/04/30
    めちゃくちゃキレがある
  • [Go] CicleCI2.1でgo modのデータを共有しながら複数ジョブを実行する - My External Storage

    GitHub上のGoのリポジトリに対して継続的インテグレーション(CI)を行なう場合、CircleCIやTravisCIを使うのが一般的だろう。 CicrcleCI2.1でGo Modulesを使いながらマルチJobを定義したWorkflowを定義する。 attach_workspaceを使ってジョブ間のデータ共有をするのにひと手間必要だった。 TL;DR CircleCI2.0はWorkflowを使って複数Jobを平行実行することができる save_cacheを使うとWorkflowを実行するたびにModuleをダウンロードせずに済む persist_to_workspaceを使うと各ジョブで毎回Moduleをダウンロードせずに済む attach_workspaceするときにuser:rootの設定が必要な場合がある めんどくさいときは@__timakin__さんのCircleCI Or

    [Go] CicleCI2.1でgo modのデータを共有しながら複数ジョブを実行する - My External Storage
    tohu-soy
    tohu-soy 2019/04/22