カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

CSVにダブルクォーテーションを簡単に付けるには

CSVファイルで各カラムがダブルクォーテーションで括られていないことがたまにあります。
そんな時、皆さんどうしていますか?
私はテキストエディタでカンマ「,」を「”,”」に置換し、行の先頭と末尾にダブルクォーテーションを付ける・・・ということをいちいちやっていました。
しかし、PowerShellのコマンドを使えば、一発で簡単にダブルクォーテーションを付けることが出来るようなのです。

コマンド例はこちら

Import-Csv -Path "C:\source.csv" -Encoding Default | Export-csv -Path "C:\destination.csv" -Encoding Default -NoTypeInformation

インポートしたCSVの内容をパイプでエクスポート側に渡す、という動作になります。

オプションについて
Encoding 既定値(Default)はutf8NoBOM
ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode,
UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
NoTypeInformation TYPE情報ヘッダーをエクスポートしない

変換元のCSV

ColumnA,ColumnB,ColumnC
1,Ipsum,Sed
2,Magna,Est
3,Clita,Stet

変換後はこのようになります。

"ColumnA","ColumnB","ColumnC"
"1","Ipsum","Sed"
"2","Magna","Est"
"3","Clita","Stet"

但し、数値のカラムに対してもダブルクォーテーションが付けられるので、そこは我慢するしかないようです。

3,417 views

Invoke-webRequestとcurlコマンドでHTTPリクエスト

Invoke-webRequestとcurlコマンドを使えばCUI(Commandline User Interface)にてHTTPリクエストを送信することができます。
ここでは基本的な使い方をご紹介します。

Windowsの場合

まずはWindowsの場合です。
PowerShellでInvoke-webRequestコマンドを使います。

このコマンドにはエイリアスが設定されており、curl iwr wgetでも使えます。
curlはあくまでエイリアスなので、Linux・Macでのcurlとは異なりますのでご注意ください。

GETリクエスト
Invoke-webRequest https://www.hoge.jp
Invoke-webRequest -Method GET https://www.hoge.jp

パラメータを付加したリクエスト

Invoke-webRequest https://www.hoge.jp?key=value&key=value
Invoke-webRequest -Method "GET" -Body @{key="value";key="value"} https://www.hoge.jp
POSTリクエスト
Invoke-webRequest -Method "POST" -Body 'key=value&key=value' https://www.hoge.jp
Invoke-webRequest -Method "POST" -Body @{key="value";key="value"} https://www.hoge.jp

続きを読む…»

6,203 views

Docker + Laravel9 開発環境構築

Dockerを使ってLaravel9の開発環境を構築してみたいと思います。
XAMPPやレンタルサーバーを使うよりお手軽に出来るので是非試してみてください。

OS等の環境は以下の通りです。

OS: Windows10
Docker Desktop: v4.14.1
Visual Studio Code: v1.74.0

Dockerで環境構築

予め必要なファイル等を準備します。
Laravelのプロジェクト名は「laravel-app」と仮定します。

docker/app/000-default.conf
<VirtualHost *:80>
       ServerAdmin webmaster@localhost
       DocumentRoot /var/www/html/laravel-app/public
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
       <Directory /var/www/html/laravel-app/public>
           AllowOverride All
       </Directory>
</VirtualHost>
docker/app/Dockerfile
# dockerイメージの選択
# 予めPHPとApacheがインストールされているイメージをDocker Hubからダウンロード
FROM php:8.0-apache

# 設定ファイルをdockerコンテナ内のPHP、Apacheに読み込ませる
# ADD:ローカルのファイルをDockerコンテナ内にコピーする
ADD php.ini /usr/local/etc/php/
ADD 000-default.conf /etc/apache2/sites-enabled/

# Composerのインストール
# RUN:コンテナ内でコマンド実行する
RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer

# Node.jsをインストール
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash -
RUN apt-get install -y nodejs

# ミドルウェアのインストール
RUN apt-get update \
&& apt-get install -y \
git \
zip \
unzip \
vim \
libpng-dev \
libpq-dev \
&& docker-php-ext-install pdo_mysql

# Laravelで必要になるmodRewriteを有効化する
RUN mv /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
RUN /bin/sh -c a2enmod rewrite

続きを読む…»

3,450 views

Docker環境構築初期の落とし穴 localhost/tutorial

Dockerで作成した環境で開発を始めようとしたときに少しハマってしまったので原因と解決法を書いておきたいと思います。
環境は次の通りです。

Windows10 Home
Docker Desktop v4.14.1

大抵の場合、Dockerをインストールして最初にやってみるコマンドは以下だと思います。

docker run -d -p 80:80 docker/getting-started

このコマンドを実行してコンテナが作成され、http://localhostにアクセスするとGetting Started画面が表示されます。
ここがポイントなのですが、http://localhostにアクセスするとhttp://localhost/tutorialにリダイレクトされます。
このリダイレクトが曲者で、キャッシュに残ってしまうのです。

Dockerの導入が終わったので、いざ開発を始めた際に、一通り環境構築が終わった後、http://localhostにアクセスして出来ているか確認しますが、キャッシュが残っていることが原因でhttp://localhost/tutorialにリダイレクトされてしまいます。
表示したいのはhttp://localhostなのに・・・。

Windowsのhostsファイルが原因なのかと思いましたがどうも違うよう。
結局、原因はブラウザのキャッシュでした。

キャッシュをクリアするとリダイレクトされなくなりました。

1,153 views

Microsoft Office 2021を入れてみた

Microsoft Office 2021をインストールしてみました。
これまでPC移行とか散々やってきたので、作業には慣れています。

で、またOutlookのデータを移行しないとな…と思っていたら…、
特に何もすることがなかった!
アカウント設定・仕分けルール・署名など、全てそのまま使うことができました。

なんということでしょう。
面倒だな、と思っていた作業が省けたのでうれしい限りです。

ただ、1つだけやらないといけなかったことがありました。
IMAPで設定しているアカウントの受信トレイが何も表示されない状態だったので、調べて設定を変更しました。

ちなみにアップグレードはMicrosoft Office 2010 Personal(古すぎ;)からMicrosoft Office Home & Business 2021です。

【設定方法】

  1. IMAPアカウントの設定を開く
  2. [フォルダー設定]の[ルートフォルダーのパス]にinboxと入力
  3. [次へ]をクリックして設定を完了

これでIMAPアカウントの受信トレイでメールが表示されるようになりました。

735 views