Hatena::ブログ(Diary)

moremagicの日記

2017-08-09

2017-06-29

完全数を探してみる

奇数完全数ってないらしい。
探してみようかな。

DrScheme で実行中・・・

(define (perfect-number num)
  (define (list-add lat)
    (cond
      ((null? lat) 0)
      (else
        (+ (car lat) (list-add (cdr lat))))))
  (cond
    ((null? num) #f)
    ((number? num)
      (= (list-add (division-list num)) num))))

(define (division-list n)
  (define (div-support n num)
    (cond
      ((zero? n) '())
      ((zero? (modulo num n))
        (cons n (div-support (sub1 n) num)))
      (else
        (div-support (sub1 n) num))))
  (div-support (sub1 n) n))


(define (find-perfect n)
  (cond
    ((perfect-number n) (print n)(print "/")))
  (cond
    ((zero? n) #f)
    (else
       (find-perfect (add1 n)))))

(division-list 28)
(perfect-number 28)

(find-perfect 1)


見つかったらほうこくしますw

2017-05-05

minibian に docker-compose をインストール

Raspberrypi2(minibian) に docker-composeを入れるところまで成功。

でもまだDocke-composeが入っていませんでしたが
ググってみたところ以下の方法で入れられました。

以下を参考にしてdocker-composeをいんすとーる。
https://gist.github.com/oysteinjakobsen/e59cdd38a688ee8a418a

こんてなをびるど。

git clone https://github.com/docker/compose.git
cd compose
docker build -t docker-compose:armhf -f Dockerfile.armhf .

コンテナから成果物取り出し。

docker run --rm --entrypoint="script/build/linux-entrypoint" -v $(pwd)/dist:/code/dist -v $(pwd)/.git:/code/.git "docker-compose:armhf"

cp dist/docker-compose-Linux-armv7l /usr/local/bin/docker-compose
chown root:root /usr/local/bin/docker-compose
chmod 755 /usr/local/bin/docker-compose


以下のように出れば成功!

$ docker-compose version
docker-compose version 1.13.0dev, build unknown
docker-py version: 2.2.1
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

2017-04-23

RancherOS がうまく動かなかったので minibian install

ラズパイ2でDockerをもっと使いこなしたい!
でもそもそもホストのパワーが絶対的に不足しているので
もうちょっとDockerがサクサク動くOS(小さくって軽い)にしたいな。

■RancherOS インストール
というわけでRancerOSをインストールしようとしました。
https://docs.rancher.com/os/running-rancheros/server/raspberry-pi/

が。Diskサイズの拡張がうまくいかない。

<<後でログを張り付ける>>

デバイスがbusyとかなんとか・・・
参ったな・・・

■minibian install
どうしよっかなって思ったところRasbian の最小インストールイメージの
minibianなんてものがあるらしい。
以下を参考に早速セットアップ

https://harvestasya.com/rbwp/minibian_initial_setting/

ログインプロンプトが表示されたら、
ID:root
PW:raspberry

apt-get install raspi-config
raspi-config

Expand Filesystem でSDカードの限界まで使用できるようにする。


Wifi設定(うまくいかず)

USB Wifiアダプタを着けたいけど
lsusb コマンドが無いぞ・

ググってみると以下の手順で使えるようになるみたい。
https://askubuntu.com/questions/668829/lsusb-command-not-found

apt-get install usbutils


よしよし。



# vi /etc/network/interfaces

----
以下追記

allow-hotplug wlan0
#iface wlan0 inet dhcp

iface wlan0 inet static
address 192.168.10.150
netmask 255.255.255.0
----


# ifdown wlan0
# ifup wlan0


# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:ec:75:d7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.8/24 brd 192.168.10.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:feec:75d7/64 scope link 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b0:c7:45:a9:72:90 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.150/24 brd 192.168.10.255 scope global wlan0
       valid_lft forever preferred_lft forever


ここまで来たら以下記事を参考に DHCPAPデーモンセットアップします
http://d.hatena.ne.jp/moremagic/20170107/1483793694

あれ?うまくいかないな・・・

2017-02-12

OracleXE のメモ

昔作ったコンテナでAPEX関連の質問が外国の人から来ました。
https://hub.docker.com/r/moremagic/oracle-xe/

このコンテナ、前の現場でDBAさんから頼まれて作ったやつで
僕、実はOracleとか全く分からないマンなんです。

ほっとくわけにはいかないので調査してみようと。
まずAPEX? どうも管理コンソールのことらしい。
どうやってアクセスするんだろう?

ふむふむ。
http"//localhost:8080/apex にアクセスすればいいっぽい。
アクセスしてみるもログインできず。。。

なんだろうなぁ
いろいろ調べてみたら外からアクセスできるようにするには
なんか操作が必要みたい。

http://mononofu.hatenablog.com/entry/20070409/1176082886

よし。sqlplusをぶったたいて。。
あれ、、rootユーザーではそもそもsqlplusにパスが通ってない。。。
findしてみよう

[root@feffd43ee8b8 /]# find / -name sqlplus
/u01/app/oracle/product/11.2.0/xe/bin/sqlplus
/u01/app/oracle/product/11.2.0/xe/sqlplus


直接ぶったたいてみよう

[root@feffd43ee8b8 /]# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

ORACLE_HOME がないんだな

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe/
[root@feffd43ee8b8 /]# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Sun Feb 12 10:35:45 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Enter user-name: system
Enter password: 
ERROR:
ORA-12162: TNS:net service name is incorrectly specified


ぐぬぬ
いろいろググってみると 以下のページが。
http://tazakazushi.net/sqlplus_ora_12162.html

なんかいろいろ環境変数が足りない。
あれぇ、、前にDBAの人はこれどうやって使ってたんだろう。
自分で提供したのにわかってないという・・orz


Dockerfile をのぞいて。。
ふむふむ。 /etc/bash.bashrc に環境変数が全部書いてあるぞ

source /etc/bash.bashrc

[root@feffd43ee8b8 /]# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Sun Feb 12 10:38:31 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Enter user-name: system
Enter password: 

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> 




よし!
早速、以下のコマンドを!

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

PL/SQL procedure successfully completed.



f:id:moremagic:20170212194127p:image:w360

無事死亡( ^ω^ )

※続く・・・のか?

Clojure ことはじめ

そろそろ何か新しいことをしてみようと思い
Clojure でなんにかつくれるようになりたいなーっておもいました。

ちょっとググると良いドキュメントが!
http://ayato-p.github.io/clojure-beginner/intro_web_development/index.html

ここを参考にして環境を作ってみました。
OSUbuntuJava はOpenJDK1.8、IDEAでやってみます。

初めてのIDEAはComminicationEdition Version: 2016.3.4
特にRepositoryURLを追加しなくても Crursive Pluginがインストールできました。

REPLを起動するのに手間取りましたが何とか起動できました。
ふぅ。

WEBに行く前にこっちをやったほうがよかったのかなと今更。
http://ayato-p.github.io/clojure-beginner/getting_started/index.html

右往左往しながら進んでいきたいと思います。