タグ

2017年12月18日のブックマーク (11件)

  • ファイルオープンの罠 - Journal InTime(2017-12-15)

    _ ファイルオープンの罠 僕が書いたNet::FTPのコードに脆弱性報告があり、修正版がリリースされた。関係者のみなさん、ありがとうございました。 CVE-2017-17405: Net::FTP におけるコマンドインジェクションの脆弱性について 問題があったのは以下のようなコードだった。 def getbinaryfile(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE, &block) # :yield: data f = nil result = nil if localfile if @resume rest_offset = File.size?(localfile) f = open(localfile, "a") else rest_offset = nil f

    tyru
    tyru 2017/12/18
    Perl でも open() の引数にファイル名だけ渡せるようにできるのに、もしかして Ruby って | とか来ないようにエスケープするしかないの?
  • ExcelにPython搭載、マイクロソフトが検討。アンケートを実施中

    Excelユーザーの要望をとりまとめるサイトで、ExcelへのPython搭載の要望が相次いだ。その結果、マイクロソフトは検討のためのアンケートを開始した。 Excelは業務アプリケーションとしてもっとも使われ、普及している製品のひとつでしょう。そのExcelを今後も発展させていくために、マイクロソフトはユーザーが要望を提案できるコミュニティサイト「Excel’s Suggestion Box」(英語)を公開しています。 このコミュニティサイトに2015年11月、Excelのスクリプティング言語としてPythonを搭載してほしいという要望「Python as an Excel scripting language」がポストされました。 それから2年以上が経過し、現時点でこの要望は2位以下を大きく引き離す3862票の賛成票(2017年12月17日現在)を獲得して要望リストのトップにあがってい

    ExcelにPython搭載、マイクロソフトが検討。アンケートを実施中
    tyru
    tyru 2017/12/18
  • moqでinterfaceのMockを作る - nametake-blog

    この記事は Go3 Advent Calendar 2017の18日目の記事です。 moqでMockを作る Goでアプリケーションを書いているとinterfaceにMockを投げ込みたくなる瞬間があると思います。 たとえば、以下のようなコードのテストを書きたい場合ですね。 Userを取りに行く処理が外部に依存しているためにClient interfaceを切っていて、それをApplication構造体が持っています。 type User struct { ID int FirstName string LastName string } type Client interface { GetAllUser() ([]*User, error) } type Application struct { Client Client } func (a *Application) FilterLa

    moqでinterfaceのMockを作る - nametake-blog
    tyru
    tyru 2017/12/18
    これの Vim プラグインほしい
  • Neovimがどういうプロジェクトなのかまとめ - Qiita

    はじめに 今年からVimからNeovimに移行してもうすぐ一年になろうとしています。 Neovimを使いだしたきっかけは、暗黒美夢王がリリースしている数々の良プラグインがNeovimでしか使えなかったからでした。 逆に言えばそれ以外具体的にNeovimVimとどう違うのか、何がすぐれているのか全く知りませんでした。 VimConf2017で刺激を受けた私は、その膨大なインプットのなかでもっと私が使っているエディタについて知る必要があると考えました。 稿ではNeovimVimの違いを調べ、互いにどのような影響を与えているのかを述べます。 注意 私は中学生レベルの英語能力なので解釈に誤りがあることが多々あると思います。 もし誤りを見つけたのであれば教えていただければ幸いです。 Neovim Introduction そもそもNeovimとはなにかREADMEを読んでみてもピンと来なくて、

    Neovimがどういうプロジェクトなのかまとめ - Qiita
    tyru
    tyru 2017/12/18
    良いまとめ
  • The Go Gopher - The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code

    The Go Gopher - The Go Programming Language
    tyru
    tyru 2017/12/18
  • Goを使ってDLLをクロスコンパイル on Linux - Kuro Usada ga!

    August 14, 2018 December 1, 2017 Kuro Usada 16 minute read mattn さんによる「GolangWindows の DLL を作る方法」という記事を参考に、cgo を使って Linux 上で DLL をクロスコンパイルします。 Go を使えば、Windows なしで伺かの SHIORI.DLL を作成することができます。ので、作ります。 この記事は Go Advent Calender 2017(その4) の 1日目の記事です。 2日目は kami_zh さんによる「Goで標準出力をテストする方法」です。 この記事で作成する SHIORI を基に、もうちょっと機能的にしたサンプルゴーストを作りました:github.com/kurousada/gohst 必要なもの Linux PC Go (たぶん)1.5以上 MinGW Wi

    tyru
    tyru 2017/12/18
  • 年末C++情報 - 無名再帰

    序文5000兆年ぐらい長文を書いていない気がしたので,お得なC++情報を流すことにする. 再帰関数まず, unsigned fib(unsigned n) { if (n < 2) return n; else return fib(n - 2) + fib(n - 1); } fib(10); という関数がある. 今,あなたの中に「これをラムダ式で書きたい」という俄かな欲求が湧いてきたところだと思う. タイミングのいいことに,私は今からそれについて書こうと思っていたところだ.それは読む価値がある. 無名化再帰関数を無名化する安直な方法は,自分を引数にして2回書くことである.人語で説明して理解できるほどあなたは人語に精通していないだろう(案ずるな,私もだ)から,以下に例を示す. [] (auto fib, unsigned n) { if (n < 2) return n; else re

    年末C++情報 - 無名再帰
    tyru
    tyru 2017/12/18
    C++ でチューリングコンビネータ?らしい「これはYコンビネータではなく,チューリングコンビネータ(の変形)である」
  • “1000回遊べるRPG”を4000回遊んだ男 「SFCトルネコの大冒険」に挑み続けるプレイヤーが語る「不思議のダンジョンには、まだ不思議がある」

    1993年に登場したスーパーファミコン用ソフト「トルネコの大冒険 不思議のダンジョン」(チュンソフト/現スパイク・チュンソフト)。2018年に25周年を迎えるレトロゲームではありますが、遊んでいた方は今でも、あのキャッチコピーを覚えているのでは? 「1000回遊べるRPG」 主人公トルネコが挑む「不思議のダンジョン」は、入るたびにダンジョンの形状が変化。また、いくらレベルを上げても、地上に戻るとレベル1に戻ってしまうという不思議な性質がありました。これらのゲームシステムのおかげで、何度でも新鮮な気持ちで遊べることから、「1000回遊べるRPG」というコピーが採用されていました。 一見、大胆と思えるこの表現、実際には“謙虚すぎた”かもしれません。というのも、今回取材した秋川さんは、同作を実機で4000回以上プレイ。現在もダンジョンに潜っては、Web上にプレイ日記を公開しつづけています。しかも

    “1000回遊べるRPG”を4000回遊んだ男 「SFCトルネコの大冒険」に挑み続けるプレイヤーが語る「不思議のダンジョンには、まだ不思議がある」
    tyru
    tyru 2017/12/18
  • freeeのChatbotが問い合わせの4割近くを解決できるようになるまで - freee Developers Hub

    はじめまして、freee FastestCustomerSupportチームに所属しています、浅越(あさこし)です。社内ではこっしー/kossyと呼ばれています。特技は身長です。 この記事は freee Developers Advent Calendar の16日目です。 突然ですが、会計freeeではプロダクト内で自動応答システム、いわゆるChatbotなサポートを提供しており、ユーザーの皆様からのお問合せに24時間回答ができるようにしています。 2017年1月に公開してから約1年になり、チャットサポートにお問い合わせいただく数と比較して4割近くの対応が完結できている計算になっています。 freeeのカスタマーサポートチームはユーザー皆様の対応以外にもいろんな分野の業務を担えるように日々取り組んでおり、その一環でこちらの導入や運用も担当をしてきました。今日はその経緯やこれまで感じたとこ

    freeeのChatbotが問い合わせの4割近くを解決できるようになるまで - freee Developers Hub
    tyru
    tyru 2017/12/18
    ヘルプページから学習データ作るの良い。ちゃんとヘルプページ書いてたからこそだけど。
  • 第67回NHK紅白歌合戦 - 新一の「心の一票」:楽天ブログ

    2017.01.06 第67回NHK紅白歌合戦 カテゴリ:人生観・テレビ・芸能人 まず、2年程前の話になりますが、2014年の年末にDIGAの全録機をネットで購入して偶々12月31日に届いたのですが、箱から出して初期設定を済ませるのに少し手間取って、やっと使えるようになったときには午後10時を過ぎていたと思います。「動作確認」のつもりで付けてみたら、ちょっとびっくりするような映像が目に飛び込んできました。何と、あの(iPS細胞の)山中伸弥先生らしき人物がNHK紅白歌合戦の観客席に座っているではありませんか!確認してみたら、山中先生はどうも実際にその年の「紅白」の審査員の一人になっていました。山中先生が度々ニュース番組等に出演されているのを知っていたのですが、まさか「紅白」の審査員のような活動までされているとは、私にとってはかなり衝撃でした。私も以前から何度かテレビ出演の依頼がありましたが

    第67回NHK紅白歌合戦 - 新一の「心の一票」:楽天ブログ
    tyru
    tyru 2017/12/18
  • GUI環境でWeb の UIを構築する開発ツールを作りたい - mizchi's blog

    qiita.com という記事を書いた。 要約としては、「今こそGUIでWebのUIを生成できるような開発環境を目指すべき」みたいな話。 概念 Web の GUIの概念を分解すると JS はViewとしての実装を持つプレゼンテーションレイヤー、ロジック注入のコンテナーレイヤーに分割して考える HTML/CSS は、レイアウト定義のレイヤー、そのレイアウト領域を占めるエレメントのレイヤーに分割して考える この考え方に基づくと、GUI開発環境で作るべきものは、 テンプレートへのJSロジックのつなぎ込み レイアウトエディタ 個別のエレメントの装飾 となる。 JSロジックのつなぎこみはヘヴィにJSだからまだコードで書く方がいい。作るならノードベースのエディタになりそう。 エレメントの装飾は自力で頑張るより Sketch から生成できないか試したい。後回し。 レイアウトエディタは今でも作れそう。作っ

    GUI環境でWeb の UIを構築する開発ツールを作りたい - mizchi's blog
    tyru
    tyru 2017/12/18