謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

Bootstrap 以外の css フレームワーク

有名どころ。 個人的にきになったやつのみ http://foundation.zurb.com/foundation.zurb.com サイトや email に使用できるフレームワーク。 CSS フレームワークというより、HTML の組み方なんかも固定となっている。 やたらと部品が豊富で、一種のラブラリ集…

現時点で Reactを Gulp 上コンパイルして見る

教科書はこれ qiita.com package.json をしれっと。 { "name": "react-base", "version": "0.1.0", "description": "React base application template", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "autho…

Gradle4 でマルチプロジェクト

教科書はこれ。 第57章 マルチプロジェクトのビルド まずは Jersey の設定を作って、分離するものを指定する。 Jerseyの設定2(web.xmlとかApplicationクラスとか) - edgegram サーブレット設定をソースで web.xml ファイルは昔は役に立ったアーキテクチャだ…

Gradle4 + Jersey2 + Kotlin でRESTサービスを作ってみる

SPA でアプリ作ろう思って、サーバに当初 Spring 考えてたけど、こっちの方が API サーバが楽そうだった。 で、Kotlin は個人的な好み 教科書はこれ JAX-RS(Jersey)+GradleでWebアプリを作る - Olivinecafe - blog Gradle 汎用ビルドツール。 Java 専用では…

Redmine3 に Backlogs を入れるメモ

先日入れた Redmine 3.3 にBacklogs を突っ込んでみる。 教科書はこれ。 interprism.hatenablog.com 確かに Gem 競合を除いてしまえば入るっちゃ入る。 [root@localhost redmine]# RAILS_ENV=production bundle exec rake redmine:backlogs:install 3.3.4.st…

CentOS7 に Redmine 3 を試してみるテスト

とりま VirtualBox に CentOS7 を普通にインストールして、ホストオンリーアダプタを有効化。 # nmcli connection modify enp0s3 connection.autoconnect yes これで普通に ssh 可能となるので、ここからはインストール開始。 あとは下記の手順で Redmine イ…

SPA アプリそろそろ作って見たいんじゃい(3)

とりあえず SpringBootSecurity を設定してみた回 まずは build.gradle に依存を追加する。 dependencirs{ compile('org.springframework.boot:spring-boot-starter-security') // あとはおすきに そしてログインに使用する DB からデータを取得するためのイ…

SPA アプリそろそろ作って見たいんじゃい(2)

次に DB 接続と Migration してみる。 SpringBoot では公式に Flyway 書いてあるので、そっちを使う。 build.gradle に compile("org.flywaydb:flyway-core") 追加。 application.properties に下記を記載 spring.datasource.url=jdbc:h2:./db/example;MODE=…

SPA アプリそろそろ作って見たいんじゃい(1)

話としてはこれだけ。 仕様としては、ログインと TODO だけで、特にセキュリティも考えない。 SPAの構成は、バックエンドに SpringBootWeb + Thymeleaf + SpringDataJPA + SQLite3 構成。 フロントに riot + riot-control でもしようかなと考えてる。 まずは…

「面倒なことは Python にやらせよう」の実習課題(3章以降)

課題図書はこれ 退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング作者: Al Sweigart,相川愛三出版社/メーカー: オライリージャパン発売日: 2017/06/03メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見…

プログラム脳を鍛える数学パズル on python3

追記: とりま gist に置いてみた (2017/06/27 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/16メディア: Kindle版この商品を含むブログ (7件) を見る お題はこれで、…

超久々に Python 弄ってた

AI 関連が実質 Python 一択で、数学系ライブラリもその表示も Python だとかなり揃ってたので、久々にやってみようとしてどハマりした記録。 何をしようとしたかというと、下記を Python で実装すればいいかなーとかとか漠然と考えてどハマりした。 プログラ…

Java8 の Stream が物足りない人たちへ

www.vavr.io 言ってみれば、Scala 並の Collection を Java で提供するライブラリ。 何がいいって、Tuple とか Either 型もあるから、クソッタレな null や throw とおさらばできる。 その昔 javaslang (java.lang があるなら俗語があってもいいよね)と名…

JUnit をもう少し管理者にみやすくしてみた

今日紹介するのはこれ。 Scala でザクッと作ってみた。 github.com 制作時間は調べ物 6h 、実装 4h か… まだまだ精進が足りない。 こいつは先日書いた、JavaDoc を XML で吐き出すメモ - 謎言語使いの徒然 と、JUnit の結果をマージして出力するツールだ。 …

引数パースライブラリの SCOPT(3.6.0) 使ってみた

紹介するのはこれ github.com 依存はこれだけ libraryDependencies ++= Seq( "com.github.scopt" %% "scopt" % "3.6.0" ) で、引数を格納するクラスをこんな風に用意して import java.io.File case class Config(javaDocXml: File, junitResultDir: File) パ…

sbt を jar にしてみた

つっても何の事は無い。 github.com これ突っ込んだだけ。 project/plugins.sbt に下記を追加して addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4") build.sbt でざっくり指定するだけ。 name := "Example" version := "1.0-SNAPSHOT" scalaVersio…

JavaDoc を XML で吐き出すメモ

やりたい事が何かと言うと、外部プログラムにおいて、Java クラスのリスト取得と、そのドキュメントを引き抜きたいと考えた。 しかしながら、単純に javadoc のコマンドだけ実行すると、HTML ファイルが出てくる。 これは JavaDoc コマンドの仕様であり、基…

くたばれカーゴ・カルト・プログラミング

何? Wikipedia によると。 実際の目的には役に立たないコードやプログラム構造を儀式的に含めておくプログラミングのスタイルである。カーゴ・カルト・プログラミングは主に、プログラマが解決しようとしているバグか解決策のいずれかかまたは両方を理解し…

1 クラス 1 機能、1 メソッド 1 処理の徹底

どういう事? 名前の通り、クラス設計において、1つの機能は1クラスとして用意します。 また、1機能の実現もまた手続きがありますので、それら手続きも基本的にクラス、メソッドとします。 さらに、手続きの中でもループして書き換えるとか、なんらかの値…

オブジェクトの状態は作らない

ここで言う状態とは、クラス変数と振る舞いの状態を意味します。 例えば、クラス内の特定のフラグが true となったらメソッドの挙動が変わるなどです。 状態とは? Java で例えれば、Closable インターフェース実装クラスなんかがそれに当たります。 リソー…

設計はトップダウンとボトムアップ

設計のトップダウン コードが設計だとしても、全ての設計が不要になるわけではない。 もちろん、Excel 方眼紙に書いた誰も読まないコード書いた方が早い設計書ではない。 まずは機能設計までと名前空間(パッケージやディレクトリ構成)だ。 何の事はない、…

車輪の再発明は避ける

プログラマなら何度も聞いた筈。 でも、実際に車輪の再発明って結構やってるのでは? 車輪の再発明とは? 何のことはない、同じようなものを何回も書く事をいう。 例えば、AJAX API を作るという場合なら、XML/JSON でシリアライズ/デシリアライズの環境を整…

勉強し続ける

前のエントリ でも書いたが、勉強はスキルを上げる唯一の手段だ。 加えて言えば、勉強する気もなく古い技術ですべて解決しようとする人、とはコードを改善したいとも思わない人とは、僕は仲良くできないだろう(きっと一緒に仕事をしたら喧嘩になるか、そいつ…

プログラムを読みやすくするための個人的Tips

個人的に綺麗なコードを書くために心がけているもの。 数が多いので、効果があると個人的に思っているものだけ集めてる。 なぜ読みやすく書くのか 読みやすいことに興味がない人のコードで、本当に汚ければ遠慮なくけなすし、そのコードを保守したいとも触り…

Playframework2.5 で Slack3 弄ってみる

まずはアプリケーション仕様 今回は特に何も考えず、Evolution で突っ込んだ文字列を画面に表示するだけ。 ジンプルなことは良いことだ。 教科書はこれ PlaySlick - 2.5.x Playframework プロジェクト作成 いつものこと activator new play-scala を選択する…

Playframework2.5.x でプロジェクト分離してみた

サブプロジェクト自体は、Playframework2.3 から存在していて、当時はあまり使い道も思い浮かばなかったが、今では大分使いやすくなってたのでメモ。 完全独立した sbt プロジェクトを取り込む このケースでは、完全に独立した sbt モジュールを取り込みます…

プログラミングの経験と信仰

経験は全ての物事の元となるもので、とても重要なものだと思う。 でも、経験を『信仰』にした瞬間、それは害悪となる。 プログラマは誰しも経験した記憶があるだろう。 「それならコレでもできるよ」と長ったらしい作りをした人を。 かく言う私も、これをか…

パスワード用ハッシュ、jBCrypt を使ってみた

なんでそんなことになったかというと、Playframework の Crypto クラスがいつの間にか Deplicate になってたという事態。 これにより、色々変動があったのだが、「パスワードのハッシュに Crypto.sign 使うんじゃない」だそうです。 Misuse as a Password Ha…

SPAするほどでもない時に気軽に使う JavaScript framework, Vue と Knockout 比較

ちょっと鯖欲しかったので Activator new で作って試す。 nodejs で勉強するチャンスだったかもしれないが、時間もなかったのでとりあえず知ってるやつで。 とりあえず、読めるようにしておく。 build.sbt に libraryDependencies ++= Seq( jdbc, cache, ws,…

Playframework 2.5 で足りてなさそうなセキュリティヘッダ設定を追加する

セキュリティヘッダなんて、ヘッダに組み込むだけのものなので、ザクッと。 package filters import javax.inject.{Inject, Singleton} import akka.stream.Materializer import play.api.Configuration import play.api.mvc.{Filter, RequestHeader, Result…

Scala 関数型デザイン&プログラミング:Exercize3.16-3.23

Scala 関数型デザイン&プログラミング:Exercize3.2 - 3.13 - 謎言語使いの徒然 の続き。 Exercise 3.16 各要素に +1 したリストを返す関数を作れ。 なんか仕様的に map 関数に似てるなーと思った。 とりあえず フォイ def map[A, B](as: List[A], func: A =>…

Winows10 がクソ重い

症状的には定期的にHDアクセスが 100% に突入するというもの。 そういや前も食ったなと思い出して、対処した。 マシンを再セットアップしてからやってなかったなーと IPv6 をオフ OneDrive 同期を停止 毎回やらないと酷いことになるって最悪のエコシステムだ…

Scala 関数型デザイン&プログラミング:Exercize3.14-15

相変わらず教科書はこれ。 Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)作者: Paul Chiusano,Rúnar Bjarnason,株式会社クイープ出版社/メーカー: インプレス発売日: 2015/03/20メディア: 単行本…

Scala 関数型デザイン&プログラミング:Exercize3.2 - 3.13

前回 からの続き 教本はこれ Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)作者: Paul Chiusano,Rúnar Bjarnason,株式会社クイープ出版社/メーカー: インプレス発売日: 2015/03/20メディア: 単行…

Scala 関数型デザイン&プログラミング:Exercize3.1

続き サンプルコード package fpinscala.datastructures sealed trait List[+A] case object Nil extends List[scala.Nothing] case class Cons[+A](head: A, tail: List[A]) extends List[A] object List { def sum(ints: List[Int]): Int = ints match { c…

Scala 関数型デザイン&プログラミング:Exercize2.2 - 2.5

引き続き勉強がてら Exercise をやってみる。 Scala関数型デザイン&プログラミング―Scalazコントリビューターによる関数型徹底ガイド作者: Paul Chiusano,Rúnar Bjarnason,株式会社クイープ出版社/メーカー: インプレス発売日: 2015/04/30メディア: Kindle版…

Scala 関数型デザイン&プログラミング:Exercize2.1

真面目にやろうかと思った。 書籍はこれ Scala関数型デザイン&プログラミング―Scalazコントリビューターによる関数型徹底ガイド作者: Paul Chiusano,Rúnar Bjarnason,株式会社クイープ出版社/メーカー: インプレス発売日: 2015/04/30メディア: Kindle版この…

投票が近づいて来たので、40代以下に言っておこうか

なんで皆の税率が上がって、将来の年金まで気にするようになるのか、その理由をざっくり説明する。 なんで老人向けの介護とか福祉がこの時期叫ばれるのか? まず、この時期になると声高に叫ばれることがある。それは高齢者福祉だ。 最近では少子化対策で児童…

WindowsでYeaomanしてみる

表題の通り。 環境は Winows10 …つってもあんま意味ないな。 まずは Node.js から。 といっても Windows はインストーラあるから楽勝だね。 v4.2.6 をインストール。面倒なので PATH もひいてもらう。 C:\test>node -v v4.2.6 次、Git for Windows 。 バージ…

Scala で解く「プログラマ脳を鍛える数学パズル」

病院行ったついでに待ち時間暇すぎて書店で見かけたやつ。 www.amazon.co.jp これの問2 1000 - 9999 の中で、「351 , 3 * 51 = 153」(計算結果が元の逆順になる)みたいな数字を見つけ出せ。 使っていいのは四則演算のみで、必ず1回は計算すること。 これ…

似非Ctrl+Fをこっそりアプデ

github.com 何やったのかというと、タグを任意に配置/デザインできるようになった。

JavaScript(CoffeeScript) で似非 Ctrl + F 作ってみた。

まじかと思ったんだけど、マジだったので驚いてる。 shertan.me ちょっと待て基本だろ常考。 こんなもん、Windows XP 初期の時代からデフォルトだぜ? Keyboard Shortcuts for Internet Explorer 6 記憶が確かなら、Windows 98 時代からあった気もする。 ま…

Play2.4 でネストしたJsonをバインドする

何で今更かというと、これつかえねーかなと思ったから。 最初は、Forms でのバインドをしようとしたのだけど、早速フォーラムが見つかりました。 キーワードは Play recursive form https://groups.google.com/forum/#!topic/play-framework/Ya1hPmR2QtY こ…

フォームヘルパーをタグ調整する(Play 2.4.x) with マルチセレクトチェックボックス

Playframework 2.4 において、フィールドコンストラクタの仕様も変わったので、対応したチェックボックスを作ってみる。 Custom Field Constructors これがなんなのかというと、input とかの helpers の外枠の事。 いつぞや Bootstrap 対応した フォームヘル…

Mac で ansible 基礎設定やってみた。

Ansible のことをちまちまやったので、その件メモ。 ネカフェでやってるんだけど、近くのネカフェは速度が遅すぎてこれ以上はちょっと厳しかった。 Install と言ってもこれだけ。 $ brew install ansible ちなみにバージョンは $ ansible --version ansible …

LL Ring 行ったメモ

LLRing memo 第一試合 Ruby vs Perl vs PHP vs JS Python はイベント衝突で不参加 Javascript ECHMA Script 2015 が発表、ECHMA 6 が名称変更で、正式公開。 言語仕様の追加が行われてる。 JavaScript の仕様が変わるとみんな地獄をみる。しかし、ALT JS な…

「AUひかり」で買ってきたルータを使うときの注意

まず、AUの課金の仕方がひどいと思った…とはいえ、建物がAU契約なのでほかの選択肢がなかなかなかったのだが、ともかくひどい。 無線LANを使うには別契約が必要(追加課金) 替えの性能いいルータをレンタルするなら追加課金 ルータすら契約上「貸与」で、も…

なんかもう紹介せざるを得なかったScala記事「バカ向け言語Scala」

まともにモジュール化設計もできていない保守不能糞コードの設計者を「エリート様」と皮肉って、「バカな私は、シンプルさを求めたScalaを使う」と言う記事。 センスに溢れて「いいぞーもっとやれー」と応援したくなってしまいました。 バカ向け言語 Scala -…

Java/Scala 比較。一定期間の曜日ごとの購買集計

単純なお題。 標準出力から、日数と、その日数に応じた日々の購買金額が入力されたとき、曜日ごとの集計額を計算しなさい。 ただし日数は 7 の倍数であることが保証され、曜日の先頭は日曜日である。 入力例: 14 日間を指定、各日付の購買数は、下記の通り…

Play2.4 の DI を弄ってみる

まず適当に Singleton アノテーションをくっつけて使用する。 package utils.modules import javax.inject._ /** * アクセスカウンター */ @Singleton class AccessCounter { @volatile private var price = 0 def add(p: Int) = price += p def get = price…