tohokuaikiのチラシの裏

技術的ネタとか。

2014-01-01から1年間の記事一覧

卓球界のプリキュア・・・

プリキュア Advent Calendar 2014 - Adventarの18日目です。趣味で20年ぶりの卓球をしているのですが、おおぅこれはと思ったのがこの一品です。 使い方 こうやって、ラバーに吹き付けて ふき取ります。 ちなみに、pixivでキュアウォーターを検索したらこんな…

Confluenceのプリキュアマクロをリリースします

4カ月ほど前にプリキュアハッカソン2という頭のおかしい殺伐としたサザンクロスWEB業界に癒しを与えるようなイベントに出席したのですが、その際に作ったプリキュアマクロをリリースします。Release first release · tohokuaiki/confluence-precuremacro · G…

Confluenceのプラグイン開発で、別のプラグインで作ったComponentをimportする方法

別のプラグインで作成したpublicなcomponentを使うことができます。ただし、インストールしてあるjarを使うのではなくjarのコンパイル時に組み込むので呼び出し先のjarファイルが必要です。こんな感じです。 2つプラグインを作っていくので、atlas-runし直さ…

TOKYO MXにおけるプリキュアシリーズの再放送における一考察

プリキュア Advent Calendar 2014 - Adventarの12日目です。 フルスタックキュアエンジニアへの道としてTOKYO MXの再放送枠の活用 今年で10周年を迎えたプリキュアシリーズですが、フルスタックキュアエンジニアになるにはTOKYO MXの再放送がなにより捗りま…

PHPでコンソールに色付きで出力する

php

元エントリはこちら phpのバッチでターミナル上で色をつける方法 - maru.cc@はてな phpのバッチでターミナル上で色をつける方法 - maru.cc@はてな 関数化と、その色について 確認コード

あるdelimiterでsplitしたい時にdelimiterに対してエスケープしたい場合のsplit

なんのこっちゃという感じですが。要は、 var string = "base=aaa\\|bbb\\=ccc|conf2dita_table_order=1|frame=bottom|platform=pla\\=foo\\|\\|\\|rrr\\=mmm|props=test"; var split = split_ex(string , "|"); // 結果 split = ["base=aaa", "bbb=ccc", "c…

Confluenceでリンクを再度編集しようとしてたら文字化けになってしまうバグの対応

Confluenceでリンクを設定してその後で編集しようとして 数値参照になってしまうのは昔から困ったバグなのですが、なかなか直りません*1。こんな感じで困ってらっしゃる方もいらっしゃいます。 リンク編集時の文字化け - GakuNinmAPpublic - meatwiki 根本的…

ConfluenceでBasic認証を掛ける

ログイン認証あるからいらないじゃーんっていうかもしれないけど、とりあえずそんな要望がどこからともなく聞こえたので試してみた。 UserDatabaseRealmだとダメっぽい? TOMCATで設定するBASIC認証の失敗する原因 - QA@IT を参考に、UserDatabaseRealmを使…

XSL俺的サンプル

XSL書いてて、自分のサンプル用メモ。随時追加 属性値hogehoge以外をapply-templateさせる <xsl:apply-templates select="@*[not(name()='hogehoge')]"/> ある変数要素配下のfoo要素で属性barの値がbazであれば条件 <xsl:if test="count($wrapper/foo[@bar='baz'])>0"> </xsl:if></xsl:apply-templates>

CentOS5系のMySQL5.0におけるInnodb使用について

何度もやってるのだけど毎回ややはまるのでメモ。 my.cnf [mysqld] default-character-set = utf8 default-table-type = InnoDB innodb_data_home_dir = /var/lib/mysql/ innodb_data_file_path = ibdata1:101M:autoextend:max:1990M innodb_file_per_table*…

SimpleXMLElementのファイル限界値があったのでPEAR::XMLRPC2を書き換えてみた話

php

php - How can I handle a huge XML file using SimpleXML but to prevent memory and performance problems? - Stack Overflow で大きいファイルダメっすよって言われてるのだけど、PEARのXMLRPC2がSimploeXMLElement使ってて、ぐぬぬって思ったので調査す…

ConfluenceのMacroUtils.defaultVelocityContext()で得られるもの

Map<String, Object> defaultContext = MacroUtils.defaultVelocityContext(); で得られるもの一覧。 Map<String, Object> defaultContext = MacroUtils.defaultVelocityContext(); for (String key: defaultContext.keySet()){ map.put(key, defaultContext.get(key)); } とかしてVelocityテ</string,></string,>…

Confluenceプラグイン開発でRenderer Componentモジュールが既に無効らしい件

2日近くかかってしまったのだけど、どうやらできないってことでF.Aらしい。 何がしたかったかというと、Confluenceのページ内容をFilterしたかった。 PHPでいうところの、ob_start()のコールバック的な。そんなFilterくらいあるんじゃないかと思ったのだけど…

Confluenceのエディタ画面でのgetTextのキーとテキスト一覧

AJS.I18n.keysに入ってたものをリスト化 キー テキスト admin.keyboard.shortcut.add.comment.desc コメント admin.keyboard.shortcut.addlabel.desc ラベルの編集 admin.keyboard.shortcut.create.blog.desc ブログの追加 admin.keyboard.shortcut.create.c…

Confluenceのイベントクラスのまとめ

一旦 find 5.3.1 -type f -name "*java"|xargs grep "eventPublisher.publish(" > ../eventPublisher.txt find 5.3.1 -type f -name "*java"|xargs grep ".publishEvent(" > ../publisEvent.txtってやってイベントを発火させているファイルを求めて、ソース…

Confluenceのプラグイン開発で、Eventを使う方法(Annotation Based)

ConfluenceのPluginでEventをあれこれする方法です。参考文献はこの辺りで。 Event Listener Module Annotation Based Event Listener Example Writing an Event Listener Plugin Module EventListener Example Annotation Basedの方が新しくて良いようだ。…

Confluenceのプラグイン開発におけるJavaScriptの国際化

transformerのススメ 本当の方法であれば、propertiesファイルをJavaScriptに変更してくれるらしい。その方法として、1つの言語ファイル(***.properties)をVerlocityテンプレートの中で使えるようにしたり、JavaScriptで使えたり、soyテンプレートで使える…

ConfluenceのVelocityテンプレートでSubmitボタンをaui-themeにてつけようとして挫折

Velocityのカスタムタグで、auiテーマを使って #tag ("Submit" "theme='aui'") ってやると、送信ボタンとキャンセルリンクが良い感じに出てきて便利なのだけど、キャンセルリンクを消したい場合にどうやっていいかわからず。ソースが confluence-core/conflu…

ConfluenceのSystemプロパティ一覧

Confluence内のコードで Properties properties = System.getProperties(); for(Object s:properties.keySet()){ System.out.println(s.toString()); System.out.println(properties.get(s).toString()); } ってやった結果。 key value java.vendor Sun Micr…

Confluenceのマクロパラメータの落とし穴

<parameter name="AAAAxmlnsBBB" type="string"/> というように、xmlnsをパラメータの名前に入れるとインストールエラーをおこすっぽい。OMG!質問してみた! Confluence xhtml-macro with parameter which name attribute value includes "xmlns" cause problem. - Atlassian Answers</parameter>

Confluenceのマクロパラメータについて調べてみた

XHTMLマクロやマクロを作るときにatlassian-plugins.xmlで定義したいのだけど、イマイチ定義一覧みたいのが見つかられなくて、ソースから解析してみた。 手っ取り早くはDTDがあるんだけど。。。 confluence-project/confluence-core/confluence/src/etc/java…

DITA1.2の表組みについて、それぞれの要素にくるタグを調べる

良く分からないけど、 http://docs.oasis-open.org/dita/v1.2/os/spec/DITA1.2-spec/を見る限りではこんな感じかな?コンテンツっていうのは、「text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSe…

DITA1.2のエレメントとclassの一覧 (続)

ということで、先ほどのエントリはDTDからだけど、取りこぼしがありそうだと嫌なのでこちらのリファレンスから http://docs.oasis-open.org/dita/v1.2/os/spec/DITA1.2-spec/langref/ classの一覧を取ってみる。私がDTDから取り出したのは206個なのに、langr…

DITA1.2のエレメントとclassの一覧

結果だけ知りたい方は続編どうぞ。探したけど無いからDTDから作った。 @classは正確には、最後に半角スペースが入るから気を付けること。 使用したDTDは http://docs.oasis-open.org/dita/v1.2/os/dtd1.2/ 要素 @class alt - topic/alt boolean - topic/bool…

ちょっとしたアルゴリズム、クリックした奴が一番下になっていくDOMのZ-indexを求める場合とか

意外と難しかったのでメモ。 <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> で、クリックした奴がz-indexで一番下になって、くるくると変わっていくという感じで。keyとindexを変数としてマス目の値を求める。 Excel使って何となく解いたけど、理屈から言うと説明難しい。。。というかまだで…

JIRAのワークフローでトランジションを追加できなくなったステップがあって、削除もできなかった場合

ワークフローを作っていて、そういう場合があったのでメモ。「アクティブ ワークフローにアウト トランジションがないため、ドラフト ワークフローにアウト トランジションを追加できません。」 とか 「ステップ{0}は削除できません。」 とか言われる。Atlas…

jQueryでEventListnerを登録しつつ1回だけ実行する関数に名前を付けない

よくあるんだけど、ロード時にcheckboxに合わせてトグルするとか。1回だけコールするんだけど、 $('#foo').on('click', cbfunction); cbfunction(); とかってダサいじゃないですか。cbfunctionとか1回しか使わないしということで、 $('#foo').on('click', fu…

Re: スマートなコードの書き方12選

php

保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選 | BULK SERVER blogが盛大に突っ込まれてたのでサラッと自分なりのポイントを記述してみる。上記は既に削除してあるのでこちらから。 http://bulkserver.jp/blog/2014/08/07/php-code/ - 201…

イケダハヤト氏が高知に移住してネット上のパワーが低くなったかを調べてみた

*

どこで目にしたか忘れた のだけど、「イケダハヤトも高知に行って東京のころと比べてイマイチインフルエンス力が無くなった」みたいな意見を目にして、うーん、そんな気もする...と思ったので調査。 調査方法 イケダハヤトブログの全エントリーの「被ツイー…

ConfluenceのXWorkで、ダウンロードさせるActionを作る

Struts2の記事を参考に。ただ、参考にと言ってもXWorkにはない機能がStruts2にあるので要注意。 atlassian-plugin.xml resultのtypeにstreamを使用する。こんな感じ。 <result name="success" type="stream"> <param name="contentType">application/octet-stream</param> <param name="inputName">exportZipInputStream</param> <param name="bufferSize">1024</param> </result>