住所
豊島区
出身
豊島区
ハンドル名
Neoさん
ブログタイトル
Corredor
ブログURL
http://neos21.hatenablog.com/
ブログ紹介文
ウェブ、プログラミングの勉強メモ。
自由文
ウェブ、プログラミングの勉強メモ。HTML・CSS・JavaScript・Java・Ruby・Bash など。
更新頻度(1年)

80回 / 636日(平均0.9回/週)

ブログ村参加:2017/04/26

Neoさんの人気ランキング

?
  • IN
  • OUT
  • PV
今日 01/21 01/20 01/19 01/18 01/17 01/16 全参加数
総合ランキング(IN) 54258 54777 54659 0 0 0 0 946385サイト
INポイント 0 0 10 0 0 0 0 10/週
OUTポイント 0 0 0 0 0 0 0 0/週
PVポイント 0 0 0 0 0 0 0 0/週
IT技術ブログ 152 151 149 0 0 0 0 7378サイト
IT技術メモ 28 27 29 0 0 0 0 960サイト
プログラム・プログラマー 21 21 21 0 0 0 0 743サイト
今日 01/21 01/20 01/19 01/18 01/17 01/16 全参加数
総合ランキング(OUT) 116508 0 0 0 0 0 0 946385サイト
INポイント 0 0 10 0 0 0 0 10/週
OUTポイント 0 0 0 0 0 0 0 0/週
PVポイント 0 0 0 0 0 0 0 0/週
IT技術ブログ 257 0 0 0 0 0 0 7378サイト
IT技術メモ 52 0 0 0 0 0 0 960サイト
プログラム・プログラマー 29 0 0 0 0 0 0 743サイト
今日 01/21 01/20 01/19 01/18 01/17 01/16 全参加数
総合ランキング(PV) 0 0 0 0 0 0 0 946385サイト
INポイント 0 0 10 0 0 0 0 10/週
OUTポイント 0 0 0 0 0 0 0 0/週
PVポイント 0 0 0 0 0 0 0 0/週
IT技術ブログ 0 0 0 0 0 0 0 7378サイト
IT技術メモ 0 0 0 0 0 0 0 960サイト
プログラム・プログラマー 0 0 0 0 0 0 0 743サイト

Neoさんのブログ記事

?
  • 素振り環境として package.json の用意と Git 管理を一気に始めるシェルスクリプト

    普段、npm パッケージを使った素振り環境を作るために、 mkdir して cd して、 npm init -y して package.json を調整して、 git init して .gitignore を作って、 git commit --allow-empty で初回コミットを打つ、 みたいなことをやっているのだが、コレをシェルスクリプトでコマンド化した。 #!/bin/bash # npm・Git を揃えた素振り環境を作る # 引数チェック if [ $# -ne 1 ]; then echo '引数でディレクトリ名を指定してください・処理を中止します' exit 1 fi DIREC…

  • MacOS 版 Excel VBA で Dir() 関数の代わり・ファイル一覧を取得する

    前回紹介したとおり、Mac 版の Excel VBA では、Dir() 関数がまともに動かない。特に Dir() 関数でファイルの一覧を取得するような処理が全く動かず、Windows 版とは違うコードを書かないといけない。 色々調べてみると、Excel VBA から AppleScript を実行できるので、AppleScript からシェルスクリプトを実行するのが良さそうだ。 試した環境は、MacOS High Sierra、Excel for Mac 2016 (v15.41)。 実際のコード 実行する AppleScript はこんな感じ。 do shell script "find -…

  • Mac の Excel VBA は色々と挙動が違うので、VBA で OS 判別する

    最近 Mac で Excel VBA を書く機会があるのだが、Windows の Excel との挙動の違いが多くてつらい。 Excel for Mac のバージョンごとに改善していっているようだが、Excel for Mac 2016 (v15.41) 時点だとこんな感じ。 Dir() 関数でファイル一覧をサクッと取得できない Dir("/path/to/directory", MacID("XLSX")) とか Dir("/path/to/directory", vbDirectory) みたいにしないと何も返ってこない。また、Dir() を複数回呼んでのループ (同ディレクトリの複数ファ…

  • MacOS の Finder でファイルをゴミ箱に入れず直接削除するには

    Windows エクスプローラだと、Shift + Delete でゴミ箱を経由せず直接ファイル削除ができるが、MacOS の Finder だとやり方はないものか。 調べたところ、Cmd + Option + Delete と押せば良いことが分かった。 参考:ゴミ箱を経由しないでファイルを削除する|MacFan ついつい Windows の癖で「Shift で動作が変わるのかなー」と思ってしまいがちなのだが、Mac の場合は Option キーで動作が変わることの方が多いな。ファイルの切り取り・貼り付けも、 Windows は Ctrl + X → Ctrl + V だが、 Mac だと C…

  • JavaScript の sort() 関数をお勉強 : 複数のプロパティを見てソートする方法

    JavaScript の Array.prototype.sort() を使って、連想配列の複数のプロパティを見てソートする方法を勉強した。 対象データ sort() 関数の比較ロジックは自作できる まずは製品名だけでソートする 複数の項目を見てソートするには? 以上 対象データ 対象となるデータは、以下のようなモノ。company が会社名で、name がその会社の商品名だと思って欲しい。 const guitars = [ { company: 'Gibson' , name: 'Les Paul' }, { company: 'Gibson' , name: 'Les Paul Cust…

  • Xcode で iOS アプリに関する警告が出ているので見てみる

    iPhone 向けのアプリを作っていて、Xcode v10.1 でアイコンを設定して、iPhone では上手く表示されていたものの、Xcode 上に以下の2つの警告が出ていた。 A 76x76@2x app icon is required for iPad apps targeting iOS 7.0 and later A 83.5x83.5@2x app icon is required for iPad apps targeting iOS 9.0 and later どうやら、iPad 向けのサイズのアイコンも設定しないと許してくれないみたい。 AppIcon のセットの中で、警告を…

  • PowerShell でファイルの作成日時・更新日時を任意の日時に変更する (指定ディレクトリ配下のファイルに一括適用する方法も)

    前回、MacOS において、setfile と touch コマンドを使ってファイル作成日時と更新日時を任意の日時に書き換える技を紹介した。 同様に、Windows でファイルの作成日時・更新日時を任意の日時に変更するには、PowerShell を使うのが楽。 基本的な使い方:1つのファイルの作成日時・更新日時を変更する 複数ファイルを一気に変更する 基本的な使い方:1つのファイルの作成日時・更新日時を変更する まずは PowerShell 上で、カレントディレクトリ配下にある単一ファイルを指定して、作成日時と更新日時を変更してみる。 # 作成日時を変更する > Set-ItemPropert…

  • カレントディレクトリ配下のファイルの作成日と更新日を指定の日時に一括変更する Mac 専用シェルスクリプト

    ニホンノエスイーの皆さん用。 カレントディレクトリ配下にあるファイルの、作成日時と更新日時を、それぞれ任意の日時に変更できるシェルスクリプトを作った。date コマンドのオプションの書式や、setfile コマンドを使用したりしていることから、Mac 専用の Bash スクリプトである。 #!/bin/bash # Change created / updated date to the files in the current working directory if [ "$(uname)" != "Darwin" ]; then echo 'This script is not supp…

  • Node.js で selenium-webdriver と chromedriver を使って Chrome ブラウザを自動操作してみる

    Angular に組み込まれている、Protractor という E2E テストツールを通じて、Selenium Webdriver を少し触ってきていた。今回はテストツールとしてではなく、ウェブスクレイピングを行うための手段として、Selenium Webdriver と、Chrome を操作するための ChromeDriver を利用してみようと思う。 selenium-webdriver と chromedriver のインストール ブラウザを起動して任意のページを表示するまで ヘッドレスモードにする ところで async・await って何 今回はココまで selenium-webdr…

  • 複数の Git ブランチを一括で削除するシェル関数

    以前からなんとかならないかなーと思っていた、複数のローカルブランチを一気に消すコマンドを作った。いつ使うかというと、主に feat/ で始まるローカルブランチを一気に消したい時とか。 ほとんど以下のコードを参考にした。 参考:shellutils/git-rmbranch at master · takutoarao/shellutils · GitHub # 複数の Git ブランチをまとめて削除する function gbds() { if [ -z "$1" ]; then echo 'ブランチ名を指定してください' return 1 fi local branch_name="$1";…

  • 久々に書いてみたら忘れていた Excel VBA のイディオム集

    久々に書いたら思い出せなくなっていた Excel VBA のイディオムをまとめておく。 配列の生成と push() 配列の .length を知る ある文字列が、指定の文字列を含んでいるかどうか ループの書き方 デバッグ出力したい 配列の生成と push() JavaScript でいうところの Array.prototype.push() がやりたい。 ' 配列は「変数名()」で宣言する Dim myArr() As String ' Index 0 で初期化しておく ReDim myArr(0) Dim ws As Variant For Each ws In Worksheets ' 何…

  • Neo's Normalize で指定するフォントを見直して v1.0.11 をリリースした

    少し前に、Chrome ブラウザで @font-face による游ゴシック Medium 指定が効かなくなっていたことに気付き、色々調査した記事を書いた。 neos21.hatenablog.com この調査を通じて、Neo's Normalize のフォント指定を見直したので、その内容を紹介する。 コレまでのフォント指定 英字はやはり英字のみのフォントが読みやすい Windows の游ゴシック指定はウェイト指定を諦めることにした ヒラギノはウェイト指定を止め、「ヒラギノ角ゴシック」を追加した Windows 向けのフォールバックはメイリオまで、Osaka と MS P ゴシックは省いた セリ…

  • 撮影した動画ファイルを iOS アプリ内に保存し、任意のタイミングでフォトライブラリに書き出す Swift コード

    以前、スーパースロー動画を撮るための Swift コードを紹介した。 neos21.hatenablog.com この時は AVCaptureSession#startRunning() までで、実際の動画の撮影については触れていなかった。そこで今回は、このコードを利用した動画撮影のコードを掲載しておく。 検証環境 まずはコード全量 コードの説明 録画開始時にファイル名と保存場所を指定している 録画停止用の関数は単に stopRecording() を呼ぶだけ 録画完了時に自動実行される fileOutput() では何もしない アプリ内に保存された動画ファイルをフォトライブラリに書き出す 以…

  • MacOS で設定する defaults コマンドをまとめてみた

    これまでどこかで適当に調べては適当に実行していた defaults コマンドだが、この度一つのシェルスクリプトにまとめてみたので、それを紹介する。 Dotfiles/MacOS.sh at master · Neos21/Dotfiles · GitHub 現時点での内容は以下のとおり。 #!/bin/bash # ================================================================================ # 【For Mac】MacOS.sh : Setup MacOS # ========================…

  • このファイルに変更を入れたのはいつ?誰?を知るための git log コマンド

    ファイル単位でコミット履歴を追いたい時に。 git log コマンドの後ろにファイルパスを書いてやれば、それだけでファイルやディレクトリ単位での絞り込みができる。 $ git log './src/index.html' -p オプションを渡すと、コードの差分も表示される。 $ git log -p './src/index.html' --oneline や --pretty との併用もできるので、次のように指定すればコミット履歴を手っ取り早く確認できる。 $ git log --date=short --pretty=format:"%C(Yellow)%h %C(Cyan)%cd %C(…

  • Columnify を使って Node.js スクリプトのコンソール出力をテーブルっぽく整形する

    Node.js スクリプトでコンソール出力を整形する際、最も手軽なのは console.table() だろう。 $ node -e "console.table([ { id: 1, name: 'testA' }, { id: 2, name: 'testB' } ]);" ┌─────────┬────┬─────────┐ │ (index) │ id │ name │ ├─────────┼────┼─────────┤ │ 0 │ 1 │ 'testA' │ │ 1 │ 2 │ 'testB' │ └─────────┴────┴─────────┘ (コンソールからコピペしただけ…

  • Xcode で Storyboard を使っていたら出てきた Auto Layout 警告の直し方

    Xcode で Storyboard を使っていたら、以下のような警告が出てきた。 Views without any layout constraints may clip their content or overlap other views. エラー文言でググったけどイマイチ分からない。でも何やらとりあえず Auto Layout、自動的に配置を整列した要素に問題がある予感らしい。しかし、作っていても特に問題を感じないんだよな…。 …と思っていたら、以下の文献を発見。 参考:macos - Silence "Views without any layout constraints ma…

  • MacOS Finder で開いているディレクトリにターミナル上で移動する Bash 関数

    MacOS のターミナルで、カレントディレクトリを Finder で開きたい時は、$ open . と叩けば良い。 その逆で、「Finder で開いているディレクトリに、ターミナル上で移動したい」時のコマンドを用意する。 Finder 上からそのディレクトリのターミナルを開く際は、ディレクトリを右クリックして「フォルダに新規ターミナルタブ」を選べばよいが、新規ターミナルタブも開くことなく、cd する感覚で遷移する。 function cdf() { local target=`osascript -e 'tell application "Finder" to if (count of Fin…

  • 複数行のテキストを CSS だけで省略表示する -webkit-line-clamp を試してみた

    Webkit 系 (Chrome や Safari) でのみしか使えない CSS プロパティだが、-webkit-line-clamp というプロパティを使うと、複数行に折り返されたテキストでも省略表示ができることが分かったので、使ってみた。 text-overflow: ellipsis は1行テキストにしか対応していない -webkit-line-clamp を使ってみる -webkit-line-clamp 未対応のブラウザ向けの対応 text-overflow: ellipsis は1行テキストにしか対応していない CSS だけで実現するテキストの省略表示というと、text-overf…

  • ウェブサイトに適用する游ゴシックフォントを見直しまくった最終解

    拙作のノーマライズ CSS ライブラリ、「Neo's Normalize」を見直していたところ、Windows の Chrome ブラウザで適用されている游ゴシックフォントがかすれていた。 「あれ?@font-face で游ゴシック Medium を指定してるのにな?」と思い、設定を見直したところ、コレが効かなくなっていた。 当時 Neo's Normalize を作る際、それなりに調査しまくった結果だったのだが、どうも仕様が変わっていたようなので、OS・ブラウザごとに挙動を見直すことにした。今回はその研究結果をまとめる。 游ゴシックフォントに関する基礎知識のおさらい Chrome で効かなく…

  • iOS アプリにバッジを付与する Swift コード

    iOS アプリにバッジを付与する。よくあるネタなのだが、iOS や Swift の進化により、ググっても情報の鮮度が様々で分かりづらかったので、本稿執筆時点でのやり方を紹介する。 検証環境 いきなりコード 参考文献 検証環境 macOS Mojave Xcode v10.1 Swift v4.2.1 iOS v12.0.1 いきなりコード こんな感じで実装する。 import UIKit import UserNotifications # コレをインポートする class ViewController: UIViewController { override func viewDidLoad…

  • iOS アプリのプロビジョニングプロファイルの有効期限をアプリ内で取得・表示する Swift コード

    無料の Apple Developers Program アカウントを使っている場合、iOS にインストールした開発用アプリの有効期限は7日間で切れてしまう。 neos21.hatenablog.com この有効期限までの残日数を、アプリ内で取得・表示させられないか調べてみた。 検証環境 macOS Mojave Xcode v10.1 Swift v4.2.1 参考:【Swift】Swiftのversionを確認しよう - Qiita … $ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolch…

  • npm のグローバルインストールに失敗したら

    macOS Mojave 環境にて。この前久々に npm パッケージをグローバルインストールしようとしたら、以下のようなエラーが出た。 $ npm install -g @neos21/neos21 npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules npm ERR! path /usr/local/lib/node_modules npm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall access npm ERR! Error: …

  • Node.js スクリプトをコマンドのように使えるようにする方法

    2019年、あけましておめでとうございます。今年も宜しくお願い致します。 今日は、Node.js で書いたちょっとしたスクリプトを、コマンドとして使えるようにする手順をまとめる。大きく2種類のやり方があるのでそれぞれ紹介する。 試した環境は macOS Mojave・Node.js v10.7.0・npm v6.1.0。 外部パッケージに依存せず単一の JS ファイルで済む場合 先にコード全量 PATH が通っているところにスクリプトファイルを置く Node.js スクリプトとして動作させるための Shebang を設定する スクリプトを書く ファイルに実行権を付与する 外部モジュールに依存す…

  • Windows GitBash のプロンプト表示が遅いのをなんとかしたかった

    Windows GitBash のプロンプト表示がやたらと遅い。何のコマンドも打たずに Enter を押しただけでも、何か表示がつっかえる。 何が原因かと思って調べてみたところ、どうも GitBash デフォルトのプロンプト内に設定されている __git_ps1 という関数が遅いようだ。 その証拠に、プロンプトを PS1='$ ' と簡素化すると、かなりサクサク動くようになった。 It looks like there problem lies in your bash prompt setting. Try setting PS1='$ ' so that whatever fancy pr…

  • Mac に Homebrew で tmux を入れてみた

    tmux という、1つのターミナルウィンドウ内に複数のターミナルを分割して配置できるツールを入れてみた。こういうのを「ターミナルマルチプレクサ」と呼ぶらしい。 インストールは Homebrew でサクッと。 $ brew install tmux で、ターミナル上で $ tmux と打つと tmux による仮想ターミナルが起動する。この状態で、以下のようなキー操作でターミナルウィンドウを分割したりできる。 キー 操作 Control + b → c 新しいウィンドウを作る Control + b → n 次のウィンドウに移動する Control + b → p 前のウィンドウに移動する Con…

  • iOS アプリの名前は動的に変えられないが、アイコンは動的に変えられる

    iOS アプリの、ホーム画面に表示されているアプリ名を動的に変更できないかな?と調べていた。通知に合わせて文言を変えたり、ホーム画面をメモ的に使えるようになるかな?とか考えて調べたのだが、どうもアプリ名はビルド後に動的に変更する術はないみたい。 参考:xcode - Can an iphone app change its home screen icon and name after installation? - Stack Overflow 参考:Dynamically set iOS Bundle Display Name in Xcode 4 on Build - Stack Ove…

  • 世間の font-family 設定を軽く調べた

    normalize.css にはバグフィックス以外の font-family 設定がない。フォントも「味付け」の一つと考え、「ノーマライズ」CSS としては何も適用していないのだろう。 しかし、現実的には、serif ではなく sans-serif 系のシステムデフォルトフォントを使わせるよう指定することがほとんどだ。拙作の @neos21/neos-normalize も、オレオレ設定でスタイルを当てているが、他のノーマライズ系の CSS ライブラリや、有名なウェブサイトはどのような設定にしているのか、調べてみた。 ライブラリ系 sanitize.css shoelace-css ウェブサイ…

  • シェルスクリプトに関する雑多な学習メモ

    一つひとつを記事にするほどでもない雑多な学習メモたち。 Shebang は #!/bin/bash にしよう 命名規則 シェルスクリプトの関数 関数の戻り値が欲しい時 ローカル変数を宣言するには local を付与して宣言する 関数の引数 他ファイルに書いた変数や関数を利用する .bashrc の肥大化問題 その他 Shebang は #!/bin/bash にしよう #!/bin/sh だと微妙に動きが異なることがある。Bash 特有の機能を使っていることも多いので #!/bin/bash と書く方が良い。 命名規則 関数、通常の変数、ファイル名はロウワー・スネークケース (lower_sn…

  • インストールなし・Web ブラウザだけでリモートデスクトップ接続するには TeamViewer Web Connector が良かった

    「Chrome リモートデスクトップ」は優秀で、Chrome ブラウザから拡張機能としてちょっとインストールするだけで、Windows も Mac も相互にリモートデスクトップが可能になるし、iPhone からのアクセスも容易だ。 しかし、接続される側はまだしも、接続しにいくクライアント側の端末には、「ちょっとソフトをインストールする」というのが難しい時もある。そこで、クライアント側はインストール作業が一切不要で、Web ブラウザさえあればリモートデスクトップができるようなツールがないか探してみた。 ThinVNC (Thinfinity Remote Desktop Server) + DD…