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

なんとな~くしあわせ?の日記

ClojureとかAWSの設定とかをメモする技術ブログ

SQLもプログラミング言語…っぽい3

SQL

テーブルの自己結合 以下のようなテーブルがあり CREATE TABLE name("pkey" text, "number" int, "family_name" text, "name" text); INSERT INTO name("pkey", "number", "family_name", "name") VALUES (00001, 12345, "山田", "太郎"); INSERT INTO name(…

キャメルケースやスネークケースの相互変換

これをJavaやScala、Groovyでやる場合、guavaが使いやすいようだ。最初正規表現でやろうとしたけど、キャプチャした文字列がうまく変換できない(めんどくさい)のでライブラリを使用した。stackoverflow.com import com.google.common.base.CaseFormat._ LO…

Eclipse Kepler/Junoでプロジェクトをビルドした時 "JPA Java Change Event Handler" が永久に止まらない

そんな経験、あなたにもありませんか? どうやらバグらしいです。 Java Persistence APIとは? JSR*1によればThe Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 338 The Java Persistence API is the Java API for…

MacでEmacs用にJAVA_HOME設定した

たぶん他にもいい方法はありそうだが ;; JAVA_HOME (setenv "JAVA_HOME" (replace-regexp-in-string "\n$" "" (shell-command-to-string "/usr/libexec/java_home -v 1.7"))) Emacs: Set Environment Variables within Emacsqiita.comstackoverflow.com

Grape動かそうとしたらmavenリポジトリからのダウンロードに失敗していた話

エラーログ ・plexus-utils;3.0.8と2.0.7だけが何故か落ちてこない DEBUG [org.codehaus.groovy.tools.shell.InteractiveShellRunner] Work failed: java.lang.RuntimeException: Error grabbing Grapes -- [download failed: org.codehaus.plexus#plexus-ut…

Emacsでスネークケースをキャメルケースに一括変換する

まず、 M-x replace-regxp を実行、変換対象に _\([a-z]\) → \,(upcase \1) を入れる。検索してたら見つけた Emacs: Find & Replace Tutorial

Scala Refactoring

scala-refactoring Scala RefactoringScalaのソースコードをリファクタリングするためのライブラリ。もちろんリファクタリングの内容を考えてくれるのではなく、一定の処理を自動化する。eclipseやIntelliJ IDEAなどのIDEで実行されるような処理を提供するラ…

最近のchefとかknifeとか

ネット上にはいろいろな情報が流れているが、現在のchef $ chef --version Chef Development Kit Version: 0.7.0 chef-client version: 12.4.1 berks version: 3.2.4 kitchen version: 1.4.2の場合、cookbookを作る際は $ chef generate cookbook <NAME>で始めたほ</name>…

D言語でstatic constな関数を定義したかった

以下のようなコードを定義すると、新しいgdcではエラーとなる コード [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッmelpon.org import std.stdio; void main() { const string data = test_for_const(); pragma(msg, data); } static const string test_for_const() { retu…

最近読んだ漫画で面白かったやつ

Kindleを使い始めてから漫画をインスタントに消費している気がする… ゴールデンカムイ ゴールデンカムイ 1 (ヤングジャンプコミックス)作者: 野田サトル出版社/メーカー: 集英社発売日: 2015/01/19メディア: コミックこの商品を含むブログ (11件) を見る日露…

ScalaのSomeを使ってJavaのメソッドを呼び出すとき

正しい値・例外・nullという3値が返る可能性があるとき scala.util.control.Exception.allCatch を使えばいいのでは、と思ったが allCatch.opt { 式 } と書くと、式がnullの場合Some(null)というバッドな感じになる(なぜ?)。 allCatch.optを使った時の3…

Androidがハッキングされて遠隔操作された

表題通り、かなりびっくりしたので記録を残しておく Androidがおかしな挙動をする 一度目の怪現象 (1)chromeが勝手に操作される 7月31日(金)9時ごろ、ウォーキング中にchromeが勝手に起動して以下のような履歴が残る (2)LINEで勝手にメッセージ…

関数型Scalaの集いに行ってきました

関数型Scalaの集い (2015/07/25 13:00〜)connpass.com 感想 始めてドワンゴに行きました(会場はドワンゴ セミナールーム 歌舞伎座タワー 14F)。 以前最後に出席したScala関連の勉強会が、2012-07-21なので、3年ぶりぐらいにそれ関連の勉強会に行ったことに…

AWSの罠

設定を事前にしておかないと、インスタンス再起動時にホスト名が変わってしまう…qiita.com上記からの引用 cloud-init用の事前環境設定EC2インスタンスコピー時に環境設定が変わってしまう問題を防ぐために以下を行います。 ・vi /etc/cloud/cloud.cfg ・pres…

Chefで実行結果が失敗だとしても無視してレシピを実行する方法

バッドプラクティスです ・「|| true」 とレシピに記述すれば必ず実行結果がtrueになるので、エラーをガン無視できます execute "start_foo" do command "killall java || true && service tomcat start end

ちょっとしたRubyスクリプトで日付の加算減算

get next/previous month from a Time objectstackoverflow.comちょっとしたRubyスクリプトで日付の加算減算をやろうとしたとき、何かとRailsを使わされそうになるようだ。自分的にはベストアンサーはこれ。これなら特にimportするライブラリもない。ruby - …

GnuPG 鍵を作る

鍵の生成 恥ずかしいことに以前作っていたGPGの鍵がなくなってしまったので新たに作りなおすことにした。参考にするサイトは以下: GnuPG 鍵の作り方 - keysignparty-ja PGP/GPG gpgチートシート 1分でわかるPGP - 村川猛彦 登録メールアドレスの変更 GnuPG …

Play framework 2.x でユニットテストした

パッケージごとに機能を整理 org.specs2.mutable.Specification ・Spec2を使う、まあコピペのコピペなんすけど ・Spec2のユニットテストは自然言語っぽいDSL(?)で書ける play.api.test.Helpers ・TestServer(3333)でほんとにテスト用のアプリケーションサ…

ensimeをscalaのコーディングで実戦投入していく

ensimeとは github.com What is ENSIME?ENSIME is the ENhanced Scala Interaction Mode for Emacs. It provides many features that are commonly found only in IDEs, such as live error-checking, symbol inspection, package/type browsing, and basic …

foltia-bootstrap

だんだんいい感じになってきた。 foltiaの初期設定で行う物理チャンネルの指定をGUI化した。 使った技術は PHP/jQuery/インチキAjax/bootstrap

Chefを使用してfoltiaをインストールした

前々から準備していたfoltiaのchefを使ったインストールが出来上がった。github.com これは何? サーバー設定ツール「Chef」を使用してアニメ録画用ソフトウェアfoltiaのサーバへのインストールを自動で行います 使い方 Vagrantでテストする場合 virtualbox…

PXEネットワークブートでLinuxをインストールする

もういちいちインストールごとにCDにLinuxのイメージ焼きたくないでござる! じゃあPXEブートやろうぜ 何ができるの? ・CDにLinuxを焼かずにインストールできる ・CD/DVDドライブがないマシンにLinuxがインストールできる 要件 ・WANにつながったネットワー…

vagrant-tramp が地味に嬉しいという話

vagrant-trampというelispがある。trampはemacsでリモートのファイルをまるでローカルであつかっているかのように操作できるelispであるが、vagrant-trampはそのvagrant用である。dougm/vagrant-trampgithub.comインストールは例のごとくpackage.elから取っ…

Chef + Vagrant + Berkshelf の連携

前回の続き、Chef + Vagrant を使ってみる - なんとな~くしあわせ?の日記nantonaku-shiawase.hatenablog.com ツールについての概要 ・chefはcookbookというスクリプトの集合を使って、そのスクリプトの通りにソフトウェアをインストールする ・cookbookは…

アジャイルサムライを読んだ

アジャイルサムライ――達人開発者への道作者: Jonathan Rasmusson出版社/メーカー: オーム社発売日: 2014/06/25メディア: Kindle版この商品を含むブログ (3件) を見る 感想 ・読みやすい! 目次 ・これは今まで思っていたことと違うなあ、という部分をかいつ…

PythonにおけるDBドライバごとのプレースホルダの違いなど

最近少しPythonなどに触れている。そこでぶつかった話 psycopg2 Postgresql用のPythonのDB用ドライバ実装、psycopg2を使うと以下のような見た目のコードになる Basic module usage — Psycopg 2.6 documentation >>> cur.execute( ... """INSERT INTO some_ta…

Chef + Vagrant を使ってみる

目的 ・ 環境構築自動化 ・ お勉強 ・ この記事はメモ 目標 ・ foltia(Linuxによるアニメ等の録画サーバ)のインストール自動化 ツールについての概要 ・chef はLinuxなどのOSにフレームワークや環境を作るためのツール ・vagrant はvirtualbox等の仮想環境…

Git rebase --onto --root で過去の歴史を改変する

あるリポジトリの最初のコミット以前に歴史を継ぎ足したい、という需要があるかもしれません。 Gitならできます、それ。さっそくやってみましょう。 リポジトリAの歴史 新しい歴史を始めたリポジトリである これをNewDealリポジトリと呼ぶことにする、コミッ…

rEFItでMac OS XとLinuxをデュアルブートさせた

以下のサイトを参考にしてDebian勉強会中に作業した rEFItを使ったマルチブート【Mac】 - TACATAKATACA BLOG rEFItを使ったマルチブート【Mac】 - TACATAKATACA BLOGMacBook に OSX と CentOS デュアルブート成功! MacBook に OSX と CentOS デュアルブート…

第123回 東京エリアDebian勉強会に参加した

2014年はデスマーチの年でしたが、今年は多分違うと思う。久しぶりにDebian勉強会に行った。東京エリアDebian勉強会(2015/2/21(土)) - connpass LT内容など GNU/kFreeBSD における Jail 構築を試してみた @dictoss氏 資料等はconnpassに上がっているようで…

最近読んだ漫画とかで楽しかったやつ

ネットがいまだに開通しないしプログラミングもしにくいので最近読んだ漫画とか紹介する。 山賊ダイアリー 山賊ダイアリー(1) (イブニングKC)作者: 岡本健太郎出版社/メーカー: 講談社発売日: 2011/12/22メディア: コミック購入: 9人 クリック: 105回この商…

システム開発名言

また人月の神話から、 孫引きになってしまうので元の文章を載せたかったが見つからない。 In my experience most of the complexities which are encountered in systems work are symptoms of organizational malfunctions. Trying to model this reality w…

ウォーターフォール型の開発の問題点 〜人月の神話〜

最近本を読む時間ができたので、人月の神話を何回も読みなおしている。できれば、要約をブログで公開できたらと思い準備している。人月の神話【新装版】作者: Jr Frederick P. Brooks,滝沢徹,牧野祐子,富澤昇出版社/メーカー: 丸善出版発売日: 2014/04/22メ…

JaneClone 1.1.5をリリースした

表題どおり、今回の更新は主にバグ修正がメイン。リアルが忙しく、開発に対するモチベーションが減少していたが、 協力者が増えた CI環境を構築できた ことは嬉しかった アプリケーションの配布サイトも更新してみた、ダウンロードは以下から JaneClone by H…

openssl-1.0.2をLinuxからMinGW64向けにクロスコンパイルした

表題どおり 昔のバージョンでもいい気がしたけど、やっぱ脆弱性あると嫌だねーってことで MinGW64 $ wget https://www.openssl.org/source/openssl-1.0.2.tar.gz $ tar xvf openssl-1.0.2.tar.gz $ cd openssl-1.0.2 $ CROSS_COMPILE=x86_64-w64-mingw32- ./…

configureでいろいろ設定する

autotoolsのちょっとしたまとめを書く autotoolsの導入 全く初めての状態からの導入は以下の記事から Autoconf, Automakeを使う - なんとな~くしあわせ?の日記 Autoconf, Automakeを使う - なんとな~くしあわせ?の日記ライセンスについては以下から auto…

libxml2でHTMLを整形する

だいぶ前にlibxml2を使ってHTMLをパースした。libxmlでHTMLParserを使う - なんとな~くしあわせ?の日記 libxmlでHTMLParserを使う - なんとな~くしあわせ?の日記libxml2のAPIを見ていると、HTMLの整形も出来るらしいのでやってみた。 使用したAPI htmlDo…

wine-1.6 自力サポートメモ

wineで困った時、 自力解決したこと一覧 なんか突然音声が出なくなった この辺から Debianと音声出力デバイス - なんとな~くしあわせ?の日記 音声の再生がクソ早いんですけど…? 同様の問題が以下に ワイWineの音声の再生がメチャ早くて恐ろしくチリチリ言…

TravisとAppVeyorでCIをやってみる

CIをやってみよう 今回もまったく趣味の世界な話 GitHubに登録しているソースコードをCIのサービスに登録して毎回ビルドしてもらう。 CIのホスティングサービス 実務だとJenkinsなどを使ってプロジェクトで作ったソースコードをビルドしたり、エラーが出たら…

C言語でダブルポインタ

C言語のポインタを使ってみる とは言ってもC++なのだが、 ポインタはメモリのある位置を指し示す事ができる。 適当に文字列や配列を設定してその先頭要素を指定したら、ポインタは配列の中身を動き回れる。 #include <cstdio> #include <cstdlib> int main() { const char* ar</cstdlib></cstdio>…

msys2 + pacmanをproxy環境で使う

msys2の設定 x86_64ネイティブなmsysがリリースされているので、社内環境でも使用できるようにしてみた。以下、Qiitaの引用 Windowsでgccなどを利用できるMSYS2の環境設定など Windowsでgccなどを利用できるMSYS2の環境設定など - Qiita Windowsでgccなどを…

Rubyる

引き続きRubyを使ってみる、また他の言語とくらべてみる リストを使う処理 Ruby書いてると他の言語でmain関数を忘れてしまう… Ruby [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ list = Array.new() list.push("a") list.push("b") list.push("c") list.each{|str| puts(s…

不思議なRuby

Rubyを練習がてら使おうとしているのだが不思議な現象に出くわした ["Ruby" "is" "wonder" "?"].each { |str| print(str, "\n") } [ 0,1,'A','B'].each { |x| puts x } これを実行すると以下の出力が得られる Rubyiswonder? 0 1 A B[Wandbox]三へ( へ՞ਊ ՞)へ…

google-chrome/chromiumをLinux上で使用した時URLが勝手にひらがなになる

そんなうざったいバグこんな感じ Issueに上がってた Issue 365015 - chromium - Aura shows garbage font when Droid Sans enabled - An open-source project to help move the web forward. - Google Project Hosting 対策 fonts droidという奴が悪さをして…

Javaの拡張for文でConcurrentModificationException

拡張for文を多用した結果wwwwwww 反省のための記事 やろうとしたこと for文の中でコレクションを回し条件に一致したものを削除・更新したい 拡張for文ってJava SE 1.5でサポートされているので大して新しくないですね 結果 バグった 原因 スレッドセーフじゃ…

プライベートIPしか取得できない環境でLinuxをルータとして使う方法

実質的には下記の記事の改訂版 レオネット攻略への道 - なんとな~くしあわせ?の日記 ネットワーク構成 [LAN]---[nic1]-[Linux1(Debian)]-[nic2]---[Linux2(Debian)] Linux1は2つnicを持っている必要が有る Linux1はdhcpサーバにする nic1はdhcpでIPアドレ…

Debian/sid(不安定版)を使い始めました

動機 Debian勉強会でそうしたほうがいいと言われたので(違もともとDebianのバージョンごとのコードネームはトイ・ストーリーのキャラクタをもとに設定されている。シドってのはおもちゃを魔改造してた暗そうなガキのこと。そんな不安定なバージョンは永遠に…

Perlの話

FreeStyleWikiを使いたかった 個人的なwikiをAWS(アマゾンのクラウド)に構築したかった。 だけど単純にfswikiのソースを設置しただけでは動かなかったので調査した話。FreeStyleWiki自体はこちら FrontPage - FreeStyleWikiあれですよ、PHPが個人的に使い…

MinGW-w64を効率よくビルドするための冴えた方法

MinGW-w64-build-scripts 以前MinGW-w64環境を作成した際に紹介したrubenvbのビルド環境が以下のGitHubで公開されているので、少々改造を施して動かせるようにした。本家 rubenvb/MinGW-w64-build-scripts · GitHub私のfork Hiroyuki-Nagata/MinGW-w64-build…

Mac Book ProでDebian jessieを動かす

第 84 回 関西 Debian 勉強会に参加した 前回に引き続き、84回目の関西Debian勉強会に参加した。 KansaiDebianMeeting/20140525 - Debian Wiki今回はかわださんが最近のDebian周りの出来事について話されていた あとGPG鍵の作り方などを教わった。それについ…