ラブびあ

ビール。ときどきラブ

Pythonで非同期処理

Pythonでマルチプロセスまたはマルチスレッドによる非同期処理を実装する方法を調べました。ここでは、典型的なバッチ処理(prepareが処理対象イテレータ、executeはprepareの要素ごとに呼び出す処理)で、async/awaitを実装していないexecute処理を非同期化…

取消線の入ったセルを検索する

標準のFindNextでは検索できない「取消線の入ったセル」を検索するためのクラスです。「」の部分は簡単にカスタマイズできるので、簡単に任意の条件で検索する機能を作ることができます。 CellFinder アクティブセルから「前へ」「次へ」を検索するクラスで…

自動入力のスニペット

自動入力するブックマークレットのスニペットです。引数pに「id:値」の形式で入力したい値を定義します。 javascript: (function(p){ for(i in p){ document.getElementById(i).value = p[i]; } }) ({ id1:'val1', id2:'val2', id3:'val3' })

ファイルを検索する

Excelで指定したフォルダ内のファイルをピックアップする処理を書くときに使うクラスです。 FileFinder Option Explicit ' ------------------------------------------------------------------------------- ' FileFinder クラス ' 指定フォルダ内のファイ…

Windows版 Slack のフォントを変更する方法

2019/08/25 追記 4.x.x系ではこちらの記事の方法となるそうです。(Slack使わなくなったから知りませんでした。。。) Windows 版 Slack のフォントを変更する 4.x.x 対応 autotune.hatenablog.com つい先ごろSlackが日本語対応されましたが、日本語表示にす…

Windows版 Slack (英語)でEnterで改行させる方法

日本語だとEnterで改行させるオプションが追加されていますが、これを英語でも使う方法です。どちらかと言うと英語圏の人には需要あるかも。■注意事項 この方法は動作保証外だと思うのでダメだったら諦めてください。またアプリの再インストールなどが必要に…

Android開発2017春

あの 自戒の日 から二年半あまり。やらなきゃやらなきゃと思いつつ忙しいからしょうがないよね?と流されまくりましたが、ようやく最初の目標を達成しました。初作品の メトロケ は、リアルタイム時刻表というか列車位置情報を表示するアプリになりました。…

GASでユーザー定義関数を使う

■Google Apps Script https://developers.google.com/apps-script/overview■Custom Functions in Google Sheets https://developers.google.com/apps-script/guides/sheets/functions■functionに複数の範囲を渡して処理する例 =myfunction(A1:B5,C1:E5) func…

自戒

東京メトロ オープンデータ活用コンテストに参加すべく夜なべしましたが、 結局応募まで至りませんでした。自戒を込めてやったところまで記しておく。 目標は「androidアプリでリアルタイム時刻表を作ること」でした。■Java http://www.oracle.com/technetwo…

東京メトロ オープンデータ活用コンテスト

東京メトロ オープンデータ活用コンテスト「エンドユーザーのアプリから直接APIを呼んではいけない」まじか。開発者登録した後に読める規約に書いてあるらしい。 これってつまり、ドメイン取って自前WEBサーバー立ててデータストア設計してWEBアプリ作って、…

ShiftJISの固定長ファイルを読み込む

VBScriptでShiftJISの固定長ファイルを読み込むテンプレ。 例によって cmd.vbs と wow64.vbs を同じフォルダへ入れておく。 サンプルでは text.txt を fixedlength.vbs にドロップすると、1レコードずつmsgboxします。test.txt 123ほげ1 ふが1 456ほげ2 …

bashでメニュー

bashでこんな感じのメニューを簡単に作る方法です。 ■■■メインメニュー■■■ 0: submenu001.sh メニュー1 1: submenu002.sh メニュー2 q: 終了 コマンドを選択してEnterキーで決定します>■作り方 メインメニューとサブメニューは同じフォルダに作成します メイ…

重いSQLを抽出する

SQLDeveloperの(たしか)CPU上位SQLを少し改造したもの。 実行1回あたり5秒以上かかっているSQLを洗い出します。 SELECT s.INST_ID, (s.cpu_time/1000000) "CPU_Seconds", s.disk_reads "Disk_Reads", s.buffer_gets "Buffer_Gets", s.executions "Executio…

SQL整形マクロ

SQL整形マクロ V1.04 http://hide.maruo.co.jp/lib/macro/sqlclean104.html希望通りの動作のものを見つけられなかったので、 自分でも改造できそうだった↑に、ちょっとだけ好みを追加してみました。■「シングルクォートで括られた」を文字列定数とする機能 …

delete_flagに0/1

データベースでマスタを削除するとき、割り当て済みのプライマリキーを残すために削除フラグを立てて論理削除する設計があります。このときフラグだから0/1で、というシステムを山ほど見ましたが、100%暗黙の型変換なしの正しいSQLを書けているところはあり…

小数点以下の桁数を指定して丸め

C#で小数点以下の桁数(digit)を指定して丸める関数です。標準関数は整数丸めなので、digitで10進数で桁シフトして、丸めて、元に戻す、としています。なお、マイナス値について、Floorはゼロに近い方への丸め、Ceilingはゼロから遠い方への丸め、に変更して…

DBとUIのデータ形式を変換する

データベースで'0'や'1'で保持している値を、ユーザーインターフェースではCheckBoxで表現したい、などというケースはよくあります。一般的にはDBEntityとUIEntityを別クラスで作ってDxo機能で変換するようですが、DBとUIが密接なEntity(画面表示用のSELECT…

Entityに値をコピーする

Entityクラスに、引数で渡されたEntityのプロパティ値をコピーするAssignメソッドを実装してみました。引数のEntityから自分のプロパティと同じ名前のプロパティを探して値をgetし、自分のプロパティにsetするだけのシンプルな機能です。 public void Assign…

S2Dao.NETのDaoファイルとEntityファイルを自動生成する

S2Dao.NET(Oracle用)のDaoファイルとEntityファイルを自動生成するスクリプトです。Dao用に作成したSQLファイルをスクリプトファイルにドロップして使います。SQLファイルを使わないDaoの場合は、空のtablename.sqlファイルを作ってください。スクリプトでや…

CSVファイルをsqlldrでロードする

WOWで動かすテンプレを使って、CSVファイルをsqlldrでロードするスクリプトを作ってみました。CSVファイルをsqlldr.vbsへドロップすると、CSVファイル名をテーブル名とみなしてORACLEデータベースの列情報からコントロールファイルを自動生成しsqlldrを起動…

WOWで動かすテンプレ

64bit環境で32bitCOMを使うためのテンプレ。64bit環境でWOWじゃなかったらWOWで自分自身を起動しなおします。template.vbsのinit、main、fini、に適宜処理を記述します。cmd.vbs、wow64.vbsはincludeするので同じフォルダに置いてください。template.vbs opt…

IDEで実行中か判定する

VB6

IDEで実行中か判定する関数を作ってみました。IsDebug関数は、IDEで実行中のときはTrueを、exeに固めたときはFalseを返します。直感的だけど関数が二つに分かれるのと、 Public Function IsDebug() As Boolean Dim b As Boolean Debug.Assert IsDebug_(b) Is…

SQLスクリプトまとめて適用バッチ

windowsクライアントで、SQLスクリプトを複数のORACLEデータベースにまとめて適用したいときに使うバッチファイルです。開発環境が何コもあると、同期をとろうと思って一環境ずつ手で適用しているとだいたい間違えます。そんなときはコレ一発で。送るに入れ…

CSVファイル入出力補助関数

VB6

CSVファイルを読み書きする補助関数として、一行分のCSV文字列をカンマで配列に分割するSplitCSV関数と、配列をCSV文字列に結合するJoinCSV関数を作りました。いちおう括り文字と前ゼロを考慮しています。 Option Explicit Const vbDoubleQuote$ = """" Cons…

ListBoxの項目を「上へ」「下へ」

UserFormにListBoxとSpinButtonをポトリペタして以下のコードを貼り付けます。 Option Explicit Private Sub UserForm_Initialize() ListBox1.MultiSelect = fmMultiSelectExtended Dim i As Long For i = 1 To 10 ListBox1.AddItem "hoge:" & i Next End Su…

VB6コンパイルスクリプト

まとめてコンパイルするときに使うスクリプト。他の言語でもコマンドラインをアレンジして使える。それとディレクトリサーチのテンプレ。 '----------------------------------------------------------------------- ' VB6コンパイルスクリプト '----------…

fpSpreadでVirtualModeを簡単に使う拡張クラス

VB6

スプレッドに表示するデータをデータベースから取得しているとします。セルには複雑めの書式を設定していて、3000件くらい読み込むと、うーーーーーんぱ、くらい待たされます。というときに、うぱっと開くためのfpSpread拡張クラスです。うぱっと開くにはVir…

rpxテキストを読み込んで動的にレイアウト

ActiveReportsを使ったVB6プロジェクトで、ユーザーごとに、ちょこっとだけレイアウトを変えたいときにお手軽に対応する方法ActiveReportは、rpxというXML形式のレイアウト定義を読み書きできるので、ちょこっと変えたレイアウト(dsrとdsx)からrpxをそれぞれ…

rpxファイルをDBへインポートする

ActiveReportsのrpxファイルを、データベースにインポートするVBScript UTF-8のリソースファイルをDBにインポートするときのテンプレ CREATE TABLE ACTIVEREPORTS ( REPORTID VARCHAR2(32) NOT NULL, LINE_NO NUMBER(5,0) NOT NULL, LINE VARCHAR2(2000) CON…

ReplaceTable

テーブルをリプレイスするスクリプトを生成するスクリプト var tablename varchar2(32) var yyyymmdd varchar2(8) var scriptdir varchar2(512) execute :tablename := '&1'; execute :yyyymmdd := '&2'; execute :scriptdir := '&3'; select statement from…