タグ

2017年8月22日のブックマーク (19件)

  • LLVMによるプログラミング言語の実装 – 日曜研究室

    独自言語の実装を通してLLVMについて学ぶためのオフィシャルなチュートリアル、Kaleidoscope: Implementing a Language with LLVM、の8章全ての日語訳をこれから掲載していく。 チュートリアルは全部で8章から成るが、章単位だとかなり長くなるので、節単位で掲載していく。 原文を読み解くために私が適当に書いた日語のメモ書きが元になってるので、間違ってる部分も多々あるかもしれない。 また、分かりやすくするためにかなり意訳を多めにしてるので、その点でも多少正確性が犠牲になっているかもしれない。 間違いの指摘は大歓迎である。 各記事では原文へのリンクを必ず入れるようにするので、是非原文も読んで欲しい。 細かい点になるが、記事の中で中括弧の中に英文もしくは英単語が書かれてる部分がある。 これは、その直前に書かれた日語訳に対応する原文の一部であり、訳に自信が

    mnru
    mnru 2017/08/22
  • コンパイラ最適化 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "コンパイラ最適化" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2018年10月) コンパイラ最適化(コンパイラさいてきか、英語: Compiler optimization)では、コンピュータ・プログラムの最適化に関する話題のうち、もっぱらコンパイラに関係するものに関して説明する。最も一般的な要求はプログラムの実行時間を最小化することであり、その次に使用するメモリ量を最小化することである。また、携帯可能なコンピュータが増えるにつれて、消費電力を最小化するという最適化も生まれてきた。 一部のコード最適化問題はNP完全問題であることが示さ

    mnru
    mnru 2017/08/22
  • コンパイル言語とスクリプト言語の違い

    参考: 1:プログラミング言語がたくさんある理由 2:【みんな知ってる?】スクリプト言語とコンパイル言語の違いとは? #二つ言葉の認識 機械語への翻訳(コンパイル)の仕方には大きく分けて2種類があり、 1つは「コンパイラ言語」。 もう1つは「スクリプト言語」。 【コンパイル言語】 高速で動作する代わりに記述が面倒。 ソースコードを事前にコンパイルして、先に機械語に変換しておく。 例:C、C++Java、C#などはコンパイラ言語です 【スクリプト言語】 低速で動作する代わりに短い記述で処理を実現。 ソースコードを逐次機械語に翻訳しながら実行する。 例:PythonPerlPHPRubyJavaScript #質問1 コンパイル言語は「事前(一気)にコンパイル」し、 スクリプト言語は「逐次(1行ずつ)コンパイル」しながら実行する、ということですが この二つの言語は「どのタイミングで」

    コンパイル言語とスクリプト言語の違い
    mnru
    mnru 2017/08/22
  • Python のリファクタリングでイケてないコードを別に美しいオブジェクト指向設計ではない普通のコードにする方法 - Qiita

    Rubyのリファクタリングでイケてないコードを美しいオブジェクト指向設計のコードへ改良するための方法 - その1 その2 その3 これを Python でやってみます 元のコード 元の Ruby 版をできるだけ真似してみます。テストは py.test を使います。 #ordersreport.py from collections import namedtuple Order = namedtuple("Order", "amount placed_at") class OrdersReport: def __init__(self, orders, start_date, end_date): self.orders = orders self.start_date = start_date self.end_date = end_date def total_sales_within

    Python のリファクタリングでイケてないコードを別に美しいオブジェクト指向設計ではない普通のコードにする方法 - Qiita
    mnru
    mnru 2017/08/22
  • C言語 Unicode - Qiita

    個人的にC言語でUnicodeを扱う機会があったので調べた。体系的に説明している記事が見当たらないのでまとめておく。 Unicode とは WikipediaのUnicodeから引用する。 Unicode は世界で使われる全ての文字を共通の文字集合にて利用できるようにしようという考えで作られ、Unix、WindowsMac OS X、Plan 9[2]、Javaなどで利用されている。 文字コードと文字集合と文字エンコーディング 「文字コード」と「文字集合」と「文字エンコーディング」は異なる概念である。混同していると検索の際に適切な情報に辿りつけない。逆に、この区別がわかっていればコードを書く際に悩むことはない。私は最初、自分で混同していたことにすら気付かなかった。 「文字集合」とは、その名の通り文字の集合だ。アルファベットやカタカナ、漢字などを含む。具体的には、各文字(図形)に対して番号

    C言語 Unicode - Qiita
    mnru
    mnru 2017/08/22
  • GitHub - kmsquire/Logging.jl: Logging package for julia

    mnru
    mnru 2017/08/22
  • Python 3誕生の理由 ― つまり、なぜunicode/str/bytesの仕様は変更されたのか | POSTD

    12月、私は PuPPy(the Puget Sound Python users group)の会合でQ&A セッション を行いました。そこでようやくPython 3が誕生した理由と、string/bytesに関する全てを説明しました。Python 3が作られた理由をユーザはもう知っているはずだと思っていたので、私はこの説明で称賛を得たことに、ちょっと驚きました。後で考えてみると、Pythonに詳しい人もそうでない人も含めて大多数の人が、その理由を探すように言われたり、好奇心からその理由を探し当てられるなどと考えた私が愚かでした。ですから、このブログの記事で、Python 3が存在する理由をわかりやすく説明します。後方互換性の全くない unicode / str / bytes の仕様変更は、Python 3のコードの移植の中でも当に難解な部分ですので、私たちがその仕様変更を選択した理

    Python 3誕生の理由 ― つまり、なぜunicode/str/bytesの仕様は変更されたのか | POSTD
  • Automata theory - Wikipedia

    The automaton described by this state diagram starts in state S1, and changes states following the arrows marked 0 or 1 according to the input symbols as they arrive. The double circle marks S1 as an accepting state. Since all paths from S1 to itself contain an even number of arrows marked 0, this automaton accepts strings containing even numbers of 0s. Automata theory is the study of abstract mac

    Automata theory - Wikipedia
    mnru
    mnru 2017/08/22
  • 有限オートマトン - Wikipedia

    UMLステートマシン[編集] 統一モデリング言語(UML)には状態機械(ステートマシン)を記述するための豊富な意味論と記法がある。UMLの状態遷移図は従来の有限オートマトンの主な利点を踏襲しつつ、その欠点を克服している。大きな拡張としては、状態の階層化や直交状態の導入があり、動作の記法も拡張されている。ミーリ・マシンもムーア・マシンも記述できる。ミーリ・マシンのように状態だけでなく、イベント(入力)をきっかけとして遷移するようにも書けるし、ムーア・マシンのように遷移ではなく状態と開始動作や終了動作を対応付けることもできる。 SDLステートマシン[編集] 仕様及び記述言語(SDL) はITUの標準規格であり、遷移の際の以下のような動作を表す記号を定義している。 イベント送信 イベント受信 タイマ開始 タイマキャンセル 別の並行動作するステートマシンを開始 判断 SDLには、Abstract

    有限オートマトン - Wikipedia
    mnru
    mnru 2017/08/22
  • CSV形式のファイルをDataTableや配列等として取得する

    CSV形式のファイルをDataTableや配列等として取得するCSV(Comma Separated Value)形式のファイルをDataTableや配列として読み込む方法を幾つか紹介します。ここでは3つの方法を紹介しますが、その前にCSVとはなにかについて確認しておきます。 CSV形式とは?CSV形式について、絶対的な決まりは存在していないようです。ただし、一般的なアプリケーションで使われている決まりについては、「CSV Comma Separated Value File Format (How To)」で説明されています。 要約しますと、次のようになります。 レコードは、LFまたはCRLFで区切られる。フィールドは、カンマ(,)で区切られる。区切りのカンマの前後のスペース(タブを含む)は無視される。フィールドにカンマが含まれる場合、フィールドをダブルクォート(")で囲まなければならな

    CSV形式のファイルをDataTableや配列等として取得する
    mnru
    mnru 2017/08/22
  • Pythonで使えるリファクタリングツールたち - Qiita

    リファクタリングとは リファクタリングとは、プログラムの振る舞いを変えることなくソースコードを変更すること。 ソフトウェア開発では、ソースコードの作成が進むにつれて、中途での設計変更やバグフィックスなどでプログラムは冗長で汚いものとなっていくことが多い。これらの問題点を解決し、将来の仕様変更に柔軟に対応できるようソースコードの手直しを行うことを「リファクタリング」という。 リファクタリングとは|refactoring - 意味/定義 : IT用語辞典 http://e-words.jp/w/%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0.html こちらを参照しました。素晴らしいスライドなので一読することをお勧めします。 リファクタリングツールあれこれ 〜 May the force be w

    Pythonで使えるリファクタリングツールたち - Qiita
    mnru
    mnru 2017/08/22
  • @ma-tuのマイページ - Qiita

    posted articles:JavaScript:88%React:63%gulp:50%Electron:38%babel:25%

    @ma-tuのマイページ - Qiita
    mnru
    mnru 2017/08/22
    “Electron + React.js でちょっとした Markdown Viewer を作成して少し知見が溜まったので宣伝とハマりどころなどまとめた
  • Electron + React.js でちょっとした Markdown Viewer を作成して少し知見が溜まったので宣伝とハマりどころなどまとめた (gulpfile編) - Qiita

    Electron + React.js でちょっとした Markdown Viewer を作成して少し知見が溜まったので宣伝とハマりどころなどまとめた (gulpfile編)JavaScriptTypeScriptgulpReactElectron ちょっと色々ネタがあるので分けて作成していきます。今回は gulpfile 編です。 作成したもの markcat Electron製の Markdown Viewer 機能的な特徴 Intellij IDEA の Darula 風の表示テーマも用意 表示テーマの変更も可能 Github Flavored Markdown コードハイライト表示 編集時の自動更新 ドラッグ&ドロップからの Markdown 表示 (Windows) SendTo に配置することにより、エクスプローラーの「送る」からの Markdown 表示 (Windows)フ

    Electron + React.js でちょっとした Markdown Viewer を作成して少し知見が溜まったので宣伝とハマりどころなどまとめた (gulpfile編) - Qiita
    mnru
    mnru 2017/08/22
  • React+Typescript+Webpackを試してみた - Qiita

    angularjsしか使ったことがなかったのですが、reactが小回り効きそうでよさそうだったのでtypescriptと組み合わせての導入を試してみました。 javascript関連勉強中。 試した結果は以下のリポジトリに格納しています。 https://github.com/shwld/react-typescript-webpack

    React+Typescript+Webpackを試してみた - Qiita
    mnru
    mnru 2017/08/22
  • GitHub - electron-react-boilerplate/electron-react-boilerplate: A Foundation for Scalable Cross-Platform Apps

    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 - electron-react-boilerplate/electron-react-boilerplate: A Foundation for Scalable Cross-Platform Apps
    mnru
    mnru 2017/08/22
  • Electron+React+Reduxで作るレトロなエクスプローラのハンズオン(チュートリアル) - Qiita

    はじめに 前提知識ゼロからReact、Redux、Electronの組み合わせでレトロなエクスプローラーを作って、その仕組みを知るハンズオンです。 プロジェクト作成から、モジュールのフォルダ構成の決定、実際のコードを書き、ビルドして実行するまでを長々と解説します。 目的 ReactやReduxって何?、Fluxとか敷居高そう、解説記事を読んでもよくわからないし、難しいアプリケーションやそのソースコードは重たい。 手っ取り早く動く簡単なサンプル作って動きや書き方を知りたい!という方に向けて作ったものです。 あらかじめお断りしますが、記事単体で完結させたいため長いです。しかしほとんどコードです。 解説は、今回の範囲だけで別の記事がたくさん書けそうなので、整理が終わってから(来週中には)作成したいと思います。 あいさつ 01、02、03は犠牲となったのだ。04以降の犠牲にな。 この記事を読んでで

    Electron+React+Reduxで作るレトロなエクスプローラのハンズオン(チュートリアル) - Qiita
    mnru
    mnru 2017/08/22
  • Exact decimal arithmetic in Julia

    mnru
    mnru 2017/08/22
  • Inputの過去形にInputtedを使うのは避けるべき?英語学習ネコのつぶやき。 | 海外リアルLab

    さらに Google検索で”inputted”と検索するとアメリカのサイトだけでも10万件以上ヒット!! さらにさらに、 海外取説でもinputtedを使っているのを見かけたりします。 にも関わらず、inputtedを使わないように言われたという話はよく聞きます。 実際に私も、NZの大学に留学していた頃にも、翻訳業務でも指摘されました。 なぜなのでしょう? 海外サイトを覗いてみると大きく2つの理由があげられていました。 Inputがinとputを組み合わせて作られた単語であること。 Putは過去も過去分詞もputなので、inputも同じようにするべきという考え。 Inputという単語は最初に名詞として使われはじめ、動詞として使いだしたのは1948年と割に新しいこと。 なので、input, inputted, inputtedという動詞の活用が定着していない?という意見 (これに関してはgo

    Inputの過去形にInputtedを使うのは避けるべき?英語学習ネコのつぶやき。 | 海外リアルLab
    mnru
    mnru 2017/08/22
  • 被演算子 - Wikipedia

    この記事の内容の信頼性について検証が求められています。 確認のための文献や情報源をご存じの方はご提示ください。出典を明記し、記事の信頼性を高めるためにご協力をお願いします。議論はノートを参照してください。(2013年7月) 被演算子(ひえんざんし、英: operand)とは、演算子が意味する演算の対象(数学的対象・あるいは演算可能な量など)である。 英語名からオペランド(operand)とも呼ばれる。

    mnru
    mnru 2017/08/22