スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Chromebook] Asus Chromebook C300MA に ubuntu を入れてみた(忘備録)

昨年1月に購入したChromebookにubuntu(Linux)が入るとの事で試しにやってみました。
以下、暫くしてやり方を忘れた場合の忘備録。

①ノーマルモードからデベロッパーモードへの移行と、croutonでのubuntuインストール
以下のページが大変参考になりました。
http://chromesoku.com/ubuntu-on-chromebook/

レスキューモード「Esc + reload(F3) + 電源」 で起動後、「Ctrl + d」→「Enter」(初期化されるので注意)。
10分程待ってデベロッパーモードで起動し、通常どおりgoogleにサインイン後、wifiセットアップ。
その後、crouton をダウンロードし、crosh(ctrl + alt + t)で以下を入力。

crosh> shell
chronos@localhost / $ sudo sh ~/Downloads/crouton -r trusty -t gnome-desktop

デベロッパーモード移行後はchromeの自動更新はされなくなるので、
自主的に適宜行う必要がある。完全自己責任ですな。うん。

ちな、自分はどーもubuntu標準のunityの見た目が好きじゃないので、gnomeにしてみました。
でも昔使ってたCentOS的な画面を期待してたら全然違ってたヨ( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \

あと注意点として、インスコ中にChrome画面がスリープしないよう、
Chrome Web StoreでKeep Awakeなる機能拡張を入手しておくのをオヌヌメします。
(ubuntuのインスコだけで2〜3時間かかるのと、スリープによりインスコが途中で止まる為)

②ubuntuのデュアルブートと画面切替
1. 電源入れて「OSの確認機能はオフになっています」画面で「Ctrl + d」または放置で起動。
  ※この画面でスペース→エンターを押すと、初期化後ノーマルモードに移行されるので注意。
2. 通常通りGoogleアカウントでログインし、Chromeブラウザで「Ctrl + Alt + t」でcroshを起動。
3. crosh画面で以下のように入力するとubuntuが起動。

crosh> shell
chronos@localhost / $ sudo startgnome

画面の切り替え方法
ubuntu => chromeos は、「Ctrl + Alt + Shift + ←」
chromeos => ubuntu は、「Ctrl + Alt + Shift + →」

③ubuntuの日本語対応
以下のページが大変参考になりました。
http://chrome.hatenablog.jp/entry/2015/05/07/232732

geditとvimのインスコは省略。vimは必要に応じて後から入れるかも。
インプットメソッド(IBus)は人気のあるMozcじゃなくAnthyにしてみた。
キー配列がハードの表記と若干合ってないけど、とりあえず日本語入力できるからいーや。

と、ここまで時間かけてインスコが一通り終わった訳ですがー、
早速ubuntu使ってみて「あー。。。やっぱChrome(OS)の方がサックサクやわぁ(´・ω・`)」と。
まぁデュアルブートだし、そこは仕方が無いとして。

でも最近Chromebookを使ってて一番困った事が、
USB-RS232シリアル9ピンケーブルを差してChromebook上でCiscoルータのコンソール使いたいとき、
ケーブルによってはドライバが無いと認識したりされなかったりする点。
(例えば電気店で3500円くらいで買ったElecomのケーブルは、WindowsでもChromebookでもドライバ無しで使えるのに、
Amazonで300円くらいで買ったやつはWindows機でもドライバ探してきて入れないと使えない、とかとか)

この場合、Chromebookを使ってるとWindowsみたいにドライバをインスコするのが不可能(?)なので詰んでしまうが、
ubuntuだったら何とかなるんじゃないかと期待してみたりしてみる(・ω・)


その後、ubuntu上でいろいろ purge や remove してたら、重要なシステムファイルがクラッシュしたのか、
再起動後に startgnome とやっても起動しなくなった。
(不要なlibreofficeやwacom系を消しただけのはずなのに。。。orz)

chronos@localhost / $ sudo enter-chroot -u root -n trusty sudo apt-get update
chronos@localhost / $ sudo enter-chroot -u root -n trusty sudo apt-get autoremove

とか、いろいろ試すもどうもダメくさい。。。
こうなると最終的には

chronos@localhost / $ sudo delete-chroot trusty

で折角インスコしたubuntuを削除して、また一から再インスコしないといけない('A`)ウヘァ
が、色々やってみた結果、

chronos@localhost / $ sudo sh ~/Downloads/crouton -n trusty -u
chronos@localhost / $ sudo startgnome

Entering /mnt/stateful_partition/crouton/chroots/trusty...
A chroot setup script still exists inside the chroot.
The chroot may not be fully set up.
Would you like to finish the setup? [Y/n/d] Y

で、なにやら長々と再インスコ→壁紙や日本語化の設定はそのままに、
削除したアプリが諸々復活した状態でubuntuが起動したorz
でもこれってdelete-chrootして一からやるのとあんま変わんなくね?(汗)


別談ですが、chromebookのデベロッパーモード移行前に、
この手の作業によくある「バックアップの作成」というのを実行しておいたのですが、
移行後にいろいろやらかして、結果OSをぶっ壊してしまい、
「この時の為にバックアップとっといたもんね〜フフーン」
とレスキューモードで復旧しようとした所、何度やってもエラーで復旧できませんでしたorz

「え、どーすんのこれ(´・ω・`)文鎮?」と若干途方に暮れつつ、Google先生に泣きついた所、
Chrome Web アプリの「Chromebook リカバリ ユーティリティ」なるもので、
別PCのWindows機からリカバリメディアが作成できる事を知りました。

ただ、注意点としてWindowsでは「Chromebook リカバリ ユーティリティ」を管理者として実行しないと、
いくらリカバリメディアを作成しようとしても失敗する点。

でもって一番解せないのがリカバリメディアの作成には成功しても、
実際にリカバリしてみるまでは有効なメディアかどうかの判定ができない点。

当初はバックアップの作成用に古いtranscend製の4GBのUSBメモリを使用していたのですが、
それだと何度バックアップを作成しても復旧できず、結局は最近買ったElecomの32GBのmicroSDで
最初復旧エラー→再度作りなおしたメディアでやっと復旧ができたという。。。

結果、リカバリメディアは作成できても、検証してみない事には何ともなー。。。な結果でした。
Chromebook以外にPC持ってる人はぶっちゃけバックアップは要らないです。必要になったら作ればよろし。
スポンサーサイト

基本情報技術者試験の過去問で。。。

そーいやうっかり4月の情報処理技術者試験の受験申し込み忘れてたヨ★
ってのに今更ながら気づきました(;´Д`)
2年くらい前までは毎年2回、必ず申し込みしてたってのに、どうもここんとこ怠惰気味orz
秋期こそは忘れずに申し込みたいです(後でGoogleカレンダーに登録しとこう。。。)

アテクシが一番最初に受けた情報処理技術者試験は初級シスアドだったのですが、
当時は今の仕事とは全く無関係な業種に就いていおり、解らない事が多々あったものの、
元々興味のある分野だったので、勉強するのも楽しく一発合格(情報処理技術者の中でも一番簡単だったしネ)
続けて一つ上の基本情報技術者もいってみようか~♪(・ω・)と思い立ったものの、
基本情報の過去問見て「。。。全くわからん(滝汗)」
ってくらい、例えると初級シスアドが草原なら基本情報は氷山くらいな落差が(;´Д`)
(ちなみに旧試験は今よりも遥かに鬼でした。多分今の応用情報をちょっと易しくした位の難易度だと思う)
それでも新試験制度に変わる2年位前には急に難易度下がってきてた気がス。

内容は難しかったものの、試験問題の中には秀逸な問題も多く、
アテクシの場合、PG未経験で今の会社に入社し、「足りない経験は知識でカバー」だったもんで、
今の仕事と全く関係無い内容でも、試験に落ちても、勉強した事が無駄にはならなかったっす。

って事で記憶に残る旧基本情報の過去(難)問を思い出したので、ちょっと思い出しがてらやってみようかなと。
(何時の問題か忘れたので、誰か知ってたら教えてください(;´Д`))
確か7セグメントのデジタル数字に表示する数字を2進数のビット列にして、
そのビット列からどのセグメントを点灯させるかを論理式で表す問題ですた。

例えば、以下のような7セグメントのデジタル数字があるとして、
digital_number1.png

この各セグメントを点灯させる論理式を求めるのですが、
digital_number2.png

aのセグメントを点灯するかどうかを求める論理式は以下のような感じ。
各数値を2進数4桁に変換→各ビットを論理積した後に、点灯する数値のみ全て論理和する。

(WXYZ) + (WX・Y・Z) + (WX・Y・Z) + (W・X・Y・Z) + (W・X・Y・Z) + (W・X・Y・Z) + (W・XYZ) + (W・XY・Z)

で、上記の式にドモルガンとか吸収とか法則使いまくって、結果が多分こうなる(ハズ)

W + Y + (X + Z)・(X + Z)

aセグメントを点灯させるかどうかを判断するには、
表示させたい数値を2進数4桁に変換し、W桁目またはY桁目のビットが1の場合か、
またはX桁目とZ桁目が排他的論理和で0になる時だけ、
aセグメントを点灯させれば良いと(・ω・)

もっと簡単な式にするなら、aセグメントは1と4の時に消灯するので、
1と4が点灯する(=1と4以外が消灯する)場合の反対を求めれば良い。
つまり、

(WXY・Z) + (W・X・YZ)

WY・((X・Z) + (X・Z))
で、反転して

W + Y + (X + Z)・(X + Z)

確かこの問題、午後1の中の1問だった気がする。。。午後の気だるさに加えて、この鬼加減ww
この問題だと4桁のビットを扱うので難解なんですが、2桁だともっと解りやすいんでないかと。
digital_number3.png

これだとaのセグメントを点灯するかどうかを求める論理式は以下のような感じ。

(XY) + (X・Y) + (X・Y)

(XY) + X または Y + (X・Y)

(X + X)・(Y + X) または (Y + X)・(Y + Y)

Y + X

でもってもっと簡単に求めたければ、aセグメントが1の時にだけ消灯するので、
1だけが点灯する(=0と2と3が消灯する)場合の反対を求めれば良い。

X・Y
で、反転して

X + Y

こういう知識って今の仕事でも滅多に使わないし、知らなくても多分支障無いんだけどネ(;´Д`)
でもまぁ知ってるとちょっとだけ世の中の仕組み(の一部)が解ったような気になるのかも?

[VBA] SqlServerにADO接続

久々にやってみたので忘備録的に。。。


Sub ADOConnect()

Dim CN As ADODB.Connection
Dim recordSet As ADODB.recordSet
Dim outPutSheet As Worksheet
Dim row As Long
Dim col As Long

Set con = New ADODB.Connection
Set recordSet = New ADODB.recordSet

'IPから直接
Set CN = New ADODB.Connection
CN.Provider = "SQLOLEDB"
CN.ConnectionString = "Data Source=192.168.x.x;Initial Catalog=DB_NAME;User ID=sa;Password=xxxx"
CN.Open

'ODBCドライバ(システムDSN)
Set CN = New ADODB.Connection
CN.ConnectionString = "Data Source=SysDsnName;" & "User ID=sa;" & "Password=xxxx"
CN.Open

'ODBCドライバ(ファイルDSN)
con.ConnectionString = "FILEDSN=" & ThisWorkbook.Path & "\DnsFile.dsn;User ID=sa;Password=xxxx"
con.Open
recordSet.Open "select * from table1", con, adOpenForwardOnly, adLockReadOnly, -1

Set outPutSheet = ThisWorkbook.Sheets("Sheet1")
outPutSheet.Cells.Clear

'COLUMN
For col = 0 To recordSet.Fields.Count - 1
outPutSheet.Cells(1, col + 1).Value = recordSet.Fields(col).Name
Next col

row = 2

'ROW
While (Not recordSet.EOF) And row < 10000
For col = 0 To recordSet.Fields.Count - 1
outPutSheet.Cells(row, col + 1).Value = recordSet.Fields(col).Value
Next col

recordSet.MoveNext
row = row + 1
Wend

'終了処理
recordSet.Close
con.Close

MsgBox "出力が終了しました"

End Sub

Google Code Project Hostingでソース管理

時代はクラウド。ってコトで。

Google Code Project Hostingを使って、ソースコードを管理する方法です。
まぁVisualSourceSafe程強力ではないのですが(ン十万の製品と比べちゃねぇ(;´Д`))、
Googleの鯖にリポジトリを配置できるので、ネト環境とか諸々が整ったPCさえあれば
どこからでもソースコードの管理(取得や更新、バージョン管理等)をする事ができます。

ってコトでとりあえずやり方を。

まず、Google Code Project Hostingのページで自分のプロジェクトを新規作成します。
※Googleアカウントが必要です。

ちなみにプロジェクト名は半角英数小文字のみ使用できます。
作成したプロジェクトはネト上の誰からも参照できるようになるので、
既に登録されているプロジェクト名は使えません。
ちなみに僕は「morado」で作りました(早いもの勝ちなので取れたのが意外(;´Д`))

続いてTortoiseSVNをダウンロード&インスコします(XPの場合)。

・TortoiseSVN本体
 TortoiseSVN-1.6.12.20536-win32-svn-1.6.15.msi
・日本語化パック
 LanguagePack_1.6.12.20536-win32-ja.msi

その後、PCのどこでも良いので空のフォルダを作成し、
右クリックで[SVNチェックアウト]を選択。

リポジトリのURLには
https://[作成したプロジェクト名].googlecode.com/svn/trunk/
と入力します。
(僕は「https://morado.googlecode.com/svn/trunk/」となります)

先程作成した空のフォルダに適当なファイルを作ります。
そのファイルを右クリックし、[TortoiseSVN]-[追加]
その後、もう一度ファイルを右クリックし[SVNコミット]を選択します。

認証用のパスワードはGoogleCode専用で、ウェブから確認できます。
http://code.google.com/p/[作成したプロジェクト名]/source/checkout
gcph-06.png

https://[作成したプロジェクト名].googlecode.com/svn/trunk/
にブラウザからアクセスすると、コミットしたファイルを参照する事ができます。
gcph-07.png

PC上のファイルを修正し、SVNチェックアウトする度にリビジョン(履歴のバージョン)がインクリメントされます。
ファイルを右クリックし、[TortoiseSVN]-[ログを表示]
過去のリビジョンとの差分(変更箇所)を比較したりもできます。
gcph-08.png

VSSまでとはいかなくても、タダも同然でソースコードの管理がクラウド上で出来るので大変便利です。
ただし、保存したファイルや画像等は誰からも見れるようになっているので、
機密情報の保存は避けたほうが良いですし、著作権の問題もあるので十分注意が必要です。


※追記
このGoogle Code Project HostingをEclipseで作成したプロジェクトの管理に
使えないかと思ってググったらちゃんと方法がありました(・ω・)キラッ★

Eclipseの[ヘルプ]-[新規ソフトウェアのインストール]で
http://subclipse.tigris.org/update_1.6.x/
と入力。出てきた3つの項目全てにチェック⇒インスコ。
パースペクティブに「SVN リポジトリー・エクスプローラー」を追加。

詳細は以下に大変秀逸な記事があるので参考にして頂ければと。
http://komugi.net/archives/2010/11/14202432.php


※更に追記

。。。。すいません。。。記事内の画像一部(てか大部分)間違って捨てちゃいましたorz

共有フォルダ(SMB)の接続情報の追加/削除

SMBのフォルダにアクセスして以下のようなダイアログが出る事がありますが、
このような権限情報は一度ログインが成功してしまうと、
マシンを再起動するまでずっと保持したままになってしまいます。

smbcon.png

接続情報を削除
>net use * /delete

接続情報を追加
>net use [folderpath] [pass] /user:[name]
例:net user \\192.168.0.1\kyouyu pwd /user:morado

FC2でSyntaxHihglighterメモ

某虎ブログでSyntaxHihglighterが使えないので引越してきました。
忘備録として自分で書いたソースコードとかうpしたかったので。。。
昔はこんな便利なのが無かったので、ちまちまスタイルで書いてました。
時代の流れって凄いですね(;´Д`)

①SyntaxHihglighterをダウンロードします。
SyntaxHihglighter
ちなみに僕が落としたのはv1.5.1でした。

②解凍して出来たフォルダの「scripts」と「styles」の中身を全部、
「ファイルアップロード」でうpします。

③「テンプレートの設定」で、<head>~</head>内に以下の記述を追記して保存します。


























ちなみにソース中の「***」は②でうpしたファイルのURLです。
ここでのミソは

SyntaxHighlighter.config.bloggerMode = true;

です。これが無いと、<br>タグがそのまま表示される変な1行のみの表示になっちゃいます。

SyntaxHihglighter Test


ここまで出来たら以下のようなソースをブログに書いて、ちゃんと使えるか確認します。

【記入例】
<pre name="code" class="brush:c-sharp;">
function test() : String
{
return 10;
}
</pre>

【表示例】

function test() : String
{
return 10;
}

参考URL
SyntaxHighlighter:Demo

Pagination

Utility

プロフィール

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。