読者です 読者をやめる 読者になる 読者になる

必要最低限のrequirements.txtを作成する

シチュエーション Pythonでつくったサーバーアプリを環境へのデプロイするために、依存モジュールのバージョンを固定したrequirements.txtを作りたいけど、開発環境のPython環境がだいぶ使い古しで、試しに導入した不要なモジュールもあるので、単純にpip fr…

Gitでローカル・リモート一緒にブランチ名を変更したい

Git 2.11.1で確認。 シチュエーション hageってブランチ作って、 $ git checkout -b hage 諸々修正して、 $ git commit -a $ git push -u origin hage commit・pushした後に、 「あれ、ブランチ名間違えた。hogeだった」 ということで、ローカルとリモート併…

atom 1.9.x + graphviz-preview の表示バグの回避

Atom を使っていて、ちょっと図を書いて整理したいなんてときに便利な graphviz-preview ですが、2016/8/27現在、graphviz-previewの更新が、対応バージョン1.7.0で止まっており、現時点の最新である1.9.8で使用するとこんなことになってしまいます。 そのう…

追記:Let's Encrypt のDV証明書更新

この記事の続きというか補足。 自サイトをHTTPS化してみた - NoisySpot/メモ帳 Let’s Encryptで発行されるDV証明書の有効期限は90日間と短めに設定してありますが、Certbotのクライアントツールを使用していれば更新は簡単。コマンド一発です。 $ sudo letse…

自サイトをHTTPS化してみた

はてなブログでホストしていただいている等ブログの他に、勉強のために自ドメインでサイトを構築しております。 (内容はあまりありません。日記的ブログだった残骸があるだけです…) Noisy Spot | 個人的まとめ で、なんか最近調子が良くなかったので、OSご…

Emacsへのphp-mode, php-completion の導入方法

下記の参考資料通りにやってみたところいくつかエラーが出たので、試行錯誤して正常にインストールできた手順をメモ。 前提 Emacs 24 (本記事は gnupack版Emacs for Windows 24.2.1でテスト) melpa, marmalade のパッケージマネージャが使用可能であること …

Java8 定義済み関数型インタフェース(主要なものメモ)

忘れるのでメモ。プリミティブ型用のインタフェースは省略。 Interface Scala風関数型表記 Consumer<T> (T) => void BiConsumer<T, U> (T, U) => void Supplier<T> () => T Function<T, R> (T) => R BiFunction<T, U, R> (T, U) => R Predicate<T> (T) => boolean BiPredicate<T, U> (T, U) => bo</t,></t></t,></t,></t></t,></t>…

無限Streamに終了条件を設定する

例えばDOMのようなツリー構造があったとして、あるノードを渡された時に、ルートからそのノードまでの名前を連結してパス文字列を作成する、というプログラムを考えます。Java7でも動くように、副作用ループを使った書き方だとこんな感じ。 public static St…

System.Threading.Mutex の話

C#

.Net4.5時点のお話です。.Netの標準APIで、Mutexを扱うためのSystem.Threading.Mutexというクラスがあります。こいつはIDisposableなのですが、直感に反し、Disposeが呼ばれても確保したMutexを解放してくれません。どうやらDisposeメソッドは、基底クラスで…

LINQメモ

C#

初めてC#での開発プロジェクトに入るので勉強してます。 最近の言語の御多分にもれず、 Functional Collection的なコレクションAPIがありますが、SQL(LINQ)由来のメソッド名が多く、ぱっと見、ScalaやHaskell等とは雰囲気が異なるので、メモがてら高階メソッ…

ADFアプリのリソースチューニング

ADFアプリのリソースチューニングというと、独自のチューニングポイントとしてアプリケーション・モジュール・プールがありますが、ここでは大抵のJavaEEアプリで問題となるHTTPセッションタイムアウトとデータベース接続プールについて考えます。 HTTPセッ…

ADF Tableの末尾に新規行を追加するには

ADFのデータコントロールで、新規行を追加するOperationBindingは、CreateInsertにしろCreateWithParamにしろ、「カーソル位置への挿入」なので、データの末尾に追加するというのが素直に行えません。しょぼい。OTNのディスカッションでも時々話題になるよう…

ADF Table とデータコントロールの選択状態同期

だんだん内容がショボくなって参ります。データコントロールツリーからコレクションをデザイナ上にドラッグ・ドロップしてTableを構成するとき、行選択を有効にしておくと勝手に選択状態が同期するようになるのですが、一度行選択を無効にして構成してしまう…

PagePhaseListener のメモ

ADFには、JSFのPhaseEventとは別に、ページライフサイクルの各フェーズの開始・終了で発火するPagePhaseEventというのがあります。こいつのリスナ、PagePhaseListener は、呼ばれるフェーズを選択できず、毎フェーズの開始/終了で必ず呼ばれます(JSFでいう…

表で合計行の表示

最近 Oracle ADF を使ってます。古き良きC/S時代のVisualBasicみたいなデータバインディング付きのUIコンポーネントなんかがあったり、コンポーネントをIDEのデザイナ上でペタペタ貼って画面を作ったりと、おじさんにはすんなり理解できそうな感じがよいです…

Scala ARM的な自動リソース管理(超簡易版)

自動リソース管理(というかclose管理)を使いたいけど、Scala ARMライブラリを導入するほどのもんでもないなー、というときに自作するためのメモ。 // ラッパクラスと関数の定義 class ManagedResource[T <: {def close(): Unit}](resource: T) { def foreach[U](f: T => U) { try { f(resource) } finally { resource.clo</:>…

FibBuzzをJavaで書いてみる

FizzBuzz は時代遅れらしいので FibBuzz を発案します | cod.noteJavaで書いて見ました。CodeGolf的に頑張るのはJavaっぽくない(偏見)のでまあ普通に。longだとフィボナッチ数列がn=92で桁あふれしてしまうのでBigIntegerでやってます。このため非常に見づ…

Scalaで「アラビア数字・ローマ数字変換」

お題はこちら。お題:アラビア数字・ローマ数字変換 - No Programming, No Lifeテストは割愛。ご覧のとおり、 アラビア数字→ローマ数字の場合は、大きい単位から順に元の数字から引いていって、引けた記号を積むだけ ローマ数字→アラビア数字の場合は、左側…

Scalaで「フルパスから相対パスを求める」

懲りずにやってみた。 お題はこちら。お題:フルパスから相対パスを求める - No Programming, No Lifeお題とは直接関係ないけど、例外のテストを行うための@Test(expected=classOf[HogeHoge]) をうまく略記する方法はないものでしょうか。※仕様が追加されて…

「ある金額になるコインの組み合わせ」をScalaで

続いてやってみた。お題はこちら。 お題:ある金額になるコインの組み合わせ - No Programming, No Lifeあまり芸のない総当たりだけど、こんなんでいいのかな。 object CoinAssort { def search(coinList: List[Int], sum: Int, curAssort: List[Int] = Nil)…

FizzBuzz(Nパターン)をScalaで

お題:FizzBuzz(Nパターン) - No Programming, No Life こちらのお題にScalaで挑戦。手続き脳が頑固で苦戦しました。 object FizzBuzzN { def main(args : Array[String]) : Unit = { fizzBuzzN(List(3, "Fizz", 5, "Buzz", 7, "Hoge"),100).foreach(s => pr…

try-with-resourcesを試してみる

少し時間ができたので、↓の記事を参考にJava7のtry-with-resourcesを試してみました。 Java7 体当たり/try-with-resources Statement - 日々常々まあ他の言語からするとアレですが、Java6以前から比較すると地味にありがたい拡張ですね。特にcloseのチェッ…

ScalaでJUnitテストケースを書く

とりあえず、Scala用のテストフレームワークは使わず、素のJUnitを使った例。Eclipseから使う場合、JUnit関連クラスのimportはクラススコープの外側に書いておかないと、右クリックからテスト実行できないようです。あと、Scala2.8からアノテーションのパラ…

Monadについて

勉強中。あとでまとめる。 (2010/09/06)ざっくりまとめ オブジェクト指向・手続き型脳味噌で理解したモナド(の概念の一部) モナドは、副作用の範囲を封じ込めるコンテナとして見ることができる 高階関数を受け取り、モナドの中身に適用して、その結果をまた…

EclipseのJavaプロジェクトや動的WebプロジェクトでScalaソースを混在させる

「EclipseでのScala+Webアプリ開発 」の件で、とりあえずScalaコードを混ぜ込んでもビルドされるようになったので、方法の簡単に書いておきます。ただしちゃんと検証できてないので真似する際は自己責任で。 Scala IDE for Eclipse (Scala Plugin)をインスト…

機能のテンプレ化に関する考察

大規模システムのフレームワークとか作っていると、まずは「機能の標準化」というお題目で、画面の流れのモデルケースを作り(例:検索→一覧→選択して編集→DB更新→検索画面へ戻る)、個別機能の設計ではこのモデルケースに極力準拠してもらいつつ、実装作業…

EclipseでのScala+Webアプリ開発

Praiades All-In-OneにScala Plugin 2.8.0.finalを入れて試してるのだけど、これってScalaプロジェクトじゃないとScalaソースをコンパイルしてくれないのでしょうか?Dynamic Web プロジェクトを作成して、ソースフォルダにScalaソースを置くと、javacでコン…

フレームワークとして共通化する部分の抽出

処理の整理の段階で大体分類は終わってるんですけど、基本的には、前回([id:shout_poor:20100817#1282021845])での整理のうち、「本処理」の部分が個別ロジックとなり、それ以外のところは共通化できると考えます。以下、切り分けが微妙な部分の検討。 入力…

ServletもScalaで書ける

そりゃそうだ。多忙な Java 開発者のための Scala ガイド: Scala とサーブレット

Webアプリケーションが行う処理の整理

ひとまずUIはおいといて、ボタンクリック等のイベント発生から、次の画面表示(またはWebAPIのリクエストからレスポンスまで)に行われる処理の一覧を書き出してみる。(8/18 例外処理、その他の追記) 前処理 個別ロジックの選択 セッションデータの取得 アク…

Oracle JDBCドライババージョンによる日付型の扱いの違い

元記事最終更新:2010/08/26 概要 Oracle10gになってJDBCドライバの仕様が変わり、OracleのDATE型に対応するJava型が、java.sql.Timestampからjava.sql.Dateへ変更となった。また、Oracle側にTIMESTAMP型が追加となった(従来のDATE型は秒までの精度だが、TIM…

例外のスタックトレースが途切れる

元記事最終更新:2007/04/19 概要 Sun Java VMに含まれる、HotSpot Servet VMでアプリケーションを実行する際、たまに例外のスタックトレースが省略されてしまう件に関して記述。 現象 Sun Java SE 1.4.1_08 のHostSpot Server VMで確認。 同じ箇所繰り返しN…

crontabで月末日を指定

元記事最終更新:2009/05/08crontabで、月末日にスケジューリングしたいときの記載例 50 23 28-31 * * /usr/bin/test $( date -d '+1 day' +%d ) -eq 1 && /hoge/job Solaris(非gnu tool)だと date -d が使えないんだけど…… 環境変数TZでごまかすとか。 /usr…

RFC1123形式での時刻出力をJavaで実装する

元記事最終更新:2007/04/19HTTPヘッダ等に時刻情報を付加する場合、通常、RFC1123形式でフォーマッティングする必要がある。 以下は、現在時刻をRFC1123形式の文字列で取得するJavaコード例。 /** * RFC1123形式で現在時刻を取得する * @return 現在時刻をR…