Mac OS X 10.10 Yosemite が突然再起動する問題の対処

手元の Macbook Pro を Yosemite にアップグレードしたところ、いつの間にか勝手に再起動してしまうことがありました。 f:id:nnasaki:20150624204850p:plain 最初はアップデートかなぁと思ったら、問題が起きたから再起動をしたよと出ていたのでちょっと調べてみました。 EXTENDED BODY: ログの確認方法 Mac OS X:カーネルパニックのログ方法 - Apple サポートsupport.apple.com より、 /Library/Logs/DiagnosticReports の Kernel_ から始まるファイル名であります。 内容を次の通り *** Panic Report *** panic(cpu 6 caller 0xffffff802eb4131b): "vnode_rele_ext: vp 0xffffff80436651e0 usecount -ve : -1. v_tag = 16, v_type = 1, v_flag = 84800."@/SourceCache/xnu/xnu-2782.20.48/bsd/vfs/vfs_subr.c:1867 Backtrace (CPU 6), Frame : Return Address 原因は Sophos Anti-Virus 今時はMacもウイルスが怖いので、当然アンチウイルスを入れていました。結論から言えば、Sophosが原因でした。 Sophos Anti-Virus オンアクセススキャナが原因で OS X Mavericks 上で予期しない再起動が行われるwww.sophos.com この問題に該当するかどうかを確認するには、 “vnode_rele_ext” および “usecount -ve” という参照項目が含まれているかどうかを確認します。 ...

June 24, 2015 · nnasaki

Azure DNS プレビュー公開!

f:id:nnasaki:20150505021207p:plain DNS | Microsoft Azure Ignite キーノートでは触れられませんでしたが、 Azure DNS プレビューがひっそりと公開されました。 Pricing - DNS | Microsoft Azure DNS Documentation | Microsoft Azure まだ、ポータルから操作できず、PowerShell からのみ操作できるというハードコアな仕様ですが興味のある方は是非お試しください。 Azure PowerShell のインストールが必須。 How to install and configure Azure PowerShellazure.microsoft.com Get started with Azure DNS | Microsoft Azureazure.microsoft.com

May 5, 2015 · nnasaki

リレーショナルデータベースはオワコン? Postgres作者 が語るデータベースの未来

象のジレンマ:データベースの未来はどうなる?japan.zdnet.com 「Ingres」や「Postgres」の開発を行った、Michael Stonebraker氏がチューリング賞を受賞した際のインタビューなんですが、データベースの未来について興味深かったので記事を書きました。 2000年から2015年までのDB市場について インタビューワが次のように聞いています。 –最近受けたインタビューでは、Oracleのような企業がデータベース市場で長い間支配的な地位にあることについて、そういう時期は終わったという意味のことを話されていましたね。今でもそう思われますか? おお、Oracle をいきなりオワコン扱いか。こいつは面白いぞと思いました。 2000年頃までのデータベース市場は、「1つのサイズですべてをまかなう」時代でしたし、その頃は「Oracleが答え」でした。1つしか道具がなければ、あらゆることにそれを使うしかないでしょう。 2000年頃までは、ほぼほぼ RDBMS 一色だった。 f:id:nnasaki:20150501131133p:plain しかしその状況は2000年代の最初の10年で急激に変わりました。 今のデータベース市場は3分の1がトランザクション処理であり、3分の1がデータウェアハウスであり、残り3分の1をそのほか全部が占めているとわたしは考えています。この15年間で起こったことは、データウェアハウス市場をほとんど完全にロウストアからカラムストアに変えました。今ではカラムストアはロウストアよりも圧倒的に高速です。 これによって、ロウストアを売っていた従来のデータベースベンダーは、技術的に間違った側になってしまったのです。 2ページ目までにわたって持論を展開しています。2015年では次のようなイメージのようです。 f:id:nnasaki:20150501134653p:plain ロウストアなリレーショナルデータベースの優位性は無くなる わたしが見るところでは、この市場の3分の2については、従来のベンダーには技術的に間違った側にいます。そして残り3分の1でも、明白な利点があるわけではありません。 2005年に書いた論文では「1つのサイズですべてをまかなう時代はもう終わった」と述べたのですが、2015年のわたしは、もっと突っ込んだ形で「1つのサイズでまかなえるものはない」と言っています。Oracle、IBM、Microsoftの従来の実装が適しているものは、基本的に何もありません。 先ほどの図の一番左、トランザクション処理を行うロウストアなDBについても、Oracle、IBM(DB2)、Microsoft(SQL Server)はもはや優位性は何も無いと言っています。 わたしの分類を信じてもらえるなら、データベース市場は全体の3分の1の大きさの市場が2つと、12分の1の市場が4つに分かれます。そしてその中に、大手リレーショナルデータベースベンダーの現在の実装が特に有利になる市場は1つもありません。わたしはそれらのベンダーを親しみを込めて「象」と呼んでいます。 なるほど、大手ベンダーのことを「象」といっていたのか。象っていうと PHP本のマンモスが思い浮かぶようなそんな世代です。 これからどうなるか? –では、RDBMS市場はOracleのようないくつかのベンダーが支配するのではなく、多くの異なる、特化した実装が主流になるということでしょうか。 基本的にはそうなのですが、実際にいくつくらいのベンダーが生き残るかについてははっきりしません。 basically agree だけどどれが主流になるかは、はっきりわからない。 HadoopはSQLが主流になる 基本的に、本当に重要なHadoop市場はSQL市場になるでしょう。そこでmPowerを見てみると、Impalaはアーキテクチャ的にクラウドストアであり、「HP Vertica」や「Amazon Redshift」、またはその他のリレーショナルデータベースのカラムストア実装に似ています。このため、わたしはHadoop市場のほとんどはデータウェアハウス市場と融合すると考えています。 Hadoop を例にあげると、 MapReduce よりは SQL のほうが主流になりそうとのこと。また、Hadoop市場のほとんどはデータウェアハウス市場に融合というのもなんとなく合点がいきます。 Azure Data Lake が主にこの分野かなぁ。 NoSQL も SQL が標準になりそう この市場にはなんらかの標準がなければ生き残れない100前後のベンダーがある上に、結局SQLが標準になる可能性が一番高い状況です。 例えば「Apache Cassandra」やMongoなどは、どちらも非常にSQLに似た高レベル言語を使用しています。 最終的には4つか5つになるでしょうし、垂直市場向けの実装があるでしょうから、その4倍から7倍になるでしょうか。そんな数になるはずです。 NoSQL も結局 SQL が必要だという予想。 DocumentDB も SQL 使えるかな。 Azure はほぼマッピングできる 今までの 2015 年のデータベース市場をAzureのサービスでマッピングしてみました。 f:id:nnasaki:20150501134653p:plain f:id:nnasaki:20150501135317p:plain 結果、グラフ以外はすべてそろっていることになります。Azure 死角ねーな。 ...

May 1, 2015 · nnasaki

Build 2015 Day1 Azure 新サービスなど、Microsoft の本気を見た。勝つまでやるつもりだ。

f:id:nnasaki:20150430113938p:plain キーノートの録画はこちらから確認できます。 Build 2015 Day1 のキーノートを見て感じたことをつらつらと。 詳細については3大雑記を参照してください。 おはようございます。 //Build の最新情報はこちらです。 ┏━━━━━━━━━━━━━━━━┳━━┓ ┃ブチザッキ SE雑記 しばやん雑記 ┃検索┃ ┗━━━━━━━━━━━━━━━━┻━━┛— YAMAMOTO Masaki (@nnasaki) 2015, 4月 30 全体的な概要を知りたい人向け //build/ Day 1 Keynote | ブチザッキ 【速報】Windows 10の正式リリース日は? Build 2015 day1リアルタイム中継【更新終了】 - 週アスPLUS これで終わるとさすがに怒られるので気になっている範囲でまとめます。 Windows の Docker サポート Visual Studio Code for Mac & Linux Azure 新機能 Visual Studio で Android と iOS アプリの移植をサポート Windows の Docker サポート Microsoft のカンファレンスに Docker の CEO が登場する時代。。。 f:id:nnasaki:20150430112223p:plain Azure CTO の Mark Russinovich がデモを行います。ASP.NET のアプリケーションを WindowsとLinuxのDockerで動かします。 ...

April 30, 2015 · nnasaki

Azure Service Fabric の SDK が公開されていた

Visual Studio 2015 RCが必須です。 Service Fabric Documentation | Azure Set up your Service Fabric development environment ちょっとだけ雑感 Choosing a framework Reliable Actors APIs と Reliable Services APIs のどちらかを選択する。 Azure Service Fabric Actors Overview Actor の 並行性 がこんな感じ。 f:id:nnasaki:20150430141336p:plain Getting Started with Microsoft Azure Service Fabric Reliable Actors Hello, World サンプルコードがこんな感じ。先ほどの図の通り、だいぶ非同期満載です。 namespace HelloWorld { public class HelloWorld : Actor, IHelloWorld { public Task<string> SayHello(string greeting) { return Task.FromResult("You said: '" + greeting + "', I say: Hello Actors!"); } } } Overview of the Service Fabric Reliable Service Programming Model ステートレスかステートフルかを選ぶ ...

April 30, 2015 · nnasaki

Global Azure Boot Camp 2015 in Japan にて発表しました

Global Azure Boot Camp 2015 in Japan - Japan Azure User Group | Doorkeeper Azure Web Apps とAzure Mobile Apps について発表しました。 JAZUG青森、福島で話したモバイルサービスを Mobile Apps にアップグレードさせました。 ** Azure Web Apps とAzure Mobile Apps ** from 誠樹 山本 補足:Mobile Apps のバックエンドについて 懇親会で聞かれたので簡単な図を用意しました。 f:id:nnasaki:20150426111251p:plain Mobile Apps のバックエンドは、ASP.NET Web API がベースとなっていて、Mobile Apps 用のラッパーにMicrosoft.Azure.Mobile.Server.TableController があります。MVC6 からは MVC とWeb API のコントローラーが統合するのでアップデートされるかなぁという不安はちょっとあります。 IQueryable で、 OData 指向なのはどうなんだろうなぁーと思ってます。(see ref. neue cc - LINQ to BigQuery - C#による型付きDSLとLINQPadによるDumpと可視化) あと、実際使うとcors設定とか、標準だと50件までしか取って来れないとか、そのまま使うとちょこちょこハマると思います。 後日談 時差の関係で Global Azure Boot Camp 2015 の世界中のなかでおそらく一番最初に発表だろうということで、大変緊張しました。 ...

April 26, 2015 · nnasaki

Azure Logic App で Twitter のログを取得して Web API を叩く

Azure Logic App を使用すると、お絵かきする感じでアプリが作れます。 今回は Twitter で Azure が含まれるログを取得したら、自作の Web API を叩くということをやってみます。 Azure Logic App を作成する プレビューポータル(新しいポータル)からのみ作成できます。 f:id:nnasaki:20150325142129p:plain Triggers and actions を追加する 作成したら次の箇所をクリックして、ワークスペース(?)を開く f:id:nnasaki:20150325142256p:plain 「Twitter Connector」 を選択する。無い場合は右下の Marketplace から作成出来ます。注意点として、同じ resource group の App のみ選択できます。Authorize して、Twitter アカウントと認証する。 f:id:nnasaki:20150325142710p:plain Twitter Connector のキーワードに「Azure」を入力する 「New Tweet」を選択する f:id:nnasaki:20150325142907p:plain Keyword に 「azure」を入力して保存 f:id:nnasaki:20150325143033p:plain Web API を用意する 今回は Java で Spring Boot を使用してみました。 詳細は省きますがコードはこんな感じです。Spring Initializrから Web だけチェックしてダウンロードしたものにコピペしてあげれば動くと思います。 package demo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import java.util.Optional; @SpringBootApplication @RestController public class DemoApplication { private static final Logger logger = LoggerFactory.getLogger(DemoApplication.class); @RequestMapping("/") @ResponseBody String home(@RequestParam(value = "tweet") Optional<String> tweet) { if (tweet.isPresent() == false) return "tweet is null"; logger.info("tweet are " + tweet.get()); return "tweet echo that " + tweet.get(); } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } これで、gradlew bootrunをすると Tomcat が立ち上がります。 http://localhost:8080/?tweet=aaaaと呼び出せば、aaaaが返ります。 ...

March 25, 2015 · nnasaki

Azure Mobile Apps と Mobile Services の違いについて

Azure App Service がリリースされました! これは今まで Web Sites や Mobile Services などに分かれていたプラットフォームを統合して、よりアプリを作りやすく、使いやすくしたものになります。詳細はNo1のブチザッキを読んでいただけるとより理解できると思います。 Azure App Service | ブチザッキ ScottGu’s Blog - Announcing the new Azure App Service さて、 Mobile Services 使いとして気になるのは Mobile Apps です。現在は Public Preview なため、 Mobile Services と比べて足りないところがあります。 azure mobile app の Quickstart に Android Studio が無い… pic.twitter.com/us1kCa1K4i— YAMAMOTO Masaki (@nnasaki) 2015, 3月 24 mobile app、 node.js backend 選べないから iOS アプリ作るためには Windows と Visual Studio 必須か。 swift も選べない。 pic.twitter.com/v4tlFiYBk1— YAMAMOTO Masaki (@nnasaki) 2015, 3月 24 GA するまでに Quickstart は追加されると思いますが、 JavaScript は難しいかもしれません。なぜなら、 Azure App Service and its impact on existing Azure services の Mobile Apps をみると次のように記載されています。 ...

March 25, 2015 · nnasaki

Microsoft Azure Mobile Services(モバイルサービス) で '__createdAt' を取得する方法

大人気となっている id:garicchi の Azure と 機械学習 と IoT を組み合わせた記事を楽しくよませていただきました。 Azure Machine LearningとIoTを駆使して室温予測システムを構築してみた - がりらぼ その中で、 Azure Mobile ServicesのJavascriptバックエンドでデータ挿入時に時間を含めたい - がりらぼ **MobileServicesはデータ挿入時に自動で__createdAtというカラムが追加されるはずなのですが何故かスクリプトから参照できなかったので自前でタイムスタンプを入れることにしました。 とあったのですが、多分出来るはずと思って調べてみました。 問題 Microsoft Azure Mobile Services(モバイルサービス) のサーバースクリプト(Javascrip バックエンド) で ‘createdAt’, ‘**updateAt’, ‘**version’, ‘**deleted’ のシステムプロパティが取得できない。 例えばこんなカスタムAPIを作成して、全件取得したいのに ‘__createdAt’ が表示されない。 サンプルコード exports.get = function(request, response) { var myTable = request.service.tables.getTable('TodoItem'); myTable.read({ success: function(results) { response.send(statusCodes.OK, results); }, error: function(err) { response.send(statusCodes.INTERNAL_SERVER_ERROR, err); } }); }; 取得結果 ブラウザかなんかで https://hogehoge.azure-mobile.net/api/fugafuga を GET する。 [ {"id":"32ADB4B1-D515-4666-AAA7-57466FCEC261","text":"なんかのテキスト","complete":false}, ... 省略 ] 解決方法 success の前に systemProperties: ['__createdAt', '__updatedAt'], を入れる。全部のシステムプロパティが欲しければ systemProperties: ['*'], ...

March 4, 2015 · nnasaki

IntelliJ の Terminal で文字化けした場合の対処法

IntelliJ で最近開発をしていて、 gradle プラグインがあまりよろしくない挙動をするので、 Terminal を使用して ./gradlew clean build && java -jar launcher/build/libs/launcher-0.1.0.jar こんな感じで実行している。 問題 ところが、 Mac の Terminal ではうまくいくのに、 IntelliJ の Terminal では次のエラーが発生して起動しないことがあった。 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘sqlSessionFactory’ defined in class path resource [/MyBatisConfig.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [javax.sql.DataSource]: : Error creating bean with name ‘dataSource’ defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration$NonEmbeddedConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSourceInitializer’: Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement at line 6 of resource URL [file:../database/src/main/resources/data.sql]: INSERT INTO STEP_OPTIONS(value,label) VALUES (‘00’,’������������’), (‘01’,’���������������������������������������������’), (‘99’,’���������’); nested exception is org.h2.jdbc.JdbcSQLException: 列 “LABEL VARCHAR(15) NOT NULL COMMENT STRINGDECODE(’\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd’)” の値が長過ぎます: “STRINGDECODE(’\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd… (45)” ...

February 7, 2015 · nnasaki