サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
mattak.hatenablog.com
YAPC::Kyoto 2023 YAPC::Kyoto 2023 ひさびさのYAPC開催ときいて、京都に行ってきた! イベントって行く前はめんどくさくて、なんで申し込んだんだろうっ気持ちがMAXになるんだけど、 終わったあとは行っといてよかった最高って気分になるのが不思議だ。 YAPCって個人的にそのギャップが強いイベントな感じがする。 特にエンディングになるとエモい話が聞けて精神的充足感がある. ... うまいこと文章を書きまとめようとしたのだけど、無理だ. ブログが久々すぎて、どうやって書けばいいのかがもはやわからない... ブログってどうやって書くんだっけ.. 文章下手くそだけど、頑張って書く 色々思い出していこう まず前日に夜行バスを予約して京都に行く予定だったのだけど、考え事してたら電車降り過ごしてバスが目の前で出発する. (やらかし1) 他のバスが全部満席だったので、翌朝一番
こんにちは! モバイルファクトリー Advent Calendar 2018 の14日目です. 昨日はhtk29さんの新米プロダクトマネージャとして学んだ3つの事でした。 本日は卒業した @mattak が担当します! 前置き モバイルファクトリーには2012年に新卒入社、2018年までちょうど6年勤務していました。 そして今年の春からフリーランスに転向してお仕事しています。 フリーランスになってまだ時は浅いですが、自分なりに感じた変化などメモ程度に書いてみようとおもいます。 フリーランスエンジニアを考えているという人に何か参考になれば幸いです。 変わった点 どこでも働けるようになった 契約次第ですが、今はリモートで作業する機会がほとんどになりました。 自宅、コワーキングスペース、カフェ、空港など色んな場所で作業しています。 一時期GDCに参加するためSFに行っていたのですが、空港の待合室
失敗の科学をよんで知った概念. 1%の改善をつくみあげいけば... 的なやつ。 エンジニアだと普通にすごしていると日々マージナルゲインしていると思う。 escが押しにくいからキー配置をかえてみようとか、macのspot lightが使いにくいからalfredつかってみようとか、Editorの設定変えてみようとか、なんでもいいけどそういう些細なやつ。 やっていくうちに、積み上げていくうちに、そのうち大きな違いが出ている。 この概念は自分も持っていたし、仕事では実践する機会も多かったのだけど、私生活ではマージナルゲインできていなかった。 最近、触発されていくつか実生活で意識して試してみてよかったことがあったのでいくつか。 Run & 風呂 => 夕食 を 夕食 => Run & 風呂 帰宅後に走ってから、めしを作って食べるパターンが多かった。 なんとなく、走り終わって1日にやることをやり終えて
前置き 100%自分だけで作ったもので何かお金を稼ぐっていうのをフリーランス中になにかしらやってみたかった。 仕事も多少なれてきたので少しづつやっていく! 販売できそうな場所 思い浮かぶ選択肢 GooglePlay / AppStore Steam AssetStore 即売会 (コミケ, デジゲー博, GameMarket, Maker Faire) 電子書籍 作成できそうなコンテンツ ソフトウェア/ツール webサービス デジタルゲーム アナログゲーム 本 電子工作物 当面の方針 高く売ることや需要があるものを売ることは、まずは考えずに、第二ステップでやっていきたい まずはできるだけハードルを低くして、カジュアルにつくれそうなものを作っていく方針。 NextAction 作れそうなもの/作りたいものアイデア出しをする ある程度の数 (100~) 揃ったら次のステップで詳細に詰めていく
数年前のプロジェクトで100行未満のファイルをプロジェクト全体の95%にする。 という趣意でメンテしやすさを確保しようとした。 (テストやコードジェネレートしたものは除いて計測するような指標) speakerdeck.com これはわりと簡便で良い指標だと個人的に感じている. どんなプログラミング言語やアーキテクチャでもすぐに適用でき、ある程度プロジェクトの健康状態がそこからわかるからだ。 この話をすると、クラス感の依存関係をみたり、コミットログでの編集頻度などより複雑な解析しようと試みる人がいる. それはそれでとても良いのだけど、個人的にはこの指標の柔軟さ、簡便さ、費用対効果の高さが気に入っている. ファイル行数の分布グラフがばらついているプロジェクトは、だいたい何か設計や機能が失敗している. 昔どこかの勉強会で、行数が多いほどエンバグする可能性が高まるという当たり前の事実を聞いた。 実
雑に書いていく運動 今回のテーマ 「声」 GoogleHomeで遊べるアプリを作ろうと思った。 企画 GoogleHomeで簡単な時間あてゲーム。 イメージは、10歩歩いて振り返って撃ち抜く荒野のガンマンのイメージ。 「10秒で勝負!」 ...10秒後 「バン!」 でもって指定時間誤差であれば、勝利するという簡単なゲーム. スケジュール感 3/10 12:30-13:00 企画決定 13:00-18:00 GoogleHome勉強&試行錯誤 3/11 16:00-18:00 GoogleHome試行錯誤 作業時間7時間程度確保。 少なめなのは、歯医者とTOEICが要因。。 結果 完全に作り切ることはできなかった。 終了後にちょっと調整して一通り遊べる感じには出来上がった。 作ってみての感じた問題点 時間遅延がひどい (3-5秒くらいずれる。ゲームとして致命的) 開始タイミングがわかりづらい
モチベーション 最近部屋が乾燥していて朝起きると喉がカラカラになってしまう・・ 湿度計も温度計もないのでraspberry piで自作してみる. ついでに測定したログを監視サービスにポストするようにした. 設定全般 us配列で入力しにくいので、keyboard 配列を変更 /etc/default/keyboard XKBMODEL="jp106" XKBLAYOUT="jp" Raspberry Piを買ってみたのでRaspbianのインストールとか初期設定とかとか | メモ帳代わりのブログ $ sudo aptitude install vim $ sudo reboot 計測 make-motion.hatenablog.com 上記ブログを参考にcで書いた。 データのpost 記録した温度と湿度はdatadogのAPIにpostするようにした。 qiita.com qiita.co
英語も頑張って書いてみるテスト。 Introduction 今日 Unidux v0.0.1 をリリースしました. Today, I released Unidux v0.0.1. 僕は一般的にはオレオレアーキテクチャをつくるのは下策だとおもっているのだけど、 I think that it's not good way to create application architecture by oneself. 今回はその考えに反してアプリケーション・アーキテクチャを自作しました. But at this time, I created handmade application architecture against the idea. それには理由があります. There is a reason to create application architecture. Unity上でア
GeoHex v0.0.1をリリースした. ただロジック的にはgeohex4jのコピーに過ぎず、いくつかパフォーマンスチューニングの必要性があると思ってた。 その最適化した時のメモ。 計測 まずは各関数の実行時間を正確に計測する。 実行時間を計測するためのクラスを作成した。 gist.github.com 計測結果 10回ほど計測して平均値をとった。 function original (ms) optimized (ms) shrink time percentage (%) AdjustXY 1.184e-05 1.1345454545454545e-05 95% GetXYByLocation 0.0001939 0.0001600909090909091 82.5% GetZoneByCode 0.008047 0.005785454545454546 71.9 % GetZone
よくわかんにゃかったので、よんだ。 30 public class Volley { .... 35 /** 36 * Creates a default instance of the worker pool and calls {@link RequestQueue#start()} on it. 37 * 38 * @param context A {@link Context} to use for creating the cache dir. 39 * @param stack An {@link HttpStack} to use for the network, or null for default. 40 * @return A started {@link RequestQueue} instance. 41 */ 42 public static RequestQu
前置き ゲームジャムでゲームを作るときに作曲できると便利。 面倒な著作権問題やら回避できて、自由にアレンジや改変もし放題。 lycoris102さんと ayaki さんにいろいろ教えてもらって作曲はじめた。 自分で作った曲はいろいろとおかしいのだけど(自覚している)、まあ最近始めた初心者なので許してという感じ。 ツール 作曲に利用したツール。 DAW (Digital Audio Workstation) というらしい。 FL Studio FL Studio 12 定番ソフトらしい。mac版はbetaでリリースされていて、プロジェクトの読み出しができないもののちょっとした曲を作る分には十分。 こんな曲をつくった。 soundcloud.com GarageBand Mac標準の作曲ツール。 いままではなんか邪魔なアプリが入ってるなー程度の認識だったのだけど、使ってみるとDAWとして初心者
読了したのでFBした。 久々のプレゼン資料、作成がつらい。。 3ヶ月くらいダラダラと発表を避けてきたけど、なんとか形にできてよかったー。 本の感想 本の内容は面白かった。 のだけれど図とか絵がもっとあってもいいのになーとところどころ思う。(活字疲労が・・ インタビューやらテストエンジニアの職種の内容が本の中ではメインコンテンツになっいるんだけど、 退屈だったのでFBの資料からはバッサリ省きました。 それでも話し足りない量の内容がつまっているので、気になったらぜひ買って読んでみるのが良いと思います。 最後に。 本のプレゼントしてくれた @masasuzu さん、ありがとうございます!
最近料理のレパートリーが広がらず悩んでいる。 やっぱり意識的に新しい料理にチャレンジしていかないと・・・! というわけで今季は食戟のソーマの料理を頑張った。 アリスのミルクセーキ pic.twitter.com/DgtxFgocEY— めしてろ (@mustankatti) 2015, 6月 23 女王のエッグベネディクト? pic.twitter.com/mXleeFyauS— めしてろ (@mustankatti) 2015, 6月 14 リンゴ粥リゾット、ビシソワーズ pic.twitter.com/pvMMeePGdy— めしてろ (@mustankatti) 2015, 6月 13 昔ながらのナポリタン、じゃがいものポタージュ pic.twitter.com/5x62Xjx6dd— めしてろ (@mustankatti) 2015, 6月 8 昔ながらのナポリタン、サーモンのカル
termbox-goとは? nsf/termbox-go · GitHub golangからterminalのAPIを叩けるlibrary. pecoの内部でも利用している。 基本 importする import "github.com/nsf/termbox-go" 初期化 & エラー処理 err := termbox.Init() if err != nil { panic(err) } 終了処理 defer termbox.Close() WindowやKey入力のEvent Wait for { switch ev := termbox.PollEvent(); ev.Type { case termbox.EventKey: switch ev.Key { case termbox.KeyEsc: return } default: draw() } } 全体 Show curr
Session1: Autodesk Session & Workshop 建築用のデータ (BIM) -> ゲーム用のデータ (FBX) 階層で分ける みえるところ 床、地面など ゲームに特化する 建築は厚みがあるが、ゲームでは板ポリでよいものがおおい 底の厚さを削除. ある程度の粒度でまとめてしまう 階段一枚の板ポリにする UV 必要ならMayaでUVつくる 気軽に取り組めばよい Material Mayaで管理しやすいように色分けする. データを作り分ける 要素ごとの色分け. 壁、床、エレベータ、・・・ Data Conversion REVit ARCHITECTURE -(fbx)-> Maya -(fbx)-> Unity Unityでの配置 Texture / Materialの設定 2pattern: 一つ一つ作って配置? Mayaで全部作って1ファイルで持ってくる? ひと
これだけ! KPT 作者: 天野勝出版社/メーカー: すばる舎発売日: 2013/08/23メディア: 単行本この商品を含むブログ (9件) を見る なぜ読んだ? 最近自分の周囲のプロジェクトでKPTが流行している。 各プロジェクトいろんなアプローチがあって、うまくいっているケースとうまくいってないケースがあるなと感じてる。その原因を知りたいなって思ったのが1つ目の理由。もう一つは、リーダーらしいものを任される機会があって、何をどうすればいいのか悩んでるから。自分だけが空回りする状況になりがちだし、もっと自律的な集団にしたい。そのヒントがあればって思ったのが2つ目の理由。結果、読んでよかった。 リーダーってなんだろ? リーダー=MTGをまわす人ってくらいの認識状態の僕は、読了後にふりかえってみると失敗していたんだなと実感できる。 本の中で言及されているのだけど、何でもかんでもやってしまう一
たとえば、ubuntuであれば、 $ sudo apt-get install -y vim のように-yオプションをつけることで Do you want to continue [Y/n]? のように聞かれるyes/noの入力をスキップできる. linuxにはこのyes/noの質問でyを入力しつづけてくれるyesコマンドがある. $ yes y y y ... このまえのABCのLTで $ yes | android update sdk --no-ui --all すれば簡単にアップデートできるよーとかいったけど、ごめんなさい、これだとうまくアップデートできてませんでした。。orz.. yesコマンドは"y\n"を延々とはきだしてくれるけど、android update sdk 側の入力プロンプトで、実際やってみるとうまくうけとってくれない。 そこで以下のようにしてみた。 $ echo
apply from: で外出しすると非常にスッキリした。 android { defaultConfig { ... } ... // signingConfigs def keyStoreGradleDir = "${System.env.HOME}/dev/KeyStore/gradle" apply from: "${ keyStoreGradleDir }/mykey1.gradle", to: android apply from: "${ keyStoreGradleDir }/mykey2.gradle", to: android ... } mykey1.gradle signingConfigs { myKey1Config { storeFile file("../key/mykey1.keystore") storePassword "pass1" keyAlias
Android L http://developer.android.com/preview/index.html 注意 完全に端末が初期化されます。 重要なデータは要バックアップ。やりかけのゲームは要保存。 install Imageは下からDL. http://developer.android.com/preview/setup-sdk.html 下記ページのinstructionに従う. https://developers.google.com/android/nexus/images#instructions ログ $ cd ~/src/hammerhead-lpv79 $ adb reboot bootloader $ fastboot oem unlock ... OKAY [ 77.129s] finished. total time: 77.129s $ ls boot
mongoぇ 基本的な使い方はわかったけど、アプリどう組み込むのかの経験をつまぬば。。 簡単そうなアプリケーションとして、url shortenerを作ってみる。 rubyでmongo とりあえず、rubyで使えるかをためす。 ちゃんと、利用できるgemがあるみたい。。 $ gem i mongo $ gem i bson_ext bson_extは For optimal performance, use of the BSON extension is recommended. っていわれたので、入れた。 早速使ってみる。 $ pry > connect = Mongo::Connection.new > connect.database_names => ["local", "mydb", "test"] データベースの選択 > connect.db("mydb") コレクションの選
Googleは何のアナウンスもなく、非常にカジュアルにドキュメントを更新し、APIを更新する。 昨日 (5/13)もきっとなにか中の仕組みを変更していたのだろうか、InAppBillingのテストアイテムの購入で、「アイテムが取得できません」がずっと表示されるというバグがあった。 別に障害おこしてもいいんだけど、なんらかのアラートを外部にちゃんと出してほしい。トラブってるんだよと。 久々にgetSkuDetailsでのレスポンスjsonをみてみると新しく2つのフィールドが追加されていた。 { "productId": "sku", "price_currency_code": "JPY", "price_amount_micros": 5000000000, "description": "説明", "type": "inapp", "price": "¥5,000", "title":
放置中のものが2つあるけど・・・ (プレゼン, ircbot) GDEのFB会で刺激を受けたので、4月分のゲームをつくりはじめる 4月のテーマ 前のゲーム(バナナハンター)があまりにもゲームになっていなかったので、もう少しましなものを作る。 目標 人の心を動かすゲームをつくる 3dをつかう きょうやること ゲームの企画をかんがえる 人の心をうごかす 人間の感情体験に関係ありそうなキーワードを列挙してみる 喜び 悲しみ 恐怖 怒り 怯え 嫉妬 憎しみ 好き・嫌い 好意 悪意 善意 焦燥 安心 期待 不安 緊張 恋 躍起 奮起 倦怠 探求心 好奇心 性欲 知欲 食欲 面白い ツマラナイ なんかちょっと違うものが混じってる気もするけど気にしない。 何らかの強い感情を植え付けられるゲームはいいゲームだといえるのかも。 強い感情を与えれた好きなゲームの例を挙げてみる. バイオハザード アクション 恐
凪のあすからの最終回よかった。イベントあたってほしいなー・・・ pluginについて buildやテスト結果をircにpostする簡単なpluginをつくる. ircにポストするタスクの登録 とりあえず、gradle postIrcコマンドでpostできるような基本のタスクを定義した。 https://github.com/mattak/gradle-buildbot-plugin taskの種別に応じて、メッセージを変化 compileのタイミングで、"compile done" or "compile failure"を出力 testのタイミングで、"Test passed 190/200. 95% OK." みたいなメッセージを表示したい. gradleのライフサイクルで、shouldRunAfterとmustRunAfterがあるが、incubating featureなので、使う
昨日は飲み会で朝まで飲んでかけなかった・・orz。 影牢もかったし、続けられるか不安要素が・・・ 今日やること 19:00-21:30 バナナを上から降らせてタッチする方式に変更する。 マルチタッチを許容する。 やっぱ変更 GooglePlay Servicesをつかってみる 参考: http://mattak.hatenablog.com/entry/2014/03/15/195004 Google Play Servicesとは http://developer.android.com/google/play-services/index.html 3行で Googleの すごいサービスの恩恵を 簡単に素早く受けられるよ たとえば、Maps, Google+などで。 特徴 AndroidOSに特化した簡単なアクセス手段 GoogleAccountsを利用した標準的な認証 GoogleP
wildcardを使う srcファイルを指定するのに、以下のようにファイル追加を行うごとに設定をいじるのは面倒。 LOCAL_SRC_FILES := hellocpp/main.cpp \ $(LOCAL_PATH)/../../Classes/Hoge.cpp $(LOCAL_PATH)/../../Classes/Fuga.cpp これはwildcardを利用すれば、以下のようにかける。 LOCAL_SRC_FILES_JNI_PREFIXED := \ $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp) 任意のディレクトリを許可したいなら、以下のように書き換えられる。 (階層が増えるごとに記述はひつようだけど...いい方法がわからんです) LOCAL_SRC_FILES_JNI_PREFIXED := \ $(wildcard $(LOCAL
AndroidStudioでgraldeビルドになった。 で、ライブラリの作り方がよくわかんないので、まとめた。 jarの作り方 src/main/java 以下にパッケージとコードをおく。 $ tree . ├── build.gradle └── src └── main └── java └── me └── mattak └── sample_library └── HelloPackage.java build.gradleは以下の通り $ cat build.gradle apply plugin: 'java' apply plugin: 'maven-publish' version = '0.0.1' group = 'me.mattak.sample_library' repositories { mavenCentral() } dependencies { comp
Volley Google IO 2013で発表された非同期通信用のライブラリ。 今まで、AsyncTask+(HttpURLConnection | ApacheHttpClient)で行っていた部分を置き換えるられる. 発表の動画 http://www.youtube.com/watch?v=yhv8l9F44qo 使い方 git clone https://android.googlesource.com/platform/frameworks/volley import Volley.newRequestQueue(context) antでのjar化 $ ant jar bin/volley.jarができる gradleでのaar化 まだmaven centralにあがってなかったので、とりあえずローカルレポジトリに吐いて使えるようにする。 build.gradleを微修正 bu
このページを最初にブックマークしてみませんか?
『mattak.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く