読者です 読者をやめる 読者になる 読者になる

上手な教え方の教科書をよんでいる

上手な教え方の教科書 ? 入門インストラクショナルデザイン作者: 向後千春出版社/メーカー: 技術評論社発売日: 2015/08/05メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見る 会社の人から借りて一通りザーッっと読んだのでメモっておく。…

FuelPHPのModelにはちゃんとデータ型を書こう

php

===での演算子結果がなぜかtrueにならなくて調べてたらこれが原因だった data_typeを設定していない >> var_dump(Model_User::find(1)->id) string(1) "1" data_typeを設定

Sidekiq

github.com Ruby界隈はエコシステムがしっかりしてるなぁ Redisが必要になる クライアント → Redis ← Workerが処理 workerを増やすことはできる workerが増えたときに同じジョブを実行することは?→Redisシングルスレッドなのでそこで担保 Redisが死んだとき…

社内環境改善活動の話

この記事は Classi Advent Calendar 2016 - Qiita12日目の記事です。前日はhilotterによるエンジニア立ち居振舞い: 明日いなくなってもいいように仕事をする – hello-world.jp.netでした www.wantedly.com この話を書こうと思ったのですが、既に結果は書かれ…

buildersconで知ったkuba-awsを触ってみた

この記事は Classi Advent Calendar 2016 - Qiita 7日目の記事です。前日はkitaharamikiyaによるFabric Beta によるテストアプリの配信 - Qiita でした。 12月3日に builderscon - Discover Something New に行ってきました。そこでkubernetesをAWS上で動か…

9月から教育サービスClassiで働いてます

この記事は Classi Advent Calendar 2016 - Qiita 5日目の記事です。 Classiにまつわる技術ネタを書きたかったのですが、入社以来ほとんどコードを書いておらず技術ネタがないので転職エントリー書きます。 なぜ教育だったのか? 積極的に次の仕事を考えてい…

buildersconに行ってきた感想

builderscon.io 駆け足で感想書く。 tl;dr 人口密度高くて盛り上がっている感がすごかった 生mattnさん見たかった 多様性がものすごかったので次回は全く違いものばかり聞いても面白いかもしれない 土曜にイベントがあると日曜日ガッツリ触れるからいい

IntelliJ + php + fuel + xdebug + vagrant でリモートデバッグする

PHP(Fuelフレームワーク)を触ることがたまにあるのでリモートデバッグの方法をメモする。書いてみたけどPHP自体よくわかってない vagrant のIP 192.168.33.10 ローカルのIP 192.168.33.1 root@vagrant-ubuntu-trusty-64:~# php -v PHP 5.5.9-1ubuntu4.20 (cl…

技術選択とQCDのトレードオフという結論がない話

経緯としては受託開発会社にiOSアプリの開発を依頼したら、Objective-C(Obで作ると言われて「え?Swiftじゃないの?」とエンジニア陣がざわついた。 同僚とオンライン・オフラインで話してたけどこれは難しい。iOSアプリ開発には詳しくないけど、技術的な制…

プロダクトマネージャーカンファレンス2016に参加してきた

プロダクトマネージャーカンファレンス 2016 | 10/24~10/25 に参加してきました。カンファレンス内容とかは動画・スライドが上がると思うので、そちらを参考にいただければと思います。(業務連絡:社内向けには多分別途書きます) 2016/10/24(月)25(火) Japan…

enzyme+React

enzymeとは GitHub - airbnb/enzyme: JavaScript Testing utilities for React Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output. karmaとかと組み合わせること…

utf8_unicode_ci

全角と半角を区別する create table test ( id int PRIMARY KEY , name varchar(255) COLLATE utf8_unicode_ci, title varchar(255) ); INSERT INTO test(id, name, title) VALUES (1, 'abc', 'abc'),(2, 'ABC', 'ABC'),(3, 'ABC', 'ABC'); 結果 mysql…

ridgepole 0.6.4 メモ

実戦で使えるように素振り URL https://github.com/winebarrel/ridgepole install gem 'ridgepole' # スキーマにoptions(ストレージエンジンの設定など)をつける gem 'activerecord-mysql-awesome' エクスポート すでにテーブルがある場合はexportする. ridg…

AWS CodeDeployで遊んでみた

会社でCodeDeployを使ってたけど、使ったことなかったので遊んでみた。 AWS CodeDeployとは? https://aws.amazon.com/jp/codedeploy/ より AWS CodeDeploy は、Amazon EC2 インスタンス、およびオンプレミスで稼働するインスタンスを含む、さまざまなインス…

Jenkins2.0 + http2をつかってみた

Jenkinsには足を向けて寝れないほど毎日使ってる人間なので、めでたくJenkins2が出たのでやってみた ついでにhttp2使ったらどのぐらいはやくなるのかな?というみたかった。 あとLet's Encryptもつかってみよう 環境 jenkins 2.6 nginx 1.11 AWS(AMI ami-f5f…

不具合を分析しすぎてチームに悪影響を与えたかもしれない

担当サービスの品質を担保するというのが仕事の1つなので、不具合の分析などを行うことはよくある。 ここでいう分析とは以下のことを指してる 不具合がいつからいつまで発生していたか なぜ発生したか どのような対応をおこなったのか ユーザにどのような案…

テストの改善案の案

エンジニアのKPTで「CircleCIで走らせてるテストが項目数の割には30分超えてきたから速くしたい」という話をしたけどちゃんと説明できなかったので書く 環境 Java8, SpringFramework MySQL Junit, SpockFramework 問題点 テスト実行の最初(いわゆる @Before…

今更サーバサイドとフロントエンドの責務を考えてみる

まえがき 仕事(Webブラウザ上で動くソーシャルゲーム開発)でSPA(Single Page Application)のサーバ側(いわゆるJSONを返すAPIを作成)を担当していた同僚の自分より若いエンジニアと話していたので自分の考えをまとめておきます。あと、ここではAjaxを使った非…

ロードス島戦記に学ぶ技術的負債の返し方

1年前にいたプロジェクトに戻ってきて3週間ほど経過しました。 ミーティングが多くてガッツリコードを書くことがなくなりました。 同じフロアにいたため時々飲みに誘ってもらってたので久しぶり感はなかったのですが、コードを見るとだいぶ変わってました。 …

次のソシャゲ開発でやったほうがいいなと思うこと

チュートリアル駆動開発 チュートリアルがユーザが一番最初に見るところだから、そこで落ちると意味が無い チームとしてはゲームの幹をはっきりするため ここにないものは実装するかどうか検討する イテレーション0を大切にする Jenkins、ステージング環境、…

Node.jsからTwitterAPIを使う

Node.jsからTwitterAPIを使ってみたのでまとめました やりたいこと TwitterAPIを使ってツイート内容と画像をあげる WebブラウザからのアクセスとUIWebViewを使ったアプリから使われるのでPin認証を使う 手順 Twitter Application Management からアプリ作成…

S3とCloud Storageのアップロード時間が全然違った話

S3とCloud Storageのファイル転送速度どのぐらいちがうのかなーと思って計測してみました。 2KBぐらいの5000枚の画像ファイルを作ってそれをインスタンス→S3、cloud StorageとS3(cloud Storage)→S3(cloud Storage)で計測してみました。 多分、ネットワークと…

Sinon.JSのuseFakeTimersを教えてもらった

全然関係ないローカルテスト通らないと調べてたら、テスト全体を一定時間内に終わらないとfailするテストだった…マジか orz— Eiji Hachiya (@hachi_eiji) 2015, 5月 18 説明難しいんだけど マスタの開始日と終了日が現在日付〜現在日付+200秒になってて、こ…

TypeScriptでNodeのWebアプリを書き換え中

今年頭からNode.jsを本格的に初めてみて、JavaScriptの柔軟性の便利さと怖さに四苦八苦してしてます。と言っても、1/3ぐらいは負荷試験してたり、細々と色々なことしてたので、そこまで書いてたわけではないけど。 オブジェクトにどんどんプロパティを追加し…

自分用のメモにもslackがいいのかもしれない

仕事用のメモで何かいいのないのかなーと色々試している途中 ユースケース メモはほぼ毎日書く 自分用のミーティング議事メモや、軽いプログラム(集計SQLとかコピペで実行するシェルとか)、コード書いてて気づいたことを書く。 小さなタスクも書く ホワイト…

gulpを書くときのメモ

背景 今のプロジェクトでgulpの中身を見ることが何回かあって、そのたびに「こうしたらいいのになー」とか思うので、軽くまとめておく。見るたびに直したい衝動にかられるが、動いているのには理由があるし、今はそのフェーズでないのでグッと我慢する。もち…

MongoDBのindex

indexの作成 db.collection_name.ensureIndexで作成できる。この時に第2引数のoptionsにbackgroundを入れること。デフォルトは background:falseなので、index作成完了までデータベースロックがかかるため ちなみにバックグラウンドを有効にした場合でも、シ…

シャーディングの復習

シャーディングの種類 Range Base sharding Hash Base Sharding 全部のshardに分散されるので均一的にデータが入る 範囲検索するとおそらくすべてのshardにアクセスするとおもうので微妙 データ一本釣りするときは有効かもしれない。(例:ユーザ自分自身のデ…

MongoDBのバックアップ周りを実際にやってみる

2年ぶりにMongoDBを触ることになったので、リハビリがてらReplica SetとSharding周りを触ってます。 とりあえず今日はReplica Setとバックアップ周り。 なぜバックアップまわりかというと、前に触ってた時は本当に基礎部分しかやってなかったので、バックア…

JDK7→JDK8にバージョンアップした時の作業まとめ

12/25 追記 JDK8でmaven releaseプラグイン経由でJARを生成するときにjavadocを作成しててエラーになった。 maven-javadoc-pluginのconfiguration <additionalparam>-Xdoclint:none</additionalparam> を追加した サーバ構成 インフラの構成ファイルはchefで管理 アプリケーションサーバ 約50台 …

Flap◯ Birdを作ってみる。その2

鳥のアニメーションを表示する 予め lv1_bird_normal.png, lv1_bird_flyup.png, lv1_bird_flydown.png を用意します。 shoeboxを使って、画像を結合します。別レイヤーを用意してそこに実装します auto birdSprite = Sprite::create(); birdSprite->setPosit…

Flyway Rollupをつくった

https://github.com/hachi-eiji/flyway-rollup仕事でFlywayを使ってるのですが、いくつが問題が出てきて 開発が進むとファイルが増える(V100とかまでできた) flywayのlocationsを安定版(本番で稼働中)と開発用(自分が開発中)でディレクトリを分けた場合に、 …

Flap◯ Birdを作ってみる。その1

会社から上記ゲームをつくってみなさいというお題が出されたのでcocos2d-xで挑戦中。Unityはなんか自分の感覚に合わなかったので...まずはインストール cocos2d-x 自体のインストール http://www.cocos2d-x.org/download からダウンロード Androidのダウンロ…

GitHubEnterpriseをどうやって仕事に使っているか

で、GitHubKaigiから1周間も経ってしまったのですが書いておきます。 スマホ向けのソーシャルゲーム(Webブラウザ)を提供しているので、頻繁にリリースが発生はしますが、定期リリース日というのが決まっているので、git-flowで開発しています。今のところこ…

GitHub Kaigi 感想文

6/1(日)に GitHub Kaigiに参加してきました。運営のみなさん素晴らしい会議ありがとうございました!その中でいくつか全体的な感想と印象に残ったものをまとめます 全体的な感想 id:naoyaさんもクロージングで言っていたように、昔コードレビューやリモート…

Agile Samurai Base Camp 2014 Re:TDDで学んだことを反映してみる

Agile Samurai Base Camp 2014 Re:TDDに参加してきました - 個人的なまとめでかいたようにJUnit+Grooy+Spockでテストのテンプレを書いてみました。 コードはこちら https://github.com/hachi-eiji/java-spock-practice正直Groovyは初めて書いた(ネットで落ち…

Agile Samurai Base Camp 2014 Re:TDDに参加してきました

ブログ書くまでが勉強会ですよ。ということで。 細かいところは http://togetter.com/li/657283 にまとめてくださってるそちらを見ていただければと思います。講演資料とかもリンクがついてます質問コーナー(お悩み相談室になってた)で直接 @t_wada さんに質…

Xcodeのswitch文のインデント補完が微妙

最近、iPhoneアプリの勉強してるんですが、Xcodeも合わせて勉強中。 その中でうーんと思ったのが、switch文のインデント "sw"と打つとテンプレートで出してくれるんですが、 switch (<#expression#>) { case <#constant#>: <#statements#> break; default: b…

service コマンドの環境変数でハマった話

新しく作成してもらったサーバ上からflumeを使って別サーバにログファイルを転送した時に日本語が文字化けする現象がありまして。なんだろう?と思ってflumeを管理してる別チームから「LANGの設定がUTF-8ではないとおもいますよ」と教えてもらいました。でも…

一人KPT

ぼちぼち今のプロジェクトで初めて作った機能がリリースできそうなので、一人KPTしておく 作ったもの 某ソーシャルゲームのギルド機能 ただし、 横展開もの でも横展開元では使っていなかった チーム(上の機能を作ったメンバー) プランナー×1 デザイナー/イ…

GitHub Enterprise,JRebel,Jira,HipChat使い始めました

異動後、約1ヶ月経過したのでまとめる 自分のなかで生産性が変わったもの ・SubversionからGitHubEnterprise(GHE)に変わった Git-flowをベースにdevelopブランチにマージするときにPull Request(PR)を投げてレビューしてもらうようにしています。ローカルで…

追記

$jetty.home/webapps/ にtest.xmlの設定を入れたら普通にいけました。前に実験したときにはどうしてダメだったんだろうか <Configure class="org.eclipse.jetty.webapp.WebAppContext"> <Set name="contextPath">/</set></configure>

Vagrant + Jetty + Intellij IDEAでリモートデバッグ

Webアプリを作成していて、現在時間を変更しないといけないケースというのがあります。ローカル環境で開発してると時間を変更すると色々問題なので、Vagrantを使うと便利です。ローカルのpom.xmlを以下のようにしてビルドするときにrootディレクトリ以下にWE…

リファクタリングとテストと私

わかってたことだけど改めて気づいたのでまとめましたポイントは 目的をもってリファクタリング 一気になおしたい病を抑えて細かくリファクタリング テストコードがシンプルなものはいいコードであることが多い プログラム性能が悪くなってきたので性能改善…

Javaだっていいじゃない

/.Jに聞け:Javaを使うメリットは?あると思ってますよ。ぱっと思いつくところでは 静的型付け言語。型推論あるし Eclipse,Intellij IDEA などのIDE強力 いろいろなノウハウが溜まってる それなりに人材がいるのでメンバーの入れ替えや補充を考えやすい ちゃ…

ChatWork→HipChatへの移行検討事項

会社がSkype&ChatWork→HipChatへ移行しそうなので、メンバーが困らないように移行事項を検討してみる。色々URL http://help.hipchat.com/knowledgebase/articles/64451-work-faster-with-slash-commands http://help.hipchat.com/knowledgebase/articles/644…

追記

Gitとの連携をちょっと検証してみました。 メニュー→[Edit]→[Project Settings]→[Editor]で Version ControlのModeを"Meta Files"、Asset Serializationを"Force Text"して、.gitignoreにUnityとMonodevelopの特定ファイルを外すといけました。.gitignoreに…

Unity研修まとめ

12/23まで5日間の会社のUnity研修でした。 研修前: あーUnityね。ゲームエンジンでしょ。聞いたことあるー(ほとんど知らない) 研修後: あーUnityね。ゲームエンジンでしょ。これだったらできるんじゃないかなぁ?...たぶん、スライムが倒せなかった勇者が…

SpringのDI + PowerMockでのテスト

いままではテスト対象クラスで定義しているDI部分をEasyMockで、staticメソッドのMockをPowerMockで書くことがほとんどでした。 昨日テストケースを書くときに@PostConstructで定義されている部分があったので、普通にDIを使って書いてたのですが、staticメ…

環境設定まとめ

Mac

MacBook Pro(2011)からMacBookAir(2013)へ変えたのでまとめておく。 綺麗にしたかったので移行アシスタントは使わなかった 直接開発に関係ない、もしくはありきたりすぎるGoogle日本語入力とかChrome,Dropboxとかは除く 最初にやったこと Maverickへのアップ…