サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
qiita.com/mima_ita
はじめに コンピュータを使用した多くの操作は自動化することができます。 この技術は運用や試験工程で大きな力を発揮します。 自動化の技術は一般的なソフトウェア技術者が、ちょっと努力すれば普通に身につく能力であって、特別なものではありません。 ただ残念なことにこれらの技術はあまり知られておらず、活用されているとは言い難い現場も多いです。 ユーザー企業さんができないのはしょうがないですが、ITで飯を食べているはずの自称IT企業においても、自動化を拒否して手動で心をこめて作業をしてリソースを無駄にするケースを稀によく見かけます。 自動化の拒否が「余剰人員のための経済対策だよ!」という身もふたもない理由でないと信じて今回は、Windowsでの作業の自動化についてお話しようと思います。 自動化のテクニックの話をする前に Windowsの自動化のテクニックの話をする前にちょっと重要なことを先に述べておき
まえがき SIerをディスる記事がバズるたびに流れ弾が飛んでくるサクラエディタですが、この偉大なエディタを使いこなしている人間は、すくないと思います。 今回は便利そうな機能を記録しておきたいとおもいます。 エディタから使える機能 Grep 検索メニューからGrepまたはGrepによる置換が行えます。 GrepやGrepによる置換には正規表現が利用できます。 利用可能な正規表現 https://sakura-editor.github.io/help/HLP000089.html 個人的によく使う正規表現は「\t」でGRAPの結果をタブ区切りに変換してExcelに張り付ける使い道です。 1、Grepの結果がある。 2、「): 」→「):\t」の置換をやる 3、Excelにはりつけやすくなる。 ※正規表現使わなくてもタブ文字をコピーアンドペーストで置換後に入力する手もある 変換 変換メニューで
Windowsの自動化の基本となるものにコマンドプロンプトと、そこから実行できるバッチファイルがあります。 Windowsのバッチファイルは古いマシンから新しいマシンまで使用できます。 今回は、それをまとめてみようと思いますが、百番煎じくらいになるので、なるべくMicrosoftが提供するドキュメントをベースになるように話を進めたいと思います。 文中のリンクは基本的に公式サイトへのリンクになっているので必要に応じて参照してください。 ※注意 なにがなんでもバッチファイルで書けという趣旨の記事ではありません。最近はPowerShellも使えますし、レガシーの環境ではWSHという選択肢もあります。 汝、ヘルプを愛せよ コマンドプロンプトでなんらかの操作を行う場合、手っ取り早くコピペですますのもよくあることですが、基本的にはヘルプを確認するようにしましょう。コピペ元のコマンドやオプションをよくわ
ソースコードをコピーアンドペーストで作成したコードクローンの方が信頼性がいいという言説もないことはないですが、多くの場合、コードクローンの存在は我々を土壇場で苦しめることが多いです。 担当者が逃げた、ソースコードを、夜遅くまで修正してリリースしたあとに、実は「コピペで作っているから別の所も全部なおしてテストしてね」とか言われて、作業をやり直すのは、とてもとても悲しいものです。 殆ど同じソースコードを間違い探しのように微妙に変更して、修正していくのは屈辱の極みです。 土壇場において、このような罰ゲームを避けるために、コピペの頻度というものは常時監視しておき、異常な頻度の場合はただちに是正すべきです。 ここでは、コピペの検出を行うツールについて説明します。 PMD-CPD PMDはJavaで実装されたJavaのソースコードの潜在的問題を検出するツールです。 http://pmd.sourcef
ソフトウェアのレビュー ソフトウェアの開発において、レビューが品質の確保をするために有効であることは私達は直感的、経験的に理解しています。 人は間違いを犯しますし、間違った本人よりも他人のほうが誤りを見つけ易いものです。 ここまでは、認識を共通できるものでしょう。 しかし、レビューと一言で言った場合に、その実態にかなりのギャップが生じます。 ある人にとっては、気の合う同僚とコーヒーでも飲みながら成果物をチェックしてもらう事かもしれません。 しかし、別の人にとっては会議室で衆目の前で細かい所を吊るし上げられる苦行のことかもしれません。 ある人にとっては、口で簡単に説明するだけかもしれませんし、メールやツールでコメントを書くだけかもしれません。 しかし、別の人にとっては、準備の為に大量の資料を作り、終わった後にも大量の報告書を書く事かもしれません。 プロジェクトを初めて、レビューといった場合、
コンテキストメニューまたは、メニューバーの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
はじめに ちょっと前に20年物のC言語で作られたシステムのテストを色々改善しようとしてみたので、この時に得たちょっとした知見を書いていこうと思います。 ※注意 記事を書くために自分のパソコンで当時を思い出しながら環境を作っているので、実際、実務でやった環境やバージョンとは違います。 また、この記事にはいくつかコードがでてきますが、すべて記事を書くために考えた疑似的な例にすぎません。 単体テスト用のテストコードの作成 20年も動いているシステムだと、もはや誰にも意味はわからんが、既存の挙動を変えてはいけない箇所がいくつもあります。 そういう箇所に手を入れざるを得ないときに、有効な方法として以下のような方法があります。 まず、既存のコードに対するテストコードを記載します。そして全て合格することを確認してから、少しづつ機能を拡張していきます。 これにより、新規機能追加が既存の機能を壊していないこ
前書き 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
はじめに Webアプリケーションに対してある種の繰り返しの操作を行ったり、定型処理を定期的に自動実行したい場合がよくあります。 大きくわけてWebアプリケーションの自動化には3種類のやり方が存在します。 1つ目はブラウザのGUI上の操作をプログラム上で真似して自動化する方法 2つ目はブラウザから送信しているデータを真似する方法 3つ目はWebアプリケーションが提供しているAPIを利用する方法 1つ目のブラウザのGUI上の操作をプログラム上で真似して自動化する方法は直観的にわかりやすいと言われますが、実際は最も難しい自動化の方法になります。また、アプリケーションのバージョンアップに伴い自動化用のプログラムが動作しなくなる可能性があります。 2つ目のブラウザから送信しているデータを真似する方法はプログラムで実装しやすいやり方ではありますが、Webアプリケーションがどのようなデータを送信している
目的 この記事は、IT企業を名乗る名状しがたい企業においてRedmineとかTracを使用した、タスク管理の導入を、あきらめた方が対象です。 今回は、彼らのルールにしたがったOfficeという土俵で多少マシな状況を作るためにPowerShellを用いてOutlookの自動操作を行う方法を調べてみました。 Outlookはメール送るだけでなく、タスクの依頼や会議の設定ができます。 これらの操作はVBAやVBS、そしてPowerShellによって自動化が可能になっています。 すくなくとも一つのExcelを全員で修正したり、タスクの変更は気を付けて確認するという人間の能力を過大評価して現在のIT技術を過少評価した、タスク管理っぽいなにかをしているとこでは、多少はマシになる可能性があると期待しています。 環境: Office16 Outlook(32bit) Windows 10 PowerShe
かって、JavaScriptのテンプレートとしてjquery.tmpl.jsが存在した。 jQuery公式サイトにものっていたが、現在はメンテナンスされておらず、公式から削除された。 https://github.com/BorisMoore/jquery-tmpl しかしながら、同じ作者のJsRender、JsViewsといわれるライブラリが後継として存在している。 このドキュメントでは JsRender, JsViewsについての解説を行う。 http://www.jsviews.com/ JsRenderはDOMやjQueryの依存関係なしで、軽量でありながら強力で拡張可能なテンプレートエンジンである。 JsRenderは以下からダウンロードすることが可能だ。 http://www.jsviews.com/#download 実装のサンプルとJsRenderの機能 JsRenderを
ここで記述する内容はあくまでガイドライン、指針の案にすぎない。この規約を守るためにコードを作るのでなく、よいコードを作るためのガイドラインにすぎない。このガイドラインがよいコードを作るのに障害になる場合は、ガイドラインを変えるか、ガイドラインを使用しない。 つまり、このガイドラインは必要に応じて、変更されることがある。 もし、ガイドラインを考える場合、VB6の規約が参考になる。 Visual Basic Coding Conventions 宣言について 変数の宣言を強制する モジュールの先頭に下記の構文を記述して型の宣言を強制すること。 この宣言は下記の手順で自動で作成することもできる。 【ツール】→【オプション】 【編集】のタブを選択 【変数の宣言を強制する】をチェックする。 理由 変数名の記述ミスがあった場合、コンパイル時にそのミスを検知できる。 暗黙の型は使用しない VBAで変数の
Pythonで主だったデータベースを操作する方法を記述する。 Pythonは2.xと3.x両方でWindows環境で実行している。 また、テストデータは下記のページのT01Prefecture.zipを解凍してテーブルとデータを使うものとする。 PHPプログラミング初心者入門講座 http://php5.seesaa.net/article/61269550.html MySQL 環境 Python2.7 または3.3 MySQL 5.6.15 データベースの設定 テーブル CREATE TABLE `t01prefecture` ( `PREF_CD` int(3) NOT NULL DEFAULT '0', `PREF_NAME` varchar(10) DEFAULT NULL, PRIMARY KEY (`PREF_CD`) ) ENGINE=InnoDB D DELIMITER
概要 この記事ではVisualStudioインストール時に導入されるMsTestの使用方法について解説する。 参考: 単体テストの基本 https://msdn.microsoft.com/ja-jp/library/hh694602.aspx 環境: VisualStudio Community 2013 簡単なテストプロジェクト 1.VisualStudioにてテストプロジェクトを追加する。 2.UnitTestを記述する。 using System; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace UnitTestSample { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { int exp = 10
はじめに ひさしぶりにPythonで久しぶりにHTMLを出力したくなったのでテンプレートについて調べます。 環境: Python 3.7.4 標準ライブラリでの文字列の書式の扱い まず標準で使える範囲で文字列の書式をどう扱えるか調べます。 これについては下記の素晴らしいまとめが存在します。 Python String Formatting Best Practices https://realpython.com/python-string-formatting/ ここで紹介されている方法は以下の通りです。 古い形式の文字列の書式 新しい形式の文字列の書式 PEP498で定義された書式設定方法 テンプレート文字列 古い形式の文字列の書式 昔ながらの文字列の書式の指定方法です。 name = 'アンジュ' age = 18 print('古いやり方----------------------
背景 SQLiteをPythonから使用する場合、Python2.5以上ではデフォルトでsqlite3が使用できます。 これは、DB-API 2.0 仕様に準拠した SQL インタフェースを提供するもので、pysqliteという名前で開発されています。 sqlite3 http://docs.python.jp/2/library/sqlite3.html しかしながら、このライブラリはSQLiteの全ての機能を使えるわけではありません。これは、DB-APIの仕様に準拠するためです。 APSWは、SQLite APIをPythonで完全に使用できるようなライブラリになっています。APSWはPython2.xとPython3.xで動作します。 https://github.com/rogerbinns/apsw http://rogerbinns.github.io/apsw/ インストール
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個ま
このドキュメントではRedmineでGitを連携させる方法について記述する。 環境 OS:Debian7 Redmine version 2.3.1.stable git version 1.7.10.4 apt-getでRedmineとgitをインストールしている。 gitリポジトリの作成してSmartHTTP経由参照できるようにする。 リポジトリの作成 Webサーバからアクセスできる権限で、リポジトリを作成する。 $mkdir -p /var/git/test.git $cd /var/git/test.git $git --bare init $git update-server-info $chown -R www-data .
注意 この記事は、2014年の段階でNode.jsの開発時にデバッグ~継続的インテグレーションが行えるようにするために必要な情報をまとめていました。 その後、2020年08月にnode v12.18.3を対象に調査しなおしました。 Node.jsのインストール方法 ここから、インストーラなりソースなり取得してインストールする。 Windows,Macはインストーラが存在している。 Windowsの場合、VS2008や、VS2012などの複数のVisualStudioが混在している環境だとnpm installが失敗することがあった。 その場合は、環境変数を調整してVisualStudioのバージョンを指定して動作するようにしておくこと。 Node.jsのデバッグ方法(2020年) ローカルのデバッグ Visual Studio Codeでアプリケーションのあるフォルダを開いて実行すると、デ
人間長い間生きていると、一度くらい夜中にヒンディー語の入ったファイルを修正する必要がでてきます。 手持ち(Windows)のサクラエディタや、vimでは残念ながらインドの偉大な英知を表示してくれはしませんでした。 ここでは、夜中にヒンディー語を修正するはめになり、かつ、グーグル先生に聞いてクールな多言語対応のエディタを探してインストールする余裕もないときに、どう対応すべきかを記述します。 ここでは、ブラウザー経由でヒンディー語の入ったファイルを修正してファイルに保存するようにします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xm
レギュレーション 各RPAツールでVOICEROID2の茜ちゃんに「アカネチャンカワイイヤッタ」と言わせた後にファイルを保存します。 画像認識できる場合は葵ちゃんにもしゃべってもらいます。 環境: Windows10 64bit VoiceRoide2 画面構成 タブの中の子要素が取れない問題について: https://teratail.com/questions/53276 保存時の画面遷移 参加ツール ツール名 簡単な説明
import datetime from redminelib import Redmine redmine = Redmine('http://192.168.0.200/', key='60076966cebf71506ae3f2391da649235a2b1d46') issue = redmine.issue.new() issue.project_id = 'Test1' issue.subject = 'サブジェクト' issue.tracker_id = 1 #トラッカー issue.description = 'チケットの内容をしめす。\n改行もできる。' issue.status_id = 1 #ステータス issue.priority_id = 1 #優先度 issue.assigned_to_id = 1 #担当者のID issue.watcher_user_ids
はじめに この記事ではVisualStudioを使用して、どのように単体テストを自動化していくかを記述します。 この記事では「単体テストの自動化?なにそれおいしいの?」とかいう感じの組織で、現実的な妥協点を探っていくという、縛りゲーをやるクソゲーマー向けて、ファミ通程度の攻略情報をお届けするのが目的です。 あと「単体テスト」を自動でやるという枝葉の話でしかないので、「テスト?なにそれおいしいの?」とか「品質管理?わいには関係ないで」とかいう方は「自動」云々でなく、まず基本的なソフトウェア技法から調べた方がよろしいです。 「まっとうなソフトウェアテストの知識」を持っている人が、ツールを駆使して、作業の効率化をもとめ品質を上げるってのが重要で、「まっとうなソフトウェアテストの知識」がない人が、手順だけを自動化するのは本質を踏み外しています。 JSTQBの教科書とか、ソフトウェアテストの本とかで
概要 このドキュメントではローカルストレージの説明と、各ブラウザでの動作を検証する。 ローカルストレージとは、データをブラウザ側に蓄積する仕組みである。 保存時に、サイトごとにKeyと文字の組み合わせでデータを格納する。 サイトごとの領域は、それぞれ独立しており、別のサイトで記録したデータを操作することはできない。 また、それぞれのサイト毎に保存できる上限は制限されている。その具体的サイズはブラウザ毎にことなる。 詳細な仕様は下記を参照のこと。 https://html.spec.whatwg.org/multipage/webstorage.html#the-localstorage-attribute 実装例 下記にローカルストレージの実装例を紹介する。 localStorage APIの使用例 localStorageの操作を行うAPIの使用例を紹介する。 このAPIは、処理が完了す
この記事では.NETにおける64ビットプロセスと32ビットプロセスについて説明をおこなう。 1プロセスにおける32ビットと64ビットの混在 ネィティブアプリケーションの場合、プラットフォームの異なるExeとDllは共存できません。 ・x64のExeと x64のDLL ⇒動作する ・x86のExeと x86のDLL ⇒動作する ・x64のExeと x86のDLL ⇒動作しない ・x86のExeと x64のDLL ⇒動作しない ネイティブアプリケーションはビルド時に、どちらにするか指定してビルドする必要があります。 .NET の場合、ビルド時にプラットフォームに"x86","x64"以外に"Any CPU"が選択できます。 Any CPUを選択した場合次のような挙動になります。 ・Exeの場合、OSが32ビットの場合、32ビットのプロセスとして動作します。 ・Exeの場合、OSが64ビットの場
Gitは特定のコマンドが実行された場合に、スクリプトを起動させることができる。 そのスクリプトは.git/hooks フォルダに特定の名称で作成することで実行される。 検証プログラム 検証環境は以下の通り Debian7.0 git version 1.7.10.4 フックの動作を検証するために、各フックスクリプトに下記を記述する。 #!/bin/sh logger "********************************************" logger ${0##*/} logger "param $*" logger "param cont $#" logger "input..." while read i; do logger ${i} done これにより、フックスクリプトの発生順と、パラメータ、標準入力の検証が行える。 フックの確認 commitコマンドのフッ
Sequelizeとは SequelizeはMYSQL,MariaDB,SQLite,Postgresに簡単にアクセスするためのNode.jsのライブラリである。 以下の機能を有している。 オブジェクトとDBの関連を取り持ってくれる。これは1テーブルだけの関係ではなく、複数のテーブルの関連を定義することができる。 入力されたデータが適切かどうかのバリデーションチェックを行う。 トランザクションのサポートしている。 マイグレーションの機能をサポートしている。これにより、データベースのスキーマの更新が容易になる。 ロックの機能をサポートしている。 導入方法 SQLiteを操作する場合 その他DBについては下記を参照 https://sequelize.org/master/manual/getting-started.html 下記のDBを操作するためのサンプルが乗っている。 Postgres
CSVの仕様 まず重要な点は、「CSVは、ファイルを読んで、1行ずつ、単純に「,」で分割していけばいいってものではない」ということである。 CSVの標準的な仕様として、現在RFC4180が定義されている。 http://www.kasai.fm/wiki/rfc4180jp http://www.ietf.org/rfc/rfc4180.txt しかしながら、これは2005年10月に公開された後追いであり、おそらく、実際、それぞれの現場で使っている物と異なる箇所があると思われる。 この仕様で述べている主な特徴は次の通りになる。 ・各レコードは、改行(CRLF)を区切りとする ・ファイル末尾のレコードの終端には、改行があってもなくてもいい。 ・ファイルの先頭にはヘッダ行が存在してもいいしなくてもいい。 ・各行とヘッダはコンマで区切られたフィールドを持つ。 ・フィールドの数は、ファイル全体を通
概要 peeweeはPython用のORMです。 以下のデータベースの操作が行えます。 ・SQLite ・MySQL ・Postgres ・AWSP ・BerkeleyDatabase(未検証) 詳細は下記のドキュメントを参照してください。 https://peewee.readthedocs.org/en/latest/index.html 更新履歴 2019.08.03 サンプルコードを変更 Python2.7 → Python3.7 & Peewee 3.9.6 環境 Windows10 Python 3.7.4(32bit) Peewee 3.9.6 インストール方法 from peewee import * from datetime import date db = SqliteDatabase(':memory:') class Person(Model): name = C
次のページ
このページを最初にブックマークしてみませんか?
『@mima_itaのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く