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へのアップ…

ソーシャルゲームのマスタデータ管理

あとで役立つかもしれないので考えをまとめておく。いい方法があったら教えて下さい(切実 10/14時点での結論 現在Excelで管理している ↓ Excel管理 + マスタデータのテストを書く or Webアプリを作る 現在の方法 Excelで管理してる Webの管理画面は開発が追…

いまだにユニットテストって受け入れられないんだろうな

色んな所で「テスト(ここではユニットテスト)を書かないのは小学生までだよねー」とか、もっと汚い言葉で言われたりするけど、いまだにうちのチームでは自分だけしか書かない現状が悩ましい。 Jenkinsさんが激おこになっても誰も何も反応しない。 もちろん、…

Java7 のObjectsクラス

Java7 になってtry-catch-resourceとかDiamond Operatorとか色々入ってきていますが、java.util.Objectsクラスが入って来ました。 比較するオブジェクトがnullのときに、ぬるぽガッってならないので便利ですね。JavaDocを見てると、equalsとdeepEqualsという…

Mongo2.4の全文検索

Qiitaにもポストしたんですがこちらにも記載。まだブログとQiitaとGistの使い分けが上手くできてない。みんなどうやって使い分けてるのだろうか? 何を検証する? 全文検索の内容/設定 → 下記参照 日本語の全文検索に対しては? → 未対応 性能検証 → 未検証 …

ユニットテストとJavaBeansのsetterの悩み

久しぶり(?)にJavaネタ。 昨日/今日とユニットテストを書いてて、悩んだというか飽きてました。理由はテストを実行するときにJavaBeansにデータをセットしてたのですが、これがめんどくさい。最初はEclipseの保管機能とかで書いてたのですが、時間が経つ…

gistテスト

gistのテストを兼ねて入れてみた。 あと、markdown記法のテストも。 hoge fuga