タグ

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

  • AutoML Vision と RasPi でリビングのいろいろな音を認識する

    Cloud AutoML Vision は、画像とその分類ラベルをクラウドにアップロードするだけで画像認識の機械学習モデルを作成できるサービス。ラーメン二郎のどんぶり画像から 95% 精度で店舗を当てたりできる高性能だけど、機械学習のディープな知識や経験がなくても使える。 で、これでまず試してみたかったのが、音の認識だ。画像じゃなくて音。 2 年くらい前に、画像認識用の CNN を使って音声を認識する論文が Microsoft Research から出てて、へぇーっと思った。スペクトログラムっていう、よく犯罪捜査で出てくる声紋のアレを使って音を画像にして、その模様から音の特徴を認識する。 CNN音声認識Microsoft Research)なるほどなあ。。つまり、世の中のどんなデータでも、捉えたい特徴を画像の特徴として表せれば、画像認識で識別できる……ってことだ。 そして、AutoM

    AutoML Vision と RasPi でリビングのいろいろな音を認識する
  • スタートアップのエンジニア採用

    SOELU[ソエル] はオンラインのライブヨガスタジオです。空いた時間におうちでヨガを楽しめ、インストラクターとライブで繋がってレッスン受講できるのでおうちでもヨガが続きます。ヨガ初心者の方も歓迎!まずは無料体験から! 今日はスタートアップのエンジニア採用について書きます。あなたが会社を興してプロダクトを作ることになったら、どんな開発チームを作りますか?どんなエンジニアを採用したら、いいプロダクトが作れるでしょう? 答えは分かりきっていて、スタートアップは短期間でプロダクトを急成長させることを目的とした組織なので、経験豊富で機動力のあるエンジニアを少数精鋭で集めるのがいいです。 …が、これができるのはごく小数のスタートアップだけです。簡単そうに書きましたが、めちゃくちゃ難しいです。 まず、優秀なメンバーに高い年収のオファーを出すキャッシュがありません。転職ドラフトでスタートアップが提示して

    スタートアップのエンジニア採用
  • Pythonユーザーなら知っておきたいのリストの仕組み – Yasufumi Taniguchi – Medium

    Pythonでプログラムを書くとき、ほぼ必須となるデータ構造であるリスト (list) の仕組みを紹介します。僕自身Pythonをよく使うのですが、これまで実装を意識してこなかったので、内部の仕組みについてまとめてみました。Pythonのリストは要素の追加 (list.append) /削除 (list.pop) により、サイズが動的に変更されますが、これらはO(1)で高速に行う (list.popは末尾要素のみ) ことができます。この記事ではその理由について解説していきます。 Pythonのリストのような特徴を持ったデータ構造は動的配列 (dynamic array) と呼ばれます。通常の配列は静的配列 (static array)として区別されます。 この記事では、動的配列の概要、要素の追加/削除について、MITの講義 (Table Doubling, Karp-Rabin) を元に以

    Pythonユーザーなら知っておきたいのリストの仕組み – Yasufumi Taniguchi – Medium
  • クレジットカード番号がログに残らないようにする fluent-plugin-pan-anonymizer をリリースしました

    クレジットカード番号がログに残らないようにする fluent-plugin-pan-anonymizer をリリースしました カンムでは業務でお客様のクレジットカード番号を扱っています。お客様の安全のため、PCIDSSの要件をクリアするため、コンプライアンス遵守のため、カード番号は安全に取り扱う必要があります。この記事では対象をログに定め、ログに不用意にカード番号が残らないような仕組みについて書きます。 fluent-plugin-pan-anonymizer端的に言うと、こちらの fluent filter plugin を開発し、このプラグインを経由させることでカード番号がログに記録される前にマスクしています。 https://github.com/kanmu/fluent-plugin-pan-anonymizer プラグイン名に入っている PAN は Primary Account

    クレジットカード番号がログに残らないようにする fluent-plugin-pan-anonymizer をリリースしました
  • 技術記事のタイトル間の類似性を計算する - chakki - Medium

    近頃はソーシャルメディアが当たり前のように使われ、数多くの実用的なチャットボットも登場し始めています。これらの媒体で入力されるテキストの特徴としてその短さがあげられます。Twitterなら140文字までですし、チャットボットはせいぜい1文か2文でしょう。 それらに入力されたテキストと類似したテキストを計算できると役に立つ機能を作れます。Twitter であればパクツイの検知や関連ツイートの検索をできますし、チャットボットであれば質問と似た文を過去の質問応答のデータベースから検索して応答できるようになります。 テキストの類似性を計算する手法として Word Mover’s Distance(WMD) があります。 WMD は Word2vec や GloVe 等で得られた単語の分散表現を使ってテキストの距離を計算する手法です。古典的な手法と比べて Twitter のような短いテキストに対して

    技術記事のタイトル間の類似性を計算する - chakki - Medium
  • プロダクトマネージャーは、自分達が「頭がいい」ことを理解しなければならない – Teruhisa Fukumoto – Medium

    みなさんこんにちは。 チャットボット開発のスタートアップでプロダクトマネージャー(以下PM)兼エンジニアをやっている福です。 先週11月6日~7日にかけて、プロダクトマネージャーカンファレンス2018(pmconfjp)が行われましたね。僕も参加してきましたが、「PMという職種が市民権を得てきている」というのが、当日の盛況ぶりから伝わってきました。 さて、今回はカンファレンスで色々な方と接して改めて感じた「PM」という人種について(偉そうに)語っていきたいと思います。例によって、この記事は僕の妄想に基づいた怪文書となっています。 「頭がいい」とは今回もタイトルを刺激的にしてみたわけですが、僕はPMの地位を不当に上げるために「頭がいい」という表現を使ったわけではありません。ましてや、PM上げをすることで遠回しに「オレは頭がいいぞ」という主張がしたいわけでもありません。 僕はPMの「頭の良さ

    プロダクトマネージャーは、自分達が「頭がいい」ことを理解しなければならない – Teruhisa Fukumoto – Medium
    masayoshinym
    masayoshinym 2018/11/13
    “「PMは自身が突き抜けるほど、その思考や生活がユーザーから離れていく」”「頭がいい」と全然結びつかなくて一切内容が頭に入ってこない。
  • Flutterの効率良い学び方

    “Spider-Man leaning on concrete brick while reading book” by Raj Eiamworakul on Unsplash 数ヶ月間Flutterに関する大量のインプットを行い、単純なアプリならサクッと、複雑なアプリでも都度調べながらなら慣れているiOSネイティブアプリ開発と比べても遜色ないレベルのものを普通に作れるであろう自信が出てきました。記事では、自身の過去の取り組みを踏まえてFlutterを学ぶにはこういう道筋が良いだろうということを書いていきます。 まずはとにかく公式ドキュメント

    Flutterの効率良い学び方
  • Vue.js からみた AtomicDesign

    この記事はVue.js #3 Advent Calendar 2017の13日目の記事です Atomic Design自体の記事は色々ありますので、この記事ではAtomicDesignで設計したコンポーネントをVue.jsで実際に運用してみて感じた事をまとめてみました 実際にどんな感じになるか結論から言うと、AtomとMoleculeにStoreを持たせず。 OrganismsとTemplateあたりの粒度でStoreを利用するとIA的にも収まりがいい様に思えます。是非デザイナーにツッコミ入れましょう。 VueコンポーネントをAtomicDesignで実装するとだいたいこんな感じになります。Atomの役割色・タイポ・ボタン固定文言など 直接描画要素にデータをレンダリング描画要素のイベントを発行親要素からのデータ受け取り登場箇所がすごく多いのでステートレスを徹底するStoreみちゃダメ絶対!

    Vue.js からみた AtomicDesign
  • iOSネイティブアプリ開発者から見たFlutter

    Flutter is Google's mobile UI framework for crafting high-quality native experiences on iOS and Android in record time… なぜFlutterに興味を持ったかFlutterAndroidアプリ開発者ウケの方が良くて、iOSネイティブアプリ開発者が気で触っている事例を国内ではあまり見聞きしません。そのためか、周りからも「iOSネイティブアプリが作れるのになぜFlutterにも手を出すの?」のようなことを聞かれることがちょくちょくあります。まずはそのあたりから詳しく述べていきます。 一番初めのきっかけはDroidKaigi 2018の発表DroidKaigi 2018 用のiOSアプリがFlutterで作られていて、 konifar さんのこちらのスライドを見たりPodcas

    iOSネイティブアプリ開発者から見たFlutter
  • 「現場のためのSwift4」を読んだ

    Amazonで澤田孝志, 今村哲也, 染谷昌利の現場のためのSwift4 Swift4.1+Xcode9.3対応。アマゾンならポイント還元が多数。澤田孝志, 今村哲也… 「Swift4」というより「現場のための」タイトルから受ける印象としては「Swift初心者はSwiftという言語について理解できる・Swift中級者は言語のバージョンが3→4にアップデートされたけどどうなったのかキャッチアップできる」みたいな感じだったのですが、中身はもっと広範囲に及ぶ、挑戦的なでした。主にフォーカスされているのは開発工程全体。それゆえ、の袖には👈こんなふうに書かれています。 なお、こので言う「開発」の対象はiOSアプリです。そういう意味でも、「Swift4」というタイトルは少しミスリーディングかもしれませんね。 対象読者層広い領域をカバーしているだけあって、多様な読者層を対象に書かれている

    「現場のためのSwift4」を読んだ
  • プログラミングを教えるときの10のポイント (という論文の紹介)

    1. ギークの遺伝子なんてないことを心に留めようよく、「プログラミングには得意不得意がある(some kids get it, and some kids don’t)」とか、さらには「プログラミングには向いていない子がいる」とか聞きますね。 大学のコンピュータサイエンスの授業の成績分布が、とても良く理解できる生徒と何もわかっていない生徒にくっきりわかれる、という話も聞きます。当でしょうか?Patitsasらの最新の研究によると、実際にはそんなことはなく、くっきりと成績の分布が分れてしまったコンピュータサイエンス入門のクラスは、5.8%に過ぎなかったそうです。 この論文では、「プログラミングには得意不得意がある」という迷信は、プログラミングを学びだしたときに躓きがちな生徒でなく(意識的か無意識的かにかかわらず)、スムーズに学ぶ生徒の方へ教える時間や熱意を費やすことにつながり、ひいてはコン

    プログラミングを教えるときの10のポイント (という論文の紹介)
  • 死に続けるブログと「どこに書けばいいのか問題」

    In the ten-plus years since I started this blog, one of the clearest trends on the Web has been for destination sites… この論考はとても面白いのでぜひ全部を読んでいただきたいのですが、骨子をまとめると、個人がブログを書くときのコンテンツの一生を 1. Creation「コンテンツの作成」、2. Distribution「配信」、3. Discovery「読者による発見」、4. Consumption「消費」という具合に分類した場合に: 昔はブログに書いたらあとはRSSが読者のもとに届けてくれ、多くの人はPCで記事を読んでいた。Creation、Distribution、Discoveryの分離が明確だった。今は Creation と Distribution と Disco

    死に続けるブログと「どこに書けばいいのか問題」
    masayoshinym
    masayoshinym 2018/03/13
    Medium全然輪が広がらなかったのでnoteに以降しようと思ってる。
  • プライベートでコードを毎日書き続けて2年以上が過ぎた

    いつの間にか2年間継続してコードを書いていたので、その振り返りです。上のインコは日々僕を応援してくれる二羽のインコのうちの一羽です。この後をボロボロに噛みちぎっていきました。 1年目との違い去年こんなポストを書きました。 このとき、自分はコードを1年継続して書いたわけですが、その後また1年継続してコードを書いていました。 1年目とは「書きたい」と思うものも変わりました。また、習慣を維持する労力も小さくなり、コードを書くことそのもの以外の、登壇などの時間を取れるようになりました。 この1年で新たにやったことツール作成markdownをMediumポストにするCLIツールAWS SSMで管理されたパラメーターを環境変数にInjectするツールGoogle Cloud Platform API向けに使える、goonと同様のDatastoreクライアント基盤作成AWS上にTerraform+An

    プライベートでコードを毎日書き続けて2年以上が過ぎた
    masayoshinym
    masayoshinym 2018/02/27
    8時まで寝られるの羨ましい。
  • 新卒を3ヶ月で捨ててフリーランスになって変わったこと、得たもの、そして失ったもの

    新卒入社したピクシブ株式会社を退職し、フリーランスになって半年以上経った。格的に仕事をし始めたのは8月からなので、まぁ丁度半年と言っても問題ないだろう。 自分は高卒で入社しておいて3ヶ月半でやめるという信じられないような行為をした上でフリーランスとして生きているわけだけれど、今の生き方はすごく満足している。自分にとって新卒というカードはあまり重要ではなかったので使ったことに特に後悔はないし、ストレートでフリーランスになるより数ヶ月だけでも新卒をできたのは良いことだと思っている。 とはいえ状況としては今のほうが性に合っていることは間違いない気がするし、良いことを書きたいんだけど、それはそれとして、明確に失ったものもあるのでどちらもどこかにまとまったテキストとして書き残して、これからまた自分が大きな人生の選択をする時に考えるためのものとして活用できたら良いなということを思い、書いてみることと

  • 信頼できて行動力を持った仲間 - erukiti - Medium

    行動力を持っていて、僕に取って信頼できる人であるところのおやかた@技術書典4(当選) (@oyakata2438)さんがこんな発言をしていた。 最近、口に出したことがいろいろ実現したり、具体化に向け相談中、なんてことが続いている。 信頼できる人たちには、やりたいこと、あったらいいな、をとりあえず伝えておくと、絶対損しないw飲み会とかでもいいのでw — おやかた@技術書典4(当選) (@oyakata2438) February 13, 2018 これ、ちょっと条件があって、人として信頼できる人達でも行動力の無い人たちなら実現しないし、行動力があっても人として信頼できない人たちだったら困った事になりがち。僕はそういう意味では、技術書典をきっかけに、親方さんを含めた信頼できて行動力がある人達と去年出会えたのがとても大きい。 年末に書いた通り、一昨年から去年にかけてかなり重度の人間不信に陥る事態

    masayoshinym
    masayoshinym 2018/02/15
    信頼できて行動力を持った仲間に出会う方法を教えて欲しい。
  • MergeCat: CIがgreenになったらPull-Requestをマージ

    GitHubを使ってPull-Request駆動で開発していると、CIに待たされることがよくあります。 レビューは一瞬で通る軽微な変更をPull-Requestにした時マージする前にrebaseしてコミットを整理した時リリースの為にdevelopからmasterへのPull-Requestをした時このようなケースでは、CIが通り次第Pull-Requestをマージしたいでしょう。そんな時に人間がCIが通るのを待つのは時間の無駄です。5分、10分かかるテストをただ待っていても何も良いことはありません。 かと言ってPull-Requestを放置していると、そのPull-Requestの存在を人間は忘れてしまいます。運が良ければ1時間後にそのPull-Requestの存在を思い出して、マージできるかもしれません。運が悪いとPull-Requestが他の変更とコンフリクトして、もう一度CIを待つハ

    MergeCat: CIがgreenになったらPull-Requestをマージ
  • ペイモのリファクタリングとの戦い

    割り勘アプリ「ペイモ」がリリースされて早1年。僕がペイモiOSの開発に関わり初めたのはリリース直後だった。驚くべきことに、当時、弊社AnyPayにはアプリエンジニアが誰もいなかった。 誰がペイモを作ったのか。そう、完全に外部のチームがペイモiOS/Androidを作りあげたのだ。それもおよそ3ヶ月という短い期間で。さらに、プレスリリースの日付も決まっていたので、決して遅れることは許されなかった。今、当時の仕様書を振り返ってみても、よくこれをそんな短時間で作り上げたな…となってしまう。 では、そんな短時間でこんなハードな開発を行うとどうなるのか…。ブクブクに太ってしまったViewController。APIから受け取った配列データをDictionaryにマッピングした結果期待通りの順番が保証されていないデータ群。急に登場するTableViewController。どこで値が更新されているのか

    ペイモのリファクタリングとの戦い
  • タベリー | とある仕様書 – Yamotty – Medium

    グループ共有機能仕様書の公開に踏み切ったのは、10Xのプロダクトがどうやって作られているか、について部分的に触れてもらえると思ったから。 10Xでは「細かな実装・デザインの白兵戦」・「認知と理解を獲得していく空中戦」を一緒に戦えるプロダクト・マネージャーを育てていきたいと思っているので、この仕様書を読んで「10Xで力を試してみたい!」という方はぜひ以下のフォームから応募してほしい。ユーザーの感情を科学できる人が10XのPMにはフィットすると思う。 仕様書の前提となる考え仕様書は「チームのワーキングスタイル」によってその役割をかえるものだ。今の10Xは「ユーザーの前に積まれた膨大な課題の山に優先度を付け、とにかく早くプロダクトをプッシュしていくこと」が最優先のチーム。 そのため、「膝を突き合わせて瞬発力の高いコミュニケーション」を重視している。リモートはしない。 この環境では議論のすべてが口

    タベリー | とある仕様書 – Yamotty – Medium
  • コードレビューにおけるレビュアー側のアンチパターン

    tl;drコードレビューが上手く回って無くてチームが疲弊して辛かったよレビュアーの言い方を変えるだけで大体解決するよ立場とかで例外を許さず、みんながレビューしてレビューされると良いよはじめにあるプロジェクトGitHubのPRベースでのコードレビューを導入をしました。いかんせんチーム開発が初めてレベルの新人さんが多く、何かと苦労しました。特にレビュイーに対して不効率な指摘はそのまま指示の不明確さに繋がり、チーム全体の開発生産性を下げるので、レビュアーはレビュイー以上に気を使う必要があると感じました。下手をすると、レビュイーのメンタルが弱って闇堕ちするので、チームメンバーの最も大人な人がメンタルケアしたりします。大人な人は大体がリーダー格なので、その人の時間が奪われると何かと開発現場が疲弊しちゃいますね。コードレビューってそんなに難しいものだっけと思ったりもしますが、反省の意味も込めて実際に

    コードレビューにおけるレビュアー側のアンチパターン
  • Qiitaを運営するIncrementsのエイチームグループ入りについて

    開示のあった先週金曜日に個人のTwitterやFacebookで簡単に書きましたが、弊社よりQiita, Qiita:Teamを運営するIncrementsは2017/12/25より株式会社エイチームの完全子会社となり、エイチームグループへ加わることとなりました。 株式会社エイチームによる Increments 株式会社の全株式取得について — Increments株式会社 Twitterでは多くの方に言及していただき、「買収」ということに対して不安に思われているQiitaのユーザーさんもいらっしゃるようですが、Incrementsが引き続きQiitaやQiita:Teamを提供し改善し続けること、今後もエンジニアを幸せにするサービスや事業に取り組むことは変わりません。株式会社エイチームは経営理念として「みんなで幸せになれる会社にすること」を掲げていますが、その中でも社内外のエンジニアに対

    masayoshinym
    masayoshinym 2017/12/28
    思わず「赤字」でgrepしたけど何も出てこなかった。