タグ

ブックマーク / torutk.hatenablog.jp (18)

  • Redmine 5.0.0がリリースされていました - torutkのブログ

    Redmine 5.0.0リリース 先月末の3月28日に、Redmine 5.0.0がリリースされていたことを知りました。 Redmine 5.0.0 リリース | Redmine.JP Blog 今回のメジャーバージョンアップでは、Rails 5.2から6.1への移行がなされ、合わせて Zeitwerkというオートロードに対応したとのことです。従来のclassicオートローダーはRails 6では非推奨で、Rails 7で廃止となります。この変更で、一部のプラグインが動作しなくなりプラグイン側で修正が必要となります。 その他、多数新機能が追加されています。 Redmine 4.2から5.0へのアップデート Rocky Linux 8.5上で稼働しているRedmine 4.2(Unicorn + Nginx)を、Redmine 5.0にアップデートします。およその手順は次です。 Redmi

    Redmine 5.0.0がリリースされていました - torutkのブログ
  • 転職3ヶ月経過 - torutkのブログ

    転職3ヶ月経過しました 昨年11月末に、29年勤務した会社を退職し、12月1日から宇宙分野の会社に勤務開始しました。スペースデブリの除去や衛星の寿命延命といったサービスをこれから手掛ける会社です。 新しい環境に適応するのは大変なことです。そこで、次のステップを意識しました。 最初の3日間をクリアすること 次の3週間をクリアすること 3ヶ月をクリアすること 最初の3日はけっこうつらいですが、なんとか3日が過ぎたら、次は3週間をクリアすることを目標にします。ドメイン知識がないので、とびかう略語も分からず、略語表をみながら、必死に知識を獲得していかなければなりませんでした。分からなければ質問してね、ということも、質問できるにはそれなりの知識があっての話です。最初の頃は、質問することさえできず、メンタル的にかなりハードな日々でした。最初の1,2週間は、週末は知恵熱がでるような感じでした(年齢故か発

    転職3ヶ月経過 - torutkのブログ
  • Java SE 9で小さなプログラムを動かすためのJavaVMオプション指定 - torutkのブログ

    先日、アナログ時計表示プログラムをJava SE 9のモジュール化対応をしました。 AnalogClockプログラムをJava SE 9のモジュール化 - torutkの日記 次は、Java SE 9での実行です。 Java SE 9からは正式リリースに32bit版が含まれず、64bit版のみとなっています。直前のEarly Access版では32bit版も存在していたので、32bit対応していないのではなく、Oracleがもう32bit OSをJava SEのサポート対象から外したということのようです。 ここで、64bitJavaでアナログ時計を動かす問題として、64bit版のJavaVMのデフォルト設定が異常にメモリ・CPU喰いとなっている点にあります。これは、サーバー上に一つのJavaVMプロセスが稼働し、そのプロセス上で多数のスレッドが動作するサーバー用アプリケーションには適した

    Java SE 9で小さなプログラムを動かすためのJavaVMオプション指定 - torutkのブログ
  • Redmineプラグイン作成でHookを使ってみる(続々) - torutkのブログ

    前回(Redmineプラグイン作成でHookを使ってみる(続) - torutkのブログ)は、RedmineプラグインでView hooksの実装(HTMLテンプレート)において、コントローラークラスのインスタンス変数を利用する方法について記述しました。 今回は、既存のモデルをHTMLテンプレート内で利用する方法を調べてみました。 プロジェクトの概要ページのチケットトラッキング Redmineで[概要]メニューを開くと、「チケットトラッキング」が表示されます。 しかし、ステータスごとの件数ではなく、未完了か完了かで集計されてしまいます。完了は、通常は[終了]または[却下]のステータスとなり、それ以外は未完了となります。 ステータス毎の集計を見たい場合、標準ではその画面が見当たらないので、プラグインを作って対応してみます。 チケットの件数を取得する方法 Railsでは、モデルにcountとい

    Redmineプラグイン作成でHookを使ってみる(続々) - torutkのブログ
  • RedmineでWikiページにカスタムクエリへのリンクを記述する - torutkのブログ

    きっかけ Redmineのチケット機能を使って、バグ管理、課題管理、Q&A管理、備品管理、タスク管理など様々な作業の管理が行えます。一つのプロジェクトで多数の種類のチケット管理をするようになると、それぞれの種類ごとに一覧表を見られるようにしたくなります。例えば、バグ一覧、課題未着手一覧、備品貸し出し中一覧、Q&A問い合わせ中一覧などです。 Redmineの標準機能であるカスタムクエリを使うと、検索条件を名前を付けて保存することでチケット画面の右側パネルにクエリの名前が表示されて簡単に目的の一覧が見られます。 しかし、いったんチケットに切り替える必要があり、またカスタムクエリの種類が増えるとちょっと選択が手間になってきます。 そこで、Wikiページにカスタムクエリへのリンクを系統立てて記載することができると便利です。Wikiページをプロジェクトのポータルとして位置付けることになります。 とこ

    RedmineでWikiページにカスタムクエリへのリンクを記述する - torutkのブログ
  • RedmineのWikiページからカスタムクエリへリンクするマクロをプラグインとして用意 - torutkのブログ

    torutk.hatenablog.jp で、RedmineのWikiページにカスタムクエリへのリンクを設けて、クリックすると所定のカスタムクエリの結果のチケット一覧ページに飛ぶようにする方法を模索し、Wikiマクロを作成することで解決の目途を立てました。 このWikiマクロを、プラグインとして展開できるように、また今後いろいろなマクロを追加していけるように構成を見直して、Githubにリポジトリをつくりました。 https://github.com/torutk/redmine_cozy_wiki_macros 今日の日記は、構成の見直しとGithubへ上げる作業のメモです。 プラグイン名 Redmineのプラグイン名は大半が、redmine_xxx のようにredmine_を付けています。最初、わざわざredmine_を付けるのはプラグイン名が長くなるし、redmineディレクトリ下の

    RedmineのWikiページからカスタムクエリへリンクするマクロをプラグインとして用意 - torutkのブログ
  • redmine.tokyo 第8回勉強会に参加しました(#redmineT) - torutkのブログ

    今日は、第8回勉強会 - redmine.tokyo に参加してきました。 第8回東京Redmine勉強会 #redmineT - Togetter 場所は東京駅八重洲口南すぐにあるグラントウキョウサウスタワービルの41Fと超高層な場所でした。八重洲ブックセンターの向かいに割りと新しくできたビルです。 開会 参加者アンケート結果 の紹介からちょっとメモ。 使用しているRedmineのバージョンは、2.6が多く、3.0もそれなりに多い 使用しているバージョン管理ツールは1位がSubversion、割と肉薄して2位がGit 使用しているプラグインは1から6個の範囲が多い 定番のWiki extensionsとIssue Templateが人気でした。どちらも使っています。 Redmineによるwebサポート窓口の実装と運用 Redmineによるwebサポート窓口の実装と運用 Redmine.J

    redmine.tokyo 第8回勉強会に参加しました(#redmineT) - torutkのブログ
  • Redmine 2.3.0から2.3.1へのアップデート手順メモ(CentOS 6.4 x64) - torutkのブログ

    GW連休直前に職場のRedmineを2.2.2→2.3.0にアップデートしておきました。そしたら2.3.1がリリースされましたので、GW連休明けの運用前に2.3.0→2.3.1にするのに備えて自宅環境で確認をしておきます。 動作環境 OS: CentOS 6.4 x64 RACKサーバー: Unicorn serviceコマンドで起動・終了制御可 RDBMS: MySQL 5.1 現バージョンのRedmineインストール場所:/var/lib/redmine-2.3.0 およびシンボリックリンクファイル/var/lib/redmine アップデート手順 redmine-2.3.1.tar.gzをダウンロード /var/libディレクトリに、ダウンロードしたredmine-2.3.1.tar.gzを展開 ~$ cd /var/lib lib$ sudo tar xzf ~/redmine-2

    Redmine 2.3.0から2.3.1へのアップデート手順メモ(CentOS 6.4 x64) - torutkのブログ
  • 契約による設計(Design by Contract)の実装 - torutkのブログ

    契約による設計(Design by Contract)の実装を検討 - torutkのブログで契約による設計の実装を検討しました。今回は、検討に従って実際にC++でプログラムコードに表してみます。 事前条件 C言語標準マクロ assert を用いた実装 C言語の標準マクロassertを使った事前条件検出と通知のコード例です。コンパイル時にNDEBUGシンボルを定義しなければ、事前条件違反時にプログラムを停止させます。 void Person::setAge(int age) { assert(0<=age && age<=200); // 年齢有効範囲は0才〜200才 ... 処理 } C++例外機構を用いた実装 例外機構で実装すると、検出箇所(ファイル名・行番号)やメッセージを例外クラス生成時に指定する必要があります。また条件判定に普通にC++の条件文で記述するため少しコードが煩雑です。

    契約による設計(Design by Contract)の実装 - torutkのブログ
  • Windowsのディレクトリ構成ガイドライン - torutkのブログ

    Windows Vista/7 になって、ユーザーのディレクトリがC:\Users下になったり、C:\Users\<ユーザー名>\AddDataなるディレクトリが出来たり、C:\ProgramDataなるディレクトリが出来たり、といろいろな変化があります。 また、C:\Program Filesの下にインストールしたプログラムの設定ファイルを変更すると、C:\Users\<ユーザー名>\AppData\Local\VirtualStore\Program Files\foo\foo.ini などに書かれたりします。 そのような状況で、開発したプログラムをどこにインストールするように設定すればいいのか、Windowsの流儀が分からず、調べてみると、"Namespace Usage Guidelines for the Window Vista File System"という技術文書に行き当た

    Windowsのディレクトリ構成ガイドライン - torutkのブログ
  • カスタムJavadocとJDK 7で新しく導入されたクラス・メソッド - torutkのブログ

    JDK 7で追加されるクラス・メソッドを一覧してみようと思いました。標準APIのソースコードはJDKと一緒にインストールされるので(src.zip)、これを展開し、Javadocコメントの@sinceタグに1.7とあるものを抽出すればいいというのが最初の発想です。 JDK 7のソースコードからJavadocコメントの@sinceタグ部分抜粋 新しく導入されたクラスは、クラスのJavadocに記載される@sinceタグに1.7と書かれています。以下は、JDK 7で新規追加されるクラス javax.swing.JLayer の例です。 package javax.swing; :(中略) /** * {@code JLayer} is a universal decorator for Swing components :(中略) * @since 1.7 :(中略) */ public fi

    カスタムJavadocとJDK 7で新しく導入されたクラス・メソッド - torutkのブログ
  • GCCのコンパイルオプションで関数トレーサ - torutkのブログ

    このの「#77 関数へのenter/exitをフックする」で、GCCのコンパイルオプション-finstrument-functionsを使い、関数が呼び出された時、関数から復帰するときにフックを入れる方法が紹介されています。フック関数のシグニチャは以下です。 void __cyg_profile_func_enter(void* func_addr, void* call_site); void __cyg_profile_func_exit(void* func_addr, void* call_site); このフック処理に渡されるアドレスから関数名を出して、関数の実行を追う簡易な関数トレーサを作成します。アドレスから関数に変換する方法で一番簡単そうなのは、同じの「#62 dlopenで実行時に動的リンクする」でglibcのGNU拡張として紹介されているdladdr関数です。 #i

  • .NET Frameworkのメモリ管理と断片化問題(.NETアプリケーションを長期連続実行するのは要注意) - torutkのブログ

    C#とJavaの言語選定にあたり、実行環境の比較をするため、ガベージコレクタについて調べていました。 .NET Frameworkのガベージコレクション方式は世代別GCですが、Javaとは随分異なっています。特に顕著に異なっているのがLOH(Large Object Heap)と呼ばれる大きなサイズのオブジェクトを格納する専用ヒープ領域がある点です。現在のバージョンでは、85KB以上のサイズのオブジェクトは世代別管理のヒープ(generation 0)ではなく、このLOHに割り当てられます。 この仕組みについては、MSDNマガジン(オンライン)の記事に詳しくあります(以下URL)。 CLR徹底解剖:大きなオブジェクトヒープの秘密 LOHは、第2世代(Javaで言えばOld世代)のGCと同じタイミングでGCがかかります。LOHでは、オブジェクトか回収された後、コンパクションを実施しないため、

    .NET Frameworkのメモリ管理と断片化問題(.NETアプリケーションを長期連続実行するのは要注意) - torutkのブログ
  • エンタープライズシステムの開発言語選定の一考察(C#とJava) - torutkのブログ

    アーキテクチャ設計の一部に、プログラミング言語の選択があります。選択に関わるのは仕事では10年振り(うん? ちゃんと数えると13年か・・・)です。3月から下調べを開始して、可能な限り公平に。 もちろん人間の判断なので、主観が大きく関与せざるを得ません。特にプログラミング言語は、パラダイムの選択になるので。 前提の明確化 技術選定にあたっては、前提を明確にしておかないと、果てしない議論に陥ってしまいます。 ここでは、開発対象をエンタープライズ・システムとします。エンタープライズ・システムは、開発期間よりも運用(保守)期間が数倍(たとえば、開発1年に対して運用10年といったことも珍しくない)になります。また、システム化範囲も昔に比べて増えてきており、その分作成されるアプリケーション規模(機能量)も大きくなります。 また、運用(保守)期間では、随時機能の変更・追加が行われる想定とします。 システ

    エンタープライズシステムの開発言語選定の一考察(C#とJava) - torutkのブログ
  • プロセスフローダイアグラム(PFD) - torutkのブログ

    新しいプロジェクトに4月から投入され、右も左も分からない状態からあっという間に半月経過しました。設計メンバーでこれからどう作業を進めていくか、暗中模索をする中、ふっと昔作ったPFD(プロセスフローダイアグラム)を思い出し、メンバーでまずはブレインストーミング的に書き始めてみました。 PFDは、ソフトウェア開発プロセス・コンサルタント(?)の清水吉男さんが紹介している、開発作業(プロセス)の連鎖を表記する方法です。 http://homepage3.nifty.com/koha_hp/ 上記WebページにあるPFDの説明資料 もう十数年前ですが、数人のチームで、初めてオブジェクト指向分析設計を用いてソフトウェア開発プロジェクトを進めることになった時に、設計作業の進め方を定義するために、データフローダイアグラム(DFD)をもじって絵にして、作業のイメージを共有しました。ただし、この作成はかなり

    プロセスフローダイアグラム(PFD) - torutkのブログ
  • Mercurialで外部diffツールを指定する - torutkのブログ

    バージョン管理ツール Mercurial は、コマンドラインツールとして提供されており、差分の表示もコマンド環境です。特にWindows上ではコマンド環境は貧弱なので、できれば差分表示はGUIの差分ツールを使用したいところです。 設定方法 Mercurialの設定ファイル(WindowsならMercurial.ini)に以下を記述します。 [extensions] extdiff = [extdiff] cmd.xxx = 外部diffツールのパス opts.xxx = 外部diffツールのコマンドラインオプションxxx の部分は使用者が任意の(hgサブコマンドとかぶらないもの)名前を使うことができます。この名前は、hg xxx とhgのサブコマンドのように使います。 外部diffツールのパス、ツール起動時に指定するコマンドラインオプションを、[extdiff]項に記述します。 Windo

    Mercurialで外部diffツールを指定する - torutkのブログ
  • 2007-07-15

    Windows Vista 64bit版上で、JDK 1.6 x86/x64版をインストールして、64bit版の能力を探ってみました。 実験環境の構成 CPU AMD Athlon 64 x2 4200+ メモリ 2GB OS Windows Vista Ultimate 64bit JVM Sun JDK 1.6 U2(1.6.0_02) 64bit長のデータアクセス 2つのスレッドを並列実行させ(デュアルコアPC)、スレッド間で共有する64bitプリミティブ型(long)を排他制御なしに1つのスレッドがwriteしもう1つのスレッドがreadし、意図しない値(32bitで分断)が観測されるか否かを実験しました。writeスレッドは、共有変数に次の2つの値を交互に書き込み続けます。 0xAAAAAAAAAAAAAAAA 0x5555555555555555 readスレッドは、共有変数か

    2007-07-15
  • 2006-09-28

    Cygwinを何気にアップデートした際、シェル起動時にエラーが発生するようになった。 : command not found bash: /cygdrive/h/home/torutk/.bashrc: line 20: syntax error: unexpected end of fileみたいな感じです。bashを3.1.6に戻すとエラーは発生しないので、bashのアップデートが原因です。 で、いろいろ調べると、.bashrcをはじめとしたスクリプトファイルの改行コードがCR+LFだと発生することがわかりました。前はCR+LFでも問題なかったのですが・・・。 makeもCygwinの最新3.80-1にするとWindowsのドライブ文字を含むパスを受け付けないようになっていることなど、なんか最近Windowsに厳しいバージョンアップが行われているようです。 昔は、以下のようにmainメ

    2006-09-28
  • 1