Swiperを使って、ブラウザでプレゼンのスライドを回す。
プレゼン用の仕組みは色々あるが、
Swiperはionicでも採用されていて、
洗練されていて信頼もできそうだったので使ってみた。
ページ切り替えのデモ
があったので、それを自分なりに整理してみた。
ライセンスはMIT。
スライドが遷移するとき、そのページ数と時刻を記録に取るようにしている。
Swiperのインスタンス化のときのオプションで、
| import Control.Arrow | |
| import qualified Data.ByteString.Char8 as B | |
| type Stack = ([Int], Int) | |
| height :: Stack -> Int | |
| height = snd | |
| pop :: Stack -> Stack | |
| pop (x:xs, h) = (xs, h-x) | |
| go :: (Stack, Stack, Stack) -> Int |
| import Control.Monad.Trans | |
| import Control.Monad.Trans.Maybe | |
| import Control.Monad.Trans.Reader | |
| import Control.Monad.IO.Class | |
| import System.Random | |
| type DescReaderIO = ReaderT Int IO | |
| main = do | |
| fd <- openSth "foo.txt" |
Swiperを使って、ブラウザでプレゼンのスライドを回す。
プレゼン用の仕組みは色々あるが、
Swiperはionicでも採用されていて、
洗練されていて信頼もできそうだったので使ってみた。
ページ切り替えのデモ
があったので、それを自分なりに整理してみた。
ライセンスはMIT。
スライドが遷移するとき、そのページ数と時刻を記録に取るようにしている。
Swiperのインスタンス化のときのオプションで、
Bootstrapを使って、簡単にデザイン
デザインの微調整はよく手こずるので、
Bootstrapで簡単に済ます。
ドキュメントを見ながら適当にやるだけで、
普段よりかなりマシになった(普段のデザインがダメすぎる…)。
containerやら、tableやらalertのクラスを使った。
あまり理解していなくても、
ドキュメントを見つつ実験すれば一応何とかなる感じ。
AWSのLambdaで、DynamoDBにデータを突っ込む。 LambdaではPython等も使えるが、昔からあるnodeを素直に使った。 入り口は、インタネットからAPI Gatewayで。
exports.handlerに実行したい関数を設定する。
DynamoDBはスキーマレスで、カラム定義なしに色々データを突っ込める。
が、レコードのカラムには、Sという不思議なものを渡す。
API Gatewayでは、宛先となるリソースやメソッドを定義する。 パラメータは、node側で取り出すのではなく、
| import Clr.Inline | |
| rotate :: (Double, Double) -> Double -> IO (Double, Double) | |
| rotate (x, y) t = do | |
| rotated <- [fsharp| System.Numerics.Complex { | |
| let org = new System.Numerics.Complex(($x:double), ($y:double)) | |
| let r = new System.Numerics.Complex(cos ($t:double), sin $t ) | |
| org * r | |
| } |] | |
| x' <- [fsharp| double { ($rotated:System.Numerics.Complex).Real } |] |
| import Language.R.Instance(runRegion) | |
| import Language.R.QQ | |
| xorLearnAndPredict :: [[Double]] -> IO () | |
| xorLearnAndPredict table = do | |
| let [xs, ys, zs] = table | |
| runRegion $ do | |
| [r| | |
| library("neuralnet") |
Mac上のMonoから、Rを呼んでみる。
Rの統計関係の関数や簡単な描画機能は、たまに使いたくなることがある。
だが、Rは統計向けなので、イベントやネットワークといった、
一般のプログラミングでよくやる手法がイマイチわかりにくい。
とはいえ、その勉強にわざわざ労力を割きたくもない。
.NetからRを呼ぶR.NETというライブラリがあるので、
それを使うのが良さそう。
逆に、Rから.Netを使うには、R側のパッケージがあるらしい。
| import java.util.*; | |
| import static spark.Spark.get; | |
| import spark.ModelAndView; | |
| import spark.template.velocity.*; | |
| public class HelloSpark { | |
| public static void main(String[] args) { | |
| get("/", (req, res) -> { | |
| Map<String, Object> model = new HashMap<>(); | |
| model.put("title", "favorite food"); |
| using System; | |
| class I2CController { | |
| static void Main() { | |
| string i2cFilename = "/dev/i2c-1"; | |
| int i2cAddress = 0x68; | |
| try | |
| { | |
| var reader = I2CReader.Open(i2cFilename, i2cAddress); | |
| byte x = reader.GetDataAt(0x80); |