2019年1月30日のブックマーク (6件)

  • GitHub - rust-cuda/cuda-sys: Rust binding to CUDA APIs

    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.

    GitHub - rust-cuda/cuda-sys: Rust binding to CUDA APIs
    tkat0
    tkat0 2019/01/30
  • アートをコーディング | Post Blog

    様々なツールを作り、それらを改善するのは人間の性です。 JetBrainsはこの伝統に基づき、開発者の皆様に日常的にご愛好いただいている、日常業務の一部を自動化する様々なツールを開発しています。 約2年前、JetBrainsでアートワークを作成している方法についてのストーリー(英)と、皆様独自のJetBrainsスタイル付きアートを作成するために使える、クールで少しマニアックなツールを共用しました。 今日、私たちはアートワークを作成するための生成的アプローチの進捗状況をお伝えし、皆様にこのツールの新バージョンを紹介したいと思います。 私たちは2017年以来、地道に取り組みを続けていました。その結果、技術は改善し、グラフィックはより鮮やかになり、プロセスはさらにシンプルになりました。 JetBrainsには現在、22個の製品がございます。 それぞれは年間に2〜3回のメジャーリリースがありま

    アートをコーディング | Post Blog
    tkat0
    tkat0 2019/01/30
  • LLVMを用いたチート対策ツールを作っている話 | BLOG - DeNA Engineering

    この記事は DeNA Advent Calendar 2018 の24記事目です。 こんにちは、セキュリティセキュリティ技術グループ ツール開発チームの小竹 泰一(aka tkmru )です。 脆弱性診断業務の傍ら、ツール開発チームでは、パッチ管理ツールやチート対策、脆弱性診断のためのツール開発を行っています。 この記事では開発中のLLVMを用いたチート対策ツールの紹介をしたいと思います。 はじめに 題に入るまえに、チートをされるとどのような問題があるのか、チートの方法やチート対策技術にはどのようなものがあるのかということを軽く説明しようと思います。 チートによるリスク スマートフォンのゲームアプリのチートでよくあるものとしては、 「スタミナが減らないようにするもの」や、 「ステータスを不正に上昇させバトルで勝利するもの」、 「不正に課金アイテムを取得するもの」などがあります。 もし、

    LLVMを用いたチート対策ツールを作っている話 | BLOG - DeNA Engineering
    tkat0
    tkat0 2019/01/30
    “紹介するLLVMを用いたチート対策ツールでは、コードの処理の流れを追いにくくする難読化と、 パッチを当てられたことを検知するコード改ざん検知を担っています。 コードの改ざんを検知した後にやることとしては、ア
  • LLVM APIを使ってみよう! 〜 Brainf**kコンパイラをIRBuilderで書き直してみた 〜 - プログラムモグモグ

    先日LLVMの入門記事を書きました。 clangが吐くLLVM IR (Intermediate representation, 中間表現) を頼りに、Brainf**kのコンパイラを書いてみました。 itchyny.hatenablog.com この記事で書いたコードでは、直接printfでLLVM IRの命令を出力していました。 このステップを踏むことで、LLVM IRの命令をどう調べればいいかについて身についたと思います。 しかし、この「コンパイラ」は次のような問題がありました。 bf2llvmコマンドが出力するのがLLVM IRのために、lliやllcといったLLVM IRのランタイムやコンパイラが必要となる 最適化を行うにはさらにoptコマンドが必要になり、やはりLLVMツールチェインをインストールしている環境でしか使えない ソースコードから実行ファイルまでのパスの中で、LLVM

    LLVM APIを使ってみよう! 〜 Brainf**kコンパイラをIRBuilderで書き直してみた 〜 - プログラムモグモグ
    tkat0
    tkat0 2019/01/30
  • LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 - プログラムモグモグ

    コンパイラを作ってみたいと思っていても、アセンブリ言語はよくわからない。 パーサーみたいなコードは書いたことがあるけれど、コード生成の処理はさっぱりだ。 実行ファイルをバイナリエディターで見るとかなにそれ怖い。 そんな私なのですが、LLVMに興味を持ち始めています。 SwiftRust、あるいはEmscriptenなど、近年注目されている言語やコンパイラ技術の中枢にはLLVMがあります。 アセンブリはよく分からなくてもLLVMを使いこなせるようになれば、マルチプラットフォームで実行ファイルを生成できる言語処理系を作るのではないか。 コンパイラ作ってみたいな、LLVMを使ってみようかなと思っている今日このごろです。 ところが、いざLLVMを勉強しようと思ってもどこから始めればいいかよく分かりませんでした。 マニュアルは巨大で読む気が起きないし、リファレンスを見てもさっぱりです。 雰囲気はわ

    LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 - プログラムモグモグ
    tkat0
    tkat0 2019/01/30
    “sext”
  • The Architecture of Open Source Applications (Volume 1)LLVM

    The Architecture of Open Source Applications (Volume 1) LLVM Chris Lattner This chapter discusses some of the design decisions that shaped LLVM1, an umbrella project that hosts and develops a set of close-knit low-level toolchain components (e.g., assemblers, compilers, debuggers, etc.), which are designed to be compatible with existing tools typically used on Unix systems. The name "LLVM" was onc

    tkat0
    tkat0 2019/01/30