akamecoのブックマーク (540)

  • KILL ALL HUMANS // Speaker Deck

    All slide content and descriptions are owned by their creators.

    KILL ALL HUMANS // Speaker Deck
  • Findy フリーランス【公式】エンジニアの案件情報サイト

    こんなお悩みありませんか?次の案件を探すのが大変…短期間で案件が終了してしまうため、 経済的に不安定で落ち着かない 正社員と働き方が変わらない…フリーランスになっても結局、 週5・常駐時間固定の仕事をしている 自身の技術力に不安…レガシーな技術や同じ環境で開発していて、 モダンな言語を使った開発に携われない Findy Freelanceが支持される 3つの理由ユーザーサクセスの手厚いサポート面談後に最短での案件の紹介はもちろん、稼働後も請求書支払いのサポート、単価や働き方の条件交渉も可能。 ※最短3営業日以内で案件をご紹介 週2〜3日やフルリモートなど、 自分に合った働き方を選べるリモート案件が約70%、週2〜3日の案件が60%と、あなたの実現したいライフスタイルに合わせて、案件を紹介させていただきます。 スタートアップ企業を中心に モダンな環境で開発できるGo, Python, Rea

    Findy フリーランス【公式】エンジニアの案件情報サイト
    akameco
    akameco 2018/02/15
    とても‘’正しさ‘’を感じる
  • 幸せを極大化するためにPairsが活用するAWSと機械学習

    2017年10月20日に開催された第1回X-Tech JAWSでLoveTech代表として語ったのはマッチングサービス「Pairs(ペアーズ)」を手がけるエウレカの臼井友亮さん。「オンラインデーティング」の価値を上げるべく、AWS機械学習をフル活用する現場の様子を生々しく語った。 600万人会員なのに、使っていることが共有されないPairs 「人の出会いを支えるPairsとAWSの切っても切れない関係」というタイトルで、いわゆる「LoveTech」でのAWS活用について語ったのは、エウレカの臼井さん。システム計画研究所、ハンズラボを経て、昨年エウレカに移ってきた。現在はSREチーム/サーバーサイドエンジニアとして、Go言語でアプリケーションを書いたり、開発チームをまとめたり、CTOとPairsの事業戦略を踏まえた中長期な技術戦略を共に考えているという。 さて、エウレカが手がけるPairs

    幸せを極大化するためにPairsが活用するAWSと機械学習
    akameco
    akameco 2018/01/30
    短・中期的にできることばかり進めていても、エンジニアにとって技術的なチャレンジやR&Dに結びつかない。そのため、あえて「機械学習を使う」といった形で手段を目的化することも必要
  • アウトプットしよう!

    自分がアウトプットして得たもの、伝えたいことをまとめました エモ!

    アウトプットしよう!
    akameco
    akameco 2017/12/23
    月に2~4登壇強すぎる
  • 正しい(Neo)Vimのやめ方 · 遺言書

    この記事はN高 Advent Calendar 2017の記事です。N高要素がないどころが人が卒業生です。 やめた理由としては、今年の春にN高を卒業したということで頭文字がNだったのと、vimscript書きたくなくなってきたのと、vimconf2017でのt9mdさんのvmp: the most ambitious vim emulator - Qiitaを効いた結果やめられそうな気がしたからです。 AtomはJavaScriptでplugin書けるので便利ですね。 Vimの沼 大体主な理由は以下の通りだと思います vimscriptに恋をしてしまった 秘伝のconfigファイルでキーバインドを染め上げてしまった 僕は2つめに該当していたが色々不満が出てきたのですが、いい加減vimrc管理するのに疲れてきたのと、色々vimの使い方が変わり vimrc からキーバインド設定が消えてきたと

    akameco
    akameco 2017/12/23
    その日の気分でVSCodeとAtomとvimを使っているけどそれぞれvimプラグインが優秀なので頭の切り替えなしで本当に気分で使い分けられてよい
  • これからの時代のメタプログラミングJavaScriptの正義を語ろう - Qiita

    JavaScript Advent Calendar 2017 - Qiitaの第一日目です。JavaScriptにおいてメタプログラミングを用いて、エンジニアリングにおける邪悪と闘うという趣旨の記事です。 秋のJavaScript祭 in mixi 2017 - Javascript祭りでこれからのメタプログラミングJavaScriptの正義を語ろうという発表をしてきました。この記事はそれをベースにしています。 技術書典3で頒布した簡単JavaScript AST入門という同人誌ですが、どうも電子版を求める声が多いので、簡単JavaScript AST入門 - 東京ラビットハウス - BOOTH で電子版を販売しています。 結論から メタプログラミングを活用すればこの三つを達成できます。 コーディングタイムコンパイルという新しい概念・技術 暖かみ溢れる手作業を根絶 生産性を向上して、相対

    これからの時代のメタプログラミングJavaScriptの正義を語ろう - Qiita
    akameco
    akameco 2017/12/01
    s2sの作者です。10分あれば試せるので、とりあえず使ってみてフィードバックよろしくです🙇Issueは日本語で大丈夫です😆まだちょっとwindows対応が微妙なんですが😅 https://github.com/akameco/s2s
  • テストのためのクラス名をプロダクションビルドで除去する [react,jsx] - Qiita

    idやclassを使ってテストを書くのは、もはやアンチパターンである 上記の記事を書いたところ、様々な反応があり非常に勉強になりました。 中でも気になったのが、class名に規約を設け、test-というプレフィックスを付けるものです。 個人的には、カスタムデータ属性の方が分離する際の見通しが良く、またCSSinJSにも適用できるのでこちらを推しますが、チーム内で共通の理解がある場合は、クラス名で制約を付けるのは良い解決作だと思います😆 さらに言えば、この問題の質は、いかにチーム内で同意が得られるかに尽きます(data-testを書いたところで共通認識がなければ意味がないですから) さて、class名のよるtest-プレフィックスについて、ちょっと見たところプロダクション時に取り除くプラグインはないようでした。 なのでちょっと作ってみました。 akameco/babel-plugin-r

    テストのためのクラス名をプロダクションビルドで除去する [react,jsx] - Qiita
    akameco
    akameco 2017/11/21
    書いた
  • idやclassを使ってテストを書くのは、もはやアンチパターンである - Qiita

    いきなり結論を書くと、idやclassはスタイルのためのものなので、テストでそれを使うのはやめましょう。そして、カスタムデータ属性を使いましょう。(idやclassはスタイルのためだけではないという意見はごもっともです!しかし、主にとしてスタイルに使われるということでご了承頂いて以下の駄文に付き合って頂けると幸いです🙇) 先に断っておくと主にreactについての話で、JSXを前提とします。(手法はReactに限りませんが理由は後述) 2020/03/23 追記 この記事は1年以上前に書かれた記事なのでテストフレームワークとしてenzymeを使っていますが、現時点ではTesting Libraryの使用をオススメします。data-testid に対応するクエリを備えています。 React Testing Library · Testing Library はじめに ご存知の通り、ロジックと

    idやclassを使ってテストを書くのは、もはやアンチパターンである - Qiita
    akameco
    akameco 2017/11/19
    id:mexxx ちょっと理解不足で申し訳ないのですが、具体的な状況を教えて頂けると嬉しいです。よろしければ詳細をコメント欄に書き込んでください。記事に反映させて頂きます
  • これからのメタプログラミングJavaScriptの正義を語ろう / meta programming JavaScript is Justice - Speaker Deck

    コーディングタイムコンパイル 暖かき溢れる手作業による重複を根絶する 生産性を向上して、相対賃金を上げる

    これからのメタプログラミングJavaScriptの正義を語ろう / meta programming JavaScript is Justice - Speaker Deck
    akameco
    akameco 2017/11/18
    s2sの紹介ありがとうございます!!
  • twitterが280字になったので、ツイートをライブラリとしてバベって使う - Qiita

    ツイッターが英語で280文字書けるようになりました🎉 つまり、ツイッター上でコードを書くのが現実的になったということですね。 せっかくなので、ツイートをライブラリとして使ってみましょう。適当に呟いて、import hello from 'twitter:あなたのツイート'と書いたら、Babelをつかってツイートをコンパイルして実行です。 How to Use babel-plugin-twitterをインストールして、create-babelrcで.babelrcを生成します。 $ yarn add --dev babel-{cli,preset-env,plugin-twitter} $ npx create-babelrc -o Created .babelrc { presets: [ 'env' ], plugins: [ 'twitter' ] }

    twitterが280字になったので、ツイートをライブラリとしてバベって使う - Qiita
    akameco
    akameco 2017/11/11
    書いた
  • PWA で SS リーダーアプリ作った - Qiita

    リーダーと呼びましたが、いわばアンテナアプリ側です。複数のSSまとめサイトの SS リンクリストを表示します。 このアプリの一つ目の特徴は検索です。作品タグ + キャラ名で絞り込み、検索クエリをタブ化して保存できます。 もう一つの特徴は複数のサイトをあつかっていながらSSの重複がないことです。タイトルをある程度正規化して集約しています。 データは Rails で実装した API からとってきています。記事データは SS アンテナサイトの RSS を収集しています。SSをRSSで非SSRです。 実はこのアプリのコアはサーバーサイドで、収集やタグ整理、管理の自動化に力を入れています。 React Native で作っていた個人開発アプリを PWA に移行しました。(1から) 作っているものが Native である必要がないこと、アプリストア管理やリリース準備などの手間を感じていたこと、デバッグ

    PWA で SS リーダーアプリ作った - Qiita
    akameco
    akameco 2017/11/02
    s2sを使ってる!!!!
  • コンポーネント時代のi18n - Qiita

    グローバルからコンポーネントベースのid管理へ サービスを海外展開したい場合、国際化対応を行う必要性があります。これをi18n対応と呼びます。Reactフロントエンドを構築する場合、i18nのための多くのライブラリがありますが、ダウンロード数的にyahoo製のreact-intl が最も使われているライブラリです。react-intlを実際に使っている例としては、スター15000を超えるReactボイラープレートであるreact-boilerplate やSNSの マストドンがあります。 react-boilerplate/react-boilerplate: A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best

    コンポーネント時代のi18n - Qiita
    akameco
    akameco 2017/11/01
  • 東京ラビットハウス

    10/15までは、がーーーーっと一気に書いて、そこからブラッシュアップしてました。 これは性質が違うものだからタイムスパンは違うけど、ぼくも考え方は全く同じで、まずがーっっと量を書く。書いて書いて書く。修正は後からじっくり。特に一端離れてから見直すと見通し良くなる。を書くときの重要テクニックです。(に限らない) レビューア&校正 思いつきでレビューアを募集したところ応募をいただけまして、5人の方の応募がありました。 れいな@底なし沼の魔女 さん あかめ@無職.js さん 父 さん まつど さん やまんだー さん あかめさんは特に実際にBabelを触ってる人だったので、その方面でのご指摘を多くいただきました。あとの方はASTについて詳しくない視点での指摘で、どちらもすごく助かりました。レビューのおかげでの出来が圧倒的に良くなりました。 10/17のもくもく執筆会☆出張版 REV.3 @

    akameco
    akameco 2017/10/24
    レビューも楽しかったです。あと執筆速度パない
  • Flow導入して数ヶ月がたった所感 - tomoima525's blog

    ReactNativeプロジェクトで、型がないことによるつらいシーンが多くなり(特に変数の解釈に起因するバグ)、Facebook製の静的型解析ツールであるFlowを数ヶ月前に導入しました。導入時の学びと、しばらく運用して感じていることについて個人的な感想を書きました。 Flow選定理由 Javascriptで静的な型付けをするといえばTypeScript(正確にはJavascriptのスーパーセット)がありますが、プロジェクト途中からの導入しやすさの観点からFlowにしました。Flowはお作法(行頭に @flow つける等)さえ押さえれば誰でも使えることから導入障壁はだいぶ低いといえます。導入のメリットについては以下のスライドがとてもわかりやすいです。 speakerdeck.com flow status でプロジェクトに対して静的型解析を走らせることもできますが、 コーディング時にワー

    Flow導入して数ヶ月がたった所感 - tomoima525's blog
    akameco
    akameco 2017/10/04
    flowとtsは型推論の性能からflow一択。 http://thejameskyle.com/adopting-flow-and-typescript.html だいたい推論してくれるので、とりあえずflow影響下にしてから型のカバレッジを上げるのがベスト
  • s2s: reduxにおけるreducerのテスト。あなたがテストを書く必要はないかも知れない - Qiita

    なぜreducerのテストが重要か? flow環境で型によって返るStateが担保されていたとしても、依然としてreducerのテストは重要です。 簡単な例をあげると、INCREMENTでcountが+1されるロジックがあるとき、number型であると保証されていたとしても、+1されているのか-1されているのか、はたまた+100000されているのかについては保証されていないからです。 そのロジックを担保するのがテストの役割です。 reducerのテストの書き方 flow環境とそれ以外でテストの書き方が違います。 トラディショナルなテストだと{type: ACTION}の形式でテストを書くことが多いと思いますが、flow環境だとActionが型で担保されているためアクションクリエイターをそのまま実行して書きます。 トラディショナルな書き方でもいいですが、この方が補完も効くのでオススメします。

    s2s: reduxにおけるreducerのテスト。あなたがテストを書く必要はないかも知れない - Qiita
    akameco
    akameco 2017/10/02
    書きました
  • JavaScriptで文字列の有無を調べるには....contains 関数を作るべし。 - Qiita

    はじめに JavaScriptで文字列の有無を調べるにはindexOfではなくtestを使う | iwb.jp という、謎タイトルの記事をみました。 なんだか、indexOfより、testの方が、可読性が高いらしい... いやいやそれは無いわー うーん、なんかJS界隈では有名なブログっぽい気がする。何回か見たことある。 しかし、これは、ちょっと同意できないな。 indexOfは、たいていどんな言語でもindexOfとして作られているのだから、可読性は低くない。というか、自分にとっては、読みやすい。 むしろ正規表現パターンを記載するほうが、めんどくさいし、読みにくいわ.... 極力、正規表現は自分のプログラムに入れ込みたくない。Perlしかない時代じゃあるまいし....正規表現を使いたいときは明示的に正規表現を使います。って場面だけで使う。これ鉄則ですわ。 これって、可読性低くないかなあ。

    JavaScriptで文字列の有無を調べるには....contains 関数を作るべし。 - Qiita
    akameco
    akameco 2017/10/02
    汎用自作関数を増やして可読性が高くなると感じるのは自分自身だけだという事実
  • Redux は 概念的に Rx のサブセットであるという話 - mizchi's blog

    この資料のアレ。 mizchi.hatenablog.com Reducer は単なる (State, Action) => State の関数で、redux.combineReducers は複数の reducer を名前空間でマップした新しい reducer にするもの。 Rx分かる人、Redux分かる人向けに、 redux.combineReducers を実装して、Rx.Observable.scan で reducer として実際に動くコードを書いた。 const Rx = require('rx') const combineReducers = reducerMap => { const initialState = Object.entries( reducerMap ).reduce((acc, [key, reducer]) => { return Object.ass

    Redux は 概念的に Rx のサブセットであるという話 - mizchi's blog
    akameco
    akameco 2017/09/30
    redux作者が2015年から言ってる話を実装で説明した良記事 https://twitter.com/dan_abramov/status/662260314155712512 作者も言うようにほとんどのアプリにはRxが必要ないというのが真理だと思う https://twitter.com/dan_abramov/status/652508293982781444
  • さよならボイラープレート。s2sによる高速reduxアプリケーション構築 - Qiita

    まだアクションクリエイターを自分で書いているの? reduxとflowtypeを使ってフロントエンドアプリケーションを構築していると、ボイラープレートが多く、面倒だと感じることがありませんか? しかし、もはや、このAST時代の前には過去の悩みでしかありません。 型を書く。それが全てです。 型を書いて、定数を書いて、アクションクリエイターを書いて、一つ変更したら全て変更して、もしくはなんらかのハックを行って型付けして、なんてものは過去のことです。 これからは、アクションクリエイターの作成に5秒以上時間をかけたら怠惰でありましょう。そして、これはs2sの1プラグインでしかありません。 プラグインを組み合わせると以下のようなこともできます。 s2s (Source to Source) これを実現している仕組みをSource to Source(s2s)といいます。 ソースコードからソースコード

    さよならボイラープレート。s2sによる高速reduxアプリケーション構築 - Qiita
    akameco
    akameco 2017/09/24
    書きました
  • 個人開発のやっていき方

    2017年7月20日に行われた Rails Developers Meetup #3 の発表資料です。

    個人開発のやっていき方
    akameco
    akameco 2017/09/20
  • ファミコンのエミュレータを書いた - undefined

    概要 ファミコンのエミュレータをJSでだらだらと作ってた。そこそこ遊べるようになったので公開しておく。技術的な内容は、またどこかで発表したり、Qiitaなどにまとめたい。(忘れないうちに。需要があるかは怪しいが。) 随分昔に作ってみたいなーと思いFPGAでの実装を開始したんだけど、早々に挫折した覚えがある。今思うとFPGAの場合タイミングの問題が付き纏うのでJSで書くより圧倒的に難易度も高いし、ハードエミュレータを実装するにしても前段階としてソフトウェミュレータを実装するのが定石っぽいので無謀だったっぽい。 ひとまずMapper0という基的なカセット形式のみに対応し、スーパーマリオブラザーズがそこそこ遊べるくらいを目標とした。 成果物 github.com ファミコンのスペック MPU 6502(RP2A03), 8bit WRAM2KB VRAM 2KB 最大発色数 52色 画面解像度

    ファミコンのエミュレータを書いた - undefined
    akameco
    akameco 2017/09/20