こんにちは。NTTソフトウェアの中野です。振り返ってみると、ここまで5回連続「Grails〜」というタイトルでやってきていましたが、空気を読まずに引き続きGrailsネタでお送りします。今回は、2016/01/28にリリースされたGrails 3.1で追加された「独自プロファイル」機能を使って、社内向けにアプリケーションのひな形を共有する方法について紹介します。 Grailsにおける「プロファイル」とは、「アプリケーション構築のためのひな形・設定・コマンド等を含めた一式」のことを指します。Mavenで言う「アーキタイプ(archetype)」のようなイメージですが、開発用のコマンドも含まれているなど、一回りリッチな感じです。 プロファイル機能自体は、Grails 3.0から導入されました。Grailsアプリケーションを新規作成するときに明示的にプロファイルを指定することで、従来の画一的なW
sedがシンボリックリンクを破壊する話 こんにちは、mizuno_asです。 sedは便利ですよね。自動化する際や手順書を作る際、人間が対話的にやらなければならない操作をコマンドで自動化できるのはすばらしいです。 sedには入力元ファイルを上書きする-iオプションが存在します。みなさんも設定ファイルをコマンドラインから書き換えるような際に、よく使うのではないでしょうか。ところがsedの-iオプションはノーケアで使うと、シンボリックリンクを破壊することはご存知でしょうか? Photo via Visualhunt 例として以下のように、テキストファイルにシンボリックリンクを張っておきます。 $ echo hoge > test.txt $ ln -s test.txt link $ ls -l 合計 4 lrwxrwxrwx 1 h-mizuno h-mizuno 8 1月 15 11:57
1/* 2 * Org-mode の HTML 出力用スタイルシート 3 */ 4 5/* 文書全体 */ 6html { 7 font-family: sans-serif; 8 font-size: medium; 9} 10body { 11 color: black; 12 background-color: white; 13 line-height: 1.3; /* IE 8 では "1.3" と "130%" と "1.3em" とで <h1> などの出力が異なるので注意 */ 14 margin: 2%; 15} 16 17/* リンク */ 18a:link { 19 color: #c00000; 20} 21a:visited { 22 color: #400000; 23} 24a:active { 25 color: #ff0000; 26} 27a:hover
["Foo", "Bar", "Buz"].each { name -> task "build$name" << { println "$name" } } これで gradle tasks をすると,以下のように出てきます. 実行したら,こんな感じになります. 上記の例では配列で Foo, Bar, Buz を宣言していましたが,設定ファイルなどで定義して,環境ごとの設定ファイルを見るディレクトリを指定する,といった使い方が出来そうです. 動的に定義したタスク間の依存 動的に定義したタスクの間で依存を定義することも出来ます. task common { println 'common' } ["Foo", "Bar", "Buz"].each { name -> task "copy$name"(type: Copy) { from "src/$name/resources" into
Emacsユーザーであれば、org-modeを使っている人は多いと思いますが、まだこれから使ってみたいと思っているかたのために、orgにどんなことができるのか紹介してみたいと思います。 まずorg-modeとは何か? これには大きく二つにわけて説明する必要があるでしょう。 ファイルフォーマットとしてのorg-mode一つは、ファイルフォーマットとしてのorg-mode。 拡張子が org のテキストファイルです。ただのテキストであるが故に扱いはとてもシンプル。Emacsのアウトラインモードがベースになっていて、構造化された文章のためのフォーマットです。 ・・・のはずですが、いろいろな記法を駆使することで、いささか過激なほどに機能が拡張されているのがorgの魅力。 orgファイルを活用するためのパッケージの集合としてのorg-mode二つ目は、orgファイルを活用するためのパッケージの集合と
・通常グレップの対象は編集中のファイルまたは一つのフォルダおよびそのサブフォルダですが,このマクロではあらかじめフォルダグループを指定しておけば,そのフォルダ群をグレップします。 ・フォルダは別の親フォルダやドライブに跨がってもかまいません。 ・グループ数やグループ内のフォルダ数はとくに制限はありません。
Gradle標準にビルド時のプロジェクト状態をレポートするProject Reports Pluginがあります. 本稿はこのプラグインを使ってみたレポートです. 公式ドキュメントにあるObtaining information about your buildで触れられているいくつかのコマンドをGradleのタスクとして定義できます. 導入は非常に簡単で apply plugin: 'project-report' を宣言するだけです. これにより追加されるタスクについて紹介します. DependencyReport プロジェクトの依存関係ツリーをテキストファイル形式でレポートするタスクです. レポートはbuild/reports/projectフォルダ配下に出力されます. このタスクはコマンドラインで下記を実行した結果と等価です. ./gradlew dependencies 下記のよ
Groovy SSHの開発で気づいたのですが、Groovy 2.3と2.4でTraitの挙動が微妙に異なるようです。 2.3から2.4に上げたところ、Traitのメソッドに書いたクロージャをdelegate指定で実行してもdelegateのプロパティやメソッドが解決できない問題が発生しました。例えば、以下のコードの実行結果は2.3と2.4で異なります。 // クロージャをdelegate指定で実行する class U { static <T> T callWithDelegate(Closure<T> closure, Object delegate) { def cloned = closure.clone() as Closure<T> cloned.resolveStrategy = Closure.DELEGATE_FIRST cloned.delegate = delegate
背景 : Gradle プラグインの開発について 独自の Gradle プラグインの書き方は次のページに書かれています。 Chapter 39. Writing Custom Plugins ここには公開の方法も書かれていて、次のように述べられています。 If you are publishing your plugin internally for use within your organization, you can publish it like any other code artifact. See the ivy and maven chapters on publishing artifacts. If you are interested in publishing your plugin to be used by the wider Gradle community
Gradle SSH Plugin 1.4.0、Groovy SSH 1.4.0をリリースしました。 github.com github.com 1.4.0の変更点 ECDSA Host Keyに対応しました。正確には、以下の場合にHost Key Checkingが失敗する事象を修正しました。 known_hosts にECDSA鍵が含まれる。 SSHサーバがRSA鍵とECDSA鍵を持っている。 JSchは0.1.52からECDSA Host KeyとECDSA User Keyに対応していますが、上述の場合には鍵交換でRSA鍵が選択されるためHost Key Checkingが失敗するようです。そのため、 known_hosts に含まれる公開鍵を元にアルゴリズムを指定するようにしました。とりあえずは ecdsa-sha2-nistp256 のみ確認済みです。384や521も動作すると
はじめに 前回の記事Androidのユニットテストを高速化するでRobolectricを利用すると良いのでは?って書いたので使ってみました。この方法を実践することでAndroidのユニットテストをJVMで実行することができ、テストの高層化につながります。 Andrroid gradle pluginが1.1以上であればInstrumentation Testと共存できるのでバージョンの確認を行いましょう。 やりかた Android gradle pluginのバージョンが1.1以上になっているのが望ましいです。1.1以前だと、Instrumentation Testと共存することができないっぽいです。 buildscript { dependencies { classpath 'com.android.tools.build:gradle:1.2.3' } }
#iOS | #Android ファショ通 Swift を身に付けていく過程の記録、最新ニュースや使い方、iPhone、Mac、Android、Python なども。 開発中に何十回, 何百回と端末またはエミュレータで動かしてテストしていると思います. 回数が多い分, 数十秒でも大きく生産性に影響します. Terminal からの選択しながらのビルドや Gradle コンソールで詳細を確認したりする方法は, まあ, あるっちゃああるけどもいちいちそんなの調べてやるのもなんだかめんどくさかったりして. 「ビルド時間の短縮」というようなキーワードでググればまあそれなりに似たような結果がみつかる. Android お手軽なビルド時間の短縮メモ 今回, なんとなくいちいちHTMLで結果が出力されるという 「コマンドラインオプションに --profile をつける」 というのをなんとなくやってみたら
前回までで、一通りJavaフレームワークとRailsの比較をしてきました。本連載の最後の比較は、少し趣向を変えてGroovy上に作成されたRailsライクなフレームワークGrailsとRailsの比較をしていきます。 GrailsはGroovy(Java公式仕様として策定が進められている、JavaVM上で動作するスクリプト言語)上で動作するRailsライクなフレームワークです。当初、Groovy on Railsという名称で作成が進められていたことからもわかるように、Railsに強く影響を受けていることが公言されています(後にRails作者の要請により改名)。 Groovyは豊富なJavaライブラリの利用が可能な上、言語設計自体もRubyの影響を受けているためRailsライクなフレームワークと相性がよいと考えられます。 Grailsに関する情報源には次のサイトがあります。
Vim 派の俺が Emacs 派に喧嘩を売りに来ましたよっと(無視推奨) 普通に考えたら Emacs を使うと思う というレスがあるが いや寧ろ普通に考えたらプログラマが GNU を使うとか自由ソフトウェア主義者すれすれじゃね? とマジレス(ストールマン様程じゃないとしても) 「環境」ってのは神聖視とか父親目線・コミッタ目線の隠語と深読み ifの話をするなら、Guile Emacs になって今よりずっと大人びて Scheme の Emacs にさすがの Bram も理性を保てなくなり使い出すも、 他のエディタに目移りして、やっぱり Emacs 一筋でハッピーエンドか本気で浮気しようとしてヤンデレルートか、の分岐点だと思 え………?? び、 Vim は GPL じゃなくて GPL 互換のチャリティウェアだからいいんだよ!!! 少なくとも Bram に開発されてるし(進行形)一度はラスボス(
StethoはFacebook製のデバッグ用ライブラリ。 使ってみるとかなり便利なのだが、Leakcanaryと違って、リリース用のダミー実装がない。 BuildConfig.DEBUGで判断してやるのもいいが、JARのサイズも500KBあるので、無視できない。 というわけで、リリース用の実装方法を書いてみる。 リリース実装方法 簡単に言うと、Leakcanary同様にreleaseソースにダミーのStethoを実装してやればよい。 すでにStethoが実装されているアプリを前提に書く。 build.gradleのdependenciesをcompileからdebugCompileに変更する。 dependencies { debugCompile "com.facebook.stetho:stetho:${versions.stetho}" debugCompile "com.faceb
Arduino 最近Arduinoとかラズパイとか触ってる。 超楽しい。 可変抵抗器をつないで自由にサーボモータ動かしたり、 PWM出力から音を出してシンセサイズしたり、 こんなことがこんな簡単に出来るんだと、感動してる。 Arduinoと可変抵抗器1つでサーボモータ動かす Arduino + Adafruit Motor Shield + Analog input0 ... Audionoサンプルを動かす(1) Auduino in Arduino - YouTube Audionoサンプルを動かす(2) Auduino in Arduino (2) - YouTube Arduino IDE Arduinoのソースコードをコンパイルして、Arduino実機にアップロードするために、 Arduino IDEというのが用意されています。 ちょろっと書いてちょろっと動かすっていう程度には、
測定方法 時間測定には/usr/bin/timeを使い、10回測定した平均を取っています。検索結果は/dev/nullに捨てたりせず、実際に表示させています。また、ディスクI/Oに影響されないよう検索対象はディスクキャッシュに乗った状態で測定しています。 結果 Linuxカーネルソース linuxをクローン直後(ファイル総数約5万、2.2GB)のディレクトリ検索です。検索結果の多いキーワード(EXPORT_SYMBOL_GPL)と少ないキーワード(irq_bypass_register_producer)の2通りの結果になります。 Linuxカーネルソース(ビルド済み) ↑と同じですが、カーネルビルドを行いバイナリが生成された状態(ファイル総数約9万、9.3GB)での検索結果です。生成されたバイナリは.gitignoreで無視されるので、そのあたりを考慮したツールが有利になる条件です。 W
出典:日経パソコン 2014年12月8日号 (記事は執筆時の情報に基づいており、現在では異なる場合があります) フローチャートは、多くの情報を整理するのにとても役立つ。いわゆる発想術の基本中の基本だ。 フローチャートのわかりやすい活用例に、組織図がある(図1)。社長→部長→課長、理事長→理事→会員といった図をよく見かけるだろう。最大の特徴は“階層”で情報を管理できることで、新たな考えを連想しやすくなる。チャートはノートに手書きしてもよいのだが、項目を移動しづらいし、数が増えてくると追加したときに記載する場所にさえ困ってしまう。パソコンを使うと、フローチャートの作成がとても簡単で、各項目の位置を動かしたり追加・削除・移動も手軽にできるのだ。また、数百項目に及ぶ大きなフローチャートも快適に作れる。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く