サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
www.muratayusuke.com
DX(Developer Experienceではなく、Digital Transformationの方)が叫ばれるようになって、はや数年。「DX人材」と呼ばれる人種がどの企業にも求められていますが、一体何ができればいいのか、何がキーになるスキルなのか、ぼくなりに考えてることをまとめてみました。 DXとはクリエイティブな仕事である DX人材に求められるのは、Product Manager / Engineering Manager / Project Managerの3つの役割全てだと思っています。 影響を受けた考え方として、ビジョナルCTOの竹内真さんのこの記事があります。 CTOの頭の中:技術を財務で表現する P/LとB/Sの概念に加えて、B/Sを別軸で微分したようなG/Pという概念を取り入れ、Product ManagerとCTOそれぞれの役割をわかりやすく表現した図に感銘を受けまし
Udemyというオンライン講座のサイトをご存知でしょうか? 多種多様な動画講座が有料/無料で視聴できるサイトで、ジャンルも幅広く、特にプログラミング系は色んな言語・フレームワークの講座が揃っています。 アメリカの会社なので基本は英語の講座が多いのですが、2015年にベネッセと業務提携して日本市場にも力を入れています。 そんなUdemyから、先日「Reactの日本語講座を作りませんか?」というお話をいただき、さすがにそんなん一杯あるやろ・・・と思って検索してみたら、確かに英語はいっぱいあるけど日本語のReact講座は1つもない。 まあでもドットインストールがやってるやろ・・・と思ったらドットインストールにもなさげ。 これは意外と面白いかも?ということで、もう2年ぐらいReact書いてるし、Udemy講師としてちゃんとした講座を作れば個人のプレゼンス的にも会社の信用的にもプラスになるやろうと思
つい先日、結婚式を挙げました。 ぼくがソフトウェアエンジニア、奥さんが電子工作やプロトタイピングが得意なハードウェア寄りの人という「ものづくり夫婦」なので、自分たちらしい結婚式にしよう!ということで色々手作りしました。 せっかくなので、今後手作りしてみたい人の参考になるように、個人でもこういうのは自作できまっせっていう事例として記事に残します。 前提 式場はホテルや専門式場ではなく、昔からある迎賓館のようなところで、人数は新郎新婦入れてちょうど100人でした。 格式高い会場なので、堅苦しくならないようにしたいというのも、色々手作りした理由の一つです。 主に使用した機材 3Dプリンター 年末にこの記事を見てテンション上がってしまい、今年に入って自宅用に購入しました。 たった3万円から始める家庭に3Dプリンタがある日常 購入したのはこちら。 QIDI技術3Dプリンター/ ABS / PLA 1
現在下記のような環境でDockerを利用しています。 $ dinghy -v Dinghy 4.4.2 $ docker-machine -v docker-machine version 0.8.2, build e18a919 $ VBoxManage -v 5.1.10r112026 $ docker-compose -v docker-compose version 1.8.1, build 878cff1 $ docker -v Docker version 1.12.3, build 6b644ec dinghy経由でVirtualbox上にdockerを立ち上げているのですが、ホストPC(Mac)の再起動後にたまに下記のエラーが出てdockerに接続できなくなることがあります。 Traceback (most recent call last): File "<string>
新しいMac Book Proが発売されてしばらく経ちますが、皆様いかがお過ごしでしょうか。 2年前に買ったモデルは13インチを買ってしまったせいで2コアしかなくて2年間辛い思いをしてきたので、次が出たら速攻で15インチを買おうと心に決めていました。 何やら今までのUSBが廃止されて新しい端子しかなくなるとか、ファンクションキーがなくなってTouch Barがつくとかかなり大きな変更がされましたが、お構いなしに即購入しました。 新しいmacのセットアップ手順を2年前に書いていたのでそれを実行しつつ、足りてないところとか変わったところとかをアップデートしようと思ったら結構な量の変更が発生したので、改めて別記事として最新版の手順を書いていきます。 2〜4年後ぐらいの自分のために・・・ 手順 1. トラックパッドの設定変更 トラックパッドはやっぱりタップしてもクリックにならなかったので、設定→ト
去年に続いてISUCON6の予選に@tatsuyaoiw・@takady7と3人で参加して、去年に続いて惨敗してきました。 来年こそはという気持ちを込めて、感想ブログです。 @takady7の感想ブログ 使用言語はrubyです。 事前準備 予選のちょうど1週間前の土日に、とりあえず去年の過去問をしっかりやろうと思って準備を始めました。 名誉運営のmatuuさんという方がまさに欲しかったazureのテンプレート を公開されていたのでそのまま使わせていただきました。 テンプレートデプロイしてもなんかできてないくさかったので、READMEを見ながら中でansibleを再実行しつつ、なんかPHPのところでこけるからコメントアウトしつつみたいな感じで、結局半日ぐらいかけて環境構築した気がする・・・ 基本はベンチ流しながら top -c を眺めといて誰が一番CPU食ってるか(ほぼmysqlかunico
「いいエンジニアおらん?」という相談はよく受けますが、なかなかいいエンジニアは簡単に採用できない昨今、ソフトウェア開発を外注する会社もたくさんあると思います。 ただエンジニアいない会社が開発を他社に丸投げして、なかなか思うように成果物が上がってこなかったり、出来上がったものが思ってたのと全然違うみたいな話もよく聞きます。 そこで、発注側に開発の知識がなくてもこういう風に開発会社と付き合えば失敗する確率を減らせるんじゃないかという方法を書いてみます。 SPONSERD LINK 開発フロー ぼくはずっと自社サービスの会社で仕事をしているのですが、内製する場合のフローをベースに、発注する側のタスクと受注する側のタスクに分ければわかりやすいかと思います。 全体のフローはこんな感じです。 [発注側] やりたいこと、解決したい課題を明確にする [受注側] 要件を元に、できるだけ小さい、かつ意味のある
少し前の記事(「プログラミング未経験者がWEBエンジニアになるためにやるべきこと」)の元になったプログラミング初心者の二人が、それぞれ無事Railsのチュートリアルまで終わらせていざ自分のサービスを作りたい!ってなった時に、さて何から手をつけたらいいんやろう?という同じ悩みにぶつかって同じようなアドバイスをしてたので、またその内容をまとめてみました。 初心者に限らず、小規模WEBアプリを作る時にこういうことをしとくといいかなっていう個人的な手法みたいなのをざっくり書いていきます。 SPONSERD LINK 前提 一般的なシステム開発は下記のフローで進んでいきます。 要件定義 設計 開発 テスト リリース ウォーターフォールはこれを1回流して完成、アジャイルはこれを小さく切ってぐるぐる回すというイメージですが、「初めての個人アプリを最初にリリースするまで」という状況では、一番困るのは2の設
2015年11月12日にAWSさん主催で開催された「第8回 AWS Startup Tech Meetup」に登壇者として参加してきました。 AWS篠原さんのイベントレポートはこちらです。 まさかの30分枠をいただいて何を話そうかと思ったんですが、今一番触ってるのはReactなのでその話をしてきました。 ただ問題はフロントエンドやからAWS関係ない・・・ということでフロントエンドとAWSのサーバーレスアーキテクチャの話を後半入れたんですが、参加している方もさすがにAWSもりもり触ってる人が多かったのでこっちの方が盛り上がりました。 資料こちらです。 というわけで自分の発表でのディスカッションや他の方の発表、その後の雑談などで色々勉強になったので、上記の資料にない部分をまとめました。 Google botはjavascriptの実行結果をインデックスしてくれてる? スライド内にもリンクを貼っ
エンジニアをどう評価し、どう育てるか。自分自身そんな偉そうなことを言える実力を持ってるわけでもないんですが、最近考えざるを得ない機会が増えてきたので、自分の考えをまとめてみました。 エンジニアスキルの3つのレイヤー エンジニアのスキルは、大きく分けると3つのレイヤーがあると思っています。 1つ目は「業務スキル」。特定のプロダクトや会社に特有のスキルで、プロダクトや会社が変わると役に立たなくなるもの。 2つ目は「言語・フレームワークスキル」。いわゆる「rubyできます」「railsできます」みたいなやつですね。 そして3つ目は「汎用スキル」。会社や言語が変わっても使えるスキルです。 この3つはそれぞれオーバーラップする部分もありますが、汎用スキルが土台になって、その上に言語・フレームワークのスキルを構築し、一番上に業務スキルが乗っかってるイメージです。 じゃあその汎用スキルって何よ?っていう
結構時間経っちゃいましたが、@tatsuyaoiwに誘われて@takady7との楽天同期トリオでISUCON初参加してきました。非常に残念ながら予選落ちで非常に悔しい思いをしたので、来年こそはという気持ちも込めて今回の参加前後で勉強になったことをまとめました。 事前に勉強したこと 参考資料を読み漁る とりあえず3人でslackグループを作って色々参考になるリンクを送り合ってたんですが、特に下記のリンクはしっかり読みました。 ISUCONの勝ち方 YAPC::Asia Tokyo 2015 ISUCON4 予選でアプリケーションを変更せずに予選通過ラインを突破するの術 sonots/isucon3_cheatsheet ISUCON4の予選問題 実際に予選問題のイメージを作って、一人ISUCONしてみました。 ISUCON4 予選問題の解説と講評 & AMIの公開 AMIも公開されていたんで
最近よくプログラミング未経験の方から、これからエンジニアとしてやっていきたい、もしくはそこまでいかなくても自分でプロダクトを作れるようになりたいけど何からやったらいい?っていう相談を受けるようになってきました。個別に色々話を聞きつつこれやってみたら?っていうリンク送ったりはしてたんですが、その人たちにとっての大まかな地図的な意味でも、(「これ見といて」って自分が楽するためにも、)未経験者の人におすすめする学習教材をまとめてみました。 参考事例 ぼく自身ゼロからエンジニアを育て上げた経験があるわけではないので、先人の事例に学べることは学ぼう、かつこうやって伸びた人がいるんや!っていう本人のモチベーションになったらいいな、ということで紹介します。 リブセンスさん リブセンスさんの、非エンジニアを1ヶ月でエンジニアに育て上げる話、かなり強烈でしたね。フルコミットでかつ桂さんという突出したメンター
Reactで開発しているアプリが大きくなってきてそろそろテストが欲しくなってきたので、End to Endの形でテストをするためにPhantomJSを使ってみた話です。 環境 RailsアプリのフロントエンドにReactを突っ込んでいるという構成なので、一般的なRails + feature spec内でjavascriptを動かしつつ、circleciでテストが通ったら自動でデプロイされるという形にしています。 Ubuntu 14.04 Ruby 2.2.1 Rails 4.2.1 React 0.13.3(npm) PhantomJS 2.0.1(development) テストのサンプル 普通のjavascriptありのfeature specです。 # spec/features/top_page_spec.rb RSpec.feature 'top page', type: :f
みなさま、Auto Layout書いてますか。 あれ、コードで書くのめっちゃめんどいですよね。クラス名もメソッド名も長いし。 Visual Format使うと無駄にDictionary作る必要がある上にミスっててもコンパイルで教えてくれへんし。 Storyboardはチーム開発で泣きそうになるし。 そんなあなたに、めっちゃイケてるライブラリのご紹介です。 その名も”Crew“。 使い方はREADMEを見ていただければ一発なんですが、とにかく記述量が少なくなります。 そして覚えることが少なくて直感的に書けるので、前書いたコードを探してコピペすることもなくなりました。 例えば横幅いっぱいのviewを縦に3つ、10ptずつ開けて置こうと思ったら、普通に書くと多分こんな感じになりますよね。 let views = ["topView": topView, "midView": midView, "
嫌な思い出しかないNokogiriをアップデートする時にまためっちゃハマったのでメモ。 結論だけ言うと、 bundle config build.nokogiri --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/ bundle install でいけました。普通のgem installなら gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/ です。本家のgithubにドンピシャなコメントがありました。 やれ libxml2 is missing だの libiconv is missing
Objective-Cの時から、UIViewの位置を決める時のframe操作がまどろっこしくてしかたなかった人は多かったんじゃないかと思います。 SwiftのCGRectはそれなりに便利関数が追加されたとは言え、やっぱりまだまだめんどいです。Autolayoutを使ったほうがいい場合もありますが、あれはあれでめんどくさいのでちょちょっとframeで動かしたいこともよくあります。でも、UIView内のframeって中途半端に中身の上書き禁止になっててめんどくさい。 例えばあるUIViewを、別のUIViewの右端に揃えたい時。 someView.right = otherView.right って書きたいやん。 大きさの違う円を、真ん中合わせて二重丸っぽくしたい時は、 someCircle.center = otherCircle.center って書きたいやん。 あるUIViewを、10ポ
少し前の話ですが、今年に入ってからMac Book AirからMac Book Proに乗り換えて、イチから色々設定とインストールをしたので、次回のために自動化できるところは自動化しつつまとめてみました。 やったこと 1. トラックパッドの設定変更 まず最初に気づくのは、トラックパッドでタップしてもクリックにならない!ということで、設定→トラックパッド→タップでクリックにチェック。 2. ターミナルの背景色変更 そしておもむろにターミナルを開くと、背景が白い!ということで、ターミナル→環境設定→プロファイルでProを選択して、デフォルトをクリック。 3. Xcodeのインストール Mac App StoreからXcodeをインストール。とりあえず起動してライセンス承認しておく。確か後々development toolを使うためにこの順番にメモったような気がする。 4. 修飾キーの変更 ca
先日、nanapiのCTOの人のブログを見て、なんとなく自分も新卒最初の1年のことを思い出したので、当時考えてたこととか今思うところをつらつら書いてみようと思います。 入社前 現在は一応エンジニアとして仕事してますが、学部は経済学部で就活してた時は全くコード書いたことない状態だったので、全部総合職的な方に応募してました。 ただ特別やりたいことがあったわけでもなく、ホームページ制作会社でアルバイトしてたのでWEBディレクターになりたいです的なことを適当に言ってたら全然内定取れず、もう諦めてそのままバイト先に就職しようかと思ってたところで最後の応募先だった楽天に内定もらいました。確か4回生の7月ぐらいだったと思います。 その直後の8月ぐらいに、「プログラムできる人入ってくるから教えてもらったら?」というバイト先社長のお言葉に甘えて、その人からPHPのHello Worldから基本的なことを色々
少し前の話ですが、6月6日付で楽天株式会社を退職していました。新卒で入った会社ですし、初めての退職エントリでも書こうかなと思いながら結構な時間が経ってしまいましたが、気が向いたので振り返りを兼ねて。 やってきたこと 経済学部から2010年に新卒入社して、1年目は人事で新卒採用、2年目から退職までの3年間はエンジニアというわりと変わった経歴でした。エンジニアになるまでの経緯みたいなところは以前書いたので興味ある方はそちらをご覧いただくとして、今日はエンジニアになってからのお話を。 初プロジェクト 異動の時にいくつかの部署と配属面談をしたんですが、配属されたのは楽天の中では小さい方のサービスで、確かサービスインから2年ぐらいの時だったと思います。配属初日、マネージャーとの面談で、「今日からあなたはプロジェクトリーダーです。メンバーはあなた一人です。進め方から考えてください。」というものすごい振
開発環境を新しいUbuntuで作り直すついでにVagrantのbase boxを作ってみました。タイトルの通り、素のUbuntu Server 13.04にGuest Additonをインストールして、いらんやつを色々消してサイズを小さくしたものです。なんと驚きの約300MBまで小さくなりました。Vagrantがインストールされている状態で、 $ vagrant box add ubuntu1304 http://muratayusuke.com/vagrant/boxes/ubuntu_server_13.04_amd64.box ってやるとboxが追加されるので、 $ vagrant init ubuntu1304 $ vagrant up でこのboxを元にした新しいVMが立ち上がります。Vagrantについてはこの辺をご覧ください。 Vagrantで簡単仮想マシン構築 これにlub
複数PCを使っていると、.bashrcやら.emacsやらの設定ファイルの同期がめんどくさいと思ったことはないでしょうか。 家のPCで新しい設定を追加したけど会社でもおんなじ設定使いたい・・・とか、会社の色んなサーバで作業する時におんなじエイリアス使いたい・・・とか。 そんな面倒な作業を楽にしてくれるのがhomesickです。 ここで簡単な使い方をご説明します。 インストール rubyが入っていることが前提ですが、 $ gem install homesick だけです。rvmを使ってなければ頭にsudoをつけてください。 使い方 まずは自分の設定ファイルをgithubに上げましょう。 # リポジトリのフォルダを作成(フォルダ名はなんでもよい) $ mkdir dotfiles $ cd dotfiles # リポジトリの直下にhomeという名前のフォルダが必要なので作る $ mkdir
var XHR = new XMLHttpRequest(); query = "http://www.muratayusuke.com/"; XHR.open("GET",query,true); XHR.onreadystatechange = function(){ if (XHR.readyState == 4 && XHR.status == 200){ alert("hoge"); } }; XHR.send(null); 上記のコードなんかよく見るXMLHttpRequestのコードだと思いますが、最近のChromeでこいつがエラーを吐くようになりました。そう、 "XMLHttpRequest cannot load http://www.muratayusuke.com/. Origin http://muratest is not allowed by A
を、ようやく実装できました。 Amazon to Rakuten Chrome拡張「Amazon to Rakuten」は当初下記の流れで作っていました。 1. chrome.tabs.getSelectedで今開いてるamazonのページのURLを取得 2. XMLHttpRequestで取得したURLのHTMLを取ってきて、本のタイトルを正規表現で取得 3. 楽天ブックス総合検索APIに取得したタイトルを投げる 4. 検索結果をPopupに表示。表示されたやつをクリックすると無事楽天ブックスの商品詳細ページにジャンプ 1. Content ScriptでDOM解析し、今開いているamazonの詳細ページから商品タイトルを取得 2. 取得したタイトルをMessageでbackground.htmlに送信 3. background.html上で楽天ブックス総合検索APIに、Content
Chrome拡張のContentScriptでDOM操作できるから、ばりばりjQuery使おう!と思ったけど、あれ、どうやんねん?ってちょっとなったので備忘録。 正解は、manifest.jsonに書いちゃう、でした。
このページを最初にブックマークしてみませんか?
『MURATAYUSUKE.COM』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く