タグ

ブックマーク / qiita.com/mima_ita (21)

  • JavaScriptを単体テストする流行りのフレームワークJestを試してみる - Qiita

    Jestとは JestはJavaScriptの単体テストのフレームワークです。 https://jestjs.io/ja/ テストランナーだけでなく、モック機能やカバレッジの取得を使用することができます。npmのトレンドとしては2019年から伸びてmochaを超えるものとなっています。 https://www.npmtrends.com/jest-vs-jasmine-vs-mocha-vs-qunit この記事は公式のサンプルコードを弄ってその挙動を確認するものとなっています。 また、実験環境は以下の通りです。 OS:MacOS Catalina 10.15.6 node.js: v14.10.1 簡単なはじめ方 jestを使用するためにnode.jsのプロジェクトを以下のように作成します。 # package.jsonを作成する npm init -y # package.jsonにj

    JavaScriptを単体テストする流行りのフレームワークJestを試してみる - Qiita
  • 政府統計の総合窓口(e-Stat)のAPIを使ってみよう - Qiita

    e-Statでは政府が提供する様々な統計データをXMLやJSONで取得するAPIを使用できます。 APIの利用登録と動作テスト 1.下記のURLからAPIの利用申請をします。 http://www.e-stat.go.jp/api/regist-login/ 2.APIを登録申請が完了すると「メールアドレス」と「パスワード」でログインが可能になります。 3.ログイン後、再度ログイン画面に行くと「利用者情報変更/削除」と「アプリケーションIDの取得」がおこなえる画面が表示されます。 利用者情報変更では、登録時に指定したデータを変更することができます。 4.appIDの発行を行う。 「アプリケーションIDの取得」画面で名称とURLを入力して、「発行」ボタンを押すとappIDが取得できます。 urlは存在しない場合は「http://localhost/」等を入力してください。 appIDは3個ま

    政府統計の総合窓口(e-Stat)のAPIを使ってみよう - Qiita
  • VBAにはユニットテストやリファクタリング機能がない・・・そんなふうに考えていた時期が俺にもありました - Qiita

    コンテキストメニューまたは、メニューバーのRubberduckメニューからRefactorを実行することでリファクタリングが行えます。 下記の例では関数名を変更しています。 他にも引数の削除や順番が行えます。 テスト用のモジュールとメソッドの追加方法 Rubberduck→Unit Tests→Test Moduleでテストモジュールを追加、Rubberduck→Unit Tests→Test Methodでテストメソッドを追加します。 テストモジュール中の「'@TestMethod」というコメントが記載された関数がテストメソッドとなります。 テスト実行例 まず以下のようなテストモジュールを用意します。 Option Explicit Option Private Module '@TestModule '@Folder("Tests") Private Assert As Object

    VBAにはユニットテストやリファクタリング機能がない・・・そんなふうに考えていた時期が俺にもありました - Qiita
  • VBAにはユニットテストやリファクタリング機能がない・・・そんなふうに考えていた時期が俺にもありました - Qiita

    コンテキストメニューまたは、メニューバーのRubberduckメニューからRefactorを実行することでリファクタリングが行えます。 下記の例では関数名を変更しています。 他にも引数の削除や順番が行えます。 テスト用のモジュールとメソッドの追加方法 Rubberduck→Unit Tests→Test Moduleでテストモジュールを追加、Rubberduck→Unit Tests→Test Methodでテストメソッドを追加します。 テストモジュール中の「'@TestMethod」というコメントが記載された関数がテストメソッドとなります。 テスト実行例 まず以下のようなテストモジュールを用意します。 Option Explicit Option Private Module '@TestModule '@Folder("Tests") Private Assert As Object

    VBAにはユニットテストやリファクタリング機能がない・・・そんなふうに考えていた時期が俺にもありました - Qiita
  • PythonでPDFのレイアウトを維持したまま翻訳してみる - Qiita

    はじめに PDFを機械翻訳する方法は色々ありますが、レイアウトを維持して翻訳をするという意味ではDocTranslatorが使いやすいです。 しかしながら、サイズの制限があるらしく、PDF32000_2008.pdfなどは翻訳に失敗してしまいます。 今回はレイアウトを崩さずに翻訳する方法を考えてみます。 なお、結論からいうと、今回説明する方法は面倒くさいので、別の方法でいいなら別の方法をお勧めします。 PDFに注釈として訳を埋め込む DocTranslatorのように文にレイアウトを崩さずに訳を埋め込めるならば、いいのですが、色々うまくいかなと予測できるので、注釈として訳を埋め込むことにします。 たとえば、PDF32000_2008.pdfを翻訳した場合の結果は以下の通りになります。 http://needtec.sakura.ne.jp/doc/tmp/output.pdf ※Adob

    PythonでPDFのレイアウトを維持したまま翻訳してみる - Qiita
  • 新型コロナウイルス感染症の感染拡大を踏まえたオンライン診療のPDFデータを利用してみた - Qiita

    はじめに 新型コロナウイルス感染症の感染拡大を踏まえたオンライン診療の対応機関一覧リストが以下に公開されています。 これを用いて、近所のオンライン診療の対応機関がどんな感じになっているか取り出す処理を作成してみます。 これにより政府の提供するPDFのデータを使用することができるかも合わせて検討してみます。 成果物 https://needtec.sakura.ne.jp/yakusyopdf/ https://github.com/mima3/yakusyopdf 経度と緯度を入力して検索すると・・・ 近くの病院の一覧が表示されるので、行をクリックします。 すると地図に詳細情報が表示されます。 説明 処理の流れ (1)新型コロナウイルス感染症の感染拡大を踏まえたオンライン診療の対応機関一覧リストのホームページからPDFを取得します。 (2)PDFからテーブル情報を抜き出してJSONに変換し

    新型コロナウイルス感染症の感染拡大を踏まえたオンライン診療のPDFデータを利用してみた - Qiita
  • 自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindowsの自動化の方法 - Qiita

    はじめに コンピュータを使用した多くの操作は自動化することができます。 この技術は運用や試験工程で大きな力を発揮します。 自動化の技術は一般的なソフトウェア技術者が、ちょっと努力すれば普通に身につく能力であって、特別なものではありません。 ただ残念なことにこれらの技術はあまり知られておらず、活用されているとは言い難い現場も多いです。 ユーザー企業さんができないのはしょうがないですが、ITで飯をべているはずの自称IT企業においても、自動化を拒否して手動で心をこめて作業をしてリソースを無駄にするケースを稀によく見かけます。 自動化の拒否が「余剰人員のための経済対策だよ!」という身もふたもない理由でないと信じて今回は、Windowsでの作業の自動化についてお話しようと思います。 自動化のテクニックの話をする前に Windowsの自動化のテクニックの話をする前にちょっと重要なことを先に述べておき

    自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindowsの自動化の方法 - Qiita
  • RPA九人衆による「アカネチャンカワイイヤッタ」の自動化 - Qiita

    レギュレーション 各RPAツールでVOICEROID2の茜ちゃんに「アカネチャンカワイイヤッタ」と言わせた後にファイルを保存します。 画像認識できる場合は葵ちゃんにもしゃべってもらいます。 環境: Windows10 64bit VoiceRoide2 画面構成 タブの中の子要素が取れない問題について: https://teratail.com/questions/53276 保存時の画面遷移 参加ツール ツール名 簡単な説明

    RPA九人衆による「アカネチャンカワイイヤッタ」の自動化 - Qiita
  • 20年物のC言語で作られたシステムのテスト工程を改善しようとした話 - Qiita

    はじめに ちょっと前に20年物のC言語で作られたシステムのテストを色々改善しようとしてみたので、この時に得たちょっとした知見を書いていこうと思います。 ※注意 記事を書くために自分のパソコンで当時を思い出しながら環境を作っているので、実際、実務でやった環境やバージョンとは違います。 また、この記事にはいくつかコードがでてきますが、すべて記事を書くために考えた疑似的な例にすぎません。 単体テスト用のテストコードの作成 20年も動いているシステムだと、もはや誰にも意味はわからんが、既存の挙動を変えてはいけない箇所がいくつもあります。 そういう箇所に手を入れざるを得ないときに、有効な方法として以下のような方法があります。 まず、既存のコードに対するテストコードを記載します。そして全て合格することを確認してから、少しづつ機能を拡張していきます。 これにより、新規機能追加が既存の機能を壊していないこ

    20年物のC言語で作られたシステムのテスト工程を改善しようとした話 - Qiita
  • 自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindowsの自動化の方法 - Qiita

    はじめに コンピュータを使用した多くの操作は自動化することができます。 この技術は運用や試験工程で大きな力を発揮します。 自動化の技術は一般的なソフトウェア技術者が、ちょっと努力すれば普通に身につく能力であって、特別なものではありません。 ただ残念なことにこれらの技術はあまり知られておらず、活用されているとは言い難い現場も多いです。 ユーザー企業さんができないのはしょうがないですが、ITで飯をべているはずの自称IT企業においても、自動化を拒否して手動で心をこめて作業をしてリソースを無駄にするケースを稀によく見かけます。 自動化の拒否が「余剰人員のための経済対策だよ!」という身もふたもない理由でないと信じて今回は、Windowsでの作業の自動化についてお話しようと思います。 自動化のテクニックの話をする前に Windowsの自動化のテクニックの話をする前にちょっと重要なことを先に述べておき

    自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindowsの自動化の方法 - Qiita
  • PowerPointで茜ちゃんに喋ってもらう - Qiita

    前書き むかしむかし、ゆっくりさんにPowerPointを使って喋らせた動画を作成したことがあります。 Powerpointを使用したゆっくり動画の作成 https://t.co/nCQIQI6p7M #sm18775987 #ニコニコ動画 — m.ita (@mima_ita) August 2, 2019 今回は、令和の時代になったので、ゆっくりさんには卒業してもらって、VOICEROIDE2の茜ちゃんにやっていただくこととします。 仕組み PowerPointの各スライドのページに記載された文字をVOICEROIDE2を用いてWavファイルの作成を行います。その作成したWavファイルをスライドに埋め込みます。 スライドショーを実行することで、スライドを切り替え後、マウスクリックをすることで、茜ちゃんがしゃべってくれます。 使い方 環境: Windows10 Office16 Powe

    PowerPointで茜ちゃんに喋ってもらう - Qiita
  • たとえ途中で再起動と管理者権限が必要でも、自動化をあきらめたらそこで試合終了ですよ…? - Qiita

    前書き Windowsで自動化していると面倒なケースに遭遇します。 それは再起動を挟みかつ管理者権限が必要なケースです。 たとえば、以下のようなケースになります。 ・Aというアプリをインストールしたあとに再起動をしてBというアプリをインストールする ・WindowsUpdateでインストールしたあとに再起動をしてコントロールパネルの設定を実施する 今回は、Windowsにおいて再起動を挟んで管理者権限で実行するスクリプトの書き方について検討してみます。 ログインの自動化 再起動後に自動的にログインを行う方法はマイクロソフトのサポート情報として紹介されています。 How to turn on automatic logon in Windows https://support.microsoft.com/en-us/help/324737/how-to-turn-on-automatic-l

    たとえ途中で再起動と管理者権限が必要でも、自動化をあきらめたらそこで試合終了ですよ…? - Qiita
  • RedmineをあきらめたオレたちのPowerShellでのOutlookの自動操作 - Qiita

    目的 この記事は、IT企業を名乗る名状しがたい企業においてRedmineとかTracを使用した、タスク管理の導入を、あきらめた方が対象です。 今回は、彼らのルールにしたがったOfficeという土俵で多少マシな状況を作るためにPowerShellを用いてOutlookの自動操作を行う方法を調べてみました。 Outlookはメール送るだけでなく、タスクの依頼や会議の設定ができます。 これらの操作はVBAやVBS、そしてPowerShellによって自動化が可能になっています。 すくなくとも一つのExcelを全員で修正したり、タスクの変更は気を付けて確認するという人間の能力を過大評価して現在のIT技術を過少評価した、タスク管理っぽいなにかをしているとこでは、多少はマシになる可能性があると期待しています。 環境: Office16 Outlook(32bit) Windows 10 PowerShe

    RedmineをあきらめたオレたちのPowerShellでのOutlookの自動操作 - Qiita
  • 汝、コマンドプロンプトを愛せよ - Qiita

    Windowsの自動化の基となるものにコマンドプロンプトと、そこから実行できるバッチファイルがあります。 Windowsのバッチファイルは古いマシンから新しいマシンまで使用できます。 今回は、それをまとめてみようと思いますが、百番煎じくらいになるので、なるべくMicrosoftが提供するドキュメントをベースになるように話を進めたいと思います。 文中のリンクは基的に公式サイトへのリンクになっているので必要に応じて参照してください。 ※注意 なにがなんでもバッチファイルで書けという趣旨の記事ではありません。最近はPowerShellも使えますし、レガシーの環境ではWSHという選択肢もあります。 汝、ヘルプを愛せよ コマンドプロンプトでなんらかの操作を行う場合、手っ取り早くコピペですますのもよくあることですが、基的にはヘルプを確認するようにしましょう。コピペ元のコマンドやオプションをよくわ

    汝、コマンドプロンプトを愛せよ - Qiita
  • サクラエディタの便利そうな機能 - Qiita

    まえがき SIerをディスる記事がバズるたびに流れ弾が飛んでくるサクラエディタですが、この偉大なエディタを使いこなしている人間は、すくないと思います。 今回は便利そうな機能を記録しておきたいとおもいます。 エディタから使える機能 Grep 検索メニューからGrepまたはGrepによる置換が行えます。 GrepやGrepによる置換には正規表現が利用できます。 利用可能な正規表現 https://sakura-editor.github.io/help/HLP000089.html 個人的によく使う正規表現は「\t」でGRAPの結果をタブ区切りに変換してExcelに張り付ける使い道です。 1、Grepの結果がある。 2、「): 」→「):\t」の置換をやる 3、Excelにはりつけやすくなる。 ※正規表現使わなくてもタブ文字をコピーアンドペーストで置換後に入力する手もある 変換 変換メニューで

    サクラエディタの便利そうな機能 - Qiita
  • Pythonで久しぶりにHTMLを出力したくなったのでテンプレートについて調べる - Qiita

    はじめに ひさしぶりにPythonで久しぶりにHTMLを出力したくなったのでテンプレートについて調べます。 環境: Python 3.7.4 標準ライブラリでの文字列の書式の扱い まず標準で使える範囲で文字列の書式をどう扱えるか調べます。 これについては下記の素晴らしいまとめが存在します。 Python String Formatting Best Practices https://realpython.com/python-string-formatting/ ここで紹介されている方法は以下の通りです。 古い形式の文字列の書式 新しい形式の文字列の書式 PEP498で定義された書式設定方法 テンプレート文字列 古い形式の文字列の書式 昔ながらの文字列の書式の指定方法です。 name = 'アンジュ' age = 18 print('古いやり方----------------------

    Pythonで久しぶりにHTMLを出力したくなったのでテンプレートについて調べる - Qiita
  • 自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindowsの自動化の方法 - Qiita

    はじめに コンピュータを使用した多くの操作は自動化することができます。 この技術は運用や試験工程で大きな力を発揮します。 自動化の技術は一般的なソフトウェア技術者が、ちょっと努力すれば普通に身につく能力であって、特別なものではありません。 ただ残念なことにこれらの技術はあまり知られておらず、活用されているとは言い難い現場も多いです。 ユーザー企業さんができないのはしょうがないですが、ITで飯をべているはずの自称IT企業においても、自動化を拒否して手動で心をこめて作業をしてリソースを無駄にするケースを稀によく見かけます。 自動化の拒否が「余剰人員のための経済対策だよ!」という身もふたもない理由でないと信じて今回は、Windowsでの作業の自動化についてお話しようと思います。 自動化のテクニックの話をする前に Windowsの自動化のテクニックの話をする前にちょっと重要なことを先に述べておき

    自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindowsの自動化の方法 - Qiita
  • Webアプリケーションを自動で操作してみよう - Qiita

    はじめに Webアプリケーションに対してある種の繰り返しの操作を行ったり、定型処理を定期的に自動実行したい場合がよくあります。 大きくわけてWebアプリケーションの自動化には3種類のやり方が存在します。 1つ目はブラウザのGUI上の操作をプログラム上で真似して自動化する方法 2つ目はブラウザから送信しているデータを真似する方法 3つ目はWebアプリケーションが提供しているAPIを利用する方法 1つ目のブラウザのGUI上の操作をプログラム上で真似して自動化する方法は直観的にわかりやすいと言われますが、実際は最も難しい自動化の方法になります。また、アプリケーションのバージョンアップに伴い自動化用のプログラムが動作しなくなる可能性があります。 2つ目のブラウザから送信しているデータを真似する方法はプログラムで実装しやすいやり方ではありますが、Webアプリケーションがどのようなデータを送信している

    Webアプリケーションを自動で操作してみよう - Qiita
  • .NETを使った別プロセスのOfficeの自動化が面倒なはずがない―そう考えていた時期が俺にもありました。 - Qiita

    $app = New-Object -ComObject Excel.Application $books = $app.Workbooks $book = $books.Open("test.xlsx") Write-Host $book.Sheets["Sheet1"].Cells[1,1].Text $book.Close() $app.Quit(); Excelを立ち上げて、シートのセルを表示し、Excelを終了するコードです。 来であれば、なんの問題もありません。 しかしながら、起動したExcelのプロセスは終了せずタスクマネージャーに残り続けます。 今回はExcelで説明しましたが、これはWordでもOutlookでも同様です。また、PowerShellでなくC#で同様の実装をしても、この問題は発生します。 何が問題なのか? Office オートメーションで割り当てたオブジェ

    .NETを使った別プロセスのOfficeの自動化が面倒なはずがない―そう考えていた時期が俺にもありました。 - Qiita
  • 謙虚な気持ちでJSONの仕様と各言語での実装例を調べなおす - Qiita

    JSON values JSONの値はobject, array, number, string, true, false, null となります。 Object objectは0個以上の名前/値のペアを囲む、一対のトークンとして表せられます。名前はstringになります。名前の後に「:」とトークンが続き、名前と値を分けます。単一の「,」は値を次の名前から分離します。 名前と値のペアの順序に重要性はありませんし、名前文字列が一意であることを要求するものではありませんし、複数あった場合の挙動は定義されていません。 Array arrayは0個以上の値を囲む角括弧トークンです。値は「,」で区切ります。 Number numberは余分の先頭0が存在しない10進数です。 マイナス記号、小数点、eまたはEが付与される場合があります。 数字として表すことのできないNaNやInfinityは許可されま

    謙虚な気持ちでJSONの仕様と各言語での実装例を調べなおす - Qiita