キンサクプログラマー

お金儲けと技術のメモ

PolybiuosのICOに投資してみた

ICOとは

f:id:pikurusux:20170605235303j:plain
Initial Coin Offeringの略称で、仮想通貨の初期投資を意味する。株で言うところのIPOだ。
IPOも上がれば大儲けできるが、ICOだとさらなる爆裂大儲けを期待することができる。
リップルやイーサリアムなんかもICOでつかんでいれば今や、10倍〜100倍以上になるわけだ。
ということで、5匹目のドジョウを求めてPolybuisのICOに乗っかってみた。

Polybuisってなに

  • 仮想通貨の銀行らしい。
  • AIとかビックデータとかでかっこよく儲けるらしい。
  • 年間の利益の20%をうけとることができるらしい。

よくわからん。別にPolybuisの斡旋目的じゃないので、興味がある人は自分で調べてね。

危険なICO

未公開株詐欺と同じように、この業界も詐欺が横行しているらしい。今回Polybuisとかいう発音すらわからないようなICOに投資したのはクラウドマイニングの老舗hashflareが出資しているからだ。今のところそれ以上の情報がないため何とも言えないが、頑張って欲しい。
polybius.io

投資する際は、自己責任で!

毎日アルゴリズム(第2日目)ユークリッドの互除法

ユークリッドの互除法

他のアルゴリズムをやろうとしたが間に合わず急遽変更。
高校生レベルのユークリッドの互除法で満足しとく。

概要

二つの数字の最大公約数を高速に求めるアルゴリズム
通常であれば素因数分解などで求めるが、こちらの方が早いらしい。

アルゴリズム

  • 二つの数字をa,bとおく
  • a,bの最大公約数をGとする
  • a=An,b=Bnとなる
  • a=bx+qとも表せる
  • 上の式を代入するとAn=Bnx+q
  • 移行してゴニョるとq=n(A-Bx)
  • なんと、aをbで割った時のあまりqも実は最大公約nで割れる

これだけ

ソース

github.com

毎日アルゴリズム(第1日目)エラトステネスの篩

暇なので毎日アルゴリズムを勉強することにした。1日で終了しないことを目標に頑張ろうと思う。
いつか、ホットエントリーにのるその日まで・・・

エラトステネスの篩

エラトステネスの篩とは素数を見つけるアルゴリズムN以下の素数を全部みつけることができる
第1日目にふさわしくとっても簡単。

アルゴリズム

  • 2〜Nまでの配列を準備
  • 2の倍数を消す
  • 3の倍数を消す
  • 4のば・・・ 4は消えているね〜
  • 5の倍数を消す
  • Nの平方根までやって、残ったのが素数

平方根までしか計算しなくて良い点が、計算時間削減の肝。
プッチ神父もびっくり

コード

Pythonを勉強しているので、Pythonで書いてみた。
github.com

PythonのOpenCVで顔検出

顔認識ができない。
anacondaインストー
pythonインストールを行った後に、以下を実行すると・・・

import os
import cv2
import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline

def facedetect(file):
    face_cascade = cv2.CascadeClassifier('cascadeファイルのパス/haarcascade_frontalface_default.xml')
    img = cv2.imread(file)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)
    for (x, y, w, h) in faces:
        cv2.rectangle(img, (x,y), (x+w, y+h), (255,0,0), 2)
    plt.imshow( cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    plt.show()

if __name__ == '__main__':
    lenna = "ri947_a.jpg"
    if os.path.exists(lenna):
        facedetect(lenna)

これが出る・・・・

error: /Users/travis/build/skvark/opencv-python/opencv/modules/objdetect/src/cascadedetect.cpp:1681: error: (-215) !empty() in function detectMultiScale

ぐぐってみると、ちらほら同じ問題を見かけるが、パスがおかしいくらいの指摘しかない。
パスは合っている・・・と思いきや、スペースが頭に入ってた。 アホすぎる。
できた。わーい。
f:id:pikurusux:20170614232021p:plain

ちなみに、
detectMultiScale(gray, 1.3, 5)の第三引数minNeighborsは変えないと、小さい顔画像を検出してくれません。

Cプログラマが直面したPythonの不自然さ

Pythonを書いたり読んだりしていると、慣れない用語や言語機能がバンバン出てくるので、勉強したこととしてまとめておきたい。

ジェネレータ

説明しずらいが、イテレータの一種で呼び出されるごとに生成されるってことらしい。
*ネットに転がっているサンプルソースにnext()を使っているものが多数あるが、これはpython2.*系の名前なので、3系の実行環境だと動かない。
2系と3系で互換とれてないのは致命的だよなぁ・・・

def fruits():
    yield "apple"
    yield "orange"
    yield "melon"

print(list(fruits()))#["apple","orange","melon]
fruits().__next__()#でもコールすることができる

デコレータ

説明が難しい上に理解できているか怪しいが、ラッパーを簡単にかける。

def cake(func):
    func()
    print("cake")

@cake
def melonCake():
    print("melon")
#melonCake = cake(melonCake) @cakeってやるとこの記述と同じ意味になるので、定義だけじゃなくて実行もされる

結果

melon
cake

初めは理解できないけどなれれば・・・  いや、初めから納得できない仕様はクソだな。

@Property

メンバー変数のセッター省略できるってことか?よくわからん!

class A():
    def __init__(self):
        self.x=0
    def getx(self):
        return self.x

a = A()
print(a.getx())
a.x = 5
print(a.getx())
print(a.x)

クロージャ

コールされたネームスペースにある変数を参照可能な関数内関数。らしい。

def  calc(start=0):
	num = start
	def closure():
		nonlocal num	# 外側の変数を参照
		num += 1
		return num

	return closure		# クロージャを返す

def main():
	func = calc(5)
	print(func())
	print(func())
	print(func())
	print(func())
	print(func())

main()

結果

6
7
8
9
10

C言語でいう静的なローカル変数のような感じかな。
ただ、静的なローカル変数使いたいだけなのに、わざわざ関数内に関数を宣言してわちゃわちゃやる意味はよくわからない。

感想

調べれば調べるほどよくわからない機能が出てくる。
これ自然に理解できるもんなのかな、すんなり理解ができない仕様だと思うんだけど。

TL;DRって何業界の標準なのよ

f:id:pikurusux:20170523011452p:plain
Qiitaエントリーでよく見かけるTL;DR。なにこれ。

Too Long; Didn't Readの略らしい

長すぎて読めるかボケ。てことか。
2chで「長い3行」とか書かれるのと同じ感覚で英語圏ネットスラングらしい。

ただし、真面目なプレゼンやら学問的なサイトでもちらほら見受けられる。
この記事で言うと、「いまから話すこと、要はこう言うこと」みたいなニュアンスが正しそうだ。
qiita.com

みんなも明日から使ってみよう。
*役所とか古い体質の会社のプレゼン資料で"TL;DR"とかやると、嫌われること間違いなし!理解ある会社でやること。

まとめライター激震! 無断転載は当たり前だけど訴えられるよ

NAVERまとめに写真を無断転載されたカメラマンの人が、まとめライターから賠償を勝ち取ったらしい。
www.photo-yatra.tokyo

もともと、記事をパクったとしても親告罪だから、怒られるまでパクリ続けるのがまとめサービスのモットー
「まぁ、パクっても訴えられないっしょ。怒られたら消せばいいし」とか余裕ぶっこいてると訴えられて、
賠償金を支払わされることが証明された。これはなかなかでかい。

パクリでしか成り立たないサービス

まとめ記事なんてパクリ内容でしか成り立っていないのが現実だ。
今後、賠償請求の流れが加速していくとNAVERまとめが成り立たなくなるのも時間の問題だ。

とりあえず

何はともあれ、僕は訴えられる前にNAVERまとめのアカウントを削除した。