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

PostgreSQLの文字列関数を使ってみる

PostgreSQLの文字列関数を使ってみる PostgreSQLの文字列関数を使ってみる translate関数で文字を置換する lpad,rpadで指定した文字数で表示する translate関数で文字を置換する 1文字ずつ置換先の文字を指定することができる 例えば以下のように指定するこ…

PlayFramework事始め

PlayFramework 事始め PlayFramework 事始め playのインストール プロジェクトの作成 activatorからプロジェクト作成 giter8からplayのプロジェクトを作成 コンソールの起動 サーバを起動 コンパイル テスト デバッグ sbtの利用 IDE eclipseで開発する Intel…

Javaでの文字化け検出について

文字化け検出 ファイル読み込み時などで文字化けが発生した時の検出方法について 例えばUTF-8でエンコードされたテキストファイルをShift-JISで読み込もうとした際に、該当する文字が存在しない場合は'0xFFFD'の文字に変換されます。 Javaは内部的にはUnicod…

SpringBootのアプリをansibleでデプロイ

Spring Bootのアプリをansibleでデプロイ CentoOS7の環境で確認 Spring Bootのアプリをansibleでデプロイ 初期設定 Spring BootのアプリをリストアするPlayBookを書いてみる 初期設定 1. ansibleをインストール yum install epel-release yum install ansibl…

SpringBoot事始め

struts2からSpringBootへの移行検討 ビルドツール 事前準備 プロジェクト作成 依存モジュールの追加 SpringBootプロジェクト起動用Mainクラスの追加 最初のコントローラを追加してみる Thymeleafで画面を描画する Thymeleafに任意の値を渡してみる プロパテ…

jenkinsのインストールからGradleの手動ビルドまで

jenkins Javaで書かれたオープンソース継続的インテグレーションツール いろいろ自動化しなきゃと思ったのでちょっと触ったときのメモ インストール 事前にjavaがインストールされているか確認、入ってなかったら7以上のjavaを入れておく # yum install java…

SpringBootをGradleでビルド

SpringBootをGradleでビルド Gradleを使ってビルド周りの自動化を進めていきたいということで試しにSpringBootのプロジェクトをGradleでビルドした際のメモ。開発環境にはEclipseを使用しています。 SpringBootプロジェクト作成準備 EclipseでSpringBoot作成…

レガシーソフトウェア改善ガイドの感想

書簡 最近起こった出来事もあり特にレガシープロジェクトの健康状態をどうすれば良いか考えていた時にちょうど良い本がありました。 書籍の中で述べられている方針自体は真新しいということはないのですがクリスさんの経験に基づく話もあってプロジェクトの…

DDDの境界付けられたコンテキストについて調べてみた

エリック・エヴァンスのDDDの14章.“モデルの整合性を維持する"を読んでみたのでそのメモなど 戦略的設計 戦略的設計の原則は設計上の意思決定を導いて、各部分の相互依存関係を減らし、設計をより明確にしながら、蹴って的に重要の相互運用性と相乗効果を失…

パターン指向リファクタリング入門を読んでみた

古いですが"パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法"を読んでみたので感想など □生成 Creation Methodによるコンストラクタの置き換え JavaやC++ではコンストラクタがクラス名と一致するためどんなインスタンスが作られるのか…

ロジスティック回帰について調べてみた

ロジスティック回帰 いろいろ間違っているところはあると思いますが、ロジスティック回帰について調べた内容をまとめてみました。 数式は分からないけどChainerとかのオープンソースフレームワークでどんなことすれば良いのかイメージが付くぐらいになるのを…

GraphXを試してみた

GraphXとは Apache Sparkのライブラリの一つでグラフの並列分散処理を行うことができます。Sparkの基本APIや他のライブラリの機能と合わせて利用することができるため、入力データの事前処理からグラフの生成、分析まで一貫して行えるのが強みとなっています…

Vue.jsからcytoscapeを使ってみる

Vue.jsの単一ファイルコンポーネントからCytoscapeを利用してみました。気をつける点としてはコンポーネントがマウントされるタイミングより前にCytoscapeの初期化処理を行ってはいけないぐらいですが、念のためメモしておきます。 事前作業 vue-initなどで…

Cytoscape.jsを試してみた

Cytoscape.jsとは もともとはクライアントアプリとして欧米の研究機関によって開発されているオープンソースのネットワーク可視化ソフトウェアプラットフォームであるCytoscapeが10年ほど前に作られ現在も継続して開発が行われています。Cytoscapeはデータの…

Rでネットワーク分析をしてみる

R

ちょっと興味が湧いたのでigraphを使ってネットワーク分析を行ってみたいと思います。 igraph igraphとは? ネットワーク解析周りの関数が多数登録されており、簡単にネットワーク解析を行うことができる。最近ではグラフデータベースのneo4jなどでネットワ…

Chainerによるロジスティック回帰

PythonのディープラーニングフレームワークであるChainerを使って簡単なセンチメント分析を行ってみたいと思います。 必要なモジュールのインポート # import chainer module import numpy as np import chainer from chainer import cuda, Function, gradie…

ApacheSparkの基本的なデータ操作

データ操作 Spark2.1で動作確認 build.sbt IDEAから実行できるようにbuild.sbtに以下を追加。対象のライブラリが存在しない場合はmaven_centralで確認する。 val sparkVersion = "2.1.0" libraryDependencies ++= Seq( "org.apache.spark" % "spark-core_2.1…

Apache Sparkを触ってみた

Apache Sparkとは? Hadoopと同じく分散処理のフレームワーク。HadoopではMapReduceと言って複数マシンで分散処理を行ってから結果をストレージに書き出す。1回の処理では終わらない場合はデータの処理フローを形成することになり、よみ出し→分散処理→書き込…

Scalaで数式をパースして整形表示

数式パーサ Scalaのコップ本を一通り読んだので振り返りも兼ねて数式をパースして計算、整形するDSLを実装したいと思います。全部自力で作れたら良いのですが、ソースコードはほとんど(http://blog.j5ik2o.me/entry/20101126/1290763057) とコップ本から拝借…

Postgreyについて

Postgrey Postgreyとはpostfixを使用する時に初めて来る相手からは一定の待ち時間後に再送が来なければ受信を受け付けないといったもので、phpとかで大量のスパムメールを送りつけてきたのを受診させないためのものになっています。 インストールから使用す…

Dovecotでメール削除をログ出力させる

削除ログを出力するようにする dovecotのプラグインを有効にしメール削除をログ出力するように対応した際の手順です。 1.POPサーバの設定ファイルを変更しログ出力用のプラグインを有効化する vi /etc/dovecot/conf.d/10-mail.conf ・変更前(210行目辺りです…

skinny事始め

scalaのフレームワークで簡単にとっつきやすそうのを探したらskinnyが良さそうだったので、触り始めた際のメモを残しておきたいと思います。 skinnyインストール(mac) $ brew updated $ brew install skinny プロジェクト作成から起動 $ skinny new プロジェ…

vue.js使用時にvue-resourceでhttpリクエストを投げてみる

vue-resourceでhttpリクエストを投げてみた 公式では以下のようにvue-resourceは公式推奨からは外すけど、ajaxはVue自身が管理すべき領域でないからということで、使うべきではないとかそういった意味合いではないようだ。 https://jp.vuejs.org/2016/11/03/…

vue.jsにVue Materialを適用してみた

Vue Material(https://vuematerial.github.io/#/)を使用してマテリアルデザインを適用した際のメモ インストール 公式の手順に従えば簡単に使えるようになる。 https://vuematerial.github.io/#/getting-started $ npm install vue-material --save $ yarn a…

vue.jsを触ってみた

vue.jsとは 公式ページを引用すると以下のようになっています。 Vue (発音は / v j u ː / 、 view と同様)はユーザーインターフェイスを構築するための プログレッシブフレームワークです。他の一枚板(モノリシック: monolithic)なフレームワークとは 異な…

WSUS構築メモ

WSUSインストール 更新プログラムを保存するためのフォルダを作っておく サーバマネージャの"役割と機能の追加"からWSUSを指定 役割とサービスでデータベースにWIDを選択 更新プログラムの保存先に事前に用意したフォルダを指定 WSUS設定 WSUSの同期スケジュ…

WSUSに困らせられた記録

WSUS管理コンソールに繋がらなくなった 症状 WSUS管理コンソールに繋がらないということで確認したところ"予期しないパケット形式のためハンドシェイクに失敗しました"とのエラー表示で繋がらない Microsoftのフォーラムに同様の書き込みがあり、どうやら最…

Scalaで新しく制御構造を作成する

Scalaで新しい制御構造を自作する Scalaは関数型言語にあるため関数が第一級のオブジェクトとなります。そのためJavaなどのオブジェクト指向言語と比べてどんな違いがあるかというと、関数を引数にして別の関数を呼び出すことができます。俗に言う高階関数と…

Ansibleを触ってみた

Ansibleを触ったのでメモ Ansibleとは エージェントレス型の構成管理ツール。エージェント型とエージェントレス型では以下のような違いがある。 ◯エージェントレス型 管理対象のサーバにエージェントを入れる必要がない 管理対象のサーバへの接続情報が必要…

vagrant の基礎

ansibleを触る環境を準備するためにvagrantを触ったのでその時のメモ mac環境へのインストール 1.公式サイトからインストーラをダウンロードする。 https://www.vagrantup.com/downloads.html /usr/local/bin/vagrantにインストールされた ~ which vagrant /…

PyMongo覚書

Pymongoの覚書になります、と言ってもmongoのクライアントから直接実行するのとほとんど同じように使うことができます。 モジュールインポート import json import re import pymongo import bson from bson.son import SON from bson.code import Code from…

MongoDB覚書

MongDB MongoDBをcliから操作時のメモです。Mngoのインストール等を試した環境はCentOS7.2になります。 CentOS7環境でのインストール ◯リポジトリ追加 公式ページを確認しyumのリポジトリを追加する(https://www.mongodb.com/download-center#community) /# …

CentOS7でユーザのコマンドに制限をかける

以前特定のコマンドしか実行できないユーザを作る必要があった時にrbashを使用したのが便利だったので、その時のメモになります。確認した環境はCentOS 7.2になります。1. rbashを使えるようにする # ln -s /bin/bash /bin/rbash # vi /etc/shells /bin/rbas…

Chainerで簡単なクラス分類をしてみる

Chainerを試してみるために簡単なサンプルプログラムを動かしてみたいと思います。まず必要なライブラリをインポートします。 import numpy as np import chainer from chainer import cuda, Function, gradient_check, Variable from chainer import optimi…

Scalaのfor式とflatMapについて

自分は職場では良くjava7でプログラミングするのでjava8のStream APIなどを触ることがないのですが、そのような状態だとscalaのfor式やflatMapに抵抗があったので簡単に使い方だけでもおさらいしてみたいと思います。まず、動作確認で使うクラスは以下になり…

アクターモデルについて調べてみた

バッチ処理でAkkaを使ってみたのでアクターモデルについて調べたことをまとめてみました。 scalaを触ったことがなく並列処理に興味があるけどやったことがないくらいの人が読める内容を目指したいと思います。 ・スレッドモデルについて ・アクターモデルに…

slick3を使ってみた

scalaで使われて使われているdbフレームワークであるslickを使ってみた。 slickも3系になってReactive Slickeと呼ばれるような機能変更があったようで 非同期周りの処理が豊富になったのだとは思いますが、初心者に取ってはミスの原因になりそう なので、使…

分析方法調査

○主成分分析主成分分析とは 主成分分析は多くの変数を持っているデータを少ない変数、通常は2つ~3つの 変数に縮約してデータを分析する際に多くもちいられているx1, x2 の変数が合った場合に z1=ax1+bx2となる合成変数z1を作成することにより 変数を減らし…

postfixでのメール受信時ウィルスチェック(ClamAntiVirus)でメール削除、受信者への通知を行えるようにする

目的 postfixでメールを受信したときにClamAVのウィルスチェックを行い、チェックに引っかかったものはメール削除、および受信者に対してメールの送信があったことを通知できるようにする。 procmailからpythonを呼び出したのだが、procmail周りの情報が少な…

Rの環境構築(CentOS, ubuntu)

統計解析で広く用いられているRをCentOS, ubuntuにインストールして 使えるようにする。統計解析ではPythonも人気で自力で計算処理を実装するならライブラリが豊富にある というメリットがあるのだろうが、Rの方が初心者にも扱いやすい印象があるのでまずは …

MeCabとCaboChaをpythonから呼び出せるようにする(ubuntu, centos)

日本語で自然言語処理をする上で必須となる形態素解析、それから係り受け解析のエンジンである MeCabとCaboChaをpythonから呼び出せるようにする。動作確認はUbuntu 14.04.3 LTSとCentOS Linux release 7.2.1511で行いました。1.Mecab 1.1 Ubuntu 14.04.3でM…

メールサーバ構築

環境 idcfクラウド上のCentOS7に環境構築 メール送信にはサーバのドメインが必要なので、Dynamic DO!(http://ddo.jp/)を利用してクラウド サーバにドメインを割り当てる。 メールサーバの環境構築としてMTA(Message Transfer Agent)にpostfix, MDA(Mail Deli…

Redisとspring-boot連携

Redisとは インメモリのkey-valueストア メモリ上にデータを格納するので,非常に高速にデータの書き込み・読み込みを行うことができる。 キャッシュの保存とかセッション管理とかに使えるかも。Redisインストール epelリポジトリに含まれていたからyumでイ…

pythonのWebフレームワークTornadoでhttpのプロキシサーバを作ってみた

PythonではTornadoというWebフレームワークを使うことで簡単にノンブロッキングWebサーバの開発ができるらしい。 最近ではnode.jsなどがノンブロッキングWebサーバとして注目を集めているが、文字列操作の点でpythonの方が優れていそうだったのでとりあえずp…

Spring Boot基礎

Spring Bootについて調べた内容をまとめてみる○springアプリケーション起動 SpringApplicatin.runを実行することで設定を読み込みアプリを起動する @autowiredや@ControllerアノテーションはSpringApplication.run以下のパッケージで有効になる。 なのでアプ…

Javascriptでクラスっぽい動きを実現する

javascriptでクラスのような動きが実現を実現したいと思う。通常javascriptではオブジェクトを生成するためのコンストラクタ 関数を呼び出すことでオブジェクトを生成する。クラスからのオブジェクト 生成はjavascript自体の機能としては持っていない。 func…

JSでオセロ盤表示

Canvasタグでオセロ盤表示 JSとCanvasタグを利用してオセロ盤の表示を行います。 最近はJSでゲームを作る場合enchant.jsやtmlib.jsなどといったフレームワークが 充実しているようだが基礎を大切にしたいのでまずは素のJSで作ってみようと思う。○作成に当た…

ネットワーク内の使用中ipとホスト名取得

ipをきちんと管理していない環境で新規にコンピュータを追加するとき困ったので ネットワーク内の使用中IPとホスト名取得が取得できないか調べていた。そしたらJavaのInetAddressが使えそうだった。 public void ipSearch(String ipAddress) { try { InetAdd…

node.jsでchess

node.jsでネット対戦できるチェスができたのでメモまず、サーバサイドの処理 var fs = require("fs"); var path = require("path"); var server = require("http").createServer(function(req, res){ console.log("request:" + req.url); res.writeHead(200,…

Androidでプロセス間通信

AIDLによるプロセス間通信用途 androidで常駐サービスを立ち上げた状態で、別プロセスからサービスのメソッドを 実行したくなる場合がある。例えばgpsによる位置取得常駐サービスを常駐サービスを 立ち上げた状態で、別プロセスからサービス内の一取得開始、…