どこかのだれかへ

ボク、プログラマ。

Null条件演算子というのを初めて知った

C#

WPFとMVVMについて色々調べていたら、C# 6.0からの可能でNull条件演算子があることを知りました。これめっちゃ便利ですね、だいぶコードがすっきりします。 C#はどんどん新しくなっていきますが、全然追ってないのでこんな浦島太郎状態なことに鳴ってしまい…

Elastic tabstops、というコードの整列を勝手にやってくれるヤツ。

Vimのプラグインでコードを整列してくれる良いプラグインないかと探しているときに見つけたのがElastic tabstopsです。 ※Elastic tabstopsのWebサイトより引用。 Elastic tabstops - a better way to indent and align code 公式サイトではVisual Studioのプ…

コロプラ特許訴訟って今どうなっている?

ということでググってみたら、つい先日、第5回審理やったみたいです。 毎回よくまとめてくれている方がいるので、そこから引用。 任天堂 VS コロプラ特許訴訟・第5回戦。ユーザに内緒で『ぷにコン』の仕様が変わっていた! | パテントマスター・宮寺達也の…

名前の末尾の数字をカウントアップして返すメソッド

C#

ツールとかで要素をコピーした時の新しい名前は、賢く末尾の数字がカウントアップしていくのが嬉しいと思うのです。 static string CountUpName( string name ) { Match match = Regex.Match( name, "(^.*)([0-9]+$)", RegexOptions.RightToLeft ); if( matc…

子が別のクラスのツリービュー

WPF

WPFにおける、親と子が同じ、再帰的なツリービューの表示は GitHub - tepp91/WPFSampleCollection: Function sample of WPF の中でサンプルとして提示していますが、親と子が別々のクラスの場合は、 <UserControl.Resources> <HierarchicalDataTemplate DataType="{x:Type mdl:Texture}" ItemsSource="{Binding PartList}"> <TextBlock Text="{Binding}" /> </HierarchicalDataTemplate> …</usercontrol.resources>

UIエディタを作る上で決めていること:その2

続きです。 のちのちスクリプトを書けるようにする これは将来的に、ですがMayaのmelが目標です。つまりあらゆる処理をスクリプトを介して行う事が出来るようにすることで大量のファイルを一括で処理できるようにしたいです。これをすぐにやるつもりはないの…

pathlib.globを複数の拡張子でフィルタリングする

pathlib.globをさらにジェネレータ式で書くことでフィルタリングが可能です。 C++ファイルの再帰リストアップの例です。 import itertools as it from pathlib import Path exts = ['.cpp', '.h', '.inl'] for filepath in (x for x in Path('.').glob('**/*…

UIエディタを作る上で決めていること

CEGUIを使おうと思ったけど、自分でビルドする必要があってその用意が大変でやってられないので、自分で作る事にしました。そして自分で作るならと、幾つか決めていることがあります。 ワークスペースはインゲームランタイムを使用する UIエディタでありがち…

os.walkをpathlibに書き換えて美しいコードに

pathlibの存在をつい最近知ったんですがすごい便利です。なぜ今まで知らなかったのか。 例えばディレクトリ内にあるcppファイルのリストを再帰的に取得する場合。 import os for root, dirs, files in os.walk('./'): for filename in files: base, ext = os…

席で傘を差している人がいた

先日、会社にて席で傘を差している人がいました。傘は白い半透明のビニール傘です。最初は乾かしているのかなと思いましたが、もう1つの可能性として液タブのために遮光しているのではないか、というのがあります。 液タブで作業しているとき、天井の蛍光灯…

Leet、という記法

最近はパスワードもセキュリティ的に「大文字小文字数字記号」を含むように言われることが多くなってきました。そんな時たまに「a」の代わりに「@」としてなんとなく似ている記号に置き換えたりする人もいると思います。 この、アルファベットを似た文字に置…

スパイダーマン、バグで「鳩ハンター」が辛かった。あとは「年中スーツ」だけ

先ほど「鳩ハンター」トロフィーを取得して、トロフィーの進捗は97%になりあとは「年中スーツ」取ればプラチナトロフィーです。 スパイダーマンやっている人からすると今の話を聞いて「ん?」と思った方もいるかも知れません。 「鳩ハンター」はマップにいる…

ビットカウント

C++

C++でのビットカウント方法をNoteに追加しました。すっごい久々。 https://tepp91.github.io/contents/cpp/bit-count.html

冬に向けて、PS4のゲームが続々出てきてやばい。

今日(昨日)はスパイダーマンの発売日でしたね。とりあえずさっきDL版買ってDL中です。本当は昨日予約する予定だったのに忘れてしまってせっかくの予約特典がもらえませんでした。残念。 10月26日にはレッドデッドリデンプション2が発売されます。 そして年…

DirectX12で作った方が良いのか?

先日のCEDEC2018のとあるセッションで「内製部分はもうDirectX12で作っていてずいぶん前にDirectX11は社内から駆逐された」という話があり、今自宅で作っているゲーム(?)もDirectX12にしたほうがいいのかと考えました。 DirectX12はWindows 10から動きま…

Unityはなぜリリースサイクルを変更したのか。Unity6がない理由。

Unityのライセンス回りを調べていたら、FAQに「Unity6はリリースされないのか?」という質問があり、「販売されないよ!詳しくはボログを見てね!」って書いてあった。 サブスクリプション! なぜ? – Unity Blog

CEDEC2018

今年もCEDECの季節になりました。今年はちょっと早いですね。 仕事のタイミング的に忙しいと思って、今年もタイムシフトパスを購入したんですが、実際のところはやることなくて暇なので後悔しています。現在の会社は自腹で個人的に行く場合でも丸一日CEDEC行…

腱鞘炎にはテーピングが良い感じ!

木曜日の夜に右手の小指に腱鞘炎の症状が出ました。プログラマとしてはある種の職業病とも言える腱鞘炎ですが、特に私はキータッチが強めなのでなりやすい傾向です。 キータッチをもっと柔らかくしてもキーは反応するのでそれはちょっと改善していきたいなと…

Stack<T>の複製が罠な件

C#

コピーコンストラクタで複製したつもりが、順番が入れ替わっている罠があり、今日引っかかりました。 Stack<int> stack = new Stack<int>(); stack.Push( 1 ); stack.Push( 2 ); stack.Push( 3 ); // 3, 2, 1 Stack<int> clone = new Stack<int>( stack ); // 1, 2, 3 StackはSta</int></int></int></int>…

キングダムハーツⅢの発売日が決定!

2019年1月25日だそうです。楽しみ! 発売日が決定したので、蓄えていたHDリミックスをやる時がついに来たようです。

グレイテスト・ショーマンはモチベ・ドーピングとして有効

昨日、グレイテスト・ショーマンを見たんですが、素晴らしかったです! ミュージカル映画だったんですが、どの曲も劇中の感情がもろに乗っていて、見ているこっちもとても気持ちが入りました。 またそれに合わせる踊るダンスとかも格好いい。そんな引き込ま…

体調をクズしやすい季節

最近はめっきり暑くなって、毎日半袖で過ごしていますが半袖で出社すると会社の冷房が寒いです。場所が悪いんですかね?時折冷房の風が当たるような当たらないような。 もともと冷え性と言うこともあり、最近は会社にはカーディガン一枚常備させておいて寒く…

Oculus Goが到着するまでを振り返ってみた

5月の上旬にOculus Goが発売されて、GW中に私も注文したのですが、色々あって手元に来るまで1週間近くかかりました。 恐らく順調にいけばもっと早かったんですが、今回はどういった流れでOuclus Goが手元に来るのがいろんな履歴をおさらいしておきます。 …

「ZIP、完全に理解した」「ソートの本」買いました

COMIC ZIN新宿店に行った際におもしろそうさうな同人誌があったのが買ってました。 COMIC ZINはこういった技術系の同人誌も多く扱っているのでおもしろいですね。 気が向いたら読みます。 COMIC ZIN 通信販売/商品詳細 ソートの本 COMIC ZIN 通信販売/商品詳…

GW明けでPW忘れる

今回のGWは9連休だったので今日は久々の出社だったんですが、PCのパスワードを完全に忘れてしまっていました。 今の会社はログインパスワードを1ヶ月半くらいで変えなくてはいけません(総務省曰く、頻繁なパスワード変更はセキュリティ的に効果が無い、む…

ソースコードでゲーム業界の狭さを感じる

以前の会社の同僚が、現在自分の会社にいたことは存じていましたが、今日その人のソースコードを見つけて、懐かしくも感じつつ、改めて業界狭いなーって思いました。 そもそも前の会社で同僚だった人が、今の会社にも数人いたりしますし、同僚の中にもそうい…

プロ生ちゃんボイスでビルドが捗る

プロ生ちゃんにはプロ生ちゃんIDEというVisual Studioの拡張機能があります。またそれに合わせて、Visual Studio用のボイスデータも公開されています。 これにはビルドの成功・失敗、ブレークポイント等のボイスデータがあり、Visual StudioのSE設定をするこ…

基底クラスメンバ関数のオーバーロードによる名前隠蔽

今更ながら知った仕様なんですが、基底クラスのメンバ関数をオーバーロードした場合、基底クラスのメンバ関数は隠蔽されてしまいます。 class Base{ public: void Hello(){} }; class Derived : public Base{ public: void Hello(int){} }; void main() { De…

ついにBINARY HACKSを読むときが来たようだ

自分の開発環境は今も昔もWindowsです。もちろん会社もWindowsです。 以前、バイナリーに強くなりたいなと思ってBINARY HACKSを買ったわけですが、軽く読んだ感じ、手元で試しながら読むべき本でした。またLINUX環境を前提にしているため、Windowsしか触らな…

断捨離プログラミング

バージョン管理をしているのに、たまに使わなくなったコードをコメントアウトにしておいて残す輩がいるんですが、ゴミコードはさっさと削除して欲しいです。 せめてなぜ残しているのかはコメントで残して欲しい。もしコメントする価値がないならそれはゴミコ…