サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
isoparametric.hatenablog.com
こちらはEngineering Manager Advent Calendar 2023 12日目の記事です。 こんにちは、Isoparametric(Yuki Tamura)といいます。 今回はEMはCTOやVPoEの下位互換ではないということについて書きます。 私は今estieというスタートアップでEMをしております。 前職では不動産テックのCTOをしていて、その前はスマートニュースという会社でEMをしてました。 その前は、ディライトワークス、gumiという会社でCTOだったりしたこともあります。 それが何故またEMをという感じですが、入社の経緯などは、会社のブログの方にありますので興味があれば読んでみてください。 CTOを辞めて各社のCTOや最強のエンジニアが集う梁山泊estieに入社した理由 - estie inside blog では、CTO/VPoEとEMの互換性/再現性につい
Voluntasに、 給与全部使うを読んで @isoparametric しか思いつかなかった。— voluntas#1345 (@voluntas) 2014, 7月 6 こんなことを言われつつ、 http://mizchi.hatenablog.com/entry/2014/07/06/163724 が面白かったので書きます。 常飲用炭酸飲料:月2000円〜 炭酸水ですが、ペリエ派。 ビンの330mlくらいが持てあまさずに使えてよいです。 Perrier(ペリエ) 330ml×24本 [並行輸入品] 出版社/メーカー: 春日商会 メディア: 食品&飲料 購入: 12人 クリック: 58回 この商品を含むブログ (13件) を見る 330の24本入りなので1ヶ月もちます。 キーボード: 1万~3万〜 キーボードはゲーム会社に入ってから、 会社に落ちてたXBox開発用のMicrosoftの
こないだエンジニア同士で集まって話していたとき白物家電の話になりました。 日々を最適化するために「これは買うべき」という話で盛り上がったわけですが、自分自身今まで生活してきた中でこれを使うことで日々を最適化し、効率化および自動化できた、と感じたものを紹介したいと思います。 1.全自動洗濯乾燥機を導入 こいつは要するにJenkinsです。洗濯物を放り込んでおくと自動的に乾いたタオルやシャツが準備されます。そもそも独り暮らしのエンジニアにとって一番面倒だと感じるのは「洗濯」ではなく「干す」という行為ではないでしょうか。 天気や気温、湿度にある程度のランダム性がある以上、乾きには揺らぎがみられますし、そもそも干すという行為がめんどくさい。となれば、ちょっと考えて安定的にビルド(洗濯/乾燥)してくれる環境が必要ということです。 もの凄く高いものである必要はないのですが、独身エンジニアの間では20万
かつて、ゲームプログラミングはアセンブリが主流で、8bitのCPUは掛け算や割り算すらないものでした。割り算がないCPUっていつの時代だよ、っていう人たちもおりますが、ゲームボーイアドバンスに搭載されているARM7TDMIは除算の命令を持っていません。(故に除算を書くと死ぬほど遅いので、乗算で代用したりする) また、浮動小数に対する演算ユニットを持っていないハードウェアもあります。ニンテンドーDSに搭載されているARM946E-Sですら、浮動小数演算ユニットはありません。(CPUの機能としてはオプションで存在する)そのために固定小数点といった技術もあるわけですが、古くさい話です。 これらはCとC++の機能を駆使していかにパフォーマンスを出すかを余儀なくされた時代です。 さておき、最近はスマートフォンでのゲーム開発も進化しており、C++がiPhoneとAndroidの両方で動くということもあ
ということで、最近はC++触ったりObjective-C触ったりJava触ったり、Lua触ったりしているわけですが、cocos2d-xに関してgumi Studyで話しました。とはいっても、中身は殆どcocos2d-xに関係ありません。 割と当たり前のことしか書いてないのですが、コンシューマゲームでも踏んだ「基本的な罠」について書いてあります。 cocos2d-xを触っていると、かなりの人たちがC++を知らずにC++を書いているという現実に出くわします。そういうとき「動いているから」で突き進むのではなく、1度止まって、自分がそれを理解しているのかを考えて見てはどうでしょうか。 ネイティブ開発アンチパターン from Isoparametric !
社内でデザパタが盛り上がっていたので、社内勉強会でLTしました。 その資料です! 基本的に自分はデザインパターンは「言語に依存しない設計に名前をつけたもの」だと定義しています。 なので、よくある「デザインパターンってJavaじゃないと役に立たないよね」なんていう意見には反対です。 勿論、言語によっては適応する意味の無いパターン、意味の薄いパターンもありますが、 GoFのパターンだけがすべてではないですし、 "設計に名前をつけて共有する"というスタンスこそが最高のものだと思っています。 (酒井姐さんは社内のエンジニアです) デザインパターンとは何か? View more presentations from Isoparametric ! 最後でも紹介していますが、この本が超オススメです! デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns serie
最初に結論を書いてしまえば「プロセスは銀の弾丸じゃないよ」ってこと。 そして、エンジニアだけがやるものじゃないんだろうね、ってこと。 最近というよりも、アジャイルという言葉はずっと以前から言われていて、 アジャイルソフトウェア開発宣言は2001年だし、 Scrumが生まれたのも1986年だ。 20年以上も多くのソフトウェア開発プロジェクトはプロセス改善を叫んだし、 実際にやってもきたけれども、 何故未だに建物を建てるようにソフトウェアを創れないんだろう? これは自分がよく知る話。 「ソフトウェアの開発に変更はつきもので、かつエンジニアの力量によっても工数は大きく変化する」 というエンジニアの認識があったとき、こんな話がでることがある。 「なら最初からそれを織り込んだスケジュールを立てれば良いだけの話です」 「原発や東京スカイツリーのような巨大建造物でさえ、当初に立てたスケジュールに沿って建
最近開発をしてきて開発者に重要だと思うのは、 ・問題を発見する力 ・問題を解決する力 の二つだと思っている。 実際にコードが綺麗とか、技術が卓越している、というのは個人の手腕であり、 持ちうるスキルではあるのだけれど、 それは「問題を解決する際に使われる力」だ。 そして、これには「コミュニケーション力」や「交渉力」、 「論理的思考」や、「選択肢の中から成否を見据える力」も含まれている。 そして、これを行うためには「問題を発見する力」が欠かせない。 「何が問題なのか?」を考えずにこれらの力をふるうことはできない。 いかな高い技術力があっても、それを使う場所や使うべき場面が解らなければ何の意味もない。 要するに重要なのは「問題を発見し、解決する力」だ。 これが出来れば職場も個人の問題も、何でも解決できる。 そして、組織が強いのは沢山の眼があること、沢山の思考があること。 要するに重要な力は2つ
ということでキーボード話に次いでよくありがちな椅子の話題です。 お手軽に生産性向上させるなら椅子ですよね! ってな話で。 この手の話によく挙がるのはアーロンチェア。 ハーマンミラー アーロンチェア ポスチャーフィット フル装備 AE113AWB PJG1BBBK3D01 出版社/メーカー: HermanMiller (ハーマンミラー)発売日: 2007/08/22メディア: ホーム&キッチン購入: 3人 クリック: 1,162回この商品を含むブログ (45件) を見る 自分が愛用しているのは、ミラチェア。 ハーマンミラー ミラチェア グラファイト(バック)Xグラファイトダーク(シート) MR113AAM AJG1BBG1BK7Q01 出版社/メーカー: HermanMiller (ハーマンミラー)メディア: ホーム&キッチン クリック: 42回この商品を含むブログ (5件) を見る そして
プログラマの明言として、こんな言葉があります。 プログラマーとしての君の仕事とは、君自身をクビにすることだ。君が今日やっていることは、明日には自動化することもできるのだ。 さて、生活で自分がやらなくても良い事を自分がやっていることないでしょうか? 見直してみると実際には色んなことがあります。 ……ということで、最近はこんなものを使ってます、というお話。 生活の中で自動化できること、自動化してみませんか? で、言わずと知れた自動掃除機。 iRobot Roomba 自動掃除機 ルンバ 770 出版社/メーカー: iRobot (アイロボット)メディア: ホーム&キッチン クリック: 1回この商品を含むブログ (5件) を見る こいつは思った以上に優秀。 放っておくだけで部屋の埃や髪の毛をどんどん取ってくれるのは最高です。 よく考えると掃除する時間って無駄ですよね? でも、部屋が汚いのは嫌、っ
すっかり更新が滞ってましたが、 弊社が東京(都庁前)にてPythonでアジャイル開発できる仲間を募集しています。 開発対象は、大規模アクセスをさばくソーシャルアプリおよびその環境周りです。 基本、Python、Django、Flask、Redis、memcached、MySQL、Git、Capistoranoなどを用いた軽量な開発です。 軽量開発もスクラムマスター研修などを通じて軽量化、効率化を心がけ、 かつ、お互いにとって刺激ある開発環境を目指しています。 自分でサービスを書いたり、Webゲームを書いているメンバもおりますし、 社内勉強会なども積極的に行っています。 開発環境について自分は「ゆとりの法則」「ピープルウエア」を意識してはいるのですが、 何が最適か、は組織やチームによって変わってくるので、 常に改善し続けること、楽しくあろうとすることかなあ、と思っています。 そういう意味で変
とりま、 アップロードしました。 スタッフの皆さん、参加者の皆さんお疲れ様でした。 アキラさんには直前まで資料作っていてご心配をおかけいたしました。orz... Boost study#4View more presentations from Isoparametric !.
ムーブセマンティクスについて調べたところで自分が気になったこと。 BigFatMovableObject GetBigFatMovableObject() { BigFatMovableObject mo; return mo; } int main() { BigFatMovableObject mo(GetBigFatMovableObject()); return 0; } 最初、自分はこれが適切なムーブコンストラクタを呼び出す、 と考えたんだけど、(どうみてもコピーよりムーブの方がコストが安い状況なので) 実際にはNRVOといった最適化によって、 「移動もコピーも発生しない状況」にされてしまった訳です。 これは駄目だ!! と思ってvectorでやったわけですが、 意外とNRVO(RVO)って知られてないこともあるのかと思い書いてみる次第。 NRVOとは、 名前付き戻り値の最適化 (
C++AdventCalendarの記事です。 さて、 生配列使ってますか? tr1::array(boost::array) 使ってますか? 生配列使っていると答えた貴方、 →まず死ね。 はい、arrayが常識ですよね。 さて、とはいえ、 「テンプレートを使うと遅いしコードがでかいし」 「生配列が一番速いしコードが小さいし」 「なのでテンプレート禁止」 なんて話を聞くこともあるかと思いますが、 こういう事をいう人は大抵「テンプレートを書いたことがない」のに言ってます。 なぜか? こういう人が本当に心配しているのは「テンプレートが肥大化すること」じゃないのです。 「テンプレートが書けないし読めないのを認めたくないからです」 多くはCの老害だからですが、そういう人は放っておいてC++な人はきちんとテンプレートを使いましょう。 だって多くのテンプレートのコードは大きくもなければ非効率でもないか
最近「オワタ\(^o^)/」で有名なDjangoしか触ってないダメ人間です。 こんにちは。 Djangoとかどうでもいいがな、 Webフレームワークとかめんどくさいがな、 という最近なのでDつながりでDecoratorの話をします。 ナウでヤングなPythonistaのホットな話題はGCの参照カウンタ、 ではなくてFlaskとかかもしれないですが、 @app.route("/") def hello(): return "Hello World!" こいつも多分に漏れずDecoratorを使います。 Djangoでも、 @require_GET とか @require_POST とか使ったり見たことがあるんじゃないかと思います。 で、意外と魔法っぽいデコレータですが、 これっていったいどうなってんの? って事を知らない人が割といたりします。 「とりあえず指定しろって言われたから指定してます
日本オラクルさんで行われたPython Hack-a-thon 2010.11でDjangoの話をしてきました。 スタッフの皆さん、参加された皆さんお疲れ様でした! Python x D jango x AWSで作るソーシャルアプリのお話です。 当日の直前まで資料をつくっていたので、時間配分ができませんでした!orz... 次はもっと頑張ります。 Djangoを使うと何が嬉しいか、というお話がメインです。 Djangoの話View more presentations from Isoparametric.
こんなTB()を戴いていたので。 別に VSS をディスル post じゃないです。お間違いなく。 ……ということでVSSを使う場合にチェックしておきたい5つのTipsです。 1.なんとしてもVSSを使わないようにしよう VSSは有料ですし、無料でさらに高性能なSubversionやGitがあるのでそちらを使いましょう。 できるだけVSSを避ける、というのが鉄則です。 2.VSSを使っているふりをしてSubversion/Gitで管理しよう VSSをいれるように言われたらVSSで管理するふりをしてSubversion/Gitで管理して、 作業ツリーを適当にVSSにいれて誤魔化しましょう。 あたかもVSSで管理されているかのように見せかけることが大事です。 3.VSSを強要されたらAdmin権限を得よう VSSにはAdmin権限を得ることでいくつかの設定を変えることができます。 (Visua
とりあえず、30歳まではEmacsを使った事がなかったよ、 という俺ですが最近はすっかりEmacsです。 いままで使ってきたエディタは、 WindowsではPeggy ProとEmEditor、OSXならTextMateでした。 じゃ、なんでEmacsにしたかというと、 偏に、 「WindowsでもOSXでも同じエディタを使いたいじゃん?」 ってことでした。 この辺は、Emacsはじめました - 神様なんて信じない僕らのためにでも書いたのですが、 あとは、ぶっちゃけ「Emacsくらい使えないとかっこうわるいなあ」ということ。 ほら、周囲がviとかemacsとか使っていると肩身の狭い思いをするわけです。 viいいよー、emacsいいよー、という話を聞くに、使わないとダメじゃない? って感じになったわけで。 そんなにいいなら使ってみよう、って思いました。 まぁ、これが真の動機かも。 で、いまや
きしださんの日記で紹介されていたので、つい買ってみました。 2010-06-18 - きしだのはてな きむら(K)さんに 「今まで読んでなかったんかい」 Twitter / finalfusion: @isoparametric 「今ま�� と突っ込まれるくらい必読本でした。がはっ。 ということで、感想。 要するにグラフ理論の初歩を学ぶための本なのですが、 一般のプログラマ/エンジニアからしたらグラフ理論って、何か意味あるの? って感じかもしれないです。 でも、 「最短経路を見つける」というアルゴリズムを書くことは結構あるんじゃないでしょうか? 最短経路を求める方法として、ダイクストラ法なんかが有名ですが、 ゲームなんかだとA*(AStar)アルゴリズムがよく使われます。 でも、これはアルゴリズムだけ知っていれば使えたりするので 実際に最短経路を求めるためにどのようなことをしているか? と
id:Dr_Caligariさんから面白い反応があったので、 俺も思ったことに対してつらつら反応してみます。 普通にコメントしようと思ったのですが長くなったのでTB返しで。 私が書くのはゲーム業界のプログラマーという狭い世界で生きている人間が思った事 ということで、俺もゲーム業界の片隅で生きていた事はあるのでその観点で反応してみます。 ディレクトリ構成が機能単位でなくプログラマの名前幽霊 これ実際に見たことあります。 アセンブラを使っていて、プロジェクトの規模が小さかった時代の名残らしいです。 恐らく俺が見たプロジェクトもアセンブリの頃の名残でした。 プロジェクト管理とかソース管理という構成管理の概念がなかったころなら、 別に良いとは思うのですが、今でもこれを引き継いでいてこれを「本気で」良いと思っている人がいることが恐ろしくもあります。 バージョン管理システムを使わない幽霊 そろそろ分散
土曜日のPython Hack-a-thon 2010.07で「本当にあった怖い話」をしてきました。 会場を提供してくださったオラクルさん、 そして、スタッフの皆さん、色々準備ありがとうございました。 また、参加者の皆さんお疲れ様でした! (レポートは別途書きます) で、俺のプレゼンは完全にネタなので、ご了承ください。(特にC++erの皆さん) 前半は前振りなので、あまり気にしないでください。 プレゼン中で某C++な人達の写真や、Twitter発言が引用してありますが、 もし問題があればお知らせください。 「ソースを読もう」とか意味ないですので飛ばすの推奨。 また、なんか話したいなあ。 C++の話(本当にあった怖い話)View more presentations from Isoparametric . あと、プレゼン中で「C++の設計と進化」を勧めていますが、 C++のことわからないと
「ゲームコーディング・コンプリート」より引用。 常識的に考えて嫌われすぎだろ……。 Microsoft製Visual SourceSafe Visual SourceSafeはMicrosoftのVisual Studioで使われているソースリポジトリである。「安かろう悪かろう」の良い例だ。 多くの人がこの製品に惹かれるのは、GUIインターフェイスが使いやすく、セットアップがとても簡単だからだ。タイプするのが遅くなければ、10分で起動できる。 SourceSafeの一番の問題点は、ソースリポジトリをどうやって格納するかだ。リポジトリが格納された共有ファイルを探ってみると、AAAAAAAB.AAAとかAAACCCAA.AABのような奇妙な名前のついたファイルからなる大きなツリー構造のデータディレクトリがある。こうしたファイルの中身はプレーンテキスト(バイナリ化されていない)かそれに近い形だ。
といっても、二ヶ月前くらいからですががが。 元々、WindowsとMacを両方使うので両環境でまともに使えるエディタが欲しいと考えていて、よし折角なのでEmacsを使おうと思ったのが始まりです。 xyzzyもみましたが、どうもショートカットが微妙に違うので挫折。 普通にGNU Emacsを落としてつかってます。(MacではCarbon Emacs) まず、 鬼軍曹.el をいれました。 これは強制的にEmacsのキーバインドを身につかせるための拡張で、 例えばカーソルキーをうつと鬼軍曹に怒られるという素晴らしい拡張です! TABやBSも駄目です! 次に、 ElScreen.el をいれました。 言わずと知れたタブ機能です。 何個もファイルを開く自分には必須でした。 最近、 jaspace.el をいれました。 全角空白とかタブ文字とか、見えるようになります。 ヒアドキュメントの後ろに半角空
第三回カーネル/VM探検隊でLuaVMについて話してきました。 カーネルとか、仮想化技術に関しては素人も良いところなので、非常に勉強になりました! 低レイヤは世界が広すぎてついていけない! とりあえずVMということで、LuaのVMで話しました。 高レベルな話が飛び交うなか、 ありなんか、これ……みたいな感じでドキドキLTしてましたが、 LTへの突っ込みが鋭く、良い経験になりました。(日々是勉強成) 会場を用意してくださったIIJの皆さん、また開催者、参加者の皆様、本当にお疲れ様でした。 会場質問を受けた ・TAILCALLはなぜあるの? と、 ・クロージャを利用した場合にスタックが穴あきになってしまうがどうしているのか? (クロージャはLuaがUpvalueと呼ぶ上位関数の値を束縛してしまうので、クロージャの場合にはそれをスタックから退避する処理が入ってる) は、その場できちんと答えられま
きっかけ。 元ネタ。 俺はVSSを使用しようというプログラマを信用しない。(と宣言しておく) 割と適当訳なのでご了承ください。 時々現れる、どのバージョン管理ツールをつかうのかという宗教的議論の中で、 私はマイクロソフトのVisualSourceSafeが一貫して叩かれている事に気付きました。 私はこれほどまでに憎悪を集めるような別のソフトウェアプロダクトを考えることができません。 私のプログラミングキャリアの日々では幸運なことに、svnを使う場所で働いていおり、さらに最近ではgitだったので、私はVSSを一度も経験したことがないということです。 VSSは本当に皆が主張するくらいに悪いものですか? はい、そのとおりです!! 私はgit、svn、cvs、tfs、及びvssを使いましたが、VSSは最も悪かったです。 それには、みんなで作業を分離するという概念が全くありません。 ファイルを操作す
(まだ、書きかけです)あれっと思ったらご意見頂けますと大変嬉しく思います。 きっかけ。 元記事。 Why nobody talks about Lua 暫定訳。(まだ見直ししてないので注意) 誰もLuaに関して話さない理由 私はLuaについて長い間知っていますし、私はあなたが多くのWebにいる抜け目がない人々のようにLuaについての話を聞いたのを確信しています。 しかし、私だけでしょうか。Luaはメディアでの話題を生み出さないように思われませんか? メジャな技術系ニュースの収集者たち(少なくとも私がいつもチェックしているもの)は、いつも、JavaScriptや、Ruby、Pythonなどを扱います。 しかし、あなたがLuaが実際に使われ、生み出したものをみるとき 全てのブログとその繋がり(ブロゴスフィア)で扱われるLuaの話題は不気味なほど沈黙しており、不釣り合いであるように見えるでしょう
ということで、とりあえずスライド紹介。 PythonなのにLua! PythonなのにLua! いや、本当になぜPythonでLuaなのか訳がわかりませんが、 #1, #2とデスマってて約束が果たせなかったのでやっと果たして参りました。 基本的な機能に関しては網羅しているような感じではありますが、 実際には駆け足で抜けもあるので何かあれば質問してもらえれば解る範囲で答えられるかもしれません。 というか機能網羅する必要ないよな、という気もしつつ、速度とかサイズだけ語ってもLuaはLuaたりえないので なるべくLuaっぽいところを話したつもりでする。 最速の言語Lua ~Python Hack-a-thon #3~View more documents from Isoparametric. 最速の言語と銘打ってますが、実際にはPawnというもっとミニマムで高速な言語があったりします。 が、実
このように数多くのプログラマが「車輪の再発明」の罠に悩まされているのですが,車輪の再発明(より正確に言うと,車輪の再実装)にはそれなりに意義もあります. 車輪の再実装 - Life like a clown id:tt_clownさんの反応に対してですが、 まず、自分も「車輪の再発明」ではなく「車輪の再実装」はすべきと考えます。 既にある機能を実装する事を「車輪の再発明」といって嫌う話もありますが、 実際にそれは「既にあるものを発明(新たに考える)する必要はない」という意味で 「既にあるものを実装する必要がないわけではない」と考えています。 自分は「車輪の再発明」と「車輪の再実装」は完全に異なると考えていて、 「車輪の再発明」で無駄に頭を悩ませる必要はないですが、 寧ろ「車輪の再実装」は非常に重要だと考えています。 ただ、「車輪の再実装」は習作でしかないことも多く、 習作は習作だということ
最近こんなやりとりがあった。 「Cって標準のコンテナ(双方向リストや可変長配列など)がなくて不便。 Cのプロジェクトってコンテナ自体ないこともあるし、コンテナがないとプログラムって書きにくいよね。 その点C++はSTLが(ry」 ... 「コンテナ? STL“も”いいけど、自分で書きたい」 正直、自分は「え? 何を言っているんだ?」と思った。 STL“も”いいけど、“自分で書きたい”だって? その人はプログラマとしては十年選手だが、C++に関して、特にテンプレートに関しては稚児に等しいレベル。 で、どうして「自分で書きたい」ということになるんだろう? それを使わされる人の苦労はどうなる? それともプロジェクトに同一の事をするための複数のコンテナが存在するのか? 俺俺コンテナを書きたい理由はなんだ? 要するにここにおいて「自分で書きたい」はSTLがよく解らないので、 機能や動きを隅々まで把握
次のページ
このページを最初にブックマークしてみませんか?
『神様なんて信じない僕らのために』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く