タグ

2019年12月24日のブックマーク (14件)

  • えぽん巡業 プラレールと連動するデジタルえほん! | マッシュ&ルーム

    親御さんも参加されてたり、親子での創作というコミュニケーション・親子の時間を作れたことも何よりです。 子供たちにはデジタルえほんとプラレールがIT技術によって連動しているという発想はないと思いますが、楽しんでくれたからそれでいい! obnizについて 今回は、プラレールがトンネルを通過したことを検知するために距離センサー「GP2Y0A21YK0F」と、デジタルえほんからのトリガーでプラレールを走らせるためにDCモーター制御をしました。 /** * obniz DCMotor制御 */ export class ObnizDCMotorClient extends ObnizClient { private motor: any; private power: number = 60; constructor() { super(); } static init(): ObnizDCMot

    えぽん巡業 プラレールと連動するデジタルえほん! | マッシュ&ルーム
    igrep
    igrep 2019/12/24
  • RubyやRubyのOSSの脆弱性を見つけた話の続き - ooooooo_qの日記

    この記事はRuby Advent Calendar 2019 - Qiitaの24日目です。 去年(RubyRubyのOSSの脆弱性を見つけた話 - ooooooo_qの日記)と同様にRuby関連で今年見つけた脆弱性の話です。 Ruby CVE-2019-16255: Shell#[]およびShell#testのコード挿入脆弱性 hackerone.com 脆弱性なのか判断に迷うもの。 引数が.sendにそのまま渡されるので値によってはコードが実行できるものでした。 .sendを使って実際に攻撃できるパターンが有るのか、Rubyのコードの中を調べて見つけた覚えがあります。 CVE-2019-15845: File.fnmatch の NUL 文字挿入脆弱性 hackerone.com またNul文字。さすがにRubyではもうNul文字の問題はないのではないでしょうか。多分。 Pathna

    RubyやRubyのOSSの脆弱性を見つけた話の続き - ooooooo_qの日記
  • Higher-Kinded Data (HKD) について - Qiita

    これは Haskell Advent Calendar 12 日目の記事です。今日は 12/12+12 日です。 今回は、最近流行りの Higher-Kinded Data (HKD) について簡単に紹介したいと思います。 // 以前、某社の採用ビアバッシュ的イベントで、Haskell ほとんど知らない人の中で HKD の話をした際のスライドを公開し忘れていたので、せっかくなので多少手直しして公開します。 Haskell Day 2019 でも、@fumieval さんによる HKD のトークがあったので、そちらも参考にすると良いと思います。 https://twitter.com/fumieval/status/1193016480574500865 設定はモノイド Haskell 界隈には設定はモノイドであるべきという一派があります。 次のようなプログラムの設定を表すデータ型を例にして

    Higher-Kinded Data (HKD) について - Qiita
    igrep
    igrep 2019/12/24
    簡潔でいい!
  • Haskell〇〇多すぎ問題 - LugendrePublic

    初心者が入門書を読んでさぁ書くぞとなったときにつまずくところのうちの一つが,同じようなライブラリが多すぎ問題である. ということでそういうライブラリの話をしよう. 例によって例のごとく間違っていること書いてあるかもなので報告よろしく. モナド変換子 Haskellで実用的なプログラムを書く上で避けて通れないものの一つにモナド変換子がある.こいつはなにかというと,簡単に言えば,モナドを合成してでかいモナドを作るやつである.人間がおおよそ使うであろうモナド変換子はライブラリで提供しているので,それらを組み合わせてお望みのモナドを作ろうとするわけだが,そこに立ちはだかるのがtransformersとmtlである. transformersとmtl transformersはlift という下位のモナドのアクションをでかいモナドのアクションに持ち上げてくれるメソッドが定義されたMonadTrans

    Haskell〇〇多すぎ問題 - LugendrePublic
    igrep
    igrep 2019/12/24
    それな。
  • RustのCLIツールにバージョン情報を出力するオプションを追加する方法 - matsu7874のブログ

    Rust Advent Calendar 2019の24日目の記事です。 バイナリファイルを配布して運用してもらうとなると、version情報の出力は必須オプションですね。 この記事ではCargo.tomlのversionを出力する方法を、RustでCLIツールを開発する際の標準的なcrateであるClapとgetoptsそれぞれについて解説していきます。 その後gitのコミットハッシュなどの追加情報を出力する方法を検討します。 Cargo.tomlのversionを表示したい場合 Cargo.tomlにはversion属性があるので、semantic versioningを信じるのであれば、この値を確認しておけば大丈夫です。 Clapを使っている場合 clap-rs/clap: A full featured, fast Command Line Argument Parser for

    RustのCLIツールにバージョン情報を出力するオプションを追加する方法 - matsu7874のブログ
    igrep
    igrep 2019/12/24
  • I/Oを1ms単位で正確にON/OFFできるio.animation機能がすごい(ミニ四駆チキンレース車応用例) - Qiita

    ■はじめに obnizで1ms単位で正確(時間)にIOを制御するio.animationという機能の紹介です。チキンレース用のミニ四駆に応用した例で紹介します。 ■走行距離が大きくブレて苦戦 obnizは1ピン当たり1Aまでの電流を取れるのでミニ四駆などのDC Motorも直刺しで使え、小さな車体内にもコンパクトに搭載できます。一方でCloudで動作するという機構のため、超正確(時間)に信号をON/OFFする事が少し不得意です。モーターを回したりLEDを点滅させたりした時に、少し引っ掛かりを体感した事がある人もいるかと思います。とはいってもmsオーダーの話なので、多くの場合あまり問題になる事はないでしょう。ところが、高速で走るミニ四駆の場合100msの間に25cmも進んでしまいます。チキンレースともなれば、これだけの距離のブレは致命的です。実際にobnizでawait()で時間設定してミニ

    I/Oを1ms単位で正確にON/OFFできるio.animation機能がすごい(ミニ四駆チキンレース車応用例) - Qiita
    igrep
    igrep 2019/12/24
    すごいな。どういう仕組みなんだろう。
  • AWS、オープンソースベンダのライセンス変更による商用サービスの制限は「顧客を見ていない」と反論

    RedisやMongoDB、Kafka、Elasticsearchなどのオープンソースソフトウェアの開発元企業が、AWSなど大手クラウドベンダがそのオープンソースを用いたマネージドサービスを提供して大きな利益を上げていることに反発して、ライセンスを変更するなどで商用サービス化を制限する動きがあることは、今年の1月の記事で紹介しました。 Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発 この動きに対してGoogleは4月、Google Cloudにオープンソースベンダによるマネージドサービスを統合すると発表し、彼らとの戦略的提携という姿勢を打ち出しました。 [速報]Google、大手クラウドに不満を表明していたMongoDB、RedisらOSSベンダと戦略的提携。Google Clou

    AWS、オープンソースベンダのライセンス変更による商用サービスの制限は「顧客を見ていない」と反論
    igrep
    igrep 2019/12/24
  • 家事育児をやる男との結婚

    夫は子供が生まれた時から、働きながら育児も家事も手伝ってくれた、というより授乳以外は私よりも夫の方が負担が大きかったような気がする。 産休育休中は私の方が子供いる時間が長いけど、買い物はまとめ買いしてくれるし、離乳を作りだめしてくれるし、仕事を早めに切り上げて夕を作ってれたりもした。 育休が終わって仕事に復帰してからも、子供の世話や保育所への送り迎えとか積極的にやってくれて、負担も半々だ。 こう言うと、いい旦那さんだね、と思われそうだけど、正直かなり辛い。 何故なら育児家事の愚痴が言えないから。 どんなに疲れていても、相手も仕事しながら同じくらい家事育児してくれてるから気が休まらない。むしろ夫の方が仕事は大変で疲れているはず。 友達は旦那が家事育児を全然手伝ってれないらしく、お願いしてやっと土日に手伝ってくれるらしい。それでも大したことをしてくれなくて不満なのだとか。それでよく喧嘩をす

    家事育児をやる男との結婚
    igrep
    igrep 2019/12/24
    友人と大変さを競ったり共感し合ったりがしにくい、というのはありそう。
  • Kotlin+LibGDXで作ったゲームをSpring-boot上でも動かしJPAで永続化する - Qiita

    はじめに ブラウザゲームソシャゲでは、ローカルの端末で遊んで操作結果をサーバに送信します。 このとき、サーバに単にクリアしたなどのゲーム結果を送るとチートし放題となってしまいますので、暗号化だったり逐一通信することでそれを防ぎます。 ですが、これはチートとのいたちごっこになったり、逐一通信することでユーザの体感速度が著しく落ちます。 そこで「ローカルで動かしたゲームの操作だけ送るが、ゲームのアルゴリズムをサーバと共通にし、サーバ側で再現することでデータの不整合を防ぐ」ことを考えてみます。 ソースはここに置いておきます まずは Kotlin + LibGDXゲームを作る まずゲームを作ります。できました。 ゲームは何度も使ってるファイアーエムブレムのクローンです。(クローンと言ってもSDキャラのアニメとか作ってないので動かして戦闘ができるだけですが。) 環境はたまたまKotlinを勉強

    Kotlin+LibGDXで作ったゲームをSpring-boot上でも動かしJPAで永続化する - Qiita
    igrep
    igrep 2019/12/24
    “ローカルで動かしたゲームの操作だけ送るが、ゲームのアルゴリズムをサーバと共通にし、サーバ側で再現することでデータの不整合を防ぐ” なるほど。そういう共通化の動機があるのか
  • vim-jpの活動とプラグインとヘルプファイル - Qiita

    お題 今回の話題は「vimのヘルプの公開」です。 序 vim-jpはvim界隈でも活動実績が評価されてるユーザーグループです。(なんとなくはしっこに参加させてもらってます) ここの成果はいろいろありますが... vim体の不具合の確認やパッチ作成の場(日語) vital.vimという有用ライブラリプラグイン(他のプラグインに取り込んで使う) vimのヘルプの日語訳 などがあります。 ここで今回のに関係するものとして「vimのヘルプの日語訳」があります。 体の日語化などはKaoriya(香り屋)版vimで有名な @koron さんや @mattn さんらが始めて、ヘルプについても多数の方が継続的に翻訳更新しつづけているものです。現在は @h_east さんらが積極的に活動されてますね。 これはプラグインとしてvimへ導入できるので、その用途での利用が多いかと思います。 ただ、あわ

    vim-jpの活動とプラグインとヘルプファイル - Qiita
    igrep
    igrep 2019/12/24
    “これを各プラグイン製作者が自分のプラグインに組込むことで、自動的(GitHubのリポジトリオプションでgh-pagesを公開する設定は必要)に公開できます。”
  • 直販サイトを作って書籍を売ること - golden-luckyの日記

    昨日までこのアドベントカレンダーでは、PDFの内部の話から始めて、XMLという構造化文書の話、Pandocで記法を変換する話、EPUBでというパッケージを作る話というように、徐々にレイヤを上げてきました。今日と明日はさらにレイヤを上げて、出版社の立場の話で締めくくろうと思います。 現在、日の出版事業の中心は、「版元」「取次」「書店」という3者(いわゆる業界三者)が担っています。 メーカーと小売りの間に卸しがいるという構造は特別なものではありませんが、業界三者がちょっとだけ他と違うところがあるとしたら、書店と版元との柔軟な直接取引が少なく、取次-書店間、取次-版元間での委託取引が中心になっていることです。 この構造を支えているひとつの柱は再販価格維持制度による書籍の定価販売なんですが、この構造のおかげで、日はかなり書店の数が多い国であり続けました。 2000年代初頭には全国で2万店くら

    直販サイトを作って書籍を売ること - golden-luckyの日記
    igrep
    igrep 2019/12/24
    いい話だなあ
  • さよならテレビ 社内は抵抗、でも撮った報道の「恥部」:朝日新聞デジタル

    ","naka5":"<!-- BFF501 PC記事下(中⑤企画)パーツ=1541 -->","naka6":"<!-- BFF486 PC記事下(中⑥デジ編)パーツ=8826 --><!-- /news/esi/ichikiji/c6/default.htm -->","naka6Sp":"<!-- BFF3053 SP記事下(中⑥デジ編)パーツ=8826 -->","adcreative72":"<!-- BFF920 広告枠)ADCREATIVE-72 こんな特集も -->\n<!-- Ad BGN -->\n<!-- dfptag PC誘導枠5行 ★ここから -->\n<div class=\"p_infeed_list_wrapper\" id=\"p_infeed_list1\">\n <div class=\"p_infeed_list\">\n <div class=\"

    さよならテレビ 社内は抵抗、でも撮った報道の「恥部」:朝日新聞デジタル
  • To understand recursion... - DEV Community 👩‍💻👨‍💻

    igrep
    igrep 2019/12/24
    "To understand recursion. You must first understand recursion."
  • GitHub - rust-lang/rustfix: Automatically apply the suggestions made by rustc

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - rust-lang/rustfix: Automatically apply the suggestions made by rustc
    igrep
    igrep 2019/12/24