読者です 読者をやめる 読者になる 読者になる

不幸福のエンジニアリング

私は悲観的な人間だ、ということに数時間前に気づいた。 そこまでの所以は、長い人生語りがあるので省略するとして、何より、これまで志していたエンジニアリングがその価値観に基づいていることに気づいたのだ。 ネット越しに聞く良いエンジニアリングとは…

20170310雑記(DB2とOracleの比較)

次の現場でDB2からOracleへの乗り換えをしたいという話を聞いて、そういえばOracleはちょっと触ったけどDB2ってよく知らないなーとういことで、色々調べまわる。 Oracleとは Oracle社が提供するDBMS。 高い。1CPUあたり、5年で600万ぐらいのライセンス。 内…

20170310雑記(DB2とOracleの比較)

次の現場でDB2からOracleへの乗り換えをしたいという話を聞いて、そういえばOracleはちょっと触ったけどDB2ってよく知らないなーとういことで、色々調べまわる。 Oracleとは Oracle社が提供するDBMS。 高い。1CPUあたり、5年で600万ぐらいのライセンス。 内…

20170302雑記

inode Linuxの伝統的なファイルシステム ext2、ext3の仕組みで、ファイル情報のメタを「inode」と呼ぶ。 kazmax.zpp.jp 確認方法 ls -li stat <filename></filename>

diskfullのときの原因ドリリング

1日でつみあがったログファイル、ン十GB。しかもエラーログ。これシステムの脆弱性じゃないの?と思う一方、調査の仕方をメモ。 参考にしました。ありがとうございます qiita.com ディスクドライブ単位の使用状況を見る df -h -hは単位を適切に表示するオプ…

【BIND】zoneファイルの更新メモ(TTL変更例)

zoneファイルの更新でいくつかハマった。 二度とないようにメモっておく。 やったこと TTLの更新。変更前にわざと短くして配布しておき、本変更をすぐに世界のDNSキャッシュに反映させるあれ。 zoneファイルの置き場 zoneファイルの置き場について。 場所は…

Dosで標準入力からGrep

コマンド <cmd> | findstr /C:<pattern> 例 dir /B C:\Program | findstr /C:Program 参考 pf-j.sakura.ne.jp</pattern></cmd>

17/02/07雑記

ちょっと本格的にAngularを再開。 色々作りこんでいく中でいくつか悩みとアイディアが出たのでメモ。 RestAPIにするか否か 顧客管理のようなシステムを作っている。 顧客への「発送」業務があり、これは顧客によりあったりなかったりする。 データモデルがつ…

17/02/07雑記

ちょっと本格的にAngularを再開。 色々作りこんでいく中でいくつか悩みとアイディアが出たのでメモ。 RestAPIにするか否か 顧客管理のようなシステムを作っている。 顧客への「発送」業務があり、これは顧客によりあったりなかったりする。 データモデルがつ…

【JavaScript】ValidationAPIの標準エラーメッセージをフックして上書きする関数作った

GitHub github.com これで、Scriptトリガーの日本語英語切り替えが楽になる。 長さなどを文字列埋め込みできるようにメッセージをformatできるようにすればよかったけど、 Formatメソッド作らなきゃいけなくなるから削る。

【HTML】JavaScriptで検証結果のポップアップを呼び出す

ハマった。 デフォルトのValidationAPIはsubmitされないとポップアップしない? <form id="f"> <input type="text" name="firstname" id="firstname" required> <button type="submit">submit</button> </form> これをJavaScriptから let elForm = document.getElementById('f'); elForm.submit(); したら、検証を無視してページ遷移が発生。 で、それっぽいAPIがあるんだけど…

【Postgresql】トランザクション中、CURRENT_TIMESTAMPなどの値は固定

ハマった。 https://www.postgresql.jp/document/7.2/user/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT CURRENT_TIMESTAMP と、それに関連する関数はすべて現在のトランザクションが開始された時間を返すことを認識してください。とても重要なこと…

【Java】JsoupのWhitelistは使わないほうがいい

前任者が残したコードが土壇場になって牙を剝いた。 Jsoupとは Jsoupは、あいまいなHTMLでも確実に構文木にパースしてくれる高性能ライブラリ。 例えば<b>とだけ書いても、<html><head></head><body><b></b></body></html>まで補完してくれる。 あまつさえ、jQueryではないが、getElementByTagなどといったJava</b>…

2つのインタフェースと1つの共通インタフェースをめぐる失敗録

HTMLタグのホワイトリスト実装にはまって半日を無駄にしてしまった。ありがちな、汎用性を求めすぎた結果だった。 実装したかったこと テキストボックスに入力された文字列中の使用HTMLタグホワイトリストチェック パースは別途ライブラリがする 要求は以下 …

モダンなブラウザクライアントJavaScript開発マネージャjspm

遅れながらjspmに触った。 JavaScriptのパッケージマネージャ、ブラウザ未サポートの新鋭機能をES5にしてくれるようなトランスレータ、おまけにバンドルも勝手にしてくれるすごいやつだ。 System.jsとの併用をオススメしているが、ぶっちゃけるといらないぐ…

【Java】javacでcom.sun.xml.internalパッケージをコンパイルする

Javaファイルをコンパイルするにjavacコマンドをよく使うが、この中でデフォルトではcom.sun.xml.internalパッケージを無視する。 unageanu.hatenablog.com 上記ブログではclasspathに明示的にrt.jarを入れるとあるが、 Ant経由だとどうもだめみたいだ。。 …

【Docker】Volumeが消えない

Dockerを色々触ってる。 Volume関連で探し物をしていたら、たまたまこんなエントリを見つけた。 qiita.com Volumeをマウントしているコンテナを削除しても、Dockerの中で確保したVolumeのリソースかなんかは残るらしい。 併せて、削除用のスクリプトも掲載さ…

【bash】ls、grepの「引数が長すぎます」をawkで回避

黒魔術っぽくて敬遠していたawkをちょっと触ってみると、やっぱり黒魔術だった github.com # 基本1 標準出力を空白文字区切りで分割し、後のスクリプトっぽい部分で一つ目なら$1、二つ目なら$2と書く。 ls foo | awk '{print $1 $2}' # 基本2 改行の分だけ…

CEATEC 2016いってきた

日本なんでもIT展覧会 CEATEC 2016、いってきました。 今年のキーワードはズバリ「IoT」。 去年もIoTの前哨戦があり、各企業ができる限りの方向性を展示したのち1年あけての成果報告会といったところ。 エリアが2つに分かれていて、自分は技術出展のほうを…

実行ファイルがパスのどこにあるか探す

TypeScript 2.0.3をインストールしたのに新構文が有効にならない。 tsc -version Version 1.7.2 あれっ? whereコマンド Windowsならwhereコマンド、Linuxならwhereisコマンドを叩く。 where tsc e:\Users\yu\AppData\Roaming\npm\tsc e:\Users\yu\AppData\R…

【ExcelVBA】Application.Workbooks:Excelのインスタンスの参照

書くネタがないのでとりあえず割割り増しましで。 Application.Workbooks Workbook = 今開いてるExcelファイル1個。 全体を保持するコレクションがApplication.Workbooks。Applicationは省略できるので、単にWorkbooksとも書ける。 Function FindBook(ByRef…

【Ubuntu】サービス立ち上げ

Ubuntu、サービス上げ下げsystemdやんか。 servicedに慣れたおっさんに辛い。(なんかビミョーにタイプしにくいんだ。。) メモ サービスあげる systemctl start <サービス名> サービスを止める systemctl stop <サービス名> サービス再起動 systemctl resta…

【Linux】UbuntuでCUIオンリーに切り替える

Ubuntu 16.04 LTS入れてCUI環境作ろうとしたら、何か妙に引っかかったので検索結果めも。 起動時にCUIにする Linuxは起動時に読み込むrunlebelという設定値があって、 1~6の中のどれかを指定することでGUIとかCUIとかを切り替えたりする慣習あるんだけど、 …

【Linux】cpとmvのファイル存在時の挙動。

cp ファイル 宛先に同名のファイルが存在したとき 上書きされる。環境によっては無言。 せめてもの回避法として、コピー時には以下のようにする流派がいるらしい。 # cp srcfile destfileに相当。間違って上書きしても、destfileに追記した部分を消せば復元…

【AngluarJS1】$httpリクエスト先が返してきたステータスコードによるIHttpProcessのsuccess、error

angularjsで$httpサービスでリクエストを問い合わせた際、HTTPステータスコードが200系以外だと 返却されるPromiseにてsuccessではなくerrorが呼び出される。 検証コード status.php <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <meta charset="utf-8"> </meta></meta></head></html>

【Windowsバッチ・DOS】バッチファイルの環境変数スコープあれこれ

Windowsユーザーならみんなbatファイル好きだよね。 一度ははまるであろう環境変数のスコープについてあれこれをまとめる。 setコマンド set 一時環境変数名=値 環境変数を一時設定する。 実行したコマンドプロンプト内でのみ有効。 (他のプロセスからは見…

【Windowsバッチ・DOS】標準出力・リダイレクト回りまとめ

CUIツールを作ったので色々メモ。 標準出力をファイルにリダイレクト echo text > stdlog.txt 標準エラーをファイルにリダイレクト mkdir c:\ 2> errorlog.txt 標準出力と標準エラーをまとめてファイルにリダイレクト mkdir c:\ > log.txt 2>&1 コンソールに…

【Java】Tar、GZを読み込む

Linux標準の圧縮形式、tar.gz。業務で、Javaの小物を作ることになったのでメモ。 tar.gzの仕組み 2段階に圧縮している。 ファイル | (複数ファイルをTARで1つのバイナリに連結) ↓ TARファイル | (1ファイルをGZip圧縮) ↓ TAR.GZファイル Javaのライ…

REST APIの一般的なHTTP Status Code

www.restapitutorial.com より まとめると 200 (OK) 成功汎用。Select結果など 201 (Created) リソース作成など。 Updateのときもこれなんだろうか? 204 (No Content) リソース削除など。 400 (Bad Request) パラメータ不正、チェック不正など。 401 (Unaut…

【Java】VisualVMでJavaのプロファイリング

Javaには、「VisualVM」という非常に強力なGUIベースのプロファイラ(どのメソッドでCPUや時間などどれだけのリソースを食ったかを解析するツール)がある。 Home — Project Kenai シンプルだが非常にわかりやすい。 ローカルで起動してプロセスにアタッチす…

【Java】マニフェストファイルと実行可能JARファイル

ファイル名に「.jar」がついたJARファイルがJavaライブラリの一般的な(ていうか唯一の?)形式。 JARファイルには、自身についてのメタ情報などを記載したマニフェストファイル(META-INF/MANIFEST.MF)という仕組みがある。 (マニフェストファイル、改行し…

【AngularJS1】$http,$q,Promise回りメモ

$httpサービス $http | AngularJS 1.2 日本語リファレンス | js STUDIO 非同期なHTTPリクエストを提供してくれるサービス。 例えば、putでURL投げて結果を取得する例。 const url = 'http://api.hostname.com/manapi/user/add'; let data = { userid : useri…

Google App Scriptに今更ながら触った

Slackで、管理者がいちいち招待送るの面倒くさいなーと思い、 自己申請でなんとかならないか探していたら、Google App Scriptなやり方を書かれたブログ様を拝見。 qiita.com さわってみたけど、Google App、いいな。 現場だと、Excelに票作って宴会の参加・…

【gulp】TypeScript → JavaScript変換構成メモ

SPA(Single Page Application)っぽいの作ってる。 タスクランナーに gulp を使って、TypeScript → JavaScriptな構成を作った。 流れとしては TypeScriptでJavaScript(ES5)にコンパイル → browserifyでモジュール単位にまとめる → uglityで圧縮 でとってた…

【JavaScript】ES5環境でもResolveを使う(Polyfill)

まだまだ根強いIEのシェア。 www.netmarketshare.com IE11がサポートするJavaScriptの企画は、ECMAScript5 (ES5)まで。 やっとコールバック地獄を抜け出す手段Promiseが提供されたのに、現状使えない。 (クライアントにブラウザこれ使ってね、といっても…

ちょっと所信表明

本日、社内で定例会のように集まって飲んで集まったんだけど、改めてキャリアに危機感をもった。 このままでは、消耗するだけで成長できない。 そしてリターンもない。 会社は面倒見てくれないし、社内の仕事も回してくれない。 (あるにはあるが、マネジメ…

【負荷テストツール】JMeaterさわってみた

JMeter使ってみた。 以下を参考にさせていただいた。 JMeter | TECHSCORE(テックスコア) 自分でも軽くまとめてみる JMeterとは 非常に高機能な、GUIベースのクラサバ用負荷ツール。 HTTP関連の機能が充実している。(TCPやFTPなどもあるらしい) 使い道など …

【Postgersql】インデックス作成・削除

インデックスとは 参考 www.dbonline.jp DBの検索時には通常全データ探すけど、五十音順で並べたりしているカンペつくって探す範囲を超絞る仕組み Insert、Updateのたびに情報を作り変えるためコストあり。 DBによって全項目使わないと有効にならない(某MyS…

【負荷テストツール】JMeaterさわってみる(途中)

APサーバ(Tomcat)に負荷をかけつつ、テストすることになった。 全然知らないので 何がいいかな?と聞いたところ、JMeaterというものが良さげと回答があった Apache JMeter - Apache JMeter™ Java製のGUIツールだ。 Apacheのプロジェクト。 まだ触っただけ…

【MS-DOS】【コマンドプロンプト】パス文字列からファイル名だけを取得

なにこれ?ってなったのでメモ 参考: pgkiss.web.fc2.com ↑のは、バッチパラメータ(%1とか)やforループの一時変数?(%%iとか)でしか使えない? このやりかたでたとえばc:\work\test.txtから 拡張子除くファイル名だけを抽出(※.batファイルは%が2つ) …

【Java】JAXBとxmlnsとns連番バグ?

昨日リリースしたシステム、早速障害が発覚。 スリーストライクからの最後のチャンスを得てやっと品質向上終わって解放されると思ったのに。 といっても、今回は極めて運が悪い。 誰も悪くない。悪くないが、さて、上客にどう伝えるものか。 XML NameSpace X…

【ExcelVBA】新しいワークブックを追加する

Workbooks.Add メソッド (Excel) Dim newbook As Workbook Set newbook = Workbooks.Add ブックを新規作成したときと同じ挙動 シート3枚。(1枚にしたいときとかはコードで消す)

【ExcelVBA】クラスのつくり方と使い方

参考になった qiita.com クラス書いてみた Propertyクラスモジュール Dim m_properties As Object 'コンストラクタ Private Sub Class_Initialize() Set m_properties = CreateObject("Scripting.Dictionary") End Sub '-----------------------------------…

【Java】XmlReaderのDTD解決を高速化する小技

XmlReaderのDTD解決が遅い XMLファイルの「オシ」ともいわれているのがDTD。このファイルひとつで、XMLがフォーマット通りであるか検証できるというものだ。”うまく利用すれば”検証ロジックの簡略がができる。 このDTD検証、XMLファイルに記述しているURLを…

【ExcelVBA】フォルダ選択ダイアログ

Shell.Application.BrowseForFolder() Dim Shell As Object, pathInfo As String Set Shell = CreateObject("Shell.Application") Set pathInfo = Shell.BrowseForFolder(&O0, "フォルダを選択", &H1 + &H10, "C:\") If Not pathInfo Is Nothing Then MsgBox…

【ExcelVBA】整数丸め関数

少数 → 整数へのキャストに伴う丸め Dim i As Integer i = 9 / 10 MsgBox (i) 結果 1 _人人_> 1 < ̄Y ̄ 少数部分が0.0 <= x <=0.5 の範囲なら 0 小数部分が0.5 < x の範囲なら 1。 ギリギリ四捨五入じゃない。なんだこの仕様。 関数まとめ Excelの関数を…

【ExcelVBA】配列の全件ループ(foreach相当)

汎用的な書き方 Dim ary(3) as Long ary(1) = 1 ary(2) = 2 ary(3) = 3 Dim i As Integer For i = LBound(ary) to UBound(ary) '... Next 静的配列ならば添え字が「1はじまり」~「配列個数」 ReDimした動的配列ならば添え字が「0はじまり」~「配列個数-1」…

【ExcelVBA】Shift-JIS以外でテキストファイルを書き出す

Fu○k Shift-JIS Excelは基本的にShift-JIS(正確には拡張したWindows-31J)しか使わない。テキストファイルを読み書きしようにも、他の文字コードが使えないのだ。 特にLinuxに置くパラメータやプロパティ、XMLでさえも書き出せない。 テストデータ自動作成ツ…

【ExcelVBA】ファイルパス関連のあれこれ(1)

唯一新FileSystemObject VBAデフォルトの関数や機能があるけど、結構汚くて使いたくない。 処理性能重視のクリティカルでない処理でなければ、FileSystemObjectを使うのが身のため。 (参考にさせていただきました) Office TANAKA - Excel VBA FileSystemOb…

【ExcelVBA】高速化メモ

移行手順書オールインワンでVBAスクリプトを作りこむになった。 難で今更VBA・・・と愚痴りたいが、まあExcelは相当優秀なツールだし Win32APIも使えて、あくまで.NETの先がけだけどフォームも作れる。 しばらくのエントリはこいつとの付き合いになろう。 ま…