【Oracle】DBMS_CRYPTOパッケージを用いてデータを暗号化する

TL;DR 前提 DBMS_CRYPTOパッケージ 公式ドキュメント 利用の前提条件 利用例 使い方例(暗号化) 使い方例(復号化) 関数インデックス 暗号化キーの隠匿化 SOURCEを秘匿化しながらストアドファンクションを定義 セキュリティ的な評価 TDEとの比較 TL;DR Ora…

WindowsPC同士で有線LAN1本直結でリモートデスクトップ接続する

クロスケーブルを買って接続 ストレートケーブルとクロスケーブルを見分ける方法 | バッファロー 通常のLANケーブル(ストレートケーブル)に対して、 端子のピンの並びが端と端同士で鏡のように左右対称に なっているLANケーブルのこと。 PC同士の接続に使…

初学者がUMLだけやっても意味がないのでは?

身も蓋もない言い方 設計は沼であり、大事な仕事・作業・人間生活にかかることであればちゃんと武装して臨むべき。 UMLは可視化ツール クラスを中心としたソースコードを書けば、対応するUMLは半ば機械的に生成できる。 UMLは地図であって、極地的な地形であ…

【ExcelVBA】VBAはクラス指向より手続き型でFATに作りたい

前置き VBAでもクラスは作成できる。 qiita.com しかし、フォルダや階層による小分けができない。 例えば設定ファイルの保持やパースのために作ったConfigクラス、特定ファイルの書き出しのために作ったExternalXXXCSVFileクラスやExternalYYYCSVFile、内部…

【Excel VBA】ファイルの絶対パスを取得する

カレントディレクトリ Sub 使いないやつ() Debug.Print CreateObject("Scripting.FileSystemObject").GetAbsolutePathName("./") Debug.Print CurDir End Sub どっちも、デフォルトだと%UsersProfile%\Documents(マイドキュメント)を指す。 Excelのワーク…

【Excel VBA】エラー処理(例外処理)をちゃんと書く

概要 VBAでOn Errorを書くと、どこでエラーになっているのかマジでわからなくなる。 付属のデバッガ以外の例外機構/エラーレポーティングが貧弱であるため、全てを手で実装しなければならない。 ある程度の規模のアプリケーションで実践できたので、共有。 …

メモ:システムエンジニアの評価指標

HIGH OUTPUT MANAGEMENTを読み、今の自分がどのような尺度でシステムエンジニアを評価できるかを試し書き。 結論、やや古めのWebアプリケーションエンジニア・アーキテクトに関する評価表になった。 何か本を読むなり手を動かすなりで知識を取り入れて更新し…

SpringMVC + JSP の環境構築とサンプル実装

前置き この記事は、ローカルPCに開発環境構築をすること、サンプルプログラムを実装することを焦点にあてた記事です。 実際にアプリケーション開発しサーバーで稼働させるには、セキュリティ観点や開発をスケールさせるための設計のために いくつか留意すべ…

JMeterの各値を外部ファイル参照にするTips

直近JMeterを利用して性能測定したが、外部設定を参照する機能が乏しく、結局ほとんど手書きになってしまった。 外部パラメータファイル化に関して知見ができたので、Tipsで残す。 外部ファイルのデータを読み出す CSV Data Set Config を使う 外部CSVを読み…

Yamlでレスポンスを定義できるHTTPモックツール、yamoc

HTTPサーバーを模擬的に起動し、HTTP通信するソフトウェアのテストを補助するスタンドアロンのツールを作成した。 (動作イメージ) ファイルパスとレスポンス定義が書かれたyamlを読み込み、一致した条件に対して固定のレスポンスを返す。 port: 8888 paths…

ソフトウェア開発において高品質評価をうけるには

例え話 あるシステム刷新のためのプロジェクトで、新しいプログラミング言語やフレームワークを採用するにあたり、開発ガイドラインを作ろうという話になった。 日ごろからアーキテクチャに関心を持っていた担当者は意気込み、膨大なプラクティスを実際の実…

【Docker】PHP5.1.6 の環境を Xampp 1.5.4a で再現する

雑記 2020年現在、10年以上前から続いているレンタルサーバーは未だにPHP5.1.6だったりするし、CMSが依存していることもあり案件になりえることに驚いている。 (ITやWebをただの告知ツールと認識しているのであれば、10年などまったく代謝の動機に至らない…

その実装は新しいルールを持ち込むかもしれない

最近の仕事で、色々もやもやしてきたので書き留める。 誰も何も考えていないようなルール パートナー稼業でのSEという仕事柄、旧来からのシステムに触れる案件がいくつもあり、 たいがいの保守的な現場でいつ立てたかわからないお触書のようなルールをたくさ…

【Amazon Redshift】分散スタイルの効果実証ログ

Amazon Redshift の分散スタイルのチューニング結果を手元で試したログ。 結論 分散スタイル設定の主目的は、ネットワークトラフィック抑制。 BIツールから投げられるような、取得する総データ量が軽微なクエリに対して、レスポンスの改善は期待できない。 …

【Amazon Redshift】列圧縮エンコーディングのディスクサイズ比較

AmazonRedshiftには「列圧縮エンコーディング」というチューニング用のパラメータがあり、 テーブル列ごとに適切なものを指定することでディスク保存サイズを低減できる。 読み込み対象あたりのディスクIO削減効果は、列圧縮エンコーディングの圧縮率が高い…

【Vue】Vue+vuecli+Vuex+Vuetify+TypeScript+ClassComponent+Golang+ginでもろもろやったときの参照文献

プライベートで、タイトル通りの技術を使ってS3をアプリから登録して簡単に閲覧できるビュワーを作成した。 GitHub - pakuyuya/s3-web-browser 最近のWeb技術は独自のスキームが進んでいて追っかけていなかった身としてはなかなか踏み出せなかったが、 手を…

【Amazon Redshift】CREATE VIEW文をCOMMENT文付きで自動生成するSQL

AWS Redshift utilsにビューのDDLを自動生成するSQLが公開されているが、 COMMENT文も欲しかったので過去に自作したものを公開。 ただ、SQL文に改行やインデントがはいらず、なんか微妙な感じ。 WITH v_generate_view_ddl AS ( SELECT derived_table4.schema…

【Ruby】メモリに余裕があるはずなのにCannot allocate memory で落ちたらFork()を疑う

事象 Amazon Linux上 RubyVM起動で、メモリ使用率が単体50%のプロセスを実行中、急遽「Cannot allocate memory」のエラーログが出力されて落ちる 追加調査してわかった事象 過去、バッチ実行中、一瞬(1分弱?)だけRubyのプロセスがそれまで使用していたメ…

【AWS Redshift】導入前に知っておくべきこと

AWS Redshiftを導入する前に知っておくべき、AWS Redshift の特性、長所、他所を開発・運用してきた中で要所っぽいところをいくつかTips的にまとめた。 字量が非常に多くて申し訳ないが、参考になれば。 RDBに比べて有用なケース/苦手なケース 下記のケース…

docker-compose+fluentdでバッチ処理をいい感じにログ収集しつつな構成サンプル

眠いのでもう必要なことだけをまとめる。 この記事について Docker-Composeを使った簡易なバッチシステムのテンプレート構築。 今回のサンプルは以下の構成。 1つのLinuxマシンに、Docker-composeを利用してPostgresql と fluentdを立てて、同ホストにて doc…

【AWS Glue】事前調査

AWS Glue とは サーバーレス(オンデマンド実行・実行時間課金)なETL向けサービス 実態は、フルマネージドなPyhton/ApacheSparkの仮想実行環境。 AWS手製のライブラリ/ランタイムがAWS上のリソースの取得やクエリにめっちゃくちゃ強く(例:S3のデータをロ…

【AWSAthena】事前調査

概要 AWS Athenaに関する事前調査まとめ Amazon Athenaとは S3に配置したデータを直接クエリするAWSのサービス。 巷ではフルマネージドHIVEとかいわれている。 S3 に置いたファイルを直接検索。1TB読み取りにより$5。ファイルが圧縮されていると更に低減 SQL…

【AWSRedshift】ソートキーまとめ

AWS Redshiftの「ソートキー」の概要、チューニングの勘所、デメリットを解説。 ソートキーとは何か AWS Redshift特有のテーブルへの設定項目。標準SQLにはない。 CREATE TABLE accesslog ( createat timestamp ENCODE raw, srcip varchar(16) ENCODE raw, u…

【Talend】MetaServletAPIでTACにジョブをコマンドベースで登録するシェル

※2019/05/30 更新 ETLツール Talendを用いてジョブ実行基盤を運用しているが、 WebのGUIを用いたジョブ登録がめちゃくちゃリスキー。 Nexusを用いれば解放されるらしいが、もろもろの制約で導入できずにいる。 幸いにも、Talend v7.1.1 の時点ではMetaServle…

プログラマはソースコード分割の神になれるか?

身内が回してきたツイートを見て一言「若いな」と返してしまった。 クソコード動画「共通化の罠」 https://twitter.com/MinoDriven/status/1127539251761909760 軽く後悔しながら悶々としていたら、 コード分割についてある程度まとまりつつあったので、つい…

「詳細設計書」なんて言葉はなくなればいい

煽りタイトルがついているが別に「ソースコードの内容を一語一句Excelに日本語化してでIf文ごとにブレークダウンしたりするドキュメント」をdisる記事ではない。 隣の火事 隣のプロジェクトでちょっとした炎上があったのを見たのがきっかけで、日々ドキュメ…

【Redshift】クエリのボトルネックがどこにあるか判断する

AWS RedshiftはパワフルなDBだが、いかんせんクエリ特性に対するパフォーマンスの影響がRDBと違い、RDB育ちのエンジニアにとってはチューニングに四苦八苦しがち。 クエリのどこが遅いかを、堅実に測定する方法を一例として紹介する。 まずはクエリ実行して…

Redshiftの記事を整理・削除します

Redshiftのパフォチュの記事を色々書くも、とっちらかって全然まとまっていないので整理にかかる。 手始めに、いくつか低クオリティな記事を削除。 これは残しておく https://blog.hatena.ne.jp/packpak/packpak.hatenablog.com/edit?entry=1739134597163035…

【MySQL】CentOS7.5にMySQL5.7 Community Edition を rpmパッケージで yum localinstalする

矛盾塊のようなタイトルだけどこれマジモンの要件なんだよ。 ※下記の記事を参考にさせていただきました。 https://enomotodev.hatenablog.com/entry/2016/09/01/225200 CentOS 7 に MySQL 5.7 を yum インストールして初期設定までやってみた https://weblab…

【VBA】ReDim した変数を LBound(ary) したら負ける

VBAってクソだなエントリー。 ReDim ary(0) VBAは可変長コレクションオブジェクトをサポートする代わりに、 一度確保した領域を再度拡張する ReDim が用意されている。 Dim ary() As String ReDim ary(10) このとき、ReDimで確保されるインデックスは「0~10…