来世から頑張る!!

技術ブログを目指して

2015-01-01から1年間の記事一覧

ScalaでゆるふあにDB接続

この記事はScala Advent Calendar 2015 12日目です。 www.adventar.org 昨日は同じく私による今日から始めるScalaプログラミングでした。 前置き 私はアプリケーションにSQLを自分で書きたい派です。 参考: ScalaでSQLが書きたいんだ!! なので積極的に自分…

今日から始めるScalaプログラミング!!

この記事はScala Advent Calendar 11日目です。 www.adventar.org 昨日はdakatsukaさんによるScalaでLuaスクリプトを動かして遊ぶでした。 Luaでしたね!! ゲーム業界すごいですね! さて、Scala Advent Calendarですが、まだまだ空きがあります。 難しいこ…

ScalaでSQLが書きたいんだ!!

DSLとかOR Mapperとかじゃなくて、SQLが直接書きたいんだ!! 嘘です。タイトル詐欺です。 最近neo4jというグラフ指向データベースがお気に入りでして、 アクセス用のクエリとしてCypherという言語を使います。 基本はHTTP+JSONでRESTにアクセスできるのです…

Optionがモナドだったなんて・・・orz

いやね、Scalaの話なんですけどね、何の話かってね、Option型がOption("a")とかってやって生成できるの。。。 > val a = "abc" a: String = abc > val o = Option(a) o: Option[String] = Some(abc) 今までずっとSome(a)かNoneでしかOption生成できないと思…

WindowsでGoのクロスコンパイル環境構築(Go Ver 1.5専用)

さすがはWindows!ひと手間かけたおいしさだぜ!! 経過をメモっているので、最後だけ読めば事足りるよ!! 参考にしたのはこのあたり Go のクロスコンパイル環境構築 - Qiita Windows7 64bit版でGo言語のクロスコンパイルを試す - taknb2nchのメモ どうして…

型安全なリストを作りたい Part. 1

最終的な目標としては、行列の計算がしたい。 1 2 3 1 4 1*1+2*2+3*3 1*4+2*5+3*6 14 32 ( ) * ( 2 5 ) = ( ) = ( ) 4 5 6 3 6 4*1+5*2+6*3 4*4+5*5+6*6 32 77 こんな感じのやつ。 2行3列の行列は3行2列の行列との積を求めることができて、結果は2行2列の行…

Scala勉強会で発表してきた。

初スライド!!! for の使い方について。 http://kazzna.jp/slide/scala_for/index.html Haskellのモナド系ブログが大体doを理解するならStateだってなってたので便乗です。 勉強会でも口頭で言ったけれど、 flatMapの定義をするなら Monad則 を覚えないと…

Scalaの型推論って難しい

ラムダ計算とかの例によくある チャーチ数 をScalaで試してみる。 原点を表す Zero 、次を表す Succ を定義しておけば足し算とかできるってやつ。 まずは試し書き import Conrtol.Applicative zero f a = a succ n f a = f $ n f a one = succ zero two = su…

atomのMarkdown Previewのフォント設定

atomエディタのMarkdownプレビューのCSS設定がいつの間にか変わっていたのでメモ。 目的は日本語のフォントにしたい。デフォルトだと中国系だからね 検索するといくつか出てくるけど、 setting -> Open Config Folder で、 styles.less を修正する。 /* * Yo…

Python入門のためtoolz入れてみた

pythonは文法が単純で覚えやすいらしい。 class MyClass: def __init__(self, init_value): self.value = init_value def my_method(self, value): return self.value + value instance = MyClass(5) print instance.my_method(3) # => 8 print MyClass.my_m…

ハノイの塔をScalaで解く

ハノイの塔自体は再帰を使えば簡単に解けることは有名で、Googleれば大体すぐ出てくる。 def hanoi(height: Int, from: String, via: String, to: String): Unit = { if (height <= 0) { () } else { // 1. スタート位置にある一番下以外のものをすべて関係…

MonadTって自動でMonadにはならないの???

Monadって難しいって話。 元ネタは xuweiさんのブログ いやね、最近PlayでWebアプリ作ろうと頑張ってるんですよ。 そこでログ出力のために、引数で渡すものを必要に応じてWriterにできればなとか考えてたんですよ。 結果うまくはいかなかったんですが。 本編…

簡単に分かるPrologの魅力

昨日はPlayもくもく会に行ってきました。 色々と教えていただいてありがとうございます。 で、その中でたまたまprologのお話になったので、 prologの魅力が簡単に分かるような「prolog向きの」サンプルを書いてみたいと思います。 ちなみに、prologは頑張れ…

emerge app-emulation/dockerとカーネルの癒着問題

Dockerのインストールを試みるよ!!! なんでDockerかと言いますと、Haskell環境がほしい!とか、LAMP環境がほしい!!とかいろいろあるものの、環境が汚れきって手に終えなくなることを経験してきたからなのです。 しかし、このDocker、なかなかに凶悪です…

Windows 7上に入れたVirtualBoxを4.3.22にバージョンアップしたらssh接続が途切れる問題に遭遇?

今のところ原因不明。。。 Windows 7にVirtualBoxを入れてその中のLinuxからsshでサーバーにつなぐ使い方をしていたんだけど、今日4.3.22にアップデートできますという通知が来たので軽い気持ちで上げてしまった。 別に何の問題もなく使えていたと思っていた…

結局Linux環境はGNOMEで妥協した。

まあタイトル通りなのですが、gnome-tweak-toolのフォントの倍率を1.4にしつつ、残りは書くツールごとの調整機能で倍率を調整しました。 OSはUbuntu GNOME 14.04 見た目が気に入ったかどうかで選んだので、細かいことは気にしません。 どうやらgnome-tweak-t…

VMwareにUbuntuを入れると画面がすごく小さいので解像度を下げたい

なんとかしたい。 問題点 UbuntuをVMware上に入れたら、元のモニターが1960x1080の11.6インチだったために、96dpi?ではすごく文字が小さくなってしまった。 解決への挑戦 システム設定から行けないかな?とチャレンジ システムの設定から軽々変えられちゃう…

emerge -uDN @world したらstartx後のキーボードレイアウトが英語になった。

ふしぎ。 emerge -uDN worldしたらstartx後のキーボードが英語レイアウトになった(T ^ T) Xの外では日本語なのに。どこなおせばいいのかな? #gentoo #awesome— かず(アミノ酸等) (@kazzna) 2015, 1月 24 このままでは困るので、何とかして治そうと試みます…

Ubuntu GNOMEにnode.jsをインストール

Ubuntu GNOMEにnode.jsをインストールしようと思い、ググってみた。 最新版を入れるにはppaを使用するといいよと言われ、インストールしてみる。 $ sudo add-apt-repository ppa:chris-lea/node.js $ sudo apt-get update $ sudo apt-get install nodejs $ s…

CentOS7のファイヤウォールをiptablesからfirewalldに変えたらポート番号変えたsshが繋がらなくなった

よし、初ブログ。 挫折すると行けないので要点だけ手短に。 CentOSサーバーを6から7に上げて、いろいろ設定のサイト見て回ってたら、 ファイアウォールにはiptablesをやめてfirewalldが標準になるんだよ?ってあったので、 何も考えずに systemctl stop ipta…