嫁が4ヶ月ほど前にiPad miniを買ったのだが、それに合わせてSDカードリーダを買った。
それを今更開封してセッティングしたのだが、これ以外と優れもの。
無線を搭載していて、アクセスポイントとして端末から読み書きができる。
しかも、ルータの無線につなげることも可能!
早速設定をしたのだが、macbookからもWebDevでアクセス可能と歌われていたというのに、接続はできても、書き込み時に固まる。。。
取り急ぎ、データの投入は本体付属のリーダーでできるからいいかと直接さして書き込みを実施しようとしたところ、今回の本題!
なんと、書き込みができず、なんだこりゃと。
フォーマットが原因かと、あとはLockでもかかっているのかとさんざん試したが相変わらず書き込み不可!
諦めかけながら、google先生に問い合わせを続けたところ、以下のサイトを発見!
http://kanonji.info/blog/2013/11/26/macbook-pro%E3%81%AEsd%E3%82%AB%E3%83%BC%E3%83%89%E3%82%B9%E3%83%AD%E3%83%83%E3%83%88%E3%81%A3%E3%81%A6%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%83%AD%E3%83%83%E3%82%AF%E3%81%8C%E3%81%8B%E3%81%8B/
同様の症状で困っている人がおり、しかも原因は、macのlockの仕組みの仕様とカード自体の仕様があっていないことらしい。。。
記述があるとおり、Lockのスライドを少しだけLock気味の解除に設定してさしてみると、あら不思議。
普通に書き込めましたとさ。
さてさて、取り急ぎ書き込めたのだが、問題はWebDevでアクセスが不調の方。
こっちは全くわからず、しばらく調べようと思う。。。
中途半端だぞ!
2015/10/19
2015/09/02
ちょっとメモ
定期的にjolokiaからデータを抜いてファイル出力するデーモンプログラムを作る必要に迫られたので作ってみた。
とりあえず、ソースぺたり。
package jp.shibadog.daemon;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.management.MalformedObjectNameException;
import org.jolokia.client.J4pClient;
import org.jolokia.client.exception.J4pException;
import org.jolokia.client.request.J4pReadRequest;
import org.jolokia.client.request.J4pReadResponse;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
import org.kohsuke.args4j.Option;
public class DaemonTool {
public static SimpleDateFormat sdf1 = new SimpleDateFormat(
"yyyy/MM/dd:HH:mm:ss");
@Option(name = "-c", aliases = "--config", usage = "コンフィグファイルの指定")
private String confPath = "";
public static void main(String[] args) {
DaemonTool dt = new DaemonTool();
dt.execute(args);
}
private void execute(String[] args) {
if (!init(args)) {
System.exit(1);
}
if (this.confPath != null && !"".equals(this.confPath)) {
JSONParser parser = new JSONParser();
String s = null;
try {
BufferedReader br = new BufferedReader(new FileReader(new File(
this.confPath)));
StringBuilder sb = new StringBuilder();
String tmp = br.readLine();
while (tmp != null) {
sb.append(tmp);
tmp = br.readLine();
}
s = sb.toString();
System.out.println(s);
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
Object obj;
try {
obj = parser.parse(s);
JSONObject json = (JSONObject) obj;
System.out.println("request-url=" + json.get("requestUrl"));
} catch (ParseException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
}
}
ScheduledExecutorService service = Executors
.newSingleThreadScheduledExecutor();
J4pReadRequest req;
try {
req = new J4pReadRequest("java.lang:type=Memory", "HeapMemoryUsage");
req.setPath("used");
String urlRoot = "http://localhost:7001/jolokia-war-1.3.1";
String hostname = getHostName(urlRoot);
service.scheduleAtFixedRate(new ExecuteMBeanGetter(hostname, urlRoot, req),
0, 5, TimeUnit.SECONDS);
} catch (MalformedObjectNameException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} finally {
}
}
private boolean init(String[] args) {
boolean ret = false;
CmdLineParser parser = new CmdLineParser(this);
try {
// parse options
parser.parseArgument(args);
System.out.println("Starting application...");
System.out.println("Configuration : " + confPath);
// System.out.println("Server mode : " + isServer);
// System.out.println("Destination : " + dst);
// your code
ret = true;
} catch (CmdLineException e) {
// print usage.
System.out.println(e);
parser.printUsage(System.out);
System.exit(1);
}
return ret;
}
public String getHostName(String urlRoot) {
String res = null;
J4pClient j4pClient = new J4pClient(urlRoot);
try {
J4pReadRequest req = new J4pReadRequest("java.lang:type=Runtime", "Name");
J4pReadResponse resp = j4pClient.execute(req);
String tmp = resp.getValue();
res = tmp.substring(tmp.indexOf("@") + 1);
} catch (J4pException | MalformedObjectNameException e) {
System.out.println(e);
e.printStackTrace();
}
return res;
}
class ExecuteMBeanGetter implements Runnable {
private J4pReadRequest req;
private String urlRoot;
private String hostname;
public ExecuteMBeanGetter(String hostname, String urlRoot2, J4pReadRequest req2) {
setUrlRoot(urlRoot2);
setReq(req2);
setHostname(hostname);
}
@Override
public void run() {
J4pClient j4pClient = new J4pClient(getUrlRoot());
try {
J4pReadResponse resp = j4pClient.execute(getReq());
System.out
.println(DaemonTool.sdf1.format(resp.getRequestDate())
+ "," + getHostname() + "," + resp.getValue());
} catch (J4pException e) {
System.out.println(e);
e.printStackTrace();
}
}
public J4pReadRequest getReq() {
return req;
}
private void setReq(J4pReadRequest req) {
this.req = req;
}
public String getUrlRoot() {
return urlRoot;
}
private void setUrlRoot(String urlRoot) {
this.urlRoot = urlRoot;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
}
}
とりあえず、ソースぺたり。
package jp.shibadog.daemon;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.management.MalformedObjectNameException;
import org.jolokia.client.J4pClient;
import org.jolokia.client.exception.J4pException;
import org.jolokia.client.request.J4pReadRequest;
import org.jolokia.client.request.J4pReadResponse;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
import org.kohsuke.args4j.Option;
public class DaemonTool {
public static SimpleDateFormat sdf1 = new SimpleDateFormat(
"yyyy/MM/dd:HH:mm:ss");
@Option(name = "-c", aliases = "--config", usage = "コンフィグファイルの指定")
private String confPath = "";
public static void main(String[] args) {
DaemonTool dt = new DaemonTool();
dt.execute(args);
}
private void execute(String[] args) {
if (!init(args)) {
System.exit(1);
}
if (this.confPath != null && !"".equals(this.confPath)) {
JSONParser parser = new JSONParser();
String s = null;
try {
BufferedReader br = new BufferedReader(new FileReader(new File(
this.confPath)));
StringBuilder sb = new StringBuilder();
String tmp = br.readLine();
while (tmp != null) {
sb.append(tmp);
tmp = br.readLine();
}
s = sb.toString();
System.out.println(s);
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
Object obj;
try {
obj = parser.parse(s);
JSONObject json = (JSONObject) obj;
System.out.println("request-url=" + json.get("requestUrl"));
} catch (ParseException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
}
}
ScheduledExecutorService service = Executors
.newSingleThreadScheduledExecutor();
J4pReadRequest req;
try {
req = new J4pReadRequest("java.lang:type=Memory", "HeapMemoryUsage");
req.setPath("used");
String urlRoot = "http://localhost:7001/jolokia-war-1.3.1";
String hostname = getHostName(urlRoot);
service.scheduleAtFixedRate(new ExecuteMBeanGetter(hostname, urlRoot, req),
0, 5, TimeUnit.SECONDS);
} catch (MalformedObjectNameException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} finally {
}
}
private boolean init(String[] args) {
boolean ret = false;
CmdLineParser parser = new CmdLineParser(this);
try {
// parse options
parser.parseArgument(args);
System.out.println("Starting application...");
System.out.println("Configuration : " + confPath);
// System.out.println("Server mode : " + isServer);
// System.out.println("Destination : " + dst);
// your code
ret = true;
} catch (CmdLineException e) {
// print usage.
System.out.println(e);
parser.printUsage(System.out);
System.exit(1);
}
return ret;
}
public String getHostName(String urlRoot) {
String res = null;
J4pClient j4pClient = new J4pClient(urlRoot);
try {
J4pReadRequest req = new J4pReadRequest("java.lang:type=Runtime", "Name");
J4pReadResponse resp = j4pClient.execute(req);
String tmp = resp.getValue();
res = tmp.substring(tmp.indexOf("@") + 1);
} catch (J4pException | MalformedObjectNameException e) {
System.out.println(e);
e.printStackTrace();
}
return res;
}
class ExecuteMBeanGetter implements Runnable {
private J4pReadRequest req;
private String urlRoot;
private String hostname;
public ExecuteMBeanGetter(String hostname, String urlRoot2, J4pReadRequest req2) {
setUrlRoot(urlRoot2);
setReq(req2);
setHostname(hostname);
}
@Override
public void run() {
J4pClient j4pClient = new J4pClient(getUrlRoot());
try {
J4pReadResponse resp = j4pClient.execute(getReq());
System.out
.println(DaemonTool.sdf1.format(resp.getRequestDate())
+ "," + getHostname() + "," + resp.getValue());
} catch (J4pException e) {
System.out.println(e);
e.printStackTrace();
}
}
public J4pReadRequest getReq() {
return req;
}
private void setReq(J4pReadRequest req) {
this.req = req;
}
public String getUrlRoot() {
return urlRoot;
}
private void setUrlRoot(String urlRoot) {
this.urlRoot = urlRoot;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
}
}
2015/08/31
weblogicのコマンド操作(アンデプロイ)
さてさて、無事weblogicがインストールできたわけだが、今回の目的というのも、weblogic serverにjolokiaをデプロイしたら、いろいろ壊れて大変なことになったのでそれを直すため環境を作って調べているわけなのだ。
まずは、jolokiaとweblogicは相性が悪いのか?というところから確認。
。。。普通にデプロイできるし見えるじゃん。
では次に、壊れちゃったweblogicを修復するためにweblogicのコマンドからアンデプロイの手段を調べる。
コマンドの公式リファレンスはこちら。
http://otndnld.oracle.co.jp/document/products/wls/docs92/deployment/wldeployer.html#wp1008316
さてはて、どうやら、Java上で動くweblogic.Deployerというものが存在するらしい。
このツールはオプションで接続情報を設定し、サブコマンドでいろいろ操作ができるというものの様子。
では早速、アンデプロイのコマンドはどんなものになるかというと。
java weblogic.Deployer -adminurl http://localhost:7001 -username weblogic -passowerd weblogic -stop jolokia
java weblogic.Deployer -adminurl http://localhost:7001 -username weblogic -passowerd weblogic -undeploy jolokia
という感じらしい。
という感じらしい、というのも、weblogic.Deployerが見つからずうまく動いてくれないため確認できなかったからである(ぉ
でも、調べているうちに、コマンドの使い方がわかったので、一旦OKとしようと思う。
この甘さ加減が問題だな。
以上。
まずは、jolokiaとweblogicは相性が悪いのか?というところから確認。
。。。普通にデプロイできるし見えるじゃん。
では次に、壊れちゃったweblogicを修復するためにweblogicのコマンドからアンデプロイの手段を調べる。
コマンドの公式リファレンスはこちら。
http://otndnld.oracle.co.jp/document/products/wls/docs92/deployment/wldeployer.html#wp1008316
さてはて、どうやら、Java上で動くweblogic.Deployerというものが存在するらしい。
このツールはオプションで接続情報を設定し、サブコマンドでいろいろ操作ができるというものの様子。
では早速、アンデプロイのコマンドはどんなものになるかというと。
java weblogic.Deployer -adminurl http://localhost:7001 -username weblogic -passowerd weblogic -stop jolokia
java weblogic.Deployer -adminurl http://localhost:7001 -username weblogic -passowerd weblogic -undeploy jolokia
という感じらしい。
という感じらしい、というのも、weblogic.Deployerが見つからずうまく動いてくれないため確認できなかったからである(ぉ
でも、調べているうちに、コマンドの使い方がわかったので、一旦OKとしようと思う。
この甘さ加減が問題だな。
以上。
MacOSのJDKインストール場所
ひっさしぶりに投稿。
といっても大した話ではなく。
MacでJDKのインストール場所がわからないという、超初歩的な話。
といっても大した話ではなく。
MacでJDKのインストール場所がわからないという、超初歩的な話。
/Library/Java/JavaVirtualMachines
上記パス配下に入るらしい。
dmgでパッケージインストールしてもJAVA_HOMEが設定されなかったので、WebLogicのzipインストールをしようとして困ったので調べてみた。
と言っても、WebLogicのREADMEに書いてあるっていうね。
ほぼフリーみたいなもんなんだから、技術力あげなきゃね。。。
以上。
2013/04/09
C#で拡張メソッドをつか
仕事中に同僚が発見した便利そうな技を紹介
といっても、人のブログに乗ってたやつだけども。
http://d.hatena.ne.jp/siokoshou/20080124#p1
何をしようとしたかというと、Enumで宣言したエラーコードをもとにエラーメッセージを返す処理を書きたく、うまい変換手段を考えてた。
Enumで宣言したコードからToStringでEnumにひもづく文字列を取得するというもの。
拡張メソッドというやつが便利すぎるので今後取り入れたいと思う。
まぁ、そんだけ。
といっても、人のブログに乗ってたやつだけども。
http://d.hatena.ne.jp/siokoshou/20080124#p1
何をしようとしたかというと、Enumで宣言したエラーコードをもとにエラーメッセージを返す処理を書きたく、うまい変換手段を考えてた。
Enumで宣言したコードからToStringでEnumにひもづく文字列を取得するというもの。
拡張メソッドというやつが便利すぎるので今後取り入れたいと思う。
まぁ、そんだけ。
2013/04/05
SSMS IntelliSenseが言うことを聞かない時の対処
DBのオブジェクト構造を変更したとき、新しいオブジェクトでインテリセンスが効かなかったりする。
何かをきっかけに効くようになるため、放置していたが、ちょこちょこストアドやらビューやらを作ったり消したりしていると結構わけわからなくなるので調べてみた。
http://msdn.microsoft.com/ja-jp/library/ms173434.aspx
どうやら、ローカルキャッシュを持っているようで、これを更新することで最新の状態でインテリセンスを効かすことができるようだ。
方法としては以下の2パターン
1.[編集] → [IntelliSense] → [ローカルキャッシュの更新]
2.Shift + Ctrl + R
どちらも、クエリエディタが開いているときに操作可能な様。
まぁ、メニュー漁れよの一言だとは思うが。。。忘れそうなので記載する。
2013/03/05
C# Listからオブジェクトの要素を検索する
久々の更新
2回以上探したロジックなので自前でのっけます。
C# List<T>からオブジェクトの要素を検索する
オブジェクトのコレクションからオブジェクトのプロパティやらフィールドをキーに検索する方法について。
抽出方法として2点見つけた。
1.List<T>.Findとデリゲートで抽出
2.Linqを使って抽出
2.はイマイチLinqを理解していないためパス(ぇ
てわけで、お気楽に1.を記載
まずは、MSDN
http://msdn.microsoft.com/ja-jp/library/x0b5b5bc.aspx
Find以外にもFindAllだのFindLastだのがあるようだ。
目的に応じて使い分ければよし。
で、使い方については以下の通り。
※ Dataクラスにはプロパティ「ID」があるものとする。
例:ID=1であるDataオブジェクトをDatasコレクションから抽出する
int localID = 1;
Data data = Datas.Find(
delegate(Data d)
{
return d.ID == localID;
}
);
同様に複数とりたかった場合はFindAllを使えばいいし、Indexが一番大きいオブジェクトを取得したければ、FindLastを使えばよいということ。いやぁ便利だねぇデリゲート。
他のやりたいこともそのうち追加しとこう
備忘録
・オブジェクトリストを一発ソート
・オブジェクトリスト内の存在確認
登録:
投稿 (Atom)
