So-net無料ブログ作成
  • ブログをはじめる
  • ログイン
前の10件 | -

SQLServer 2017 を Ubuntu 16.04 にインストールしてみる [RDBMS]

基本的には、この手順に従う
https://docs.microsoft.com/ja-jp/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-2017

ちなみに、 Ubuntu 18.04 にインストール (apt-get install mssql-server)しようとしたら依存関係でエラーになった。

The following packages have unmet dependencies:
 mssql-server : Depends: openssl (<= 1.1.0) but 1.1.0g-2ubuntu4 is to be installed
E: Unable to correct problems, you have held broken packages.

解決法っぽいのは stackoverflow にあった。
https://askubuntu.com/questions/930712/installation-problems-with-ms-sql-server-for-linux
そのうち 18.04 でも簡単にインストールできるようになると思われ、既存のパッケージ依存関係が壊れるといやなので今回は、がんばらず、 Ubuntu 16.04 にインストールしてみることにした。

[SQLServer のインストール]
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

sudo apt-get update
sudo apt-get install -y mssql-server

[コンフィギュレーション]
sudo /opt/mssql/bin/mssql-conf setup
Choose an edition of SQL Server:
と、SQLServer の、どのエディションか聞かれる
https://www.microsoft.com/en-us/sql-server/sql-server-2017-editions
今回は
2) Developer (free, no production use rights)
を選んだ

このあとで sa のパスワードを聞かれるので入力する。

サーバーが起動しているか確認
systemctl status mssql-server
active(running) と出てれば OK

[コマンドラインツールのインストール]
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt-get update
sudo apt-get install -y mssql-tools unixodbc-dev

以下のような感じで /opt/mssql-tools/bin/ を環境変数 PATH に加えてログインしなおすなどする
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

コマンドとして以下のように入力すると、パスワードが聞かれ、パスワードが合っているとログインできる
sqlcmd -S localhost -U sa


コメント(0) 
共通テーマ:日記・雑感

息子のノートの取りかた(保存のしかた)がおかしい [家族]

息子は、大学に入ってからルーズリーフにノートをとるようになった。

バインダーに挟むことはしないで、そのルーズリーフを他のプリントと一緒に教科書に二つ折にして挟んでいる。
見るからに、順番はぐちゃぐちゃであとで見る時には全部をばらばらとひっくり返さないといけなくなっているし、全部そろっているかわからない。
でも、本人的には教科書とノートが同じところにあるので無くさないベストプラクティスらしい。

教科書のない科目もあって、そいつはカバンに直接入れている。
そして、他のものをカバンから出し入れしている間に、ルーズリーフはぐちゃぐちゃになっている。
教科書に挟んであったルーズリーフも、こぼれ落ちて、カバンの中にぐちゃぐちゃになっているものもあるはずだ。

「それだったら(個別にノートを用意するのは、そのノートを無くしてしまうかもしれないのはわかるから)全部を同じノートにつけたほうがよくない?」
と聞くと
「その、唯一のノートを講義終わった瞬間に教室に置き忘れるとノートが全部被害を受けるからダメだ」
とのこと。講義終わった瞬間に取ったノートを忘れたことはあるらしい。ではしょうがないか。

先日、息子が、「テストがあるから」と、教科書を見ながら丁寧に(ルーズリーフに)ノートをとっていた。
家で勉強をしていることはあるけど、家での勉強でノートを書いているの珍しいなぁ、と思っていた。
後日聞いたところ、そのテストは「自筆のノートのみ持ち込み可」で、いうなれば、その「カンペ」を作っていたそうな。
そして、翌日のテストには、そのノート(と言ってもバラバラのルーズリーフ)は全部忘れて行ったそうな。
ダメじゃん。

いまのところ、学力的に行き詰っているということはなさそうだけれども、「履修届に失敗する」「テストの日にちを間違える」「卒論をなくす」などのアクシデントにより一留は(僕が)覚悟している。

コメント(0) 
共通テーマ:日記・雑感

pycrypto から pycryptodome へ [Python]

Python には、PyCrytpo という暗号/復号ライブラリーがあって、便利なんだけど、もう5年も更新されてない死んだプロジェクトになってしまっていた。

これ、どうしたもんかなーと思ってたんだけど、手元の Ubuntu にインストールするにはあんまり困らないもんだから
「ま、いいか」
と思ってたんだけど、他に代わりになるものがないか調べたら今は pycryptodome というのがあった

https://pypi.org/project/pycryptodome/

PIL に対する Pillow や mysql-python に対するmysqlclient のように、 pycrypto から fork して別の名前で pypi に登録してくれているようなのだが、(・・・なので、使い方は基本的には pycrypto と同じ。バージョンが上がって削除されたメソッドもあるようなんだけど、使いそうなのは大丈夫っぽい)
なんといっても、Windows や osx の wheel が用意されているのがありがたい。

(追記)
別系統で、 cryptography というのがあるらしい
https://github.com/pyca/cryptography
これも、メンテナンスが継続されていてよさそう
コメント(0) 
共通テーマ:日記・雑感

DjangoCongress 2018 [Python]

昨日行われた DjangoCongress 2018 の Day 1 にSpeaker として参加してきた

https://djangocongress.jp/

人前で緊張するということはないけれども、
- 発表自体が尺に会うか(ものすごく時間が余ったり、時間が足りなくて話したいことが話せないのではないか)
- トラブルで画面に出せなかったりネットワークが使えなくて発表が台無しにならないか
が気になって、45分のトークは緊張した。

発表内容はこれ https://gist.github.com/nakagami/098db7387d78ab9c6aa85d77a0eeecf5

後半は駆け足になってしまったが、それも尺が余った場合に丁寧に話そうと思って用意していたものなので、自分的には満足のいく発表ができた。
内容は、 PyCon JP の CfP では通らないようなニッチな内容だったので、発表する機会が与えられて良かった。
終わったら、どっと疲れが出て、俺ってこの発表がこんなに重荷になってたんだなぁって自分で驚いた。

他の人のトークも、雑なアニメコラージュでうけ狙いみたいなのがなくて良かった。
みな「内容は雑でたいしたことないけど、有名人だから」みたいな発表ではなかった。そういう CfP があったのかどうか知らないけど。

自分のもほかの人のも、トーク中に聞いている人が twitter にハッシュタグ #djangocongress 付きで投稿してくれている人が多くいてよかった。トークの様子もわかるし、盛り上がっている感じも伝わるし。

なにより良かったのは、スタッフの人たちが終わったときに口々に「良かった」と表明していたことだった。
ボランタリーで無報酬でやって、達成感はあるものの自分の聞きたいトークも聞けなくて燃え尽きて終わってしまう→イベントが開催されないとなったら残念なので。

結局、100人という規模で食事とかノベルティとかいろいろしないで運営の負担が少なかったのが良かったと思う。
もしよかったら来年もできる範囲で開催されるといいなぁ、と思う。

コメント(0) 
共通テーマ:日記・雑感

Windows + Python 3.6 の msys2 + minitty で utf-8 [Python]

気が付いたら、Python3.6 では、Windows で、コマンドプロンプトとファイルシステム(フォルダー名、ファイル名)のデフォルトの encoding が utf-8になってた

https://www.python.org/dev/peps/pep-0528/
https://www.python.org/dev/peps/pep-0529/

以下のようなーコードで
import sys
print(sys.stdin.encoding)
print(sys.stdout.encoding)
print(sys.stderr.encoding)

print('あいうえお')
コマンドプロンプト上で
utf-8
utf-8
utf-8
あいうえお
こんな感じになった。

すばらしい

しかし自分が普段使っている Git for Windows (Msys2) + mintty で、
上記と同じWindows にインストールした python3.6 で実行すると
cp932
cp932
cp932
▒▒▒▒▒▒▒▒▒▒

となってしまう。

・・・結局、環境変数に

export PYTHONIOENCODING=utf-8

を設定したらutf-8 でうまく表示できた。

まだ、minitty で interactive shell が動かないんだけど、コマンドプロンプトでは interactive shell ちゃんと動くし自分の Windows 環境がだいぶ良くなった。

コメント(0) 
共通テーマ:日記・雑感

小学生のプログラミング教育に期待すること [未来予測]

2020年頃に、日本の小学生にもプログラミング教育が始まろうとしているらしい。
どんなに工夫したって、プログラミングには英語、というか、アルファベットが必要で、日本語でのプログラミングやアイコンのドラッグ&ドロップによるプログラミングはかえって混乱をまねくだけなので、無理して小学生から教えるのは、やめたほうがいい。

・・・と思っていたんだが、最近その考えが少し変わってきた。

ひとつめの理由は、義務教育でなかったらプログラミングになんて決して触れることがなかったような家庭環境の子が興味を持って、最終的に才能を開花させる可能性があるということ。
今、僕が田舎の農家の子だったら、家にパソコンもインターネットもなく、スマートフォンでゲームをやって、
「新しい iPhone 欲しいな~」
と思っているだけの人間だった可能性が高い。
そんな 21世紀の、(もうひとりの)自分にプログラミングの楽しさを知ってもらうきっかけになればいいなと思う。
そのために大多数の子が
「全然わからないし、なんのためにやっているのかわからない」
と思っても知ったこっちゃない。

もう一つの理由は、そうやって小学校のときに、まったく思った通りに動かないということを知った人たちが、
「こんなの簡単でしょ」(←じゃあ、お前がやれよ)
とプログラマーに無茶ぶりしてくることがしなくなるんじゃないかと。
さらに、職業プログラマーが
「小学生のあんなにわけわからなかったプログラミングを職業にしてるなんて」
と、尊敬してもらえる可能性もあるぞ。

いずれにせよ、小学校でプログラミングを教えたりなんかしたら、英語や数学以上に挫折する子が出ると思うのだが文部科学省の人は覚悟できているんだろうか。

コメント(0) 
共通テーマ:日記・雑感

これからはじめるSQL入門 [読書]

これからはじめる SQL入門草稿のレビューをしました

社会人プログラマー一年生はもちろん、非プログラマーな営業企画職や、ゲームディレクター、プロデューサー、広報とかの「データを検索したり集計したい」人まで向け。
逆に多少なりとも SQLを使ったことある人には、簡単すぎると思われ。


まったく初めてのところから、

- SELECT, INSERT, UPDATE, DELETE
- INNER JOIN , OUTER JOIN
- Window 関数
- 簡単なサブクエリ

あたりまで。
SQL としては基本だけれども、ここらへんまで理解できれば、あとは実務をしながら
・・・というあたりまで。

サンプルデーターベースを使って、書籍の説明の通りに SQL を実行すると、書籍の結果と同じになる、という感じで、二色刷りで読みやすく、内容も丁寧。
サンプルデーターを使って、ストーリー立てて、簡単なものからだんだん難しいSQLを説明するようになっていて、良く書けていると思う。

特筆すべきは、サンプルデーターベース・・・の入った PostgreSQL・・・の入った Ubuntu のイメージ・・・の入った DVD が付録になっていて、サンプルデーターベースを使うまでのハードルが低い、という点。
それで、表紙に「Windows/Mac両対応」と書いてある。(実際は Ubuntu)

超初心者のための入門書が、どんなに分かりやすく書いても、
「ネットワーク上にあるダンプデータをリストアしてください」
では、そこでくじけてしまう人が多いので、そこをどれだけ簡単にできるかを真剣に考え、
いろいろ考えた結果が VirtualBox のイメージを、おまけ DVD に付けるという結論だったらしい。

PostgreSQL を使っているのは、標準 SQL に近くて、ライセンス的に問題ないものという理由で、著者が PostgreSQL信者というわけではないと思われ。

コメント(0) 
共通テーマ:日記・雑感

Python Boot Camp in 柏の葉 [Python]

故郷愛知 http://nakagami.blog.so-net.ne.jp/2017-07-29-1 に続いて、26年間暮らす千葉(の柏の葉)で開催された Python Boot Camp in 柏の葉に TA として参加した
https://pyconjp.connpass.com/event/81251/

このイベントの TA は
「なんか、うまく動きませーん」
と質問されたときに、

- python3 のつもりで 2.7 が動いてた
- pip install を sudo 付きで実行してた
- エディターをインストールしてない

と、トラブルのバリエーションが多くて、それを限られた時間で解決しないといけないので緊張する。


愛知の時は、環境が動かせなくて、ほぼ座学になってしまった人がいたが、今回は、まったく Python が動かせなかった人はいないようだった。ほっとした。

ハンズオン中に受講者の人が
「これは、ひとりではできないよなぁ」
ってぼそっと言ってた。

最初の一歩の手助けができて、このうちの何割かでもプログラマー仲間になってくれるとうれしい。

柏の葉キャンパスは、都会で学際都市で ITベンチャーがいっぱいあって産学共同で、その象徴が KOIL ・・・っていうイメージだったけど、話を聞くと、あくまでも千葉(田舎)で、新宿、渋谷とは差があるんだなぁという感じだった。
KOIL の中はきれいでおしゃれだったけど。
東京にはイベントがあって、いざとなれば東京に行けばいいじゃん、って思うけど、心理的なハードルがあるようで、今回柏であるから来ましたっていう人が多かった印象。
千葉開催が決まったときに 「柏?都会じゃん」と思ったけど、マインドは田舎だった。
僕が何かの助けになればよかった。

コメント(0) 
共通テーマ:日記・雑感

Python で日本語文章要約 [Python]

最近、諸般の事情により、
「自然言語処理でなんか面白いことできないかなー」
って調べてて
「そういえば以前に、どっかの大学院生が日本語要約を python でやっててソースを公開してたな」
ってことを思い出して探したんだけど・・・
https://recruit-tech.co.jp/blog/2015/10/30/summpy-released/
↑これだった。
公開した直後以降はソースコードの更新は行われず、python2.7 でしか動かないようだった。残念、というかもったいない。Python2.7 でしか動かないものは、今後使われなくなってしまう。

MIT ライセンスなので、結果のよさそうな LexRank アルゴリズムのエッセンスの部分を1ファイル(1モジュール)に抽出して Python3 で動かせるようにして gist に貼っておきます。
https://gist.github.com/nakagami/92c0904ac9c1a98ee4ff8d8fb644fd69
正直、アルゴリズムの数学的な意味などさっぱり分かっていないけど・・・

自然言語処理研究者でない人(例えば自分)向けの LexRank による要約についての
ざっくりとした日本語解説は、これが比較的わかりやすいかと思います
https://qiita.com/takumi_TKHS/items/4a56ac151c60da8bde4b

jabstract.py をダウンロードして
import jabstract
text = '複数の文がある、ながーい文章'
sentences = jabstract.summarize(text, sent_limit=10)
print(sentences)

という感じで要約できるんだけど、ちゃんと動いてるかな?
必要なパッケージとか、関数のパラメーターとか、詳しくはソースコード読んでください。

コメント(0) 
共通テーマ:日記・雑感

EV 車と自動運転 [未来予測]

僕はペーパードライバーで自動車のことに詳しくない。
欧州で
「これからはクリーンディーゼルを推進する。(ハイブリッドを含む)ガソリン車はエコじゃない」
という法規制が行われようとしてたときに
「日本メーカーやばいじゃん。ハイブリッドに注力してたおかげで出遅れてるじゃん」
と心配した。

僕は、そのときまったく気づいてなかったけど、
(というか、国がそういうインチキをするとは思ってなかったけど)
それはヨーロッパの自動車メーカーがハイブリッド車開発でトヨタに負けてて、
なんとかヨーロッパの自動車メーカーが有利になるように進めた政策だったようだ。

でも、何となくイメージしてるエコとディーゼルってあってないんだけど? と思っていたら、
「ディーゼルは CO2 排出は少ないけど NOx の排出が多くて欧州の大気汚染が大変」らしい
https://carview.yahoo.co.jp/article/column/20180305-20103667-carview/2/
なんだよー。

そんなこともあって、「EV車」と「自動運転」も疑ってみてた。
どうせこれも、日中韓インドの車に押されて苦しいアメリカ政府が自国メーカーを救済しようとしてるだけだろう・・・と
最近、それらも行き詰まりが見えるように思う。

EV 車の リチウムイオン電池は、自動車の駆動のための燃料タンクとしては高くて劣化しやすくて資源も限られていて無理がある。

自動運転は、ほんの数個の車載カメラで物体を認識するのには無理がある。
いまにも飛び出しそうな子供や猫とアイコンタクトをとって一時停止するか低速で通り抜けるか判断してるのを、
機械がかわりにするためには、人も車も(できるなら猫も)道路に出る人はすべてイージス艦のような大量のセンサーを搭載して、
それらがお互いに通信しないといけないんだと思うんだよなぁ。

Uber や テスラが死亡事故を起こし、テスラの資金繰りの苦しい中、モデル 3 は 思ったように量産できてないし、
ちかぢか EV車と自動運転が本物なのか単なるブームだったのか決着がつくと思うのだが

コメント(0) 
共通テーマ:日記・雑感
前の10件 | -

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。