タグ

ブックマーク / medium.com (135)

  • Logstash を使って MySQL データを Elasticsearch にインデックスする(基本編)

    リレーショナルデータベースで管理しているデータを Elasticsearch で検索・分析したい場合、Logstash が便利です。 Logstash とは?Logstash はオープンソースのサーバーサイドデータ処理パイプラインです。様々な数のソースからデータを取り込み、変換し、指定された任意のストア先にデータを格納することができます。 処理の内容はシンプルで、Input ステージでソース元の接続先情報を管理し、Filter ステージで変換をし、Output ステージで格納先接続先情報を定義します。Input 及び Output プラグインはデフォルトで様々なソースをサポートしています。そのため、Logstash を使えば、プログラミングレスで MySQL のデータを取り込み、変換し、Elasticsearch へインデックスすることができるのです。 事前準備MySQL と Elasti

    Logstash を使って MySQL データを Elasticsearch にインデックスする(基本編)
  • 事業立ち上げ後に求められる「やりきり力」

    Code Republicでは、起業家向けのイベントを定期的に開催しています。 今回はビジネスメンタリング第2弾を実施し、 堀新一郎、衛藤バタラ両代表があなたの課題に向き合います! 「起業するタイミングがわからない」 「資金調達を上手に… さて、Code Republicでは、East VenturesとYJキャピタルの投資先の先輩起業家の皆さんにゲストディナーにお越しいただき、起業間もない起業家の皆さんに様々なアドバイスをして頂いています。 先輩起業家の方とお話する中でよく出てくる単語、『やりきり力』について今日は寄稿したいと思います。 起業家の皆さんは、起業される際に幾つのビジネスアイディアを準備されていますか?1つ?3つ?5つ? BASEの鶴岡さんはCAMPFIRE家入さんとビジネスアイディアを100個検討したとか、ゴロー花房さんはピクスタ古俣さんと数十個検討したという話を聞きました

    事業立ち上げ後に求められる「やりきり力」
  • 「ランキング」のマイクロサービスを作った話

    FiNCではマイクロサービスでの開発をすすめており、バックエンドサービスの数は20を超えています。 今回はFiNCの数あるマイクロサービスのうち、FiNCアプリ内の「ランキング機能」のサービスを作った時の設計思想や実装について書きたいと思います。マイクロサービス化の一ケースとして、参考になる点があれば幸いです。 SummaryアプリケーションはRuby on Rails, データストアにMySQLとRedis (ElastiCache) を利用しています。記事中では以下のような点に言及します。 サービス設計 … サービスに持たせる責務、サービスの切り分け方データの同期(サービス間のイベント連携)の方法Redisを使ったランキングの実装RedisとMySQLを併用する設計と実装ビジネス要件今回、ビジネスサイドから話があったのは以下の二つでした。 歩数を用いたランキングをやりたい。 (短期目標

  • WebRTC ノハナシ

    主に WebRTC に関する最新情報をメモがてら。 宣伝時雨堂が一から開発した WebRTC SFU Sora を利用すれば、WebRTC でもサーバでの録画、複数人数でのビデオチャット、複数人への配信などを簡単に実現可能です。アプリへの組み込みを意識した作りになっているので認証やクライアントのコントロールも全てアプリ側で可能です。 WWDC17 にて Safari 11 が WebRTC への対応が発表

  • Safari に WebRTC がきてどうなるのか

    WWDC17 で iOS/macOS の Safari 11 に WebRTC が搭載されることになりました。これで何が変わっていくのかをだらだら書いてみます。 雑感対応ブラウザが増えてめんどくさくなるSafari 対応を色々頑張らなくて良くなるiOS ネイティブアプリを開発しなくても良くなるかもしれない技術的には対応ブラウザが増えることで、確認作業が増えるのは面倒です。今まで Chrome と Firefox だけだったのが、 Edge と Safari といきなり 2 倍です。確認コストは 2 倍以上です。 Safari 特に iOS の Safari や Chrome で WebRTC が利用できないことで、コスト高めの iOS ネイティブアプリを開発せざるを得ない場合がありました。もともとネイティブアプリであれば気にならないのですがウェブサービスのおまけとして提供される場合は iO

  • Incrementsを退職します – r7kamura – Medium

    IT エンジニア退職するときに添えられることが多い東亜飯店の画像今月いっぱいで Increments 株式会社を退職します。今日が最終出社日で、残りは有給消化です。 Increments では何をやってたの?Increments と言えば Qiita を運営している会社というイメージですが、Qiita の開発に直接携わる機会はほとんどなくて、技術基盤や Qiita:Team の開発に携わったりしていました。 分かりやすい例を幾つか挙げると、Qiita API v2、トップページのフィード、通知購読、絵文字リアクション、タスクリスト、qiita-elasticsearch、qiita-markdown、アクセス権限付きグループ、サポートサイト、チーム統合機能の開発や、UI 刷新、絵文字画像セット移行、ログインセッション永続化、Docker 移行、VPC 移行、Terraform 導入、We

    Incrementsを退職します – r7kamura – Medium
    masayoshinym
    masayoshinym 2017/06/07
    やっていきを優先した感じか。
  • CircleCI2.0でのGolang APIのデプロイ設定

    今在籍している企業では、最近CircleCI2.0へのアップグレードが盛んに行われている。 すでにアップグレードを体験された方からは、「は?」「速すぎてドン引き」「爆速すぎてずっと泣いてる」などとの感想が寄せられている。元気そう。 具体的に自分もAPIでバージョンを上げたら、6分半が45秒になった。 で、特定のpackageのtestだったり、インフラ周りの設定のアタッチ等なら小規模なのでなんとなくかけば導入できる。 しかしAPIとなると、意外と設定を載せているところがまだ少なかったので、API用途だとざっくりとこんな感じだよというのを書きたいと思う。 もしそこまでじゃなくていいので、簡単な設定がみたければこちらへどうぞ 全体感APIやある程度の規模のソフトウェアのCIとなると、 依存パッケージのインストールlinterでの文法チェックテストデプロイの諸々をやらなくてはならない。 色々名前

    CircleCI2.0でのGolang APIのデプロイ設定
  • チャットボットフレームワーク Ruboty を振り返る - r7kamura - Medium

    Ruboty を利用したデプロイの様子この記事では、Slack や HipChat で動く Bot をつくるためのフレームワーク Ruboty の仕組みを振り返り、現状の実現方法を把握し、今後 ChatOps を改善するための足掛かりとしたい。 出勤、デプロイRuboty というチャットボットフレームワークを数年前から開発しており、仕事でも Ruboty でつくった Bot を使った業務フローを導入・運用する機会が増えてきた。例えば、いま働いている会社では、Qiitan という Bot が出勤管理やデプロイに使われている。 Qiitan に最もよく投げかけられている発言は、「@qiitan 出勤」である。この発言を行うことで、自動的に社で利用している出勤管理サービスに対して、発言者が出勤した旨を代わりに登録してくれる。他によく使われる発言として「@qiitan デプロイしたい」がある。これ

    チャットボットフレームワーク Ruboty を振り返る - r7kamura - Medium
  • Amazonで騙されないで買い物する方法

    Amazonで詐欺が起きているニュースは見ていて、なにしたらいいかわからないけど自分は大丈夫だし、とくに気にせずいつも通り買い物しますか、という友人向けに投稿します。 Amazonは一見アマゾン体が販売しているように見えても、実はまったく違う会社が同じレイアウトデザインで販売できる仕組みを提供しています。メルカリやヤフオクを使っても、全部そのサービスのデザインで見せている感じと一緒。Amazonのデザインでたちが悪いのは、新品の商品が取り扱われていること、他社かどうかがパッと見でそれがわからないことです。詳細は割愛しますが、Amazonのシステム表示をこれらの詐欺業者がうまく騙していることにより起きている問題だったりします。真面目にやってるところはとばっちり。 なのでこの記事では浅枝がそもそもどうやってAmazonで買い物をしているのか、というのを細かく解説します。 Q. そう言われても

    Amazonで騙されないで買い物する方法
    masayoshinym
    masayoshinym 2017/04/27
    そんなはるか昔から実践してることを言われても。
  • Vuex complete API CheatSheet

    Ancient Brazilian web developer, from php, through Rails to Javascript, Vue.js enthusiast to React.

    Vuex complete API CheatSheet
  • 普段はiOSエンジニアの方が英語の話をするとすごかった

    年度末の金曜日を英語で締めくくろう! # 今年こそ...今年こそ英語レベルアップしたい... もう一人で挫折したくない、仲間が欲しい、月一くらいでモチベーション維持のためにアウトプットの場がほしい...。 そんな気持ちで、今年こそ英語が… 主催のkayocoがTwitterで呼びかけてとりあえず始まってみたこの勉強会も第3回です。毎回満員御礼。LT枠は倍率約2倍です。枠の都合でなかなか来れない皆様には申し訳ありませんが、毎回内容はかなり濃密だと自負しています。 3回目にして、なぜここで記事を上げるのかというと、今回僕が登壇してほしいとお願いした吉川さんはじめ、内容が濃すぎて僕自身振り返りの時間を取らないと内容が吸収しきれなかったからなんですね。LT枠で登壇されたみなさまには大変申し訳無いんですけど、この記事では吉川さんが話されていた内容にフォーカスさせてください。(LT枠を含めたまとめは後

    普段はiOSエンジニアの方が英語の話をするとすごかった
  • 良いプログラマーを採用するには

    ここで言う「良い」とは、優秀なとか、プログラミングスキルに長けたという意味。プログラマーと一口に言ってもいろんなタイプがいると思うし、お仕事だったら実務をチームでこなせることが第一条件になる。私なら以下の条件を全て満たせば良いプログラマーだと思う。採用やってるわけじゃないから当にそうかどうかは知らない。 リーダブルコードが書ける継続的な学習習慣が身についている客観的に理解できるドキュメントが書ける英語の読み書きができるプログラミングが好き先日、管理部が上長に新卒採用で未経験であっても、どうやったらプログラマー適性のある新人を採用できるかといった話をしていた。中途採用を待っていても採れないから新卒採用に注力するらしい。そんな中で性格に多少の問題があってもプログラミングスキルの高い人を採用すれば、あとは開発側で何とかするといったことを話したところ、管理部もそれ自体は理解しているが、会社の方針

    masayoshinym
    masayoshinym 2017/03/16
    “中途なら「これやって、分からんかったら聞いて」で済む会話”いったいいつから中途ならそれで済むと錯覚していた?
  • イケイケなベンチャー企業が「リモートワーク」導入失敗する3つの理由

    私はもともと富士通っていう会社で働いてたんですが、そこには中国にいても北海道にいても違和感なく会議ができる仕組みがありました。(少なくとも私が所属していた部署の現場には) 会議スペースが絶対的に足りないという理由からMicrosoft Lyncが導入されて、それ以来は社員同士が(たとえ向かい合って座っているとしても)Lyncでスクリーンシェアしながら電話会議をするというのが習慣化していたのです。 ところが、2015年にとあるベンチャー企業に転職して、それが当たり前じゃないことに気づきます。 「リモートワークやろう」と意識高く言う人はイケイケベンチャーだとたくさんいます。しかし、ちゃんとやることもやらないまま「うまくいかない・・・」と結論付けられるさまを何度か目の当たりにしました。 この記事では、「ちゃんとやることやってからじゃない?」と違和感を覚えたところをなんとなく書きのこしておきます。

  • 成長する会社の定義

    成長する会社をすごく簡単に定義すると 1.事業モデルと顧客ニーズを定量、定性を通して詳細に分解、構成を理解している。→最低でも半年分は正確に事業計画が書ける。ブレない。 2.的確にモデルに対して、人と時間とお金を配分し、社内で競争するのではなく、協力して改善を行っている。無駄なコストを削減できている。(仕事が被らないように割り振られており、組織に個人が埋没しない仕組みになっている) 3.そして、それに合致した行動規範があり、事業が推進されている 上記1,2,3を満たしている会社だと思っています。 (もちろん何をやって社会に役に立つというミッション定義は別にあります) 1の細かさがすべてを決めますが、殆どの会社が自社がなぜ成長しているのか、理解されていません。 1と2を決めてから、社長は飲みに行ったり、講演を増やしてマーケティング活動に勤しむと楽になるかも 笑

  • 56歳からコードを書き始めて食べていく方法

    私は56歳、最近プログラミングを始めたんだ。 なぜかって?やりたいからに決まっているじゃないか。ようやく最近コツをつかめてきてね。でもコツをつかめたからといって簡単にはいかない。正直なかなか手こずっている。でもいいんだ。 アルゴリズムに挑戦して我を忘れるのは楽しいし、まだテストしたい事があって「あと数分だけ」と繰り返し自分に言い聞かせるのもいい。「今度こそ上手くいったかも、、」とドキドキしてから「やったぞ!ついに動いた。」となる瞬間も大好きだ。 でもこんな私には今まで趣味と呼べるものが何ひとつなかった。自分に見返りがない事に時間を費やすのは嫌だったんだ。ただ楽しみのためだけに何かをするのが好きじゃなかったのさ。休みの日にやる事といったら、ちょっとした小遣い稼ぎになるような事ばかりだった。 オーケー。もちろんコーディングだって小遣い稼ぎさ。上手くやればかなり稼げる。これだってあなたから見れば

    56歳からコードを書き始めて食べていく方法
    masayoshinym
    masayoshinym 2017/01/26
    この人ならやれるだろうなって感じがひしひしと。
  • Swiftで無限ループするパターンが見つかる

    下のプログラムを実行すると無限ループします。試したのは Playground。Xcode 8.2.1 で Swift のバージョンは 3.0.2。 let array: [Int?] = [1, 2, 3, 4, 5]for i: Int! in array { i }ループカウンタの i を Int! で宣言しているところがポイントです。 試すなら脱出カウンター付きの下のほうがよいです。 let array: [Int?] = [1, 2, 3, 4, 5]var counter = 0 for i: Int! in array { i counter += 1 if counter == 1000 { break } }で、5以降は何が i に入っているのか確認するために nil かどうかのチェックを入れました。 let array: [Int?] = [1, 2, 3, 4, 5]v

  • WEBエンジニアがプロダクト開発を通じて学んだチームビルディングに関する5つのTIPS

    インタ ーネットの世紀のプロダクト ・マネジャーの役割は 、最高のプロダクトの設計、エンジニアリング、開発を担う人々とともに働くことだ — 『How Google Works』 記事は Livesenseその3 Advent Calendar 2016 の24日目の記事です。いきなり格好つけた言葉から入ってしまいましたが、クリスマスイブなので。同様に以下ポエミーかつエモ目の記事となります、ご容赦ください。 私は転職会議というWEBサービスの開発に携わっており、2年ほど前から開発チーム(エンジニア/デザイナ/ディレクタの混成チーム)のマネージャーとしてプロダクトオーナー(PLは持たない)兼エンジニアマネージャーのような仕事をしてきました(最近では二足のワラジに限界を感じてプロダクトマネージメントのみに集中していますが)。 記事では、プロダクト開発に携わってきた中で、グロースに繋がったと思

  • Swiftポエム — null安全編

    Swiftのおかげで人生豊かになったと言っても過言では無いので、ポエムを書きます。 Objective-Cという色々突っ込みどころの多い言語を使いこなさないとiOSネイティブアプリを書けない辛い時代でした。 しかし、そんな中でもiOSは… ミスったところは大体コンパイルエラーにしてくれてます。 Scalaなどと同様、関数型言語の性質も取り入れた書き方も出来ますし、かといっていわゆる関数型言語みたいな堅い縛りもなく、共存しやすいです。 一時期Haskell入門してモナドなど勉強して挫折気味でしたが、Swiftでそれ系の記事読んだり触れたりして理解深まりました。 SwiftでOptionalというnull安全のための言語仕様があることはもちろん嬉しいですが、個人的にはそれはそこまで重要では無いと思っていて、「型が強い」ことの一要素程度に思っています。 静的言語 vs 動的言語僕は静的言語大好き

    Swiftポエム — null安全編
  • 優れたフォームをデザインする

    サインアップのフローであれ、マルチビュー・ステッパーであれ、ありきたりのデータ入力であれ、「フォーム」はデジタル・プロダクト・デザインにおいて最も気を遣わなければならないものの1つです。 そこで、今回は一般的にフォーム・デザインで何をやり、何をやらざるべきかについてお話したいと思います。あくまで一般的なガイドラインですので、そのようなものとしてご理解頂いた上で、皆さんの参考になれば幸いです。

    優れたフォームをデザインする
  • 何を使って、共同で仕様書を書こうか

    ソフトウェア開発の仕事を請けるとき、すぐに開発を始められるような仕様が提示されることは、ほとんどない。発注側がそんなものを用意できるなら、私に依頼せずに、クラウドソーシングを使うほうが費用対効果が高い。仕様を策定するのも込みで、なんなら要件を発掘するところも含めて、仕事が依頼される。 問題解決をしながらのものづくりには、反復的な変更を伴う。顧客に問題ドメインの知識があり、こちらに解決手段の知識がある場合は、互いの共同作業になる。「こういうことですかね?」「ちょっと違うんだよねー。アレをナニする感じで」「こうやれば、いけるかも」「うは、それいい」みたいに。 仕様を記載したファイルを、厳密にキャッチボールできないときには、ひとつのファイルに対して、複数の人間が並行して変更することになる。プログラミングでは diff と merge というツールが活用できる場面である。仕様書を共同で作るとき、そ

    何を使って、共同で仕様書を書こうか