Corredor

ウェブ、プログラミングの勉強メモ。

Oracle Java Cloud Service (JCS) を PSM CLI で操作してみる

Oracle Java Cloud Service (JCS) という PaaS を使ってみた。サーバの台数を指定するだけで、クラスタリングされた WebLogic Server が立ち上がり、あとはアプリをデプロイするだけというサービスだ。 Oracle Cloud の「PaaS」は、Oracle Cloud Infrastruct…

シェルスクリプトの Lint ツール「shellcheck」を使ってみた

シェルプログラミング実用テクニック (Software Design plusシリーズ) [ 上田隆一 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > OS > Linuxショップ: 楽天ブックス価格: 3,278円 日頃、Bash で簡単なスクリプトを書くことがある。何もインストール…

Git For Windows SDK に expect コマンドが入っていなかったので pacman でインストールする

パスワードを使って SSH 接続する時に、expect コマンドを使うと、入力を自動化できたりする。 neos21.hatenablog.com このシェルスクリプトを作ったのは MacOS だったので、Windows でも同じことをしたくなった時に、GitBash に expect コマンドが入ってい…

GitHub Actions を触ってみた

GitHub 上で CI/CD を実現できるコンテナ・パイプライン機能である GitHub Actions を使ってみた。 お試ししたリポジトリは以下。 github.com まずはテキトーに動かしてみる Secret : クレデンシャル情報を渡してみる 結構使えるやんけ! 構文の勉強 他に何…

SSH Config の管理を捗らせる Include と、ホストを一覧表示するワンライナー

~/.ssh/config (SSH Config) というファイルに、SSH 接続情報を記載しておける。当然、コマンドをイチイチ打つより便利なので多用しているのだが、最近そろそろ登録ホスト数が増えてきて、1ファイルに書いておくのが大変になってきた。 そこで調べてみると、…

GitBash を起動するバッチファイル

以前作ったバッチファイルと機能的にはモロ被りだが、Git For Windows SDK を起動したかったので作り直した。 neos21.hatenablog.com gitbash.bat @Echo Off Rem GitBash を起動する Start C:\git-sdk-64\git-bash.exe このバッチファイルを PATH が通ってい…

PowerShell をより短い文字数で起動する

コマンドプロンプトや、エクスプローラのアドレスバーなどから PowerShell を起動する時、powershell と入力するのは文字数が多くてタイプが面倒くさい。コマンドプロンプトのように、cmd と3文字くらいにしてみたい。 ということで、以下のようなバッチファ…

Windows コマンドプロンプトのカラースキームを変更する

Docker Toolbox に同梱の _Docker Quickstart Terminal というターミナルを使い始めたのだが、このターミナルは「Windows コマンドプロンプト」上に GitBash を表示していて、カラースキームが通常の GitBash と若干異なる。全体的に文字が薄暗いのだ。 neos…

PowerShell の GetDetailsOf を使ってファイルの詳細プロパティを取得する

久々に PowerShell を書いてみた。 「メディアの作成日時」というファイルプロパティを取得したい 先にコードを載せておく 詳細プロパティを拾うには GetDetailsOf を使う 一括リネームするスクリプトを書いてみる カレントディレクトリを取得する 指定ディ…

踏み台サーバを2台経由して SSH ログイン・ポートフォワーディングする

通常、最もシンプルな構成で別のサーバに SSH 接続する際は、 ローカルマシン 目的のサーバ という登場人物で、ローカルマシンから $ ssh -i 【ローカルマシンにある秘密鍵のパス】 【目的のサーバのユーザ名】@【目的のサーバのパブリック IP】 と叩けば SS…

awk を使って出力のアラインメントを揃える

Node.js スクリプトを書く際は、console.table() とか、columnify という npm パッケージとかを使うと、出力するデータをイイカンジに整形できる。 neos21.hatenablog.com 今回は Bash スクリプトの中で、イイカンジに整形したくて、やり方を調べた。 参考:…

Vue.js を Vue CLI で始めてみる・React や Angular との比較も少し

create-react-app で少しだけ React を触ったあと、ガッツリ Angular 人間になっていたので、今回は Vue.js にも手を出してみることにした。 Angular・React・Vue の比較色々 Angular 寄りな感想 Next.js とか Nuxt.js とかって何? その他 どうやって Vue …

Windows10 Home に Docker Toolbox を使って Docker をインストールするまでの戦いの記録

Windows10 Home は Hyper-V が使えないため、通常の Docker for Windows はインストールできない。Docker for Windows が対応しているのは Windows10 Pro なのだ。 そんな残念な Windows10 Home のために用意されているのが、VirtualBox を組み合わせて Dock…

VSCode で Spring Boot アプリケーションの開発を始めてみる

僕の Java 経験というと、長らく Struts1 を業務で使わされてきていて、Struts2 や Spring などはコードをチラ見してデバッグしたりすることはあったものの、イチから作ってみたことがなかった。 そこで今回、Spring ベースのアプリケーションを簡単に構築で…

改めて Windows Subsystem For Linux (WSL) を使ってみる

2017年4月、当時は「Bash on Ubuntu on Windows」という名前だったが、Windows 上で Linux を動かす方法を検証した。 neos21.hatenablog.com あれから2年、まずサービス名称が変わり、今では「Windows Subsystem For Linux (WSL)」と呼ばれている。当時は In…

Oracle Object Storage REST API に PUT する時はリクエストヘッダを一部省略できた

以前、Oracle Object Storage の REST API を操作する Node.js スクリプトについて、公式のサンプルコードを日本語圏向けに修正した。 neos21.hatenablog.com 日本語を含むテキストファイルの末尾が欠落する問題は、上の記事のとおり Content-Length の指定…

iPhone 11 Pro Max・iOS 13 の写真の「調整を自動適用」がよく分からない

超広角レンズが搭載された iPhone 11 以降で、「設定」アプリ → 「カメラ」と移動し、「構図 (COMPOSITION)」欄を見ると、 写真のフレームの外側を含めて撮影 Photos Capture Outside the Frame ビデオのフレームの外側を含めて撮影 Videos Capture Outside …

m3u8-to-mp4 : .m3u8 ファイルから .mp4 ファイルを保存するバッチを作った

以前、.m3u8 ファイルから .mp4 ファイルを保存する方法というモノを紹介した。.m3u8 ファイルというのは、細切れにされた .mp4 ファイルのプレイリスト情報を持っているファイルだ。このファイルを元に、ffmpeg を使って .mp4 ファイルを結合・生成するコー…

JavaScript のネストした連想配列に安全にアクセスするヘルパー関数を考える

JavaScript の仕様上よくやりがちな、TypeError: Cannot read property 'HOGE' of undefined` エラーに関して。 問題は何か ネストの深いプロパティにも安全にアクセスしたい 値が取れなかった時にどう動くべき? 対象のプロパティが存在しなければ undefine…

Node.js の Child Process 研究 : fork の使い方、子プロセスの切り方を検証

Node.js の組み込みモジュール child_process にある、fork() 関数。require() で他の JS ファイルを読み込むのと違って、指定の JS ファイルを別の node プロセスで起動できるのがこの関数の特徴だ。 今回は、この関数の特徴、使いどころ、子プロセスの終了…

Oracle Cloud が Always Free (永久無料枠) を発表したのでアカウント登録してみたが、無料枠が少ない

仕事で Oracle Cloud を使っていたが、最近 Always Free、いわゆる永久無料枠が発表され、VM や Autonomous DB を2台ずつ立てられるようになった。無料枠の GCE や Heroku Postgres を併用したりせずとも、Oracle Cloud だけで Web AP サーバと DB サーバを…

Node.js の Child Process 研究 : fork・exec・execFile・spawn の違いをサンプルコードとともに検証

Node.js の組み込みモジュール、child_process。基本的には、実行中の node プロセスとは別のプロセスを生成する関数が揃っているモジュールだが、今回はこのモジュールの中の似たような関数を比較し、理解を深めていこうと思う。 child_process.exec() chil…

iPhone 11 Pro Max 向け iOS アプリでホームバーを常に非表示にする

iPhoneX 以降はホームボタンがなくなり、代わりに画面下部にホームバー Home Indicator と呼ばれるバーが表示されるようになった。 コレを普段非表示にするには、ViewController.swift に以下のようなコードを入れれば良い。 override func prefersHomeIndic…

Google AdSense に ads.txt の警告が出たので対応してみた

ある日、Google AdSense の管理画面に以下のような渓谷が出るようになった。 要注意 – ads.txt ファイルが含まれていないサイトがあります。収益に重大な影響が出ないよう、この問題を今すぐ修正してください。 ロボット検索エンジンのために robots.txt と…

Xcode v10.3 にアップデートしたらビルドに失敗するようになったが macOS の再起動で解消した

環境は以下のとおり。 macOS Mojave v10.14.5 Xcode v10.3 Xcode v10.3 にアップデートしたら、プロジェクトで以下のようなエラーが出るようになった。 /Users/PATH/TO/PROJECT/Base.lproj/LaunchScreen.storyboard: Failed to find or create execution con…

例外が発生しても異常終了しない log4js のロガーを作る

Node.js でロギングする際は log4js をよく使っているのだが、以前、ロギング処理自体に問題があってエラーを起こしてしまった。 そのコードは以下のようなコードだった。 let result = null; try { // API をコールしてデータを取得するテイ result = await…

Instagram のページから投稿 URL を一括取得するブックマークレットを作った

Instagram の検索結果や「保存済み一覧」などのページを Web ブラウザで開いている時に、そのページにある投稿ページへのリンクを一括取得するブックマークレットを作った。収集した URL はクリップボードにコピーする。 javascript:(d=>{e=d.createElement(…

Instagram に投稿された画像・動画をダウンロードする CLI ツール「igsv」を作った

Twitter から画像・動画をダウンロードする @neos21/twsv という npm パッケージを作ったが、それの Instagram 版を作った。その名も igsv。「InstaGram SaVer」の略のつもり。 先に作ったツールの紹介 以降ツールを作るまでの苦労話 以上 先に作ったツール…

iPhone 11 Pro Max のカメラ機能の細かい仕様・Windows に取込・Google Photo に同期する時の注意点などなど

iPhone 11 Pro Max のカメラアプリで楽しんでいる。コレまでにない新しい機能も多くて楽しいのだが、Windows PC に取り込む時に注意点が必要だったり、Google Photo に同期する時に気になったことがあったので、色々と調べてみた。 iPhone 11 Pro Max のカメ…

iPhone 11 に搭載された超広角レンズを使って AVFoundation で撮影する方法

環境情報 Xcode v11.0 (11A420a) iPhone 11 Pro Max : iOS 13.0 Swift 4 プロジェクト 実装方法 ベースとなる AVFoundation のコードは以下のプロジェクトなどを参照。 github.com 以下は動画撮影の例だが、コレまで以下のようにカメラを起動していたところ…