潜伏バグからのロングフリーズ

Javaっぽいエンジニアの徒然草

ギークスジョブに登録しようとしたら、とあるドラマが展開された件

何このラノベ感漂うタイトル。 どうも。フリーランスとなったモノクロタマゴです。 この記事を書いている段階では、下記3つのサイトに登録しています。 クラウドワークス ランサーズ ギークスジョブ 今回は、つい先ほどギークスジョブに登録しようとしたと…

開業届と青色申告は意外にも簡単だった

先日、最寄りの税務署に出向き「開業届」と「青色申告」を出してきました。 晴れてフリーランス化したわけですが、その話は置いておいて・・・ 面倒くさそうな印象しかなかった税務署手続きが、意外にも短時間で済んだという些細なお話になります。 【持って…

デブサミ2017いってきた

先週、デブサミ2017に参加してきました。 一部公演について、メモした内容を記載しておきます。 メモの内容に誤りがあったらごめんなさい(> <) codezineさんがまとめ作っているので、詳しくはこちらを参照すると間違いないよ! http://codezine.jp/article/d…

地味に便利なOracle置換変数

PrimaryKeyが同じ複数のテーブルがあるときに、データを書き換えながら導通確認したい場面がありました。 例えばテーブル構成が以下のようなときに、 「TABLE_01.COL1がAの時の動作、Bの時の動作、Cの時の動作がみたいなぁ〜」 「TABLE_02.COL4がDの時の動作…

三種のDiff器

このエントリ記事はDevLOVE Advent Calendar 2015 「Diff」14日目の記事です。 ■自己紹介 @monokuro_tamagoと申します。 恐らく大半の方が初めましてになるかと思います。 数ヶ月前まで首都圏でSEをやっていましたが、現在は転職し活動の場を九州に移しまし…

C#の列挙型(enum)でstring型を扱いたい場合は拡張メソッドを利用しよう

C#

ほぼ半年振りとなりました。 ここだけの話もう2015年になっているらしいので更新してみます。 JavaっぽいエンジニアがC#を扱ったが為にアレコレ苦労しているというお話です。 C#の列挙型(enum)では、許容される型が以下に制限されています。 ・byte ・sbyte …

GREATEST関数の引数限界を調べてみた@Oracle10g

GREATEST関数の引数限界に関して、255個が限界と書いているサイトがあった。 そのサイトにはOracleのバージョンに関する記載は無く、 気になったのでちょっと調べてみた。 試験環境はOracle10g。 とりあえず255個試してみた。 select GREATEST( 1,2,3,4,5,6,…

憧れのQNAPを購入した

NAS

松竹梅に加えて特松の4構成の中から、 ・初めての市販NAS ・用途を考えるととりあえず低スペックでOK ・いざとなったらHDD入替だけで上位NASへ移管可能 ということで最安のTS-220を購入しました。 購入内容一式 ・QNAP TurboNAS TS-220 ・Western Digital Re…

Wi-Fiルータがデバイス間のアクセスを防御していた

ネットワーク周りでハマったのでメモ。 ■2014/06/29時点のネットワーク構成 有線ルータの下にマシン3台と無線ルータ、 無線ルータの下にマシン2台が紐づいている形。 どこにもつながっていないマシン2台はお休み中。 ■何が起きたか MacからWindowsへのpingが…

パスワードが破られたみたい

メールを整理していると、 大昔に利用していた某サービスから 「普段と違うアクセスがあったよ」 という通知が来ていました。 普段と違うも何も、何年もアクセスしてません。 久々にログインを試みると、アカウントがロックされておりました。 どうやら破っ…

リブセンスの新卒研修から生まれた「Pacirii」から見えたもの~シェアで体験できること・できないこと

リブセンスの新卒研修から生まれた「Pacirii」から見えたもの~シェアで体験できること・できないこと http://gihyo.jp/news/interview/2014/05/2301 新卒研修でwebサービスをリリースするというのは面白い試みだと思います。 立案〜設計〜実装〜テスト〜リ…

FEARLESS CHANGE 第三章部分抜粋

FEARLESS CHANGE アジャイルに効くアイデアを組織に広めるための48のパターン 第三章の内容を部分抜粋したメモです。 書評タグをつけていますが、書評ではなく単なるメモの位置づけです。 独断と偏見で意訳した理解を記載しているため、著者の言っている内容…

Java Day Tokyo 2014

2014/5/22(木) に品川プリンスホテルで行われたJava Day Tokyo 2014に行ってきました。 Java Day Tokyoは、2013年から初まって今年で2回目の開催となるイベントです。 品川駅から2分の距離であり、建物自体も大きくて迷うはずは無いところですが、 案の定30…

musicデータの整備メモ

いろいろと環境が新しくなったので、 少しずつ所持CDをリッピングしなおして整備しようと思います。 そのためのメモ書きです。 これまでやっていた方法 ①Windows Media Playerで取り込み(mp3, 128kbps) ②Mp3TagでAmazon.comのデータでタグ付け (適当にやっ…

XPのサポートが切れたので、慌てて裸族のカプセルホテルにチェックインしてみた

「裸族」の「カプセルホテル」とな? 何それいやらしい。 2014年4月9日。 長年お世話になったWindows XPのサポートが遂に終了しました。 それに伴い、自宅メインマシン(自作機)のOSを Winsow8 に移行… するために、裸族のカプセルホテルにチェックインした突…

直感的で一目で分かる日付の大小比較

これまでDate型の大小比較はDate#compareToを利用していました。 これです。 public int compareTo(Date anotherDate) 処理結果は、次のようになります。 引数 Date がこの Date と等しい場合は値 0。 この Date が引数 Date より前の場合は 0 より小さい値…

Agile Samurai Base Camp

2013/12/8に行われた「Agile Samurai Base Camp」の参加レポートです。 http://www.agilesamuraibasecamp.org/ ※2014/4に同イベントが開催されると更新されてます!! 会場は渋谷のサイバーエージェント。 扱う内容は、「インセプションデッキ」「テスト駆動…

とあるSQLにおけるSQLパフォーマンスチューニング LEFT JOIN句で条件指定 vs WHERE句で条件指定

抽出したい情報 ・A_TBLにあって、B_TBLのCODEが'XXX'であるレコード ・A_TBLにあって、B_TBLにはないレコード 抽出したくない情報 ・A_TBLにあって、B_TBLにもあるがCODEが'XXX'ではないレコード (1) select * from A_TBL left join B_TBL on A_TBL.KEY=B_T…

FreeNAS 最新版(9.2.1.2)を導入しようとしてコケた件

NAS

自宅の既存ストレージが、 ・10年以上前のマシン ・OSはFreeNAS-8.0.3-RELEASE ・USBブート非対応のためFDからPLoP Boot Manager経由でUSBブート という古い構成だったので、マシン&OSの入替を行おうとしたメモ。 ①ISOダウンロード 公式サイトから必要なISO…

Railsを導入してmysqlを利用したプロジェクトを作成

rubyを導入した前回の続き。 今回はいよいよRailsを導入。 【Railsの導入】 とりあえずgem updateしたら早速エラーが発生した。 $ gem update Updating installed gems Updating CFPropertyList Fetching: CFPropertyList-2.2.7.gem (100%) ERROR: While exe…

ORA-00060とORA-02049

デッドロックについて問い合わせを受けたのでメモ。 デッドロック ORA-00060 分散トランザクション待機 ORA-02049 デッドロックは発生した瞬間エラーとなり、タイムアウト設定不可。 → ORA-00060が発生したら設計を見直し。 WAIT句対象レコードにロックがか…

コンパイルエラー「\65279は不正な文字です。」

Eclipse上で問題なく動いていたJavaコードに対して、コマンドラインからビルドをかけたところ表題のエラーが発生した。 \65279 = UTF-8のBOM(Byte Order Mark) どうやらソースファイルの中に、エンコードUTF-8でBOMありのものが紛れ込んでいるらしい。 Windo…

継続的Webサービス改善ガイド 第2章

継続的Webサービス改善ガイド 第2章 開発環境の改善~技術的負債の返済と,レガシーコードの仕様化テスト http://gihyo.jp/dev/feature/01/webservice-guide/0002 【概要】 webサービスの成長とともに大きくなる「技術的負債」を返済するために、 筆者が所属…

リファクタリング未遂事件

※別に事件でもなんでもないのだけれど語呂が良いので。 こんなソースコードを見かけた。 変数a, b, c, d, hoge, fuga, hogehoge, fugafugaは全てString型。 1. if (null == hoge || null == fuga) { 2. if(a.equals(b) && c.equals(d)) { 3. // 処理A 4. } 5…

Long.parseLong(s)とLong.valueOf(s)の違い

タイトルはLongだけど、Integerなんかも同じ。 parseXxx()はプリミティブ型を返す。 次の場合はlongの10となる。 Long.parseLong("10"); valueOf()はラッパー型を返す 次の場合はLongの10となる。 Long.valueOf("10"); Longクラスの実装を見ていくと、parse…

Developers Summit 2014 (2日目)

初めてデブサミに参加したのでレポートを。 公式サイト http://event.shoeisha.jp/devsumi/20140213/ 雪の中、珍しく殆ど迷わずに会場となる目黒雅叙園に到着。 外観 内装1 廊下からふと見上げると貫禄のある看板が 内装2 これ屋内なんですよ 1コマ目の会場…

はじめてのjQuery 第0歩

良いサイトを教えていただいたのでメモ。 jQueryの日本語の解説サイトと国産のプラグイン集 http://coliss.com/articles/build-websites/operation/javascript/jquery-for-japanese.html ついでに、本屋で見かけた使えそうな書籍をメモ。 [jQuery最高の教科…

ORA-02049発生時の対処法

■概要 アプリサーバを起動して大量データを扱うバッチを実行したところ、 マシンリソース不足(多分メモリ)が原因でフリーズした。 15分ぐらい待ってみたものの動き出す気配がなかったので強制終了。 みんな大好き、困ったときのプロセスkill. そしたらDBにIN…

scope属性

jsp

jspのscope属性でハマったのでメモ。 ■参考 http://www.atmarkit.co.jp/ait/articles/0701/20/news017.html http://struts.wasureppoi.com/jsp/01_scope.html -------------------------------------------------------------------------------------------…

Javaで定数定義したSQLを動的に変更する(=ただの置換) からの final修飾子のおさらい

JavaのStringでSQLを定義。 条件に応じて参照テーブルを変更する。 ex) xxFlagがONの時はTABLE_1, OFFの時はTABLE_2を参照したい。 それ以外の結合や絞込み条件などは全く一致する前提。 -----------------------------------------------------------------…

homebrew -> rbenv で Rubyの準備

homebrewが入っている前提です。 ■事前準備 1. homebrewを最新に。 $ brew update 2. 現状把握のため、homebrew経由でインストールした一覧を表示。 $ brew list git ※この段階ではgitしか入っていない。 ※rbenvの導入にgitが必要というわけではなく、別件で…

詐欺メールにご注意ください

以前携帯キャリアメールに大量の迷惑メールが来た時期がありました。 回避策として、長い+難しいアドレスに変更したのが数年前。 それ以来、迷惑メールとは無縁だったキャリアメールですが、 本日数年ぶりに受信したのでネタにしてみます。 -----ここから--…

かの有名なORA-00600に遭遇した話

以前(2013/10/19)業務中に起こったお話。 業務アプリからOracleにアクセスしようとしたら、ORA-00600が発生した。 調べてみると、有名なエラーコードらしい。 オラクルの内部エラー。 解決方法は次の2つしかない。 ①サポート契約を結んでオラクルに問い合わ…

マルチテーブル・インサートにてORA-24335エラーが発生

【マルチテーブル・インサート構文】 insert all into XXX_TBL (id, name, value) values ('001', 'AAAAA', 1) into YYY_TBL (id, name, value) values ('002', 'BBBBB', 2) select * from dual; 基本的には普通のinsert文と同じ書き方。 異なる点は下記3つ…

DevLOVE甲子園2013

2013/11/9に行われたDevLOVE甲子園2013の参加レポートです。 ※画像はイベントのサイトDoorkeeperから拝借しました。 http://devlove.doorkeeper.jp/events/5464 10時過ぎに会場最寄りとなる鮫洲駅に到着し、駅側のマックで朝食をとりました。 余談ですが、朝…

StaticPress×S3×Vagrant勉強会

2013年10月13日に行われた、表題の勉強会の参加レポートです。 WordPressの使用経験は無かったのですが、 興味があった&StaticPressが面白そうなので参加しました。 会場となるグラントウキョウサウスタワー41F アカデミーホール (東京都千代田区丸の内1-9-…

macbook air 購入

mac

先日、macbook air 2013の13インチモデルを購入しました。 CPU: Core i5(1.3GHz) RAM: 8GB SSD: 128GB CPUはデフォルト、RAMはアップグレード、SSDはダウングレードです。 モバイルマシンとして使用するので、 ・CPUのアップは不要 ・RAMはMAX積まないと後々…

技術ブログ、はじめました。

前々から「書こう、書こう」とは思っていたものの、 最初の一歩が踏み出せずにいた技術ブログ。 2013年も終わろうというこのタイミングで、半歩前に進むことにしました。 自己紹介 はじめまして、monokurotamagoです。 現在はJavaとかOracleとかやっています…