IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

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

2017年度末に中古のWindowsマシンを買った

事情があってWindowsPCが必要になりました。購入の条件は以下を考えていました。 64bit Windows 10 Core i5 以上 メモリ8GB 以上 ディスク SSD 120GB 以上 Officeあれば尚可 秋葉原の中古PCショップを周りました。中古市場に出ているPCは、メモリは4Gが中心…

Windows環境のVivadoが起動しなくなった

Vivadoが起動しなくなりかなり焦りました。Windowsマシンにいろいろアプリケーションをインストールしているので、それらが影響したのかと思い、PATH設定を見直しましたが、関係ありませんでした。どうやら、Windowsアップデートの影響(?)で起動しなくなった…

VSCode + msys2 git

msys側でgitをインストールしたのでそれをVSCodeで使いたい場合の対処。(gitを複数インストールしたくない場合) github.com

Verilogの最初の一歩

入力を反転 module Lesson1(switch, led); input switch; output led; assign led = !switch; endmodule // テストベンチ module tb_Lesson1; reg in; wire out; Lesson1 l1 (in, out); initial begin $dumpfile("Lesson1.vcd"); $dumpvars(0, tb_Lesson1); …

MySQLのXmasはXprotocolで決まり

昨日(12/24)は、協会のミサに行ってきました。牧師の説教はSNS批判でした。その話を私なりに解釈すると、「SNSで批判するときは、相手がリアルに目の前にいてもその発言ができるか、その覚悟を持った上でSNSを使え」と伝えているように感じました*1。あと、…

2017年12月版 Windows10にHaskellをインストール後の環境構築

Haskell Platformをインストールするとデフォルトでmsys2もインストールされる。 下記を参考に初期構築する。 Windows10の開発環境をMSYS2で再構築 - Qiita vimがインストールされていなかったので、下記を参考にインストールする。 Windowsでgccなどを利用…

2017年12月版 Windows10にHaskellをインストール

ghc,cabal,stackがインストールされます。。msys2も同時にインストールされます。なにも迷うことはありませんでした。むしろキャプチャとっているほうが時間がかかっていたかもしれません。 www.haskell.org

GtkWaveで波形がでない

最初は波形はでていない。appendが必要

FPGA入門環境編

環境はWindows10です。 コンパイラの準備 Icarus Verilog for Windows エディタの準備 VSCodeをVerilogHDLのすごいエディタにする - たいちょーの雑記 上記の記事を参考にさせていただきました。少しだけ変更しました。(変更しなくてもできるかもしれません…

Luaの対話環境を終了する方法

lua

ないみたいですね。 scripting - How do you cleanly exit interactive Lua? - Stack Overflow

Luaのテーブルのコーディング

lua

通常の配列のコーディング > x = {'a','b','c','d'} > for k,v in pairs(x) do print(k .. " / " .. v) end 1 / a 2 / b 3 / c 4 / d 配列の最後の要素の後にカンマがあっても正常に扱われる。 > x = {'a','b','c','d', } > for k,v in pairs(x) do print(k …

Luaの関数のオーバーロード

lua

luaの関数のオーバーロードは基本的にはできないと思ったほうがよいと思いました。 $ /usr/local/bin/lua Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio > > function foo(v) print(v) end > foo(1) 1 > function foo() print("xxx") end > foo(1) xx…

attempt to index global 'XXX' (a nil value)

lua

attempt to index global 'XXX' (a nil value)はスコープの指定がわるいため。 エラーになる場合 > Foo = { >> Bar = {[1]="Bar-1", [2]="Bar-2"} >> ,[1] = "Foo-1" >> ,[2] = "Foo-2" >> , bazz = function(v) return Bar[v] end >> } > = type(Foo.bazz) …

Luaのメタテーブル

lua

普通の計算 > > = 1 + 1 2 > x = 2 > = 1 + x 3 テーブルを足し算。当然エラーになる。 > y = {} > = 1 + y stdin:1: attempt to perform arithmetic on global 'y' (a table value) stack traceback: stdin:1: in main chunk [C]: in ? メタテーブルに特別…

luaのテーブル

lua

luaのテーブルはfunctionを持つことができます。 > AnyType = { >> [1] = "SCALAR" >> ,[2] = "OBJECT" >> ,[3] = "ARRAY" >> } > > Any = { >> [1] = {attr = "required" , type = "Type" , name = "Any.type" , tag = 1} >> , [2] = {attr = "optional" , …

Wireshark plugin 開発メモ

情報源 Wiresharkの解析プラグインを作る ssmjp 201409 macos - How to port a Wireshark Lua dissector Script to Mac OSX? - Stack Overflow http://www.ainoniwa.net/ssp/wp-content/uploads/2013/06/wireshark_dissector_with_lua.pdf 第269号(2…

Luaのtableの自己参照

lua

luaのテーブルはオブジェクトのように扱えますが、下の例のように自己参照はできません。 > Any = { >> AnyType = { >> [1] = "SCALAR" >> ,[2] = "OBJECT" >> ,[3] = "ARRAY" >> } >> , [1] = {attr = "required" , type = "Type" , name = "Any.type" , ta…

luaの型

lua

luaに型がある。typeファンクションで確認ができる。 number > type(1) > = type(1) number > return type(1) == 'number' true function > type (function() print("hello") end) > = type (function() print("hello") end) function > return type (functi…

alienのインストール

lua

alienがあるか確認 > require "alien" stdin:1: module 'alien' not found: no field package.preload['alien'] no file '/usr/local/share/lua/5.2/alien.lua' no file '/usr/local/share/lua/5.2/alien/init.lua' no file '/usr/local/lib/lua/5.2/alien.l…

Wiresharkのpluginでキャプチャできないtcpのportがあるの?

たぶん、自分のやっていることのどこか間違っているのだとおもうのですが、よくわかりません。 環境 wireshark -v Wireshark 2.4.2 (v2.4.2-0-gb6c63ae) Copyright 1998-2017 Gerald Combs <gerald@wireshark.org> and contributors. License GPLv2+: GNU GPL version 2 or later <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html> </http://www.gnu.org/licenses/old-licenses/gpl-2.0.html></gerald@wireshark.org>…

XProtocolのポートを変更

ハイフンではなくアンダースコアであることに注意 設定ファイル [mysqld] mysqlx_port=8001 コマンドライン mysql.server start --mysqlx_port=8000 クライアント接続 $ mysqlsh -p -u root --port=8000 Creating a Session to 'root@localhost:8000' Enter …

AttoparsecでN文字先読み

lookAhead関数をつかうだけ。 Peek many chars in Attoparsec.

GHCやghciでワーニングを出さない

:set -w です。 stackoverflow.com

Attoparsec の parseOnly は 残りにエラーがあったとしても、成功したところまでの結果を成功として返す

全部消費した上で判断したい場合はendOfInputを合成する。 gist.github.com

Haskellのテスト構成イメージ

こんなイメージ cabal | +--> TestSuite | +--> Tasty | +-(bridge)-> HSpec | | | +-(bridge)-> hspec-attoparsec | +-(bridge)-> QuickCheck 全体概要 unit-test-example/tutorial.md at master · kazu-yamamoto/unit-test-example · GitHub フレームワー…

TLSの暗号スゥイートの値一覧

ここにあったか。。 Transport Layer Security (TLS) Parameters いや、仕様書自体にあるみたい。下は1.1のだけど。 The Transport Layer Security (TLS) Protocol Version 1.1

HaskellのTLSサンプル

tls packageを直接使うのは辛いのでNetwork.Connectionを使うと楽かも。 gist.github.com

HUnit と Hspec の比較

gist.github.com

cabalのreplでテストスイートを使う

Haskellのテストをcabalで行う時は、下記のように実行します。(configureは毎回出なくて大丈夫ですが) % cabal configure --enable-tests % cabal build % cabal test テストコードを少し書くごとにcabal buildするのは、テストが蓄積されると時間がかかりま…

MySQLのmysqlsh(XProtocol)でssl通信ができない -> できているとおもう。

通常のmysqlからはssl通信ができるけど、mysqlshからはできない。なんでだろう。。 追記:たぶん\sではclassic扱いで、xplugin側の設定が表示されないだけだと思う。 foo$ ls /usr/local/var/mysql/*.pem /usr/local/var/mysql/ca-key.pem /usr/local/var/my…