タグ

monochromeganeのブックマーク (1,516)

  • 2015年振り返り - 福岡という地でペパボに入社した - 人間とウェブの未来

    実績については、いつも通り実績ページにまとめているので、それを参照するとして、 · 松亮介の研究・開発業績ページ 2015年は、2012年に一旦会社をやめて3年間大学院の博士課程で研究をやり直し、大阪から福岡に引っ越ししてペパボという会社に入り直した年でもあります。 ということで、いくつか項目を挙げて振り返ってみたいと思います。 ペパボに入って 4月にアドバンスドシニアと呼ばれる役職で、それこそチーフエンジニアを除くと最も役職の高いエンジニアとして採用していただきました。それもあって、「外から見ると結構色々やっているけど、会社に入るとあんまり仕事できないな...」みたいな事を思われたりしたら申し訳ないので、それなりに自分のやってきた事を共有したり、エンジニアのスキルやモチベーションの底上げ、更には、自分にしかできないような新しい技術の開発と導入を行ったりしていました。 自身が社内外で取り

    2015年振り返り - 福岡という地でペパボに入社した - 人間とウェブの未来
  • 2015年振り返り - mizchi's blog

    思い出 1月~8月 Kobitoの開発 9月~12月 Qiitaの開発 SplatoonでS+達成 趣味ゲーム開発 Kobitoの開発 主にReactおじさん、Electronおじさんとしての成果がこれ。 とにかくエッジなライブラリを使って開発していて、何もかも足りないのでひたすら自分で足りないパーツを作っていた。 公開した成果としてはこのあたりになる。 https://github.com/mizchi/arda https://github.com/mizchi/md2react https://github.com/mizchi/stone-skin QIitaの開発 Kobitoは最新のテクニックでSPAを組み上げる手法だったが、Qiitaの開発における僕のテーマは「昔ながらのウェブアプリを段階的にモダンにしていくアプローチの模索」だと言える。 僕が開発に入る前のQiitaのフロン

    2015年振り返り - mizchi's blog
    monochromegane
    monochromegane 2015/12/31
    ふりかえり
  • 2015 年をふりかえる - Block Rockin’ Codes

    Intro 個人的には HTTP2 と ORTC/WebRTC と Service Worker 周りさわって、 JS と Go を書いてる一年だった。 Extensible Web - Progressive Web APP Extensible Web で始まった話が、様々な API の設計に適用された。 結果手に入った Service Worker を始めとする Low Level API を組み合わせて、もう一度モバイルと Web の関係を見直す Progressive Web App まで進み、 Web の形が見直された年だった。 Extensible Web の夜明けと開発者が得た可能性の話 - Block Rockin’ Codes HTTPS また、 HTTPS の重要性の認識が、啓蒙からデプロイまで降りたという印象。そして、待望だった Let's Encrypt がついに

  • 2015年も技術しかしてない - ゆううきブログ

    今年も技術しかしてない。 やけにブログを書くことに傾倒していた。 26歳になった。 YAPCで発表した。 ISUCONに負けた。 入社2年過ぎた。 入社2年成功 https://t.co/X0HxWVYAAB— ゆううき (@y_uuk1) December 1, 2015 振り返ってみると、今年は技術でも仕事でもプライベートでも、ものごとやものの考え方は5年後、10年後はどうなるのか、変わらないものは何か、色褪せないものは何かを考え始めた年だった。 具体的には、例えば、単にブログを書いて、1カ月にN回書いたとかNブクマついたとか、対外発表の数をこなしてたくさん発表したねだけで終わるのではなく、その先に何があるのかを考えるといったことだ。 他には、5年後でも使っている技術はなにかとか、それを見極めるためには何を理解している必要があるのかといったこともある。 去年は若者らしくあまりそういった

    2015年も技術しかしてない - ゆううきブログ
  • Go最後の秘宝「GUI」を探しに行く - Qiita

    Golangができること、むしろ「得意」と言われるものはすでにたくさんあります。 クロスコンパイルが得意だし依存が少ないバイナリができるから、いろんな環境で使えるコマンドラインツールを書くにはGoがいいよ パフォーマンスが高いし文字列処理もやりやすいので、高速なAPIサーバが得意。gRPCでもHTTP/2でも Webアプリケーション・フレームワークも増えてきていてウェブサービス作れるよ ビルドシステムとパッケージマネージャ内蔵なので、gitから簡単にパッケージをダウンロードしてきたり、◯makeコマンドとか◯runtとか◯owerで消耗しなくて済む gopher.jsでJavaScriptにもなる 逆に今まであまり良い解がなくて、「Goにはちょっと不向きだね」と言われ続けていたのがGUIです。鳴り物入りで出てきたGXUIが開発が止まってしまい、それと同じぐらいにshinyというものが開発が

    Go最後の秘宝「GUI」を探しに行く - Qiita
  • Rails のアーキテクチャ設計を考える - Qiita

    はじめに ここ一年くらいずっと Rails の何がダメでどうすれば良くなるのかを考えていました。 Rails を使ってそれなりの規模のアプリケーションを作ったことがある人なら、メンテナンスのしづらさを感じたことがあるのではないでしょうか。 メンテナンスの問題は Rails 以外の開発でも発生することですが、実のところメンテナンスしやすいアプリケーションはどうすれば作れるのでしょうか? この難問に対して私も答えを持っていませんが、考え続けています。 少なくとも、 Rails Way や Rails Tutorial をベースにしたアプリケーション開発は、業務で用いるには簡単すぎるように思います。 「レールに乗る」という言葉がありますが、私は考え方を変えました。 Rails は規模の大きいフレームワークですが、土台に過ぎません。 Rails Way の設計方針は小規模な開発では有効ですが、規模

    Rails のアーキテクチャ設計を考える - Qiita
  • Vimとgitで俺たちの開発速度はさらに加速した - pixiv inside [archive]

    gitという、とっても便利なツールをご存知だろうか。 git とはソフトウェア開発に特化したバージョン管理ツールである。もはや、git 無しで僕らの開発は立ち行かないし、GitHubを中心としたエコシステムに僕らは支えられている。 日々の開発では、毎日数え切れないgitコマンドを打ち続けてプロダクトの歴史をアップデートしている。 この記事を見ているエンジニアの皆さんもきっとそうだろう。 いや? ちょっと待ってくれ。 そういえば、僕はしばらくgitコマンドをコンソールで叩いた記憶がない。 そうだ! vimをカスタマイズしてからというもの、gitを直接たたくより遥かに便利な開発環境になったんだった! Vimmerはunite-gitiなしでは生きられない unite-gitiというプラグインがある。 これがすこぶる便利なのだ。 github.com サヨナラ git add git statu

    Vimとgitで俺たちの開発速度はさらに加速した - pixiv inside [archive]
  • 新卒デザイナーが1年間メンタリングを受けて感じたこと - Pepabo Tech Portal

    この記事は Pepabo Advent Calendar 2015 の18日目の記事です。 はじめまして。EC事業部デザイナーのほらおです。2014年に新卒デザイナーとして入社し、複数のプロダクトでUIデザインを担当してきました。 先日、僕のメンターの鹿さん(@shikakun)が書いた「メンタリング」は、可能か? というエントリが公開されました。EC事業部に配属されてから1年間鹿さんにメンタリングをしてもらっていたのですが、今回はメンタリングを「された」側の感想についてご紹介します。 あらまし 半年間のデザイナー研修を終え、今年1月にEC事業部に配属されました。慣れない環境のなかドタバタとしていたところ、ある日上長である安宅さん(@atakaP) に「メンター必要ですか?」と声をかけられました。 そもそもメンタリングもお悩み相談くらいのものと捉えていましたし、メンターという人もよくわかり

    新卒デザイナーが1年間メンタリングを受けて感じたこと - Pepabo Tech Portal
  • Go言語でファジング

    この記事はGo Advent Calendar 2015の21日目の記事です. 今年もGoコミュニティーから多くのツールが登場した.その中でも異彩を放っていたのがGoogleのDynamic testing toolsチームの@dvyukov氏によるgo-fuzzである. go-fuzzはGo関数のファジングを行うツールである.このツールはとても強力で標準パッケージで100以上,golang.org/x/パッケージで40以上,その他を含めると300以上のバグを発見するという実績を残している(cf. Trophies). 記事ではこのgo-fuzzの紹介を行う. ファジングとは? Fuzz testing - Wikipedia, the free encyclopedia ソフトウェアの脆弱性検出におけるファジングの活用 「ファジング」とはソフトウェアのテスト手法である.テスト対象となる

  • 最速という噂のFlatbuffersの速度のヒミツと、導入方法の紹介(Go) - Qiita

    GoCon 2015 Winterでは、社内での取り組みとしてExcelのパースの時間のロスを避けるために、簡易データ構造を使ってMessagePack + LZ4で圧縮して高速化したことを紹介しました。それでも十分速くはなったのですが、LTで発表のあったシリアライズ系のライブラリのベンチマーク比較でFlatbuffersが最速だったので、ちょっと試してみました。 ↑のグラフは、こちらのベンチマークの結果をExcelでグラフにしてみたものです。Gobがダントツ遅かったのでそちらは振りきっています(Gobに合わせると他のものの比較がしにくくなるので範囲を狭めた)。GoConで発表した通り、今MessagePackを使っているのはデータのキャッシュです。作成に多少がかかっても、後の読み出しが速い方がトータルとしてはうれしい領域なので、Unmarshalが最速のFlatbuffersに俄然興味を

    最速という噂のFlatbuffersの速度のヒミツと、導入方法の紹介(Go) - Qiita
  • GitHub - mizoR/croneye: Check the job execution schedule from cron settings.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mizoR/croneye: Check the job execution schedule from cron settings.
    monochromegane
    monochromegane 2015/12/16
    crontabの実行時間を見やすくするコマンド。便利っぽい
  • golang で正規表現の必須要素を抽出してみる - 押してダメならふて寝しろ

    はじめに この記事は Go Advent Calendar 2015 14日の記事です. 正規表現の必須要素の抽出についてお話ししたいと思います.古典的な話題ですし,鋭い方は golang と別に関係ないんじゃないの?と思われるかもしれませんが,最後に Russ Cox 氏の素晴らしい記事, Regular Expression Matching with a Trigram Index にもふれたいと思いますので,最後までおつきあいください.これは,Google Code Search で使われた正規表現のマッチングに関する記事になってます. この記事が,Russ Cox 氏の記事へのイントロになれば幸いです. それ,正規表現である必要ありますか? 正規表現は文字列マッチに比べるとどうしても遅いです.しかし,正規表現によっては文字列マッチに落とし込んでから検索できる場合もあります. 極端

    golang で正規表現の必須要素を抽出してみる - 押してダメならふて寝しろ
  • 文字列検索ツール highway は "高速" を謳うために何をやってきたのか · けんごのお屋敷

    先日、社内で highway のアーキテクチャの話をする機会があったので、スライドを作って話しました。秘密情報というわけでもないので、せっかくなので公開したいと思います。ということで、この記事では highway のアーキテクチャを簡単に紹介します。C で実装されており、実装にあたっては既存のツールよりも高速に動作させるためにいくつもの工夫をしたので highway の内部がどうなっているのか興味がある方は読んでみると面白いかもしれません。 highway についての詳細はこちら。 highway という高速検索ツールを作ってみました 資料 以下、補足や簡単な説明などをつらつらと。 文字列探索アルゴリズム highway ではリテラルによる検索は、以下の論文を参考に実装しています。 A simple fast hybrid pattern-matching algorithm 通称 FJS

    文字列検索ツール highway は "高速" を謳うために何をやってきたのか · けんごのお屋敷
    monochromegane
    monochromegane 2015/12/11
    ptも同じアプローチをとっているところあるし、なるほど〜ってアプローチもあって大変学びがある
  • Ruby のしくみ を読んだ - takatoshiono's blog

    なぜ読んだか メタプログラミング Ruby を読んだ ので、この勢いで Ruby のことをもっと深く知りたかった。 どうだったか エキサイティングな体験だった。 このには RubyRuby コードをどうやって実行しているのか、ということが書いてある。字句解析してトークン列に変換して、構文解析してAST(抽象構文木)ノードに変換して、コンパイルして YARV 命令列に変換して、それを YARV(仮想マシン) が実行する....どうやって?ということが書いてある。 登場する Ruby のコードは単純なものばかりだが、その背後にあるしくみ、C のコードは複雑だ。にもかかわらず、このを読んでいると自分がそれをいとも簡単に理解したかのような錯覚に陥るので爽快感がある。ワクワクする。それはきっとこのの著者の説明が驚異的に上手なのと、豊富な図のおかげだろうと思う。 著者の Pat Shaug

    Ruby のしくみ を読んだ - takatoshiono's blog
  • inforno :: Goのインタフェースがパフォーマンスに及ぼす影響

    Go Advent Calendar 2015 その3 11日目です。その3まであるなんてGo大人気ですね。 Gopherというのはいろいろな人がいてLLからGoへ、という方も多いかと思います。 LLではそもそも全てがオブジェクトだったりで話題になりませんが、よりマシンに近く変態的に速度を重視される方が多いC++では例えば仮想関数や実行時キャストのコストが議論になります。 Goにおいてこういう多態性はインタフェースで表現されます。結論からいうと、 Goのインタフェースにもそれなりのコストがあります。 なので極限までパフォーマンスを要求される場合には 例えばインターフェースを使わない というも選択肢に入ってくるのではないかと思います。 Go言語におけるインタフェースの内部表現 さて、Goはブートストラップ化(言語処理系をその言語自身で実装する)を進めており、1.5ではGoのコンパイラ、ランタ

  • GitHubの草のSVGをコマンドラインで取得する - Qiita

    個人的に対外的なコード書いてるかの指標にGitHubの草、しかもパブリックな状態の草状況を自動で監視したかった(意味不明な文章だ)。 試行錯誤の末、単にシェルのワンライナーでできた curl https://github.com/mizchi | awk '/<svg.+class="js-calendar-graph-svg"/,/svg>/' | sed -e 's/<svg/<svg xmlns="http:\/\/www.w3.org\/2000\/svg"/' > grass.svg

    GitHubの草のSVGをコマンドラインで取得する - Qiita
    monochromegane
    monochromegane 2015/12/10
    “草状況”
  • 10年を超えたサービスの改善を加速する土台作り - Pepabo Tech Portal

    ご契約数100万ドメインを超えるムームードメイン開発チームの@pyama86です。これはPepabo Advent Calendar 2015の8日目のエントリです。 今日は2004年1月15日より提供を開始し、もうすぐ12年目を迎えるムームードメインのサービスの改善を加速する仕組みについて紹介します。 はじめに ムームードメインは主な開発言語はPHPを利用しています。先に記載した通り、12年目をもうすぐ迎えるサービスで、故に12年分のプログラムコードが詰まっていることもあり、現代の設計手法では採用し得ないような実装も所々に残っています。その一例として下記のような実装があります。 example.php require_once 'global_function.php'; $client = new exampleApi(); $result = $client->execApi();

    10年を超えたサービスの改善を加速する土台作り - Pepabo Tech Portal
    monochromegane
    monochromegane 2015/12/08
    “気づきの仕組みを再構築する”
  • オブジェクト指向プログラミングとは結局なんなのか | 黒曜の吹き溜まり

    この記事は第2のドワンゴ Advent Calendar 2015の5日目です。 ちなみに前日は@deflisさんでした。 先日の記事で分かる通りドワンゴ社員()なのですが、まぁ@mesoさんが「厳格な管理とかめんどくさいので、元社員も参加すればいいんじゃないかな。」とか言ってるしお目こぼし頂きたく… 去年のアドベントカレンダー記事は「関数型プログラミングとは結局なんなのか」というタイトルで、関数型プログラミングという語が何を指していて何を指していないのか、みたいなことをなるべく平易にまとめました。 なので今年は「オブジェクト指向プログラミング(以下OOP)とは結局なんなのか」という記事にしてみた…のですが、なにぶん語の指す範囲が広く、また自分も理解しきっているわけではないので、多少不正確な点があるかもしれません。 「関数型は流行りだけど、今更OOPかよ」とか思われるかもしれませんが、お付

  • GoのSliceは実際どうなっているのか - BLOG::はるかさん

    この記事はGo Advent Calendarのエントリではありません。 Go言語を勉強する人であれば、誰でもがsliceの扱いに躓くであろう。sliceの扱いがちょっとよくわからなかったので、まだよくわかってないけど、ひとまずメモ。 Goのアセンブラに関するドキュメント A Quick Guide to Go's Assembler - The Go Programming Language A Manual for the Plan 9 assembler sliceをアセンブリから扱うには 結論から書くと、今のところの理解では、sliceを関数に渡すとき、フレームにはslice構造体のアドレス、len、cap、そして戻り値のアドレスが積まれている。つまり、次の様なコードを書けば、sliceのアドレスがSI、lenがAX、capがBXに入り、要素の最初の値を返す関数になる。 // fu

    GoのSliceは実際どうなっているのか - BLOG::はるかさん
  • マインドマップ徹底活用術

    チーム開発の進め方 - クックパッド開発者ブログ こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 今回はウチのチームの開発の進め方や見積もりの仕方を説明しようと思います。 実はコレ系の話は 5 年前にもデブサミで発表 したのですがこの時はリリースまで 1 年とかのレベルのプロジェクトの進め方の話でした。今回は 1,2 ヶ月でリリースまで持っていく開発の進め方を説明します。 動画サービス部分を microservices 化するときに実際に行った事を元に説明します。開発者は 3 人で 1.5 ヶ月位の開発です。 何故このようなことを行うのか 誰だって楽しく仕事がしたいし、なるべく不安などは無い方が良いはずです… techlife.cookpad.com ↑に書いてあるような開発の進め方を前職でもやっていて、チームで集まって見積もりをするとき、最初はホワイト

    マインドマップ徹底活用術
    monochromegane
    monochromegane 2015/12/02
    “多少いけすかない感じはしたけども”