不格好エンジニア

wordpress.comから引っ越しました。

現役のエンジニアが親友の為にプログラミングスクールを選ぶとしたら

はじめに これからプログラミングを学ぼうという方が、実際に企業で勤務しているエンジニアと会話する機会は限られていると思います。そこに少し課題意識があったため、私見について書いてみました。誰かのお役に立てれば幸いです。 自分が、親友におすすめ…

オブジェクト指向プログラミング特集を読みたくて 〜Software Design 2021年3月号〜

チーム内に新しいメンバーが増えてきて、クラス設計について議論する機会が増えてきました。冒頭特集「Javaでもう一度学び直すオブジェクト指向プログラミング」を目当てに『Software Design 2018年12月号』を購入しました。この雑誌は定期的に購入していま…

rbenvを流し読み

注)誤ったことを書いているかもしれません。 動機 rubyで仕事してると職場でも頻繁に使うものなので、中身を理解したくなった。 version 1.1.1 ドキュメントを読んでみる github.com 冒頭の重要そうなところをピックアップしてみます No headaches running a…

Rails::Railtieを流し読み

Rails::Railtieを流し読み 動機 request_storeを読んでいる途中で、結局途中でrailtiesにブチあたり、この辺ちゃんと読んだことないのが気持ち悪いな、という気持ちでコードリーディングを始めてみました。 version 2.3.0 ドキュメントを読んでみる Ruby on …

プラットフォームの教科書 を読んだ

プラットフォームの教科書 を読んだ。 この本を読んだ自分の背景というと、普段はスタートアップ企業でグロースハックやWebアプリケーション、モバイルアプリの開発などに従事している。 プラットフォームビジネスの勝敗を分ける要因は当然、技術的な要因だ…

コーディング面接対策サイトCodilityの練習問題を解いてみた(MinMaxDivision)

問題 配列AをK個に分割し、それぞれ分割したブロックの和を求める。 すべての配列の要素は5以下。 A = [2, 1, 5, 1, 2, 2, 2], K = 3, M = 5 なら [2, 1, 5, 1, 2, 2, 2], , なら、分割したブロックの和の最大値 15; [2], [1, 5, 1, 2], [2, 2] なら、分割し…

コーディング面接対策サイトCodilityの練習問題を解いてみた(TapeEquilibrium)

問題 テーブを前半と後半に切断して差分を比較し、最も少ない差分を返す Test results - Codility 回答 headにテープの前半部分を、tailにテープの後半部分を格納する。 インデックスを動かすごとにdiffを再計算する。 def solution(a) sum = a.reduce(:+) h…

コーディング面接対策サイトCodilityの練習問題を解いてみた(FrogJmp)

問題 カエルが目標に到達するためには、最低何回、ジャンプする必要があるか Codility 回答 def solution(x, y, d) ((y - x).to_f / d).ceil end その他 割る前にto_f しないと、小数が切り捨てられてしまうことに注意。 パフォーマンスを考えると、ループさ…

コーディング面接対策サイトCodilityの練習問題を解いてみた(CyclicRotation)

問題 与えられた配列aの各要素をk回,右に動かす(このとき、最後尾の要素は先頭に持ってくる)。 Codility 回答 def solution(a, k) b = [] for current_index in 0..(a.length-1) new_index = (current_index + k) % a.length b[new_index] = a[current_index…

コーディング面接対策サイトCodilityの練習問題を解いてみた(BinaryGap)

問題 Codility nを二進数にして、1に囲まれた0の数を数える 回答 def solution(n) s = n.to_s(2) zeroes = s.split('1') zeroes.pop if n % 2 == 0 return 0 if zeroes.empty? zeroes.map{ |z| z.length }.max end # debug puts solution(20) == 1 puts solu…

はてなさんの「エンジニア実績システム」をベースにして、2016年の目標をたててみた

もはや4月も終わろうとしていますが、まとまった時間がとれるゴールデンウィークを前に意識が高くなっています。 そんな今だからこそ、業務外での目標をリストアップしてみます。 2016年の目標 10年後も食べていけるエンジニアになる。(こちらの記事を読んで…

"Amazon.co.jp: Amazon Web Services パターン別構築・運用ガイド " Chapter1を読んだ

Amazon.co.jp: Amazon Web Services パターン別構築・運用ガイド: NRIネットコム株式会社, 佐々木 拓郎, 林 晋一郎, 小西 秀和, 佐藤 瞬: 本のChapter1を読んだメモ。 概要 本業以外のプロジェクトでインフラ構築も担当することとなり、本書を購入しました…

多分どこよりも早い ドッツサミット2015 レポート

dots.summit 2015とは? フリークアウトのおしゃれオフィスでトップエンジニアによる講演を聞きながら、エンジニア同士の交流をはかる素晴らしいイベント。運営はインテリジェンスさんですね。それにしてもバスケットゴールやらビリヤード台やらがあって、遊…

そろそろ「パーフェクト Ruby on Rails」読んで本気出す ⊂('ω'⊂ )))Σ≡=─༄༅༄༅༄༅༄༅༄༅

筆者のスペック Rails歴は1年ちょっとくらいです。お仕事ではiPhoneアプリとサーバサイドを行ったり来たりしています。 購入の経緯 とりあえず、日々の仕事については、ある程度こなせる様になって来ました。 ただ、Raisのベストプラクティスやイケてるスタ…

【本場でも通じるふりかえりテクニック】アンチパターンとその対策

本場ってどこやねん。。。 "改善MTG(ふりかえり)"あるある プロジェクトの節目に行うふりかえりMTG、改善MTG。 これって、盛り上がらなかったり、自然消滅してしまう事も多いですね。その原因となるアンチパターンや対策について考えてみました。 上からメセ…

仕事を楽しくする【AWSを使わない】はてぶの記事をサムネイル付きでJSON配信する3ステップ

はじめに 類似するネタは、オンライン上に色々な方が書いて下さっているのですが、"サムネイルはAWS S3に保存しよう!"的なネタが多く、VPS一台で処理を完結したい自分にとっては、そのものズバリの記事がありませんでした。需要があるかどうかわかりませんが…

【VPSか、AWSか、Herokuか】結局、最後はさくらVPS+Unicorn+Rails+Capistranoに行き着いた【構築スクリプト付き】

お仕事以外にも色々手を出しています。 主に知り合いの方とサービス作ってみて頓挫したり、細々とiPhoneアプリを開発してみたり、、まったり作っていきたいと思います。 サーバを用意する際の選択肢について 自分のサービスやアプリを公開するとなった場合、…

【怠惰な】Swiftを学ぶにあたって最適なオープンソース【Objective-C経験者向け】

筆者のスペック 業務やプライベートプロジェクトでObjective-C を1年半ほど、経験しました。最近、サンプルコードやライブラリもSwiftを用いたものが増えて来て、少し焦っています。Swift勉強しなくちゃ。 困っていること チュートリアルをチマチマ進めてい…

【あの有名サービスが】コードリーディングで学ぶAngularJS【丸裸に】

コードリーディング AngularJS初心者です。 コードリーディングという形で、AngularJSで実装されたWebサービスのソースコードを題材に使って、その動きや機能がどのように実装されているのかを、ソースコードのレベルで解析していこうと思います。※時間のあ…

Unicorn(Rackサーバ)+Nginx(リバースプロキシ)の構成が多用されている理由について、調べてみた話

使ってますか? Unicorn。Unicornは本番環境用に広く使われているRackサーバの一つです。位置づけとしてはMongrelやThinに近いものです。お仕事ではPhusion Passengerを使用していますが、今回はUnicornについて学んだ事をまとめてみました。 Unicornの特徴 …

「納品をなくせばうまくいく」を読みました

※旧ブログからの転載記事です。購入のきっかけ IT業界の課題、開発トレンドやエンジニアの働き方に対する問題意識から「納品のない受託開発」というビジネスモデルを提唱された倉貫さんの著書です。受託開発専業のSIerから転身して、ここ2年ほど、Webサービ…

【5分で学べる】Vagrant上にRailsをAnsibleでかんたんクッキング(CentOS6, MySQL, Rails4, Unicorn)

概要 VagrantとAnsibleでRailsの開発環境を構築したら便利すぎて鼻血吹きました。 ソースコードを公開しておりますので、ご自由にお使い下さい。 https://github.com/tjnet/vagrant_sakuravps_rails 最低限のシンプルな構成になっており、把握/カスタマイズ…

HerokuにDeploy Hooks を導入してデプロイ通知をHipChatで受け取る

※旧ブログからの転載記事です。Deploy Hooksを導入する事により、Herokuへのデプロイ通知を受け取る事が可能になります。実際には、メール、BaseCamp、任意のHTTPエンドポイント等、いくつかの通知先を設定できます。通知手順は、HipChatの公式ドキュメント…

RubyでTopCoderの問題を解いてみる(幅優先探索)

TopCoder SRM453.5 Div2 Level2を解いてみました。※旧ブログからの転載記事です。幅優先探索をはじめて実装しました。長くて見通しがよくない気がする。。。リファクタが必要。[問題要約] 友人のjimに迷路を解かせたいと思っています。Jimの動き方は、move_r…

Herokuを用いて、ひとりでWeb APIを構築した時にやった事、やるべき事

※旧ブログからの転載記事です。まえがき 最近、個人でもWebAPIと連携するiPhoneアプリの開発を進めており、サーバサイドではHerokuを利用していました(現在は、さくらVPSに移行しています)。これから、個人開発や小規模チームでの開発を始めようと思っている…

RubyでTopCoderの問題を解いてみる(深さ優先探索)

TopCoder SRM425 Div2 Level1を解いてみました。※旧ブログからの転載記事です。[問題要約] 東西南北自由に動き回るロボットが指定回数動いたときに、同じ地点に戻ってこない確率を求めよ。ここでは深さ優先探索を用いてロボットの歩行パターンを列挙し、最後…

初心者がiOSアプリと連携する自社サービスを"浅く"チューニングしてみた話

※旧ブログからの転載記事です。最近、お仕事ではiPhoneアプリとそのAPIをRailsで作っておりました。それなりに多数のアクセスが見込まれるフェーズになってきたため、サーバサイドでの高速化に着手し、その中で得られた知見を社内で共有しました。

cocoa podsとparse sdkを使用した時のUndefined symbols for architecture ...を解消した話

※旧ブログからの転載記事です。parseのQuickstart tutorialに従って、CocoaPodsを使用した既存のプロジェクトに Parse ios SDKを組み込んでいたところ、Linker errorが多数発生しました。 Undefined symbols for architecture i386: "_FBTokenInformationExp…