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

[mac OS X] HomebrewのインストールURL

mac OS で Homebrew を以下のコマンドでインストールしようとしたが、
URLが間違っていて、エラーとなってしまた。

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

エラー内容
curl: (22) The requested URL returned error: 400 Bad Request



ということで、正しくは以下でした。

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"



[Android] BroadcastReceiverからActivityのStartをする

BroadcastReceiverクラスを継承したクラスのonReceive()に以下のような実装をしてActivityをStart使用としたら、
エラーが発生してしまった。

Intent intent=new Intent();
intent.setClassName(context.getPackageName(), context.getPackageName() + ".SampleActivity");
context.startActivity(intent);


★エラー内容(LogCatの出力)
-------------------------------------------
05-21 11:40:56.471: E/AndroidRuntime(19117): FATAL EXCEPTION: main
05-21 11:40:56.471: E/AndroidRuntime(19117): java.lang.RuntimeException: Unable to start receiver jp.sample.test.SampleReceiver: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
05-21 11:40:56.471: E/AndroidRuntime(19117): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2821)
05-21 11:40:56.471: E/AndroidRuntime(19117): at android.app.ActivityThread.access$3200(ActivityThread.java:125)
05-21 11:40:56.471: E/AndroidRuntime(19117): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
05-21 11:40:56.471: E/AndroidRuntime(19117): at android.os.Handler.dispatchMessage(Handler.java:99)
05-21 11:40:56.471: E/AndroidRuntime(19117): at android.os.Looper.loop(Looper.java:123)
05-21 11:40:56.471: E/AndroidRuntime(19117): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-21 11:40:56.471: E/AndroidRuntime(19117): at java.lang.reflect.Method.invokeNative(Native Method)
05-21 11:40:56.471: E/AndroidRuntime(19117): at java.lang.reflect.Method.invoke(Method.java:521)
05-21 11:40:56.471: E/AndroidRuntime(19117): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:870)
05-21 11:40:56.471: E/AndroidRuntime(19117): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
・・・
05-21 11:40:56.471: E/AndroidRuntime(19117): ... 10 more
-------------------------------------------

★原因
Activity以外からActivityを起動する場合は、FLAG_ACTIVITY_NEW_TASK を設定しろとのこと。
エラーログにしっかり、出てました。



★対処
以下の1行を追加。フラグを指定するようにした。

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

これで、例外が発生することなく、画面起動ができました。




[Android] android.os.NetworkOnMainThreadException の例外が発生した

■問題の現象
Service内にサーバーにアクセスしてメールを取得する処理を実装したら、
サーバーへアクセスするところで、

android.os.NetworkOnMainThreadException

の例外が発生した。

※問題が発生するのは、Android4.Xの端末でAndroid2.Xの端末では
 例外は発生しない。


■原因
ネットワークへの接続処理をメインスレッドで行っていたことが原因。
Android2.X系までは、Android側にチェック機能が入っていなかったので例外とはならなかったが、
Android3.X系以降はチェックが入り、メインスレッドで通信しようとすると例外となる。


■対応案
通信処理はバックグラウンドで実行するようにする。
AsyncTaskLoader(AsyncTask)などで実装するケースも多いが、
今回は、単純にスレッドクラス(Thread)を作成して、
別クラスでサーバーアクセスを行った。




[CentOS6.5] Linux環境にnode.jsをインストール

CentOS6.5 に node.js をインストールしたのでメモ。

①epelリポジトリを追加
rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

②yumでインストール
yum install nodejs npm --enablerepo=epel

※①はすでに、他で追加済みであれば省略できる
追加しようとしても、既にインストールされていますって言われちゃうだけですが。。。
----------------------------------------------------------
# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm を取得中
準備中... ########################################### [100%]
パッケージ epel-release-6-8.noarch は既にインストールされています。
----------------------------------------------------------

③インストールできたか確認

# node -v
v0.10.26

# npm -v
1.3.6

※npm は Node Package Manager の略称で Node で 作られたパッケージモジュールの管理ツールです


試しに動かしてみた。
-----------------------
# node
> console.log("TEST");
TEST
undefined
>
(^C again to quit)
>
#
-----------------------





【CentOS6.5】Samba でファイルサーバー機能を実現

とりあえず、LANでつながったwindowsマシンから手軽にファイルを置いて、
他のwindowsマシンと共有させることを目的にSambaを導入。

①Sambaをyumでインストール

yum -y install samba

②confファイルを変更

/etc/samba/smb.conf

・以下を変更
security = user

security = share

・以下を追加
-------------------------------------------
[share]
comment = Share file space
path = /var/samba/test
public = yes
read only = no
writable = yes
hosts allow = 192.168.10.
-------------------------------------------

comment:そのままのコメントである。40バイト以上はつけられないようです。
Windowsのエクスプローラーで詳細表示した際に"コメント"の箇所に表示される。
path:共有するディレクトリパスを指定
public:パスワードなしでアクセス可能とする
read only:共有フォルダへの書き込み禁止設定
writable:共有フォルダへの書き込み設定
hosts allow:指定したホストだけに使用許可する

※pathで指定したディレクトリはアクセス権限がしっかりついていること。
アクセス権限が無いと、windowsからファイルをアップしたり編集したりできない。


③iptablesを変更して、ポートの穴あけをする

vim /etc/sysconfig/iptables

・以下を追加
-------------------------------------------
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-------------------------------------------

④iptables再起動

/etc/init.d/iptables restart

⑤Sambaのサービス起動(下記で起動できた)

service smb start


⑥自動起動設定をしておく

chkconfig smb on


■これでwindowsマシンからアクセスすることができる

「\\192.168.10.72\share」のように指定すれば、アクセスできる。
(上記アドレスは適当なので、各環境ごとに読み替えが必要)





[Redmine] ファイルの添付ができない (Internal Server Error)

タスクやバグ管理のために、Redmineを導入したのですが、
ファイルが添付できない問題が発生したので解決までをメモ。

■問題
チケットにファイルを添付する際のアップロード時、
アップロード状況を示すプログレスバーの部分に

Internal Server Error

とエラーが表示されて、アップロードができない。


■エラーの詳細
①redmineのログを確認したところ、以下のエラーが発生していた。

/var/lib/redmine/log/production.log
------------------------------------------------------
Errno::EACCES (Permission denied - /var/files/redmine):
app/models/attachment.rb:108:in `files_to_final_location'
app/controllers/attachments_controller.rb:88:in `upload'
------------------------------------------------------

どうやら、/var/files/redmine ディレクトリに対して書き込み
権限が無いですよと怒られているようだ。


■対処内容
①/var/files/redmine ディレクトリを作成
②chmod コマンドで redmine ディレクトリに書き込み権限を付与


■対処後
アップロードできるようになった!!









[Movable Type] 古いバージョンを取得

Webサイトの更新や運用を簡易化するCMSとして、「Movable Type」というサービスがある。
大きな書店なら、専門書が数冊並んでるので、結構有名かも。

最新版は、「Movable Type 6」ですが、古いバージョンを使用したい場合もある。

最小限の機能からなるオープンソース版が、
バージョン管理されているので、そちらから取得が可能。

https://github.com/movabletype/movabletype


githubで管理されているので、各バージョンのモジュールはReleasesにTag打ちされている。

これは、githubのアカウントを持って無くてもダウンロードできる。





プロフィール

hiiro

Author:hiiro

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

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