Unknown Region

プログラムでハマったエラーとその解決方法についての備忘録メモ

【kotlin】ViewGroup.LayoutParamの落とし穴

恐らくJavaでAndroidを組んでいればパッと分かる話なのですが。 val view: View = View() view.layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT このコードはkotlin上では警告が出ないんですが、実際に動かすとNullPointerExceptionで落ちます。…

【Ruby】RMagicで画像を分割する

ひょんなことからRPGツクールVXの歩行グラフィックス(通称:歩行グラ)のトリミングを行うことになったのだけど、丁度いい手頃なツールが見当たらなかったので作ることに。 下の画像がRPGツクールVX規格の歩行グラの例です。簡単に言えばこれを12分割したい…

【Android】ImageViewやImageButtonの画像をリセットする

タイトルの通り。 単純にどちらもsetImageBitmapにnullを渡してあげれば良いみたい。 これはJavaでもKotlinでも同様。 // imageView imageView.setImageBitmap(null) // imageButton imageButton.setImageBitmap(null) //

【Android】SpannableStringBuilderでの一部文字色変更について

TextViewでテキストの一部分の文字色だけを変更しようと思い、調べていたのだけれど、TextAppearanceSpanのサンプル例ばかり出てくる。 確かにアンダーラインや文字のスタイル(Bold)などを指定する場合はstyle用の XMLを用意するのが筋かもしれないが、ただ…

【JavaScript】Infinityの判定について

JavaScriptでは0除算を行うと結果がInfinityになります。 基本的には他の言語と同様に0除算自体を回避すべきだと思うんですが、Infinityでないことをチェックするには以下のメソッドを使います。 Number.isFinite(128); // true Number.isFinite(128 / 0); /…

【kotlin】MD5文字列を生成するStringのExtension

kotlinでMD5文字列を生成するStringのExtensionを作った。 ちょっとある用途で使おうと思ったのだけれど、使い道がなくなってしまったのでここに上げておく。 StringExtension.kt: import java.security.MessageDigest fun String.toMd5Hex(): String { val …

【Perl】マージミスによるヒアドキュメントの落とし穴にご用心

複数人で開発を行うときにGITなどのバージョン管理ツールはとても便利ですが、誰かが変なコードをコミットしていた場合にあとあと関係ない場所でおかしなトラブルが発生する事があります。 こういうケースに実際に遭遇したので備忘録がてらにメモ。 問題のコ…

【Android】ConstraintLayoutを使用時にbuttonが常に最前面に配置される問題

ConstraintLayoutを使用時に、ButtonがViewの追加順やaddView時のindexの値をガン無視して最前面に表示される問題に直面。 原因を探していたら、以下のリンクを発見。 z order in issue in ConstraintLayout Android - Stack Overflow どうやらAPIレベルがLo…

【Perl】テキスト中の特定文字目をハイライトする

MacやLinuxのコンソールにおいて、以下の方法で標準出力を加工できる。 \[(属性)m hogehoge \e[m これを利用して、テキストファイルの中の特定番目の文字だけを赤くハイライトするだけのPerlプログラムを作ってみた。 作った理由は単にJSONの構文エラーの時…

【JavaScript】Google Chartでグラフの描写後に処理を行う

JavaScriptにて、Google Chartの描写処理が終わった後で何か処理を行いたい場合(コールバック)はaddListenerという関数を使用する。 google.visualization.events.addListener(chart, 'ready', function () {}); 使用例: google.charts.load('current', {p…

【Bootstrap】「Popovers」でウインドウをリサイズすると表示が崩れる

jQueryでwindowのresizeにフックして調整を行う。 しかし大抵の場合はPopoverを非表示に切り替えていいと思うので、僕は以下のようにしている。 $('[data-toggle="popover"]').popover(); $(window).on('resize', function(){ $('[data-toggle="popover"]').…

【Swift4】UILabelにおいて、色を付けたAttributedTextの設定後にUILabel.textColorをするとUILabel.textColorが優先される

ハマったのでメモ。 let text: String = "hogehoge" let attributedText: NSMutableAttributedString = NSMutableAttributedString(string: text) attributedText.addAttribute(.foregroundColor, value: UIColor.red, range: NSMakeRange(0, text.count)) l…