ソフトウェア開発

Andaseatの最高峰モデル「Kaiser3」の感想

www.andaseatjapan.com 人生初のゲーミングチェア。デスクワーク主体のため、いつかは良い椅子を買おうと考えていた。そしていろいろ悩んだ末にKaiser3を購入した。 まずは結論から 腰痛い。全然体に合わない。 それでいて10万円近く支払っているんだから困…

TWAINの処理シーケンス。

TWAINを使ってスキャナを操作するWPFアプリを作っていて、情報源の少なさにかなり苦労した。1週間ほど格闘した中でわかったのは、TWAINはStateによって実行できるコマンドが変わることだ。ここかなり重要だった。 twain.org ここから参照できる仕様書(PDF)で…

BackgroundWorkerでBitmapSourceを扱うときの注意点。

このオブジェクトは別のスレッドに所有されているため、呼び出しスレッドはこのオブジェクトにアクセスできません。 BackgroundWorker.RunWorkerAsyncの引数にList<BitmapSource>型のリストを渡して、BackgroundWorker.OnDoWorkなどでBitmapSourceを取り出して処理を行う場</bitmapsource>…

ThinkPad X1 Carbon(Gen 9) 購入。

Inspiron 13 7300を購入してからまだ1年半も経過していないが、不満点が多く、作業中にイライラすることが多いので買い替えた。 イライラポイント 洗い出したらいろいろ不満点が多かったので、上位5つに絞った。 第1位:タッチパッド操作が固まる いちばんイ…

LaravelでManyToMany(多対多リレーション)するときの注意点。

Laravel 8.xの話*1。 readouble.com 上記ページのテーブル構造を例にとると、users.idとroles.idそれぞれをUUIDなどのinteger以外の主キーにすると、中間テーブルにデータを登録するときに片方のidが0になる現象が発生する。 *1:他のバージョンでも同様と思う

Font Awesome 5 Proを購入した。

アプリのワイヤーフレームを制作していて、アイコンに関してはFont Awesomeを使おうと思い公式サイトを訪れた。 そしたら、『9月はFont Awesome Proを$40でゲットできる最後のチャンスだよ!』的なダイアログが出るもんだから、ある程度Free版と内容を比較し…

RazorEngineでHTMLメールとテキストメールのテンプレートを作成する。

RazorEngineを使ったメールテンプレート作成方法。antaris.github.ioテンプレートに埋め込むモデルを定義する。 namespace MailApp.Models.Mail { public class Template { public string Name { get; set; } } } テンプレートファイルを指定して、その中身…

BoW(wsltty)のrailsコマンドで「Error: Command 'rails' not recognized」が発生したときの対処法

Bash on Ubuntu on Windows(wsltty)上にrbenvでRoRの環境を作り、rails cやrails g model hogehogeを実行したら以下のエラーが発生した。 $ rails c Version: 2.0.1 Usage: spring COMMAND [ARGS] Commands for spring itself: binstub Generate spring base…

Bash on Ubuntu on Windows(wsltty経由)はletter_opener_webを使う

Railsの開発でメールを送信するときに便利なletter_opener。 github.com ただBash on Ubuntu on Windows上だとブラウザが開けないので、送信されたメールの内容が確認できない。 そこでletter_opener_webを使う。 github.com まずはGemfileに以下の記述を追…

sedで行追加するときに行頭にスペースをいれる方法。

ググっても日本語サイトでは事例が見当たらなかった。スペースを削除する事例ばかり。stackoverflowでやり方を見つけた。stackoverflow.com今回は、特定の文字列を持つhtmlファイルに対して、タグを一行挿入しかつインデントを揃えるということをsedコマンド…

SQL*PlusとJDBC Thinドライバの接続文字列は異なるので気をつけましょう。

調査でおおよそ2日間ぐらい無駄にしてしまったので、同じ事象でハマっている方の手助けになれば。 listenerのステータスを確認して、以下の状態だったとする。 $ lsnrctl status listener - 途中省略 - Listening Endpoints Summary... (DESCRIPTION=(ADDRES…

Mac+PhoneGapによるiOSアプリ開発はじめの一歩。

環境セットアップ 前提条件として、Homebrewがインストール済みであること。 node.jsのnpmを使って、必要なものをインストールする。 brew install node sudo npm install -g phonegap sudo npm install -g ios-sim # コマンドラインからSimulatorを起動でき…

HomebrewでScala2.10系を使う方法。

悩んでいて解決したので情報共有。ただ、全部のコマンド履歴を取っていないので、抜けがあるかもしれない。他の情報も参考にしつつで読んでください。 brew tap homebrew/versions brew search scala # homebrew/versions/scala210 homebrew/versions/scala2…

Vimでテキスト全体の特定箇所にある大文字を小文字に置換する

グループにマッチした部分文字列を置換することまでは思いついたけど、置換後のパターンにつけるメタ文字がわからなかったので情報共有がてら。 例えばダブルクォーテーションに囲まれた大文字を小文字に変換したいとして、 "GOD" "USA" "JAPAN" "MONEY" "I …

コミットコメントを共有しよう。

開発者の皆さん、常日頃からコミットコメントをひねり出すことに苦慮していませんか?特に、英文でコミットコメントを書く場合なんて、思考停止状態になっちゃいますよね。 かくいう自分も、英文でのコミットコメントを考えることには苦労しています。 そん…

【2014年6月版】さくらVPS 1GBでPerl環境構築のためにやったこと一覧。

手順もいれようかと思ったけど、箇条書き+スーパーpre記法だと崩れるので、やったこと一覧だけにした。 契約 zshインストール /etc/zprofileに履歴を~/.zsh-historyに残す設定を追加 sshの設定 ポート変更 rootでログインできなくするやつ iptablesの設定 別…

Subversionで指定したファイルだけコミットする方法。

Shellを使ってビシキマだぜ! # 下のコマンドでChangelistを作る(実行されるコマンド:svn cl hogefuga hoge1.txt hoge2.txt hoge3.txt) ## 下は、新規追加(A)されたファイルのみを対象としている svn cl hogefuga $(svn status . | grep '^A' | awk '{pri…

前時代的なプロジェクト構成に強いAnt。

いまだMavenやGradleを利用せず、かといってそれらを使おうとしても既存の構成がクソで置き換えがままならず、しかもAntなどのビルドツールを一切使っていないというプロジェクトに出くわした。ウェブアプリなんだけど、デプロイの方法がEclipseでRefreshを…

Poderosaよりtmux。

運用作業で複数のホストに接続して作業をするときはPoderosaを使っていたんだけど、しばらく更新されていないし、普段はPuTTYを使っているのでそっちをタブ化したいなーなんて思っていろいろ検索。SuperPutty、MTPuTTY、RLoginなどなどを試してみたけど、や…

OpenGrokでソース全文検索

プロジェクトで、リポジトリ内のソースコードを全文検索する仕組みが欲しくていろいろ探しまわった結果、OpenGrokなるものを発見。 {OpenGrok by OpenGrokはてなブックマーク- {OpenGrok by OpenGrok セットアップ自体はそんなに難しくないです。JavaとGlass…

YAPC::Asia Tokyo 2012の感想

28日と29日の二日間で行ってきましたよ。 HOME | YAPC::Asia Tokyo 2012感想の前にたった一つの苦言。 運営係の中に、しゃがむと半ケツ*1になる男性係員がいて、非常に気持ち悪くて不快でした。 Githubのパーカーを着て、ジーパンをヒップハングで履いて、バ…

EclipseからGradleを実行する

最近、Groovyに興味を持ちまして、なるべく簡単なツールはGroovyで作るようにしています。いずれはEnterprise向けのシステム構築にGroovyを使いたい!で、GroovyのビルドにGradleを使っています。今回は、EclipseからGradleを使ってビルドする方法をご紹介し…

熊澤公平さん、マーケティングシステムのアーキテクチャを語る!in 楽天

去る3月27日、CACの熊澤公平さんが楽天にて、Developers Summit 2012で講演したマーケティングシステムのアーキテクチャを語ってくれました。デブサミは45分ぐらいの公演時間でしたが、今回は90分拡大版!しかも、デブサミでは語られなかった追加版です! 熊…

Agile Samurai Dojo Gatheringにいってきたよ。

Agile Samurai Dojo Gatheringに行ってきました。 Agile Samurai Dojo Gathering | トップページ朝10時から始まって、終わったのは夜10時。すごい!こんな長丁場のカンファレンスは初めて! 自分はAgile開発って、具体的にどんなものかはあまり知らないので*…

BufferedReder#readLineを使わずに、ファイルを一行ずつ読み込む

Javaで、ファイルから一行ずつ読み込みを行いたい場合は、BufferedReder#readLine()を使うんだけど、このやり方だと改行コードが取り除かれてしまう。で、自前で改行コードを付与して処理を行うなり、ファイルに書きだすなりすることとなる。でも、場合によ…

JenkinsやJAX-RSの記事を書きました。

というわけで、JenkinsやJAX-RSについて、お恥ずかしながら記事を書いてみました。皆さんのお役に立てれば光栄です。 「JAX-RSでRESTful Webサービス」 第1回 いまさら始めるJavaでRESTful Webサービス構築 CloudBeesのDEV@Clouldで始める継続的インテグレ…

こんな記事も書いてます。

自社サイトにて、技術記事を書いていたりします。 ルーキーアーキテクトのTechnical Tips JavaScriptやRuby on Railsに関する内容ですが、ご興味があればご覧下さい。今は、RESTについて書いている途中です。

AspectJを使ってAnnotationを活用しよう 補足編

本編はこちら。 AspectJを使ってAnnotationを活用しよう 前編 - Jupitris on Laboratory AspectJを使ってAnnotationを活用しよう 後編 - Jupitris on Laboratory 補足編として、SpringAOPを使ったAnnotationの取得方法について。本編では、AspectJアノテーシ…

AspectJを使ってAnnotationを活用しよう 後編

前回の記事はこちら。 AspectJを使ってAnnotationを活用しよう 前編 - Jupitris on Laboratory 前回の記事では、簡単なAnnotationの作り方と使い方を説明したわけですが、今回はAspectJを使ってメソッドに設定されたAnnotationを取得する方法と、取得した値…

AspectJを使ってAnnotationを活用しよう 前編

皆さん、Annotationを活用してますか?JavaでAnnotationが使えるようになったのはJ2SE5.0からなので、導入されてから随分と経ったものです。各種フレームワークやライブラリでも、Annotation対応されるようになり、利用する機会は多いと思います。さて、今日…