タグ

qiitaに関するnfunatoのブックマーク (130)

  • pythonでx86コンパイラ自作(スタック指向言語編) - Qiita

    Forthコンパイラの記事が格好良くて触発されてしまい、Forth処理系を作った。 前回のC言語的なコンパイラと同様に、Pythonでx86-64のGNU Assembler向けのコードを出力する。 プロトタイプ実装 まずはとりあえず動くものをと思って最初に実装したのがこれ。 初めてのアセンブリ言語の題材に良さそう。 code = "6 3 + 2 - . 3 4 * 2 / 1 + . 2 3 drop dup dup 1 + + + 7 dup . . ." def translator(token): if token.isdigit(): print(" pushq $"+token) elif token == "+": print(" popq %rax") print(" addq %rax, (%rsp)") elif token == "-": print(" popq

    pythonでx86コンパイラ自作(スタック指向言語編) - Qiita
  • JuliaのQA - Qiita

    Help us understand the problem. What is going on with this article? なんだか寝付けないので,最近の状況を踏まえてJuliaのことをQA形式で書こうと思います。Julia高速チュートリアルのアクセス数をみると,2018年早々プチブームになってるのがわかりますね。 なんでJuliaを使うのか Juliaは比較的新しい言語で,もともと数値計算のために開発が開始されました。今までこの目的で使われていたのは,コンパイル言語だとFortranやC++,スクリプト言語だとMATLAB/OctaveやPython(特にNumPyやSciPy)でしょう。Juliaが特に優れている点としては, 簡潔で平易な文法 動的な実行が可能 線形代数で使う関数が標準で用意されている(OpenBLASやLAPACKなど) Just-in-time (JIT

    JuliaのQA - Qiita
  • Emacsの補完と検索を超強化する - Qiita

    私が最初にEmacsを使ったときの感想は「IDEに比べて補完,検索が弱すぎる」でした この記事ではそんな思いを抱いたEmacserを対象として,Emacsの補完・検索をどうやって強化していくか紹介していきます (helmとprojectileは今回の記事では参照しないので,気になる方は「初心者〜初級者のためのEmacs-Helm事始め」などを参照ください) 注) 基的に私が使っているpackageの紹介になります コマンド補完 counsel Emacsで重要になってくるのがM-xで起動する各種コマンドの扱いです counselはivyというコマンド補完機能を用いて,いわゆる絞込検索を実現しています うろ覚えのコマンドであっても,絞込んでCtrl+n, Ctrl+pで選択できます ivy自体の設計コンセプトが「より効率的で,より小さく,よりシンプルで,よりスムーズに」なので拡張性が非常に

    Emacsの補完と検索を超強化する - Qiita
  • Rustの型推論がどこまで強力なのか試してみた - Qiita

    fn main() { let a: i64 = 1; let b: i32 = 1; println!("{}", a == b) // error }

    Rustの型推論がどこまで強力なのか試してみた - Qiita
  • OSSドキュメント翻訳を支える技術 (Keycloakを題材に) - Qiita

    Keycloakドキュメントの翻訳ではどうしているかというと、3つ目のテキスト抽出した部分のみを翻訳の方式を採用しています。というのも、現状、毎月のように最新版がリリースされており、ドキュメントもどんどん変わっていく恐れがあると思い、変更に追随しやすい(はず)、翻訳者は翻訳作業だけに集中できる、という点から3つ目の方式を今のところは採用しています。 ソーステキストからのテキスト抽出について 方式3を取る場合、テキスト抽出を行い、翻訳後に元のテキストにマージする仕組みが重要になってきます。というわけで、次はテキスト抽出について述べます。 翻訳対象のソーステキストフォーマット テキスト抽出を行うためには翻訳対象のソーステキストフォーマットが重要なポイントになってきます。OSSドキュメントで利用される代表的なテキストベースのドキュメント作成ツール/マークアップ言語としては以下があります。 Asc

    OSSドキュメント翻訳を支える技術 (Keycloakを題材に) - Qiita
  • そうだ Lisp 作ろう (Make a Lisp in Google BigQuery) - Qiita

    こんにちは、トレタ Advent Calendar 2017の8日目記事です。 トレタでは膨大なデータを分析する際に Google BigQuery を使ってますが、今年はデータサイエンティストチームも立ち上がってより大規模な分析が可能になりました。 さてさて、お硬い話は置いといて。クリスマス前なので、ここでは何か面白おかしい SQL 芸でもしましょう。BigQuery は JavaScript ベースのユーザー定義の関数(UDF)をサポートしています、つまり必要であれば好き勝手に UDF で BigQuery の関数を拡張することができます。この際 UDF を使って別の言語を実装して BigQuery のなかで呼び出しましょう!! イメージ イメージとしては SQL でこんな呼び出しをできたら面白いと思います。 select mal('(fn* [a b c] (reduce + 0 [

    そうだ Lisp 作ろう (Make a Lisp in Google BigQuery) - Qiita
  • Scrapyを使ったスクレイピング - Qiita

    Advent Calendar 2017 クローラー/Webスクレイピング の2日目が空いておりましたので、駆け込みで参加させていただきました! 目的 直近のニュースの概要をスクレイピングし1つのファイルにまとめる 動作環境 Ubuntu16.04でプログラムを作成しております。 NAME="Ubuntu" VERSION="16.04 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" UBUNTU_CODEN

    Scrapyを使ったスクレイピング - Qiita
  • Arduinoを自作して量産して販売する(超小型Arduino互換機 8pinoを例に) - Qiita

    田中章愛と申します。友人の高橋良爾とVITROというデザインユニットで作品を作ったり、品川周辺の仲間と放課後ものづくりコミュニティ品モノラボで活動しています。普段はメーカーでハードウェアエンジニアをしています。 このAdvent CalendarはArduinoがテーマと言うことで、読者の皆様はすでに一連の連載でArduinoの使い方はある程度ご存じなのかなと思い、今回はいざという時に役立つArduinoの自作・販売方法について説明したいと思います。 ちなみに書いてみるとかなり長文になってしまったのでご注意ください。。 記事のテーマと対象範囲 自作と言っても普通に手作りする例はネット上にたくさんある(1、2)ので、この記事では 1. 独自の要素を加えた自作Arduinoの回路を試作・量産設計する 2. 深センの工場(SeeedStudio)で量産する 3. オンラインストア(Switch

    Arduinoを自作して量産して販売する(超小型Arduino互換機 8pinoを例に) - Qiita
  • CommonLispでRaspberryPi電子工作 ~I2C 温度センサ~ - Qiita

  • 英語でサポートを求める時の Tips - Qiita

    私は、サンフランシスコに住んでいたことがあって、インフラの勉強していたのですが、当時勢いで応募したインターンに受かり、その後エンジニアとして働いていました。日人はもちろん一人で、プリセールスからJava のコーディング、テスト、サポート、ドキュメントまでの一連を日語にローカライズする仕事をしていたのですが、その時の試行錯誤で(失敗もしくは成功から)学んだことをログしていきたいと思います。 当時はほんといろんな面で初心者・経験なしだったので、当たり前のことを書いていたらすみません、、、 当時のタスクの一つとして、QA がありました。仕様でない動作を見つけたら、バグ管理のシステムに入力し、担当の人に修正してもらい、修正を確認するというものです。 当時英語は問題なくできていたのですが、やはり「説明」となると急にハードルが上がりました。始めは、ほんと何にもQAに関する知識もなかったので、一生懸

    英語でサポートを求める時の Tips - Qiita
  • 藤井四段で学ぶ最尤推定、MAP推定、ベイズ推定 - Qiita

    藤井四段の連勝が止まらないですね。 21日の対局に勝利して、連勝記録を1位タイの28連勝まで伸ばしてきました。26日の対局で勝利すれば単独トップになります。 そんな藤井四段の対戦成績は28勝0負。勝率でいうと1.000です。クラクラするような成績ですが、この「勝率」とは何かを少し数学的にみてみましょう。 単純に言葉だけをみると「藤井四段が勝利する確率」ではないかと考えられます。つまり $$P(\text{勝利}\ |\ \text{藤井四段}) = 1.0$$かのように感じます。 ではここで、26日の対局で藤井四段が勝利する確率はどれだけでしょう? $P(\text{勝利}\ |\ \text{藤井四段}) = 1.0$として考えると、これはつまり藤井四段は必ず勝つので、100%になってしまいます。しかし、もちろんそんなことはありません。藤井四段ですらも負けることはあるはずです。 実はここ

    藤井四段で学ぶ最尤推定、MAP推定、ベイズ推定 - Qiita
  • Mac OS Xでライブラリの設定変更について - Qiita

    $ otool -L libboost_iostreams-mt.dylib libboost_iostreams-mt.dylib: /opt/local/lib/libboost_iostreams-mt.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.6) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version

    Mac OS Xでライブラリの設定変更について - Qiita
  • Wandboxを支える技術(2017年版) - Qiita

    Wandbox は、オンラインでコンパイルや実行が試せるサービスで、主に私(@melponn) と @kikairoya で作っています。 以前 Wandboxを支える技術 というのを書いていたのですが、そこからかなり変わっているため、改めて今の中身がどうなってるかについて書いていきます。 Wandbox は、Wandbox 体と、各種コンパイラをビルドするための Wandbox Builder に分かれています。 ソースコードは wandbox と wandbox-builder にあります。 2019/9/26 追記: Wandbox のビルドを CMake に移行した話 を書きました 犬小屋と牛舎 Wandboxはバックエンドとフロントエンドで分かれていて、フロントエンド側が 犬小屋(kennel) 、バックエンド側が 牛舎(cattleshed) という名前になっています。 犬小

    Wandboxを支える技術(2017年版) - Qiita
  • Plotlyでぐりぐり動かせる為替チャートを作る(1) - Qiita

    # ----------General Module---------- import numpy as np import pandas as pd # ----------User Module---------- from randomwalk import randomwalk import stockplot as sp General Module, Hide General Moduleは一般に配布されているパッケージなので、condaやpipといったパッケージ管理ソフトなどで追加してください。 General ModuleはこのJupyter Notebook内で使います。 Hide General Moduleはstockplot内で使用します。

    Plotlyでぐりぐり動かせる為替チャートを作る(1) - Qiita
  • Google KeepのメモをBear(メモアプリ)にインポートしたい - Qiita

    執筆の動機: Bearを使ってみたら結構良さげだったので、(Evernoteだけでなく)Google Keepに溜まってるメモをインポートしてみようかと思って どこでも気軽にメモが取れて、コード片も貼り付けられて、デバイス間で共有できて、検索機能がちゃんとあって、できればプライバシーポリシーに不安のないメモアプリを求めて(あと、無料であることよりも、サービスやポリシーの継続性を重視したい) またはEvernote難民日記 Evernote https://evernote.com/intl/jp/ 何年か使っていたEvernoteはテキストの書式にストレスがあった。 思いついた事を書き留めたり、ブログ記事の切り抜きを保存したりする分には良かった(十分に便利) コード片を貼り付けたりもしたいから、せめてmarkdown互換の記法が使えたら、と何度も思った。 無料プランで使用可能なデバイス数に

    Google KeepのメモをBear(メモアプリ)にインポートしたい - Qiita
  • XamarinでWindows / Mac OSX 両対応のデスクトップアプリを作る - Qiita

    私はSSHクライアントPoderosaを開発・販売していますが、最近、従来のWindows版に加えてMac OSX版をXamarinを使って作成するという仕事をしましたので、そこでの知見をまとめておこうと思います。 Windows/OSXの両対応アプリを作る際の定石のようなものも見えてきました。 なおこの記事執筆時点ではOSX版Poderosaは開発終盤ですが未公開です。2017年4月に正式リリース予定です。 基礎知識おさらい Xamarin社は、源流はオープンソースの.NET環境ですが、現在はマイクロソフト傘下になっています。Xamarinの構成要素も多岐にわたり、C#コンパイラ、CLRランタイム、家.NET互換の基ライブラリ群、Xamarin FormsというiOS/android両対応のモバイルアプリを作る環境、Xamarin StudioというIDE、などいろいろありますが、こ

    XamarinでWindows / Mac OSX 両対応のデスクトップアプリを作る - Qiita
  • @ayato_pのマイページ - Qiita

    flagParticipating posting campaigns0Participation summarizePosted articles0Articles

    @ayato_pのマイページ - Qiita
  • 初めて地図周りの技術に触れた時に作ったまとめ資料 - Qiita

    関連して以下も参考にしてください GoogleMapのオープンソース版地図アプリ(OSRM)のインストール - Qiita 住所(市区町村番地)から緯度経度を取得する - Qiita まとめたこと やりたい事ベースでざっくり分類 住所(地名) ⇔ 緯度/経度変換 地図上への位置情報のプロット 距離計算・ルーティング(緯度経度計算、2点間の距離を計測) 詳しく 住所(地名) ⇔ 緯度/経度変換 住所(地名)→緯度/経度の変換はジオコーディング(Geocoding)と呼ばれる。 (昔はアドレスマッチングとも呼ばれていたらしい) 緯度/経度→住所(地名)の変換は逆ジオコーディング(Reverse Geocoding)やアドレスマッチングと呼ばれる。 緯度はlatitude(lat)、経度はlongitude(lng)で各Web/APIドキュメントをみるとよく出てくる。 住所はaddressとかl

    初めて地図周りの技術に触れた時に作ったまとめ資料 - Qiita
  • Haskell 超入門 - Qiita

    Haskellで簡単なプログラムを書くのに最低限必要な基礎文法を取り上げます。練習では再帰に慣れることに重点を置きます。再帰によるリスト処理の例として各種ソート(挿入ソート、バブルソート、マージソート、クイックソート)を紹介します。ラムダやモナドなどの発展的な内容には触れませんのでご了承ください。 シリーズの記事です。 Haskell 超入門 ← この記事 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続

    Haskell 超入門 - Qiita
  • WABT: The WebAssembly Binary Toolkitを使ってみる - Qiita

    WABTとは WABT: The WebAssembly Binary ToolkitとはWebAssemblyのテキスト表現とバイナリ表現(以降wast、wasm)関連のツール群です。cliとして提供されてます。 ツール群概要 ツール名 説明

    WABT: The WebAssembly Binary Toolkitを使ってみる - Qiita