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

MacBook ProでiOSアプリ開発(Xcode&Swift3.1)

会社でMacBook Proを購入してみました。
インターフェイス、少ないですね。。
追加でUSBとType-Cの変換アダプターを注文しました。

早速、Xcode8.2.1をインストール

Swiftは初めてなので、とりあえずPlaygroundで遊んでみてます。

開発する中でまた何か有用なことがあれば書いていきたいと思います。

1,413 views

.htaccessでRewriteモジュールの設定

ApacheのRewriteモジュール(mod_rewrite.c)を使用してリダイレクト(転送)させることができます。
設定はApacheの設定ファイルに記述するか、.htaccessに記述します。

以下は例として、HTTP通信をHTTPS通信に変換しています。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>

基本機能について

RewriteEngine On|Off

Rewrite機能のON/OFFを切り替えます。

RewriteCond

リダイレクトする条件を定義します。

RewriteRule [正規表現パターン] [置換パターン] [オプション]

URLの書き換え、転送先を指定します。
複数のオプションを指定する場合はカンマ区切り


オプション

[L] Last(Last rule)
Rewrite機能によるURL変換を終了します
[R=301|302] レスポンスを返しクライアントをリダイレクトする
301:恒久的転送(リダイレクト)
302:一時的な転送(リダイレクト)
2,969 views

OpenSSL バージョンアップ TLS1.1以降に対応

OpenSSL0.9.8zgではSSL2、3、TLS1.0までしか対応していません。
TLS1.1、1.2に対応させるため、OpenSSL1.0.1uにバージョンアップしました。

まずはソースを公式サイトからダウンロードします。
https://www.openssl.org/source/old/1.0.1/

ソースを/usr/local/srcに保存します。
/usr/local/srcに移動して該当ファイルを解凍します。

cd /usr/local/src
tar -xvzf openssl-1.0.1u.tar.gz

解凍したディレクトリに移動し、コンパイルしてインストールします。

cd openssl-1.0.1u
./config
make
make install

デフォルトは「/usr/local/ssl」にインストールされます。

バージョンを確認してみましょう。

/usr/local/ssl/openssl version

バージョン情報が出力されますので、バージョンアップされていればOKです。

TLS1.1、1.2が使えるかどうか確認してみましょう。

/usr/local/ssl/openssl s_client -connect example.jp:443 -tls1_1 < dev/null
/usr/local/ssl/openssl s_client -connect example.jp:443 -tls1_2 < dev/null

通信可能かどうかが表示されます。
もしも使えない場合はunknown optionと言われます。
続きを読む…»

20,835 views

CSVエクスポートでのテキストデータのNull値について ACCESS

AccessでCSVをエクスポートする際、テキスト型のフィールドがNullだった場合、
「,””,」とならず「,,」となってしまいます。
※前後にフィールドがあるとしています。

他のソフトやプログラムで該当ファイルを使用するときに、ダブルクォーテーション「”」が
必要な場合があります。

そういう時はNz関数を使います。
Nz関数はNullを別の文字列に置き換えしてれくる関数です。

データがNullだった場合、「,””,」という結果にするためには、Nullを長さゼロの文字列に置き換えます。

Nz([フィールド名],"")

もちろん、指定したフィールドのデータがNullでない場合はそのデータを返します。

14,729 views

Exif情報を編集する

スマートフォンやデジカメで撮影した写真にはどの方向(縦か横)で撮影されたか、という情報も格納されています。
画像方向(Orientation)というデータです。

画像を扱うプログラムを組んでいて、画像方向を編集する必要があったのでメモしておきます。

using System.Drawing;

string imgFile = "読み込むファイル";
string saveFile = "保存先ファイル";

//画像を読み込む
Bitmap bmp = new Bitmap(imgFile);

for (int i = 0; i < bmp.PropertyItems.Length; i++)
{
    Imaging.PropertyItem pi = bmp.PropertyItems[i];

    //Exif情報から画像方向を取得
    if (pi.Id == 0x0112)
    {
        //値を変更。強制的に横向きとする
        pi.Value = System.Text.Encoding.ASCII.GetBytes("1\0");
        pi.Len = pi.Value.Length;

        //設定する
        bmp.SetPropertyItem(pi);

        //目的の値が見つかればループを抜ける
        break;
    }
}

//保存する
bmp.Save(saveFile, Imaging.ImageFormat.Jpeg);

//後処理
bmp.Dispose();

Exif情報のタグID等は以下URLを参照してください。
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html

6,401 views