「ひとかじりのりんご」

へっぽこエンジニアの備忘録。こちらは旧ブログ。新しい方はこちら→「http://sbkro.github.io」

MacのEclipse4.3からSQL Server 2012に接続させてみた。

あまり需要がないと思うけど、諸事情があり設定することになったので、メモ書きを残しておきます。結論から言うと、SQL ServerJDBCドライバがタイプ4に対応しているので、Macからでも問題なく通信できました。

実行環境

SQL Serverのインストール

Microsoftのホームページからインストーラがダウンロード出来ます。

今回は、SQL Server Management Studio(GUIの管理ツール)も使いたいので、「JPN\x64\SQLEXPRADV_x64_JPN.exe」を選択します。僕の環境では、Internet ExplorerからDLしないと、「File is corrupt」というエラーが表示されました。ご注意ください。

ダウンロードした「SQLEXPRADV_x64_JPN.exe」をダブルクリックして、「SQL Serverインストールセンター」を起動します。インストールは、「インストール」→「SQL Serverの新規スタンドアロンインストールを実行するか、既存のインストールに機能を追加します。」を選びます。

ここから先の詳しいインストール方法は、こちらを参照してください。

リモート接続の有効化

SQL Serverは、デフォルトではTCP/IP経由でのリモート接続は出来ないため設定を行います。

1. スタートメニューより、「SQL Server 構成マネージャー」を選択します。
f:id:sbkro:20131228231205j:plain

2. 「SQL Serverネットーワークの構成」→「<データベースの名前>のプロトコル」→「TCP/IP」→「有効化」を選択します。

3.「SQL Serverネットーワークの構成」→「<データベースの名前>のプロトコル」→「TCP/IP」→「プロパティ」を選択します。

4. IPAllのTCPポートを任意の値(1433を推奨)を入力し、「OK」ボタンを選択します。

5. 「SQL Serverのサービス」→「SQL Server(<データベースの名前>)」→「再起動」を選択します。

これで、TCP/IP接続が可能となります。

ファイヤウォールの設定

続いて、上記設定したSQL Serverのポートを開放し、ホストOSからの通信ができるように設定します。

1. 「コントロールパネル」→「Windows ファイアウォール」→「詳細設定」を選択します。

2. 以下の「受信の規制」を追加します。

規制の種類 ポート
プロトコルおよびポート TCP/上記で設定したポート番号(1433)
操作 接続を許可する
プロファイル ドメイン/プライベート/パブリック

Eclipseのインストール

インストールは、このサイトを参考にしてみてください。

JDBCドライバ

SQL ServerJDBCドライバについては、Micosoftから提供されています。

ダウンロードしたZIPファイルを展開後、「sqljdbc4.jar」が存在することを確認します。このファイルがJDBCドライバとなります。このファイルを任意の場所へ移動し、プロジェクトのビルドパスに登録するようにしてください。

通信テスト

Javaプログラムから、通信できるか確認します。以下の様なプログラムを作成し、通信できるか確認してみます。

package jp.sbkro.sqlserver;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class TestConnect {
  public static void main(String[] args) {
    System.out.println("Connection Start.");

    try {
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
      Connection connection = DriverManager.getConnection(
        "jdbc:sqlserver://<ゲストOSのIPアドレス>:1433;databaseName=<接続データベース名>;", 
        "<ユーザ名>", "<パスワード>");
      System.out.println("Connection Success.");
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    }

    System.out.println("Connection End.");
    }
}

コンソールから以下のような表示がされると、通信成功です。

Connection Start.
Connection Success.
Connection End.

MacBook Proから異音がしたのでファンを交換してみた。

2週間前から、MacBook Proの左側ファンからカタカタと異音が鳴る症状が発生しました。あまりにも鬱陶しいのでApple Storeへ修理に出そうと思ったのですが、本体内部をかなりカスタマイズ(16GB Memory, 1TB SSD, Blu-ray Drive..etc)しているので断念。自分で交換することにしました。その時の作業内容をメモしておきます。

注意

ここからの内容は、全て自己責任で行なってください。万が一トラブルが発生しても、sbkroは一切責任を負いません。また、分解作業を行うため、Appleの保証が受けられなくなる可能性があります。

対象機器

  • MacBook Pro Early 2011 15inch
    • Retinaディスプレイモデル以前のUnibody MacBook Proなら、今回の方法で対処出来ると思います。

必要なもの

  • 精密プラスドライバー
  • T6トルクスドライバー(僕は下の商品を使っています。)

部品購入

今回は、「ゲームポート」さんからインターネット購入しました。
色々調べてみましたが、ファンの販売はここしか見つかりませんでした。他に情報があればご紹介ください。

なお、MacBook Proのファンは左右別部品となります。見分け方ですが、ディスプレイを開いた際の向きとなります。

部品交換

裏蓋を取り外す

まずは、裏蓋を取り外しロジックボードにアクセス出来るようにします。電源をOFFにした後Macbook Proを裏返します。その後、精密プラスドライバーを使ってネジを取り外します。ネジは全部で10箇所。赤丸7箇所は短いネジ、青丸3箇所は長いネジとなるので気をつけて取り外してください。

裏蓋と本体の黒い部分の間に指を入れ、上に引っ張るとパカっと外れます。

裏蓋を外すとこのように内部にアクセス出来るようになります。

ファンを取り外す

赤丸3箇所をT6トルクスドライバーを使って取り外します。ネジを外すとそのままファンが取り外せます。

ロジックボードと接続されているコネクタは、コネクタの根本を持って上側に引っ張ると抜けます。ファン側を持って引っ張るとケーブルが抜けると思うので気をつけてください。

このような感じでファンを取り外せました。(ファンのシールは、僕の方で一度剥がしていますのでご注意を...^^;)
なお、交換作業は、これらの作業の逆を行うだけでオッケーです。


今回は、MacBook Proのファンを自力交換してみました。交換後にPRAM・SMCのリセットは行っていませんが、特に問題無く動作しています。ファンの動作が可怪しいけど、修理代が高すぎるという方は自力交換を検討してみてはどうでしょうか?

RubyでCSVを解析する方法

実装方法を調べたのでメモ書き。
Rubyの標準にCSVライブラリがあるので、それを使うのが一番簡単。

元データ

001, name1, address01, sample01@sample.com
002, name2, address02, sample02@sample.com
003, name3, address03, sample03@sample.com

Rubyスクリプト

require "csv"

csv = CSV.read("./sample.csv")

csv.each { |row|
	p row
}

実行結果

$ ruby sample_csv.rb 
["001", " name1", " address01", " sample01@sample.com"]
["002", " name2", " address02", " sample02@sample.com"]
["003", " name3", " address03", " sample03@sample.com"]

ほんの数行で、2次元配列を取得できて感動した。

動作環境

  • ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]

Bootstrap3を使ってホームページをリニューアルしてみた。

2度目になりますが、Github Pagesにアップしている自分のホームページをリニューアルしました。前回は、Bootstrap2のカスタマイズテーマを使っていたのですが、今回はBootstrap3を利用して一から作り直しましたので、作業内容をメモ書きしておきます。

Bootstrap

まずはBootstrap。

 Twitter Bootstrapは、米ツイッターが開発・提供しているフロントエンドツールです。オープンソースで公開されており、誰でも無償でダウンロードしてすぐに使えます。

 Twitter Bootstrapは、Webデザインができないエンジニアでも、見た目をすばやく整えられるツールとして位置づけられています。最近では、管理画面などの非公開部分でTwitter Bootstrapを適用しているWebシステムを多く見かけますし、新規Webサービスのリーンスタートアップに使われるケースも多くなってきました。

ASCII.jp:いまさら聞けない「Twitter Bootstrap」とは? (1/2)|Webサービス開発者のためのTwitter Bootstrap入門

実行ファイル及びソースコードのダウンロードは公式サイトから。

Bootstrapの使い方・リファンレスは、公式サイトが一番参考になりました。

公式サイトにはテンプレートが用意されているので、デザインする手間が省けます。今回は、「Jombotron」と「Carousel」を採用しました。

アイコン


フォントデータ「Elusive-Icons」を利用しました。

ダウンロードは、Githubプロジェクトから

css」「fonts」フォルダを任意の場所に格納して、HTMLに以下の記述を行います。

<head>
<link href="./font/elusive-icons/css/elusive-webfont.css" rel="stylesheet">
</head>
....
<body>
<i class="el-icon-file-edit-alt"></i>
</body>

Metroライクなタイル


Bootstrap2のカスタマイズテーマ「Greenmind」から拝借。色・アイコンサイズの調整と最新のElusive-Iconsが使えるよう様に修正をかけています。

修正後のファイルはこちら

HEADタグにて上記CSSを取り込んだ後、以下のような記述を行います。

<div class="tiles row-fluid">
  <div class="col-md-4">
    <a class="tile accent" href="https://github.com/sbkro">
        <div class="icon"><i class="el-icon-github"></i></div>
        <div class="data">
            <h4>Github</h4>
            <p>View on my projects</p>
         </div>
    </a>
  </div>
</div>

Webフォント

今回はフォントの見栄えを良くするために、Webフォントを利用してみました。

WebフォントはWWW上からフォントを表示する技術である。HTMLにおけるフォントのダウンロードはCSS3.0 fonts moduleにて内包された。
http://ja.wikipedia.org/wiki/Web%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88

フォントは、Google Web Fontsから。英字フォントしか無いですが、豊富かつプレビュー出来るところがGoodです。

どのような組み合わせがよいのか分からなかったので、下記サイトを参考にしました。今回はBoldは「Ubuntu」、Normalは「Helvetica」を採用しました。

Webフォントを利用するためには、HTMLとCSSに以下の記述を行います。

<head>
  <link href="http://fonts.googleapis.com/css?family=Ubuntu:bold" rel="stylesheet" type="text/css">
</head>
h1,
...
.h6 {
  font-family: 'Ubuntu', "Helvetica Neue", Helvetica, Arial, sans-serif;
  ... 
}

Favicon

無いよりあった方が良いので作りました。今回は、下記Webサービスを使いました。実際の見え方を確認しながら編集出来る点が非常に良かったです。

Faviconを表示するには、HTMLに以下の記述を行います。

<head>
  <link rel="shortcut icon" href="./img/favicon.ico" type="image/vnd.microsoft.icon" />
  <link rel="icon" href="./img/favicon.ico" type="image/vnd.microsoft.icon" />
</head>

AppStoreのバナー

iOSアプリのダウンロードリンクを作成するために、Appleから提供されている「Link Maker」を利用しました。

検索後に表示されるテキストをそのままHTMLファイルに貼り付けるだけでオッケーです。
f:id:sbkro:20131202235347p:plain

このようなバナーが作られます。全てCSSで実現されているところがGoodです。

Github Pagesの独自ドメインを削除する。

今までは独自ドメインを設定していましたがデフォルトに戻しました。戻す方法は、Github Pagesのリポジトリ直下の「CNAME」を削除するだけです。ただし、Github Pages及びDNSに設定が反映されるまで時間がかかることに注意すること。今回の場合、2時間程かかりました。

ソースコード

Github Pagesなのでソースは見れる状態になっています。こちらから参照してください。

まとめ

今回は、素のBootstrapからホームページを作ってみました。休日の2日間しか使っていないのですが、納得のいく綺麗なWebサイトが作れたかと思います。短期間で質の良いWebページが作れるところがBootstrapの良い点かと思いました。(逆に言うと、しっかり考えないとBootstrapを使っているとバレてしまう。)また、「レシポンシブルデザイン」にも対応しているので、スマートフォンやタブレットのブラウザの解像度に合わせてレイアウトが変わる点も良かったです。できれば業務にも使ってみたいなぁ...

OSX MavericksでHomebrewをクリアインストールしてみた。

OSX10.9出ましたね。皆さんはもうインストールしましたか?
Lion → Mountain Lionとアップグレードインストールを行ってきたので、今回はクリアインストールすることにしました。なので、Homebrewの環境も一から作り直しです。

MavericksでのHomebrewのインストールについて、以下のサイトで説明が書かれていました。
英語で書かれているので、ポイントを抑えてメモを残しておきます。

コマンドラインツールをインストールしよう。

HomebrewのインストールにはXcodeのコマンドラインツールが必要になります。
まずはXcode5をインストールしましょう。Xcode4と併用している人は、別途設定が必要になるみたいです。詳細は、上記のサイトを見てください。

homebrewをインストールしよう。

ターミナルから以下のコマンドを実行してください。

$ ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)

途中パスワードの入力を促されるので、ログインパスワードを入力しEnterキーを押してください。
「Installation successful!」というメッセージが出ればインストール成功です。

==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press ENTER to continue or any other key to abort
==> /usr/bin/sudo /bin/mkdir /usr/local
Password:
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local
==> Downloading and installing Homebrew...
remote: Finding bitmap roots...
remote: Counting objects: 134680, done.
remote: Compressing objects: 100% (44558/44558), done.
remote: Total 134680 (delta 92997), reused 130594 (delta 89088)
Receiving objects: 100% (134680/134680), 32.15 MiB | 195.00 KiB/s, done.
Resolving deltas: 100% (92997/92997), done.
From https://github.com/mxcl/homebrew
 * [new branch]      master     -> origin/master
HEAD is now at ce72980 Use curl to download list of Apache mirrors
==> Installation successful!
You should run `brew doctor' *before* you install anything.
Now type: brew help

正しくhomebrewをインストールできたか確認します。

$ brew doctor

このようなメッセージが出ればインストール完了です。

Your system is ready to brew.

試しにコマンドをインストールしよう。

試しにnkfを入れてみます。

$ brew install nkf
==> Downloading http://dl.sourceforge.jp/nkf/53171/nkf-2.1.2.tar.gz
Already downloaded: /Library/Caches/Homebrew/nkf-2.1.2.tar.gz
==> Patching
patching file Makefile
==> make
==> make install
 /usr/local/Cellar/nkf/2.1.2: 4 files, 248K, built in 2 seconds

ちゃんと動きました。

homebrewの使い方については、以下のサイトが参考になると思います。