watassのブックマーク (99)

  • mmcはどう失敗したのか - Qiita

    「愚者は経験に学び、賢者は歴史に学ぶ」はビスマルクさんの言葉ですが(ググった)、愚者である私は当然経験から学んでおります。経験から学ぶととかく失敗が多いのですが(これも経験から学んだ)、今回は私が5年くらい取り組んでいるmmcが失敗した話でもしたいなと思います。 はじめに 静的型付けであらずんばプログラミング言語であらず 世はまさに大静的型付け時代なわけですが、動的型付け言語が静的型付け言語と同じとかそれ以上の速度で動作したらどうでしょう?実はそのような言語処理系は既に存在し、Stalinなどはその代表です。まあ、静的型付けがもてはやされるのはプログラムの実行速度だけではないので変わらないかもしれませんが。 mmcもStalinと同じようにとにかくどんなにコンパイル時間がかかっても(ここ重要)高速なコードを生成するという目標で開発したRubyからCに変換するトランスレータです。正確には入力

    mmcはどう失敗したのか - Qiita
    watass
    watass 2021/12/13
  • React Hooks for Data Fetching – SWR

    import useSWR from 'swr' function Profile() { const { data, error, isLoading } = useSWR('/api/user', fetcher) if (error) return <div>failed to load</div> if (isLoading) return <div>loading...</div> return <div>hello {data.name}!</div> } In this example, the useSWR hook accepts a key string and a fetcher function. key is a unique identifier of the data (normally the API URL) and will be passed to f

    React Hooks for Data Fetching – SWR
    watass
    watass 2019/10/29
  • さようなら、Flash

    +1 ボタン 2 AMP 11 API 3 App Indexing 8 CAPTCHA 1 Chrome 2 First Click Free 1 Google アシスタント 1 Google ニュース 1 Google プレイス 2 Javascript 1 Lighthouse 4 Merchant Center 8 NoHacked 4 PageSpeed Insights 1 reCAPTCHA v3 1 Search Console 101 speed 1 イベント 25 ウェブマスターガイドライン 57 ウェブマスタークイズ 2 ウェブマスターツール 83 ウェブマスターフォーラム 10 オートコンプリート 1 お知らせ 69 クロールとインデックス 75 サイトクリニック 4 サイトマップ 15 しごと検索 1 スマートフォン 11 セーフブラウジング 5 セキュリティ 1

    さようなら、Flash
    watass
    watass 2019/10/29
    エモい
  • SSRF基礎

    OWASP Night 2019-09-18 / OWASP Japan

    SSRF基礎
    watass
    watass 2019/09/19
    確かにプロトコルまで指定できるケース考えると攻撃の手段一気に広がりそう
  • CircleCI (Performance Plan) vs. Github Actions - Diary

    CircleCI (Performance Plan) vs. Github Actions 結論: CircleCI を買おう 現在ユビレジでは CI は CircleCI (Performance Plan)と TravisCI を使っていて、 CircleCI: サーバーサイド(いろんな言語がある) Web フロントエンド(Rails アプリのなかで webpack が動いていたり、 create-react-app で作られたペラっとしたものがあったりいろいろある) TravisCI: iOS アプリ というような感じで使い分けている。 Performance Plan なんだから iOS のも Travis から引っ越せばいいんじゃねえの?と思わんでもないのだが、 Travis の annual 課金がまだ残ってる iOS の CI と TravisCI と CircleCI

    watass
    watass 2019/09/18
    はい "Web フロントエンド界隈ではコンポーネントのユニットテストと型でアプリを守るという思想が流行っているようですが、これらは全て無意味だと僕は思っています"
  • PHPのLintツール Phinder を使い始めました - ユアマイスター株式会社エンジニアブログ

    watass
    watass 2018/10/02
    良い
  • 1日約70万ビルド: DockerとNomadが支えるCI/CDプラットフォーム - builderscon tokyo 2018

    Abstract コンテナのオーケストレーションと言えばGoogleKubernetesが有名ですが、HashiCorpのNomadだって捨てたもんじゃありません。CircleCIではDockerとNomadを使って全く新しいビルドプラットフォームを構築しました。 このトークではDockerとNomadを使ってCircleCI 2.0の基盤となるバックエンドを構築した時の話をします。 以下のようなことにワクワクする方におすすめです。 k8sじゃなくてNomadを使うメリットって? CIプラットフォームにDockerを使った時の落とし穴 大規模Nomadクラスタの運用方法 Dockerのチューニング どうやってCircleCI 2.0を爆速にしたか Disclaimer: CircleCIの中の人が話しますがプロダクトの宣伝に極力ならないようにします

    1日約70万ビルド: DockerとNomadが支えるCI/CDプラットフォーム - builderscon tokyo 2018
    watass
    watass 2018/07/02
    絶対見たい
  • VancouverにあるAmazon S3チームのDeveloperになります - As a Futurist...

    tl;dr - Amazon に入って 3 年が経ちましたが、この度転籍という形で Canada の Vancouver にある Amazon S3 開発チームに Systems Development Engineer として移ることになりました。 2010 年頃からずっとなりたいと思っていた北米での開発者の仕事(もちろん英語のみ)なので、当に嬉しいです。AWS の Solutions Architect(SA)としてお客さんと向き合う仕事をじっくりさせてもらい、そこから実際に開発をしているチームに開発者として拠点も含めて移れるキャリアパスがあるんだよ、という一例になれましたので、SA になると自分の手を動かす機会が減ってしまうことを懸念している開発者の方の背中を押せたら幸いです。なお、2018 年 6 月頭に日を出国予定で日の会社も退職してしまうので、(旅行を除いて)日に戻って

    VancouverにあるAmazon S3チームのDeveloperになります - As a Futurist...
    watass
    watass 2018/05/01
    すごい、おめでとうございます!
  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
    watass
    watass 2018/03/22
  • スポットインスタンスを効率的に管理するSpotinstを使おう - ABEJA Tech Blog

    みなさん、AWSのスポットインスタンスは使っていますか? スポットインスタンスを使えばオンデマンドインスタンスの約70-80%引きでEC2を利用でき、大きなコスト削減が出来ます。 しかし、スポットインスタンスは価格変動が起きるとインスタンスが停止したりするリスクがありますよね? その辺りのリスクをヘッジしてくれるのがSpotinstというサービスになります。 Spotinstは価格変動によるリスクヘッジだけじゃないメリットがたくさんあるので紹介したいと思います。 Spotinstは何個かサービスがあるのですが、その中のElastigroupという機能を主に説明していきます。 結論 先に結論書いておきます。 かなり安いから使わない理由は無いです。Pricingの項目を参照ください。 Elastigroupとは spotinst.com トレンド分析 Elastigroupは独自の予測アルゴリ

    スポットインスタンスを効率的に管理するSpotinstを使おう - ABEJA Tech Blog
    watass
    watass 2018/02/26
  • AWS Lambda Go without Go - so what

    とある勉強会用にLTネタを作っていたのですが、発表できなくなったので腐る前にブログに書いておきます。 お前は何を(ry 記事のタイトルについて お前は何を言っているんだ なのですが、元ネタは以下のツイートです。 ここからTCPでやり取りするプロトコルが読み取れるし、mainって名前で同じプロトコル喋るバイナリならstaticにビルドすれば別の言語でもネイティブに動かせるんじゃね?https://t.co/dWjs8YiuFe— Masashi Terui (@marcy_terui) 2018年1月17日 LTのネタになりそうだったのでやってみたわけです。 aws-lambda-goについて じゃあ、まあaws-lambda-goは一体どういう仕組みで動いているんだろうと、ソースを読んでみました。 で、entry.goとfunction.goあたりでだいたい分かりましたが、net/rpc

    AWS Lambda Go without Go - so what
    watass
    watass 2018/01/22
  • SideCIでJavaが検査できるようになりました

    Post author:Pocke Post category:Update / アナウンスメント Reading time:1 mins read Post published:2017-12-13 SideCIは最も使われているプログラミング言語の1つであるJavaのサポートをはじめました。 現在PMDとCheckstyleの2つのツールを提供していますが、これ以外にもサポートを希望するツールがありましたらお気軽にお問い合わせください! PMDとCheckstyleとは何なのか これらはJavaの静的解析器の中でも人気のあるツールで、コードのクオリティの改善を手助けします。 PMDはソースコードからプログラミングにおけるよくある間違いを見つけ出します。 たとえば、あなたのコードが使われていない変数を含んでいた場合、PMDはその変数が使われていないことを見つけ出します。これによってその変

    watass
    watass 2017/12/13
  • 最近使い始めた開発支援系サービスの話 — みんなのウェディングエンジニアリングブログ

    こんにちは。みんなのウェディングのエンジニアの@1syoです。 みんなのウェディング Advent Calendar 2017 - Qiita 11日目の記事です。 弊社ではGithubCircleCIといった定番サービスは既に利用しています。 継続した開発プロセスの改善の一貫で最近導入した開発支援系サービスをご紹介しようと思います。 deppbot 定期的なbundle update にはtachikomaを利用していましたが、作者による開発終了宣言を受けてdeppbotに乗り換えました。 ChengelogやDiffをすぐに確認できるので破壊的変更の有無をすぐに確認できて便利です。 deppbot - Automated Security and Dependency Updates SideCI CircleCIでテスト実行する前に各種lintを実行してましたが、差分実行することが

    最近使い始めた開発支援系サービスの話 — みんなのウェディングエンジニアリングブログ
    watass
    watass 2017/12/11
  • コードレビューの機械的な指摘はSideCIに任せる - LCL Engineers' Blog

    コードレビューを自動化してくれるSideCIを導入しました。GitHubのプルリクエストを自動で解析して指摘してくれます。 主にRubyを使用しているのでRuboCopを筆頭に解析ツールが豊富に揃っているのは助かっています。 導入の経緯 もともとRuboCop, JSHint, ESLintは使用しており主にローカルで実行して個人個人で修正対応していました。 RuboCopはJenkinsのJOBを走らせていましたが、毎回リポジトリ全体に対して実行すると時間がかかっていたり、わざわざJenkinsの結果を確認する必要がありプルリクエストベースの開発プロセスから外れているためあまり効率が良いものではありませんでした。 そこで自前でやるよりサービスを利用したほうが開発にリソースを投入できるということもあり以前から気になっていたSideCIを導入してみることにしました。 導入してみて良かったとこ

    コードレビューの機械的な指摘はSideCIに任せる - LCL Engineers' Blog
    watass
    watass 2017/11/24
  • ホーム - CloneTracker

    当社はCookieを使用して、お客様が当社のWebサイトでより良い体験を得られるようにしています。引き続き閲覧する場合は、プライバシーポリシーに同意したことになります。

    ホーム - CloneTracker
    watass
    watass 2017/10/19
  • やはりHTML/DOMは再発明されるべきじゃないか - mizchi's blog

    と思う次第である。以下理由。 JavaScript, GUI設計の今 JSはそのプラットフォーム特性上、あらゆる言語の使用者の、あらゆる不満が集まる場所で、ヘイトを集めやすい環境だと思う。近年は npm というプラットフォームの登場でエコシステムが生まれ、思いつく限りあらゆるメソッドが適用されてきた。貧弱な言語基盤だが、その中で生き残った方法論が、今一番GUIの課題を上手く扱えている、と自分は考えている。 React/ReduxAngular によって、Flux/MVVMという抽象パターンが枯れてきたように思う。(この際、現場はまだ jQuery だぞ、みたいな話は無視する)。要は View は State の写像である、ということに尽きる。State はシリアライズ可能(JSON)で、Flux Action/Rx.Observable の Event Stream を入力とし、それ

    やはりHTML/DOMは再発明されるべきじゃないか - mizchi's blog
    watass
    watass 2017/10/02
  • RuboCop 0.50.0 のCHANGELOGを読む - pockestrap

    RuboCop のバージョン 0.50.0 がリリースされました。 https://github.com/bbatsov/rubocop/releases/tag/v0.50.0 CHANGELOG から変更を見ていこうと思います。 破壊的変更 Naming Department Issue: https://github.com/bbatsov/rubocop/issues/4521 PR: https://github.com/bbatsov/rubocop/pull/4575 今回のリリースでは、新たに Naming Department が新設されました(ちなみに、Department とは RuboCop 用語で、Cop のグループのことです)。 Naming Department には、メソッドやクラスの名前付けに関する Cop が所属します。 今回の Naming Depar

    RuboCop 0.50.0 のCHANGELOGを読む - pockestrap
    watass
    watass 2017/10/02
  • npmjs.com で著名ソフトウェアによく似た名前のマルウェアが大量に発見された - Islands in the byte stream

    Malicious packages in npm. Here’s what to do | Ivan Akulov’s blog People found malicious packages in npm that work like real ones, are named similarly real ones, but collect and send your process environment to a third-party server when you install them 訳: 悪意のあるパッケージがnpmで発見された。それらは、実際のパッケージによく似た名前で同じように動くが、パッケージのインストール時にプロセスの環境変数を外部のサーバに送信する。 発見されたパッケージの一覧は元エントリをどうぞ。このようなマルウェアである偽パッケージの一例をあげると、 ba

    npmjs.com で著名ソフトウェアによく似た名前のマルウェアが大量に発見された - Islands in the byte stream
    watass
    watass 2017/08/02
    はえー
  • Nginxで、リクエストを複製するmirrorモジュールが標準搭載された - ASnoKaze blog

    [20170809追記] nginx-1.13.4に ngx_http_mirror_module は含まれました Nginxで、リクエストを複製するmirrorモジュールがコミットされ、何もせずとも使用できるようになりそうです(現状最新コミットをビルドする必要あり)。 例えば番環境のproxyからリクエストを複製して開発環境に流すような事も出来ます。もちろん複製処理は来のリクエスト処理をブロックしません。 例えば以下のように、mirrorに来たリクエストを複製してバックエンドサーバに投げるようにしてみます conf server { listen 80 ; server_name localhost; mirror_request_body on; log_subrequest on; location /mirror { mirror /proxy; #/proxy宛にリクエストを

    Nginxで、リクエストを複製するmirrorモジュールが標準搭載された - ASnoKaze blog
    watass
    watass 2017/07/24
    最高そう
  • 退職します! - hiragram no blog

    3年2ヶ月在籍したSpeeeを退職します。今日が最終日です。 なにしてたの? 元々サーバーサイドのエンジニアとして新卒入社してPHPやっていて、自社サービスのiOSアプリ用のAPIを作ってました。そのうちアプリ側のちょっとしたデバッグとか修正をXcodeでやるようになり、アプリおもしれーなとなってきたタイミングで社内公用語がPHPからRubyになるとのことで、どうせ未経験から勉強するならRubyよりアプリやりたいなとなり転向させてもらいました。そこからはそのプロジェクトでObjective-Cを書いたり幾つかのプロジェクトSwiftを書いたりしました。 取り組んだこととしては、 Swift1.xから2.0への移行 RxSwiftの導入 API抽象レイヤーの型々しい設計 TravisCI上でCarthageの依存フレームワークをキャッシュしたりCartfile.resolvedの差分をみて

    退職します! - hiragram no blog
    watass
    watass 2017/06/30
    オッ