スキップしてメイン コンテンツに移動

投稿

5月, 2021の投稿を表示しています

JavascriptのObject Literalを使った条件分岐

条件分岐を簡潔に書きたい! 条件分岐をする場合、通常はif~else文やswitch~case文を使うことが一般的ですが、Object Literalを活用すると簡潔にコードを書くことできる場合があります。Object Literalを利用するのは、ちょうどPHPのarray、JavaのMap、C#のDictionaryなどの連想配列を利用するイメージが近いと思います。 switch~case文とObject Literalを使った場合のコード例をいくつか示していきます。 switch~case文とローカル変数を使った場合 function GetStockCode_LocalVariable ( makerName ) { let code = "" ; switch ( makerName ) { case "Asus" : code = "2557" ; break ; case "MSI" : code = "2377" ; break ; default : throw new Error ( "unsupported maker: " + makerName ) ; } console . log ( code ) ; } 一般的な書き方ですが、下記の短所があります。 mutableなローカル変数のcodeを定義しなければならない。 switch~caseのキーワードやbreakキーワードが何度も出現し、重要な部分がわかりにくい switch~case文と即時実行関数式(Immediately Invoked Function Expression)を使った場合 function GetStockCode_IIFE ( makerName ) { const code = ( ( ) => { switch ( m

Amazonのサーチウィジェットで複数の検索ワードで絞り込む方法

Amazonのサーチウィジェットで検索ワードにスペースを入れても思い通りの結果がでなかったので調べたところ、検索ワードをアンダースコア(_)でつなげば対応できることがわかりました。(ちなみに2021年5月現在、日本語の検索ワードには対応していないようです。) 「asus laptop」で検索したい場合は「asus_laptop」で検索すればOKです。 実際のウィジェットは下記のようになります。

Unityのバイナリがフォルダに出力されない問題

Visual Studio上でNUnitのプロジェクトから、Unity本体のプロジェクトを参照させて、Unity本体のプロジェクトのコードの一部をテストさせようとしたところ、下記のエラーメッセージが出力され、Debugディレクトリにアセンブリが生成されず、NUnitを実行することができませんでした。 Metadata file 'ProjectFolder\Temp\bin\Debug\Assembly-CSharp.dll' could not be found. Google先生で検索したところStack Overflowでドンピシャの質問を見つけました。 https://stackoverflow.com/questions/58614995/visual-studio-doesnt-put-binaries-of-unity-project-to-output-folder 記事の通り Disable the full build of projects を False に設定すると、無事bin/Debugフォルダにアセンブリが出力されるようになりました。

Bloggerでアップロードされた画像の保存先

2021年5月現在、Bloggerで画像を投稿する場合は、下記の方法があります。 コンピュータからアップロード Google Photosでアップロードされている画像から選択 URLから参照 Bloggerですでにアップロードされている画像(またはアルバムから参照) 2.のGoogle Photoでアップロードされている画像から選択の場合は、Google Photoに自らアップロードした画像なので、元画像はGoogle Photosのアルバムから確認することができます。 問題は、 4.のBloggerですでにアップロードされている画像の保存先 です。少し調べたところ、下記のURLから確認できることがわかりました。 https://get.google.com/albumarchive/ 容量のカウントは、他のGoogleのサービス (Google Drive, Gmail, Google Photosなどと)と合算されるようです。

MSIのDragon Centerを使っているとXboxアプリがスタートアップ時にタスクバーにピン止めされる問題の解決法

MSIのゲーミングノートPCでXboxのアプリをタスクバーのピン止めを外しても、再起動するとまたタスクバーに再度ピン止めされるという問題が発生しました。 下記のMicrosoftのCommunityサイトでも同様の問題が数多く報告されており、解決法が記載されている投稿を見つけました。 https://answers.microsoft.com/en-us/windows/forum/windows_10-desktop/apps-keep-pinning-themselves-on-startup-to-the/44b0bb7b-575d-4534-aa1c-80258f710514?page=2 筆者の環境では、下記の手順でDragon Centerの設定を修正すると解決しました。 C:\Users{ユーザー名}\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml 内でtaskbar:TaskbarPinListのセクションを探す(下記は例)。 < taskbar: TaskbarPinList > < taskbar: UWA AppUserModelID = " 9426MICRO-STARINTERNATION.DragonCenter_xxxxxxxxxxxxx!App " /> < taskbar: UWA AppUserModelID = " 9426MICRO-STARINTERNATION.CreatorCenter_xxxxxxxxxxxxx!App " /> < taskbar: UWA AppUserModelID = " Microsoft.GamingApp_xxxxxxxxxxxxx!Microsoft.Xbox.App " /> </ taskbar: TaskbarPinList > このセクションを丸ごと削除 (またはxml形式のコメントアウト)を実施して、PCを再起動すればOKです。 念のため編集前のxmlファイルを保存しておいた方が

ElasticsearchのIndexのメンテナンスツールであるCuratorの使い方メモ

詳細は オフィシャルのドキュメント を参照してもらうとして、使い方は下記になります。 # --configでどのElasticsearchを参照するかを指定 # 最後の引数のactions.ymlで何日前のインデックスを消すかなどを設定 curator --config /etc/curator/curator.yml /etc/curator/actions.yml 下記はcurator.ymlの例です。 client: hosts: - http://elasticsearch-host.com/ port: 9200 url_prefix: use_ssl: False certificate: client_cert: client_key: ssl_no_validate: False http_auth: user:password timeout: 30 master_only: False logging: loglevel: INFO logfile: logformat: default blacklist: ['elasticsearch'] 下記はactions.ymlの例です。 actions: 1: action: delete_indices description: >- logstash-で始まり、30日より古いインデックスを削除 options: ignore_empty_list: True disable_action: True filters: - filtertype: pattern kind: prefix value: logstash- - filtertype: age source: name direction: older timestring: '%Y.%m.%d' unit: days unit_count: 30