AndroidのDataBindingでBRに追加されないとき確認すること

1.getterに@Bindableアノテーションを追加していること 2.getterの名前がget + フィールド名であること

VivusのSVGにInkscapeのものを利用する

1.編集→Inkscapeの設定→入出力→SVG出力 にて、パスの文字列形式:絶対座標 数値精度:5 最小指数:-2にする 2.新規の画像にする 3.文字をなんか打つ 4.文字を右クリックしてフィル/ストロークでフィルを無効、ストロークを有効にする 5.パス→オブ…

PicassoとRoundedImageViewを使って丸で枠付きのImageViewを表示する(MVVM)

build.gradle //Picassocompile 'com.squareup.picasso:picasso:2.5.2'//ImageViewを丸にしたり枠つけたりcompile 'com.makeramen:roundedimageview:2.3.0' ビューモデル @BindingAdapter ( { "picturePath", "gender" })public static void loadImage ( Ima…

アゲアゲ☆将棋実況チャンネルのおすすめ動画

筆者はウォーズ1級の素人です。 見当違いのことを言っていたらコメントで教えていただけると幸いです。 念のため、アゲアゲ氏を知らない方のためにアゲアゲ氏がどんな人か説明しますと、アゲアゲ☆将棋実況チャンネルの投稿者であるアゲアゲ氏は元奨励会3段…

PocketSphinxをAndroidで使う

親切なチュートリアルがあります。 cmusphinx.github.io 自分がやった手順を書きます。 1.サンプルプロジェクトからAARファイル、en-us-ptm(音響モデル)、cmudict-en-us.dict(辞書ファイル)などを取り出しておきます。 2. AARファイルを読み込みます。 Andro…

PocketSphinxを「無理やり」日本語で使う

やりたかったこと Androidアプリをスマートスピーカーのように「こんにちは」という音声を認識したら何か処理を始めるようにする。 音声認識にPocketSphinxを選んだ理由 トリガーとなる音声を認識するために連続音声認識をする必要がありますが、Android組込…

okhttp3のwebsocketでのサブプロトコル定義

クライアントは、WebSocketコネクション確立時に、対応可能なサブプロトコル一覧をSec-WebSocket-Protocolヘッダで提示します。 OkHttpではRequestクラスでヘッダを追加出来ます。 そのClientが送るリクエスト全てまたは条件を満たすものに追加したいならInt…

 ビッグエンディアンからリトルエンディアンに変換

google cloud speech APIを使用するときに書きました。 サンプルで使用されているLINEAR16はPCM16のリトルエンディアン版みたいです。 PCM16は16bit=2byteなので、bytes[i+1] bytes[i]に変換していく作業です。 short型でのコードはこちら。 public static b…

onClosed vs onClosing in OkHttp3のWebSocketクラス

【結論】 onClosing()は成功でも失敗でもとりあえず実行される。 onClosed()は切断が成功した場合実行される。向こう側から一方的に閉じられた場合は実行されない。 順序はonClosing()の後にonClosed()

データバインディングでOrmaとRecyclerView

Ormaの公式のexampleを再現する形でやっていきます。 Ormaは入っていて、モデルを作ってビルドした後という前提です。 exampleではTodoモデルなので、適宜使用するモデルに変更しましょう。 1.build.gradleにバインディング設定を追記。CardViewとRecyclerVi…

カミンスキー攻撃について

hogehoge.www.example.jp.の解決に対し、 応答がこうなる。 アンサーセクションANSWER SECTION hogehoge.www.example.jp. 86400 IN A なんでもいい 解決した結果。 ここは何でも良い。 権威セクションAUTHORITY SECTION www.example.jp. 86400 IN NS dns1.攻…

情報セキュリティ 対策のしおり 覚書

サポートの切れたOSやソフトウェア 脆弱性が見つかっても、脆弱性を解消するための修正プログラムが作成されないため危険。 ネットワークからの攻撃対策 ファイアウォール機器(企業) ブロードバンドルータ(個人) パーソナルファイアウォール スケアウェア 脅…

情報漏えい対策のしおり 覚書

企業の情報資産を、許可なく持ち出さない 大切な情報は持ち出さない、仕事を家に持って帰らないこと。 情報漏えいの原因となった管理ミスの例 引越し後に個人情報の行方がわからなくなった 例:誤廃棄 受け取ったはずの個人情報が紛失した 受け渡し確認が不…

標的型攻撃メール 対策のしおり 覚書

トロイの木馬 怖い機能 別のマルウェア(ウイルス)を次々に取り込む(ダウンローダとなる) 自分自身をアップデートする事で、ウイルス定義を無効化する ウイルス対策ソフトの無効化を試みる 自分自身を隠蔽する(rootkitとなる) 検知したら 業務パソコンの場…

情報処理安全確保支援士の勉強法

合格済です。 他のサイトと本記事を組み合わせることをおすすめします。 【対象者】 ・AP合格程度 覚えるポイント 資料を読む時は、具体的な攻撃方法と、その対策を覚えます。 そして攻撃名や脆弱性から対策が思い浮かぶ状態にします。 対策を読んだら理解で…

オープンリダイレクタ対策の正規表現によるドメインのチェック

preg_match('/example.com/',$url); これは$urlにexample.comが含まれることを確認する正規表現だが、 このように、example.comをファイル名に含むファイルを作っておくことで回避できる。http://wana.com/example.com.php 次に、/dir/test.phpのような、ス…

クリックジャッキング

例えば、ショッピングサイトの場合 正規サイトの内容をiframeで偽懸賞サイトの上にかぶせる。このとき、偽懸賞サイトのの応募と正規サイトの購入ボタンの位置を合わせる事で、もし正規サイトにログインしているユーザがボタンを押したら意図せず商品を購入さ…

DOMベースのXSS

検索画面で、検索した文字列を //keywordはクエリdocument.write(keyword);や document.innerHTML=keyword; こうしてエスケープ処理せずに表示するとkeywordにscriptタグが書けるのでXSSが可能な場合がある。 安全なやり方 文字表示用のdivを作っておき、var…

他テーブルをUNIONで結合するとき、列名にNULLを用いる理由

他テーブルをUNIONで結合するとき、列名にNULLを用いる理由は UNIONは列の数を合わせる必要があるため。 NULLでなくても、'a'とか0でも構わない。たぶん文字列やDATE型等にはNULL、数値には0を使う。

ブラインドSQLインジェクション

SQLの実行結果がそのまま表示されないページでもSQLインジェクションが可能な場合がある。 例えば会員登録フォームで、「このIDはすでに使われています。」と出る時にkatoというIDのユーザがすでに居るとする。 kato'AND SUBSTR((SELECT pass FROM user WHER…

安全なWebサイトの作り方 失敗例 要約

前の記事で書いたものは省略しています。 OSコマンドインジェクション 失敗例 「"」と「;」、「'」、「<」、 「>」、「|」、「 (空白)」を削除する関数を使っていた。 失敗の理由 コマンド引数に、入力された値を使用するときは、 シェルで特別な意味を持つ…

安全なウェブサイトの作り方 安全性向上 要約

ウェブサーバ OS やソフトウェアの脆弱性情報を継続的に入手し、脆弱性への対処を行う ウェブサーバをリモート操作する際の認証方法として、パスワード認証以外の方法を検討する 総当りこうげきとうにで突破されるおそれがある。 暗号技術に基づいた公開鍵認…

安全なウェブサイトの作り方 脆弱性対策 要約

SQLインジェクション 根本的な対策 SQL 文の組み立ては全てプレースホルダで実装する プレースホルダに実際の値を割り当てる処理はバインドと呼ばれる。 DBエンジンがバインドする静的プレースホルダが望ましい。 SQL 文を動的プレースホルダで生成する場合…

SC 22春 午後1問1設問2(3) volatile synchronized

グローバル変数の同期を取る方法を書くが、volatileは意味をなさないそうだ。 なぜか: Javaにはメインメモリとスレッドごとのキャッシュ領域があり、 synchronizedはメインメモリのフィールドに直接ロックをかける。 一方、volatileはスレッドのキャッシュ…

(implicit s: Show[A])

def log[A](a: A)(implicit s: Show[A]) = println(s.show(a)) この(implicit s: Show[A])はカリー化とimplicitを両方使った結果。 もしlog[Int](3)とすると、引数sが渡されていない、かつimplicitなので、Intが引数で、かつimplictなShowメソッドを探す。 i…

def f(s1: String): (String => String) = s2 => s1 + " " + s2

Scalaの省略記法について。 def func(s1: String): (String => String) = s2 => s1 + " " + s2 メソッドの名前はfunc引数:String型のs1返り値の型:引数、返り値が共にStringの関数返り値:イコール以降の関数 カリー化されている。 qiita.com

javaのstatic { }とか{ }

スタティックイニシャライザ クラスがロードされる際に呼ばれる。 static変数の初期化が関数を使って出来る! static { } インスタンスイニシャライザ コンストラクタと似ているが、 コンストラクタがA(), A(String name)などとオーバーロードされているとす…

N Scala応用 型パラと変位

Javaでは全てのクラスがObject型のサブクラスだが、ScalaではAnyが最上位のクラスで、次にIntなどの値型はAnyValクラス、参照型はAnyRefクラスのサブクラスになる。図にすると、 引用元: Learning Scala part eight – Scala’s type hierarchy and object eq…

N Scala応用 関数 覚書

ScalaにはFunction0 ~ 22のトレイトがある。数字は引数の数で、0なら返り値のみ。関数の作り方をきちんと追うと、まずこれらのトレイトを継承した無名クラスを作り、その中でapplyメソッドを宣言する、という流れ。この辺が関数型言語の特徴なのか? applyメ…

WebStormでExpressのテンプレートのscriptタグにCannot resolve directoryと出る時

Expressでなくとも、フレームワークを使っているときあるあるだと思います。 javascript - Webstorm: "Cannot Resolve Directory" - Stack Overflow Settings→Directories→publicを右クリックしてresource rootを左クリック