こんにちは、エンジニアの宇佐見です。 私の普段の仕事では、多くの時間をソフトウェアの設計やコードの読み書きで過ごしています。しかし、ときには仕様書や報告書のように体裁が整った文書をつくる場合もあります。私はそういった文書を書くときにも、コードを書くときと同じように、プレーンテキストで書くことが多いです。 プレーンテキストで体裁が整った文書を書くときに便利なのが、軽量マークアップ言語のひとつである AsciiDoc です。軽量マークアップ言語といえば Markdown がよく知られていますが、ここで挙げた AsciiDoc は、表形式、画像の配置指定、目次の出力、などの体裁を整える際に便利な記法がサポートされているのが特徴です。また、Asciidoctor による拡張で、各種の作図記法(blockdiag、PlantUML、Graphviz など)を文書に埋め込むことも可能です。 この記事で
Resources Watch videos, read documentation, and hear Chocolatey success stories from companies you trust. View Resources Events Find past and upcoming webinars, workshops, and conferences. New events have recently been added! View Events Courses Step-by-step guides for all things Chocolatey! Earn badges as you learn through interactive digital courses. View Courses Join our monthly Unpacking Softw
Chocolateyを使った環境構築の時のメモ [Windows] Windows 10をクリーンインストールした際の 環境構築のためにソフトをインストールする際に役立った Chocolateyの使い方をまとめました. chocolateyとは? Ubuntu/Debian系でよく使われるパッケージ管理の apt-get が Windows版でchocolateyになったと思えばいいと思う. これをインストールすると みたいな感じでインストールできる. インストールするメリット 使いたいソフトの Windowsインストーラ をダウンロードして 毎回 Yes とか 承諾 とかをクリックする 手間が省ける chocolateyでインストールしたソフトは一括アップデートできる cinst ${packagename}でググれば,ソフトのインストールは楽々 広告URLをクリックして偽ソフトをうっか
シナプスの技術部 システム開発課の蔵坪と申します。 弊社は、10年近くソースコードは、Subversionで管理しておりましたが、昨年、GitLabに移行しました。 弊社でお世話になっているパートナーさんから、GitLabはAsciiDocが利用できるので、仕様書などのドキュメントは、AsciiDocがお勧めだとアドバイスをもらいました。そこで、Windows上のVisual Studio CodeでAsciiDocのプレビューできる環境を構築してみました。 AsciiDocとは AsciiDocとは、メモ、ドキュメンテーション、記事、本、電子ブック、スライドショー、Webページ、マニュアルページ、ブログを書くためのテキスト文書フォーマットです。 試した環境 OS : Windows 10 Professional (1809) AsciiDocのプレビューに必要なツール Chocolat
DokuWikiは、個人での情報発信や社内での情報共有に使えるサーバインストール型のWikiです。 DokuWikiは無料で使うことができます。 Wikiって何?という人は、まず、Wiki(ウィキ)とは。Wikiの利用例を見てください。 僕がおすすめしているDokuWikiの特徴を知りたい人は、まずは、DokuWikiをおすすめする理由から見てください。
情報共有に何を使っていますか? 昔ながらのPukiWikiですか?有料のConfuluenceですか? GitHubやGitLabを利用していますか? Wikiではなく、メールだったり、Excelなどを共有フォルダーに保存ですか? 私は、DokuWiki(ドクウィキ)で情報共有することをオススメします。 日本ではまだマイナーなWikiですが世界中で有名なWikiです。 DokuWikiの特徴をあげますので、興味を持ちましたらDokuWikiを使ってみてください。 高機能なプラグインにより色々なことを実現可能 プラグインを追加することにより、機能を拡張できます。 例えば、セルの幅を指定できるようになったり、テキスト文字に色を付けたりなどができるようになります。 また、プラグインに関する情報は、公式サイトにまとめられてて検索できます。 プラグインをインストールも、管理画面から簡単に検索、インス
原著バージョン: 2.18 更新日: 2022/04/29 翻訳者(アルファベット順): becolomochi makotosan niszet Takada Atsushi Tomoki Ishibashi Yuki Fujiwara 概要¶ pandoc [options] [input-file]… 説明¶ Pandocは、あるマークアップ形式から他の形式へ変換する Haskell ライブラリと、そのライブラリを用いたコマンドラインツールです。 Pandoc は、 Markdown 、 HTML 、LaTeX 、 Word docx など、これに限定されない多数のマークアップとワープロ形式の間で変換することができます。入力および出力形式の完全なリストについては、下記 (options below) の --from と --to を参照してください。 Pandoc は PDF 出力
以前からテキストベースで仕様書(PDF)などを管理したいと思っていたのですが、ようやくその環境が整い、一度実際に運用してみてかなりいい感じだったので紹介したいと思います。 基本テキストは AsciiDoc で記述する UML は PlantUML で記述する フローチャートとかは必要に応じて mermaid.js も使う つまり基本テキストで表現・管理できるものはテキストで書く 成果物は PDF形式。目次(Table of Contents) はつける。 動作確認環境 macOS Sierra 10.12.3 ruby 2.3.1 Asciidoctor 1.5.5 Asciidoctor PDF 1.5.0.alpha.14 Asciidoctor Diagram 1.5.4 mermaid 7.0.0 AsciiDoc とは AsciiDoc Home Page 軽量マークアップ言語の
ドキュメントツールのインストール(Windows) Macの場合の設定方法は、本項の後に記載 PowerShellの起動 各種ツールをインストールするため、PowerShellを管理者として実行 Windowsボタンを押下 powershell と入力 右クリックで管理者として実行 を選択します Chocolateyのインストール 本手順は前述で起動したPowerShellを利用 1.Chocolatey のサイトにアクセスし、インストールコマンドをクリップボードへコピー 2.前項でコピーしたコマンドをPowerShellにペーストして実行します Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServiceP
Fecebook が新しく発表した Recoil について 自分の学習手順 Getting Started | Recoil を写経して動かす Facebook 製の新しいステート管理ライブラリ「Recoil」を最速で理解する - uhyo/blog で非同期周りを理解 公式ドキュメントの API Reference で理解 <RecoilRoot ...props /> | Recoil これは自分が写経しながら書いた型定義。色々足りてないがチュートリアルで出る範囲は理解できる。 declare module "recoil" { export type RecoilState<T> = {}; export const RecoilRoot: React.ComponentType<{ initializeState?: (options: { set: <T>(recoilVal:
DjangoでCRUDする際のメモ書きです。 いろいろなサイトを参考に、自分に合った内容を抜粋しています。 なお、開発に先立ち、Djangoでの開発の基本フローや概念をまとめたこちらも参考にしてください(ちょっと内容かぶってますが)。 環境 OSとか 私はMac環境なのでMac上で試していますが、基本Windows等でも同じかと思います。 Pythonと仮想環境 Pythonは3.6.1です。Python3.xに標準でついてくるvenvを利用して仮想環境を作っていますが、別に仮想環境じゃなくてもいいと思います。環境構築についてはこちらをご覧ください。 pipでインストールしているもの pip freezeの結果は下記の通り。
Warning: This is an old version. The latest stable version is Version 2.0.x. Quickstart¶ Eager to get started? This page gives a good introduction to Flask. It assumes you already have Flask installed. If you do not, head over to the Installation section. A Minimal Application¶ A minimal Flask application looks something like this: from flask import Flask app = Flask(__name__) @app.route('/') def
Flaskへ ようこそ¶ Flaskのドキュメントへようこそ。このドキュメントは、いくつかのパートに分かれています。 まず インストールについて パートから目を通されることをお勧めします。 その後 クイックスタート を御覧ください。さらに チュートリアル では、Flaskを 使用して小さなアプリケーションを作成しています。APIの詳細をご覧になりたい場合は API ドキュメントを参照してください。様々なパターンを知りたいときは patterns セクションが有効となるでしょう Flaskは、 Jinja2 テンプレートエンジンと Werkzeug WSGIツールキットに 依存しています。このドキュメント内ではこの2つのライブラリーの説明は 記載されていません。それぞれのリンクを参照してください。 Jinja2 Documentation Werkzeug Documentation
Ruby は柔軟なプログラミング言語であり Sinatra のような手軽で軽量なウェブアプリケーションフレームワークがあります。いままで分析用の言語として主に Python で統計やデータの可視化をおこなってきましたが、もちろん Python にも多種多様なウェブアプリケーションフレームワークがあります。 数値計算などを Python でおこなう仕組みをウェブシステムとして提供したい場合、わざわざ別の言語を利用するよりウェブの部分も同じ言語で作ってしまったほうが一貫性があります。 そこで今回は Flask という Python の小規模なフレームワークを利用し、ごく簡単なウェブアプリケーションを作ってみます。 Flask には日本語訳された親切なユーザーガイドがあります。 https://a2c.bitbucket.io/flask/ とても丁寧に書かれているので、基本的にはこのドキュメン
Flask(フラスク)は、プログラミング言語Python用の、軽量なウェブアプリケーションフレームワークである。標準で提供する機能を最小限に保っているため、自身を「マイクロフレームワーク」と呼んでいる。Werkzeug WSGIツールキットとJinja2テンプレートエンジンを基に作られている。BSDライセンスで公開されている。 概要[編集] Flaskは、標準で提供する機能を最小限に保っているため、自身を「マイクロフレームワーク」と呼んでいる。Flask自身は、他のフレームワークがしばしば持っているような、データベース抽象化レイヤやフォーム値の検証などの機能を持たない。これは、どんなWebアプリケーションにも適合する良い基盤を作るための設計判断だとしている(例えば、テンプレートエンジンはほとんどのWebアプリケーションで有用だが、関係データベース等はすべてのアプリケーションが必要とするもの
はじめに はじめまして、キャディでバックエンドエンジニアとして働いている高藤です。 キャディではRustを使ったバックエンドAPIを実装しています。業務ではgRPCサーバを実装していますが、今回はRustを利用した簡単なWebアプリケーションを作成し意外と簡単にAPIサーバが作れる事を紹介させていただきます。 今回はまだRustを触ったことない方でも記事を読み、ちょっとRustやってみようかなと思ってもらえたら幸いです。 前提 Rustの言語仕様など基本的な説明は省略させていただきます。Rust未経験であれば、是非公式のドキュメントを読んでください。 https://doc.rust-lang.org/book/ 有志による日本語訳 https://doc.rust-jp.rs/ 作るもの 今回はまず単純にHTTP RequestをするとJSONを返すサーバを実装を行います。 環境 ❯ r
The Rust Programming Language by Steve Klabnik and Carol Nichols, with contributions from the Rust Community This version of the text assumes you’re using Rust 1.67.1 (released 2023-02-09) or later. See the “Installation” section of Chapter 1 to install or update Rust. The HTML format is available online at https://doc.rust-lang.org/stable/book/ and offline with installations of Rust made with rus
このサイトではRustの日本語ドキュメントを公開しています。 Rustはパフォーマンス、安全性、生産性に優れるプログラミング言語です。 Rustの入門書 プログラミング言語Rust日本語版 Rustプロジェクト公式の入門書「The Rust Programming Language」を和訳したものです。通称「TRPL」または「the book」 Rust 2018 Editionに対応しています。最新の英語版をベースにしていますが、一部、古いところも残っています じっくり読みたい人向けにPDF版もあります Rust by Example日本語版 動作するサンプルコードを中心に学べる入門書です Rust 2018 Editionに対応しています。2020年ごろの英語版をベースにしていますが、一部未翻訳です 各種リファレンス、ガイド 標準ライブラリリファレンス 以下のモジュールについて和訳があ
概要 rustを勉強し始めてから英語ドキュメントを読む機会が格段に増えました。 英語が苦手なので頻繁に調べる必要があるのですけど、 調べた結果は何とか保存しておきたいと思ったわけです。 そんな動機からrust + web(PC、スマホで使いたいから)で単語帳アプリを作ってみました。 内容には全く自信がないですがrustでwebアプリを作ろうと思った人の ご参考に少しでもなればと思います。(rustでwebアプリ・・・無いかな 環境 WEB部分は大量のcrateを使っていますが基本はironとhandlebars_iron、reqwestです。 DBはmongodbでセッション管理にはredisを使いました。 WEB部分だけでもお腹一杯なのでmongodb、redisは別の記事に書きたいと思っています。 注意 このプログラムを書き始めてからironは開発中止?(メンテナを募って継続する?)
RustでもWebAssembly出力ができるようになっているんですが、いつか触ろうと思いつつずっと触る機会がありませんでした。 ちょうど自身の周りでもElectronの利用事案が増えて来て(例えばPostludium/Peridotでパイプラインの設計エディタのためにElectron使おうと思ったこともありました......)、良い機会なので入門として件名のライブラリを触ってみることにしました。 Kaguraとは Rust製のWebフロントエンドフレームワークです。端的に言ってしまえばReactやVueなどの仲間です。 仮想DOMを用いて差分レンダリングを行う点は既存のフレームワーク同様ですが、アーキテクチャ的にはHalogenやElmが近いです (いわゆるTEAの形をとっています)。 RustでWebAssemblyを出力する、動かす Rustにはwasm-bindgenという便利ツー
posted articles:Rust:40%wasm-bindgen:40%WebAssembly:33%wasm:33%JavaScript:27%
WebAssemblyを開発する際の最も基本的な言語となるのがRustです。WebAssemblyでは元々DOMやネットワーク操作ができませんが、Rustのwasm-bindingによってWebブラウザ側のAPIを実行できるようになりました。その結果、WebAssembly活用の幅が広がったと言えます。 Kaguraはそんなwasm-bindingを使い、RustだけでWebアプリケーションを開発できるフレームワークになります。 Kaguraの使い方 チュートリアル的に紹介されている内容です。JavaScriptは書いていませんが、ちゃんとWebアプリケーションになります。 ライブリロードが組み込まれているので、Rustのコードを修正するとWebブラウザの表示に反映されます。 Kaguraを使うことでJavaScriptを書かずにWebアプリケーションが構築できます。DOMとネットワークは
世の中には様々なプログラミング言語があります。目的に特化したプログラミング言語もありますが、多くのプログラミング言語は汎用的なものです。とは言え、目的に応じてプログラミング言語を変えた方が、より効率的にソフトウェア開発を進められるはずです。 今回は皆さんの目的に合わせて、お勧めなプログラミング言語を紹介します。 IoT開発 IoT開発で大事なのは、プログラムを実行するデバイスのリソース(CPUやメモリ、ストレージなど)が小さいということです。そのため、リソースを大量に消費するような言語は選択できないでしょう。また、一般的なOSとは異なり、利用できる言語に制約がある場合もあります。 Arduinoで開発を行う場合、選択肢はProcessingが一般的になるでしょう。また、tinyGoというIoT特化型のGo言語も利用できます。Raspberry Piはマイコンではないのでもう少し選択肢が多い
Rocketは素晴らしいWebアプリケーションフレームワークで、サンプルコードも充実しているけど、WebAPIサーバーを作る包括的なチュートリアルが無かったように思えたので書いてみることにする。なお、このリポジトリコードはこの記事を参考にしている。 この解説に使ったコードは以下。 Table of Contents Setup Run Usage Tutorial Rocketとは? Hello Rocket! ToDOアプリのWebAPIをつくる Responder Setup # rustupをインストールする. $ curl https://sh.rustup.rs -sSf | /bin/bash -s -- -y --default-toolchain nightly $ cd rocket-webapi $ cargo run 🔧 Configured for develop
「ゼロコスト抽象化」という言葉を最初に聞いた時、正直にいうと何のことだかわかりませんでした。これは別途記事にしようと思いますが、freeしなくていいのにGC不要と書いてあって何を言ってるのかさっぱりわからなかったのと同様に、抽象化のコストがゼロとは何のことだ?と混乱しました。C++のゼロオーバーヘッド原則やテンプレートプログラミングに精通している場合、すんなり理解出来るかも知れないが、きっと読者の中にはそういう人ばかりではないから、というかそうでない人を対象にして記事を書いているつもりなので、説明します。 C++のゼロオーバーヘッド原則 Rustのトレイトは静的ディスパッチにも動的ディスパッチにも対応している 静的ディスパッチとは 動的ディスパッチとは 静的ディスパッチと動的ディスパッチは補完的な存在 ゼロコスト抽象化とは 色々ドキュメントを読んだ中で、ゼロコスト抽象化についてダイレクトに
記事のターゲット Rustを学ぼうと思っている人(俺) 公式ドキュメントでいきなり出てきた「ゼロコスト抽象化」が何なのか気になっている人(僕) つまり他言語に比べてRustが勝っている点を一つでも自分の言葉で説明したい人(私) ゼロコスト抽象化 Rustの公式ドキュメントに出てくるあまり一般的ではない単語です 文字通り コストがない(ゼロ)としている抽象化のことです プログラミング的抽象化 現代でよく扱われる高級言語には抽象化の概念が実装されている事が多く、デザインパターンの殆どがこの抽象化をベースにしている内容が多数見られます 処理系・属性値などをブラックボックス化して、使用タイミングで具体化した動きに変えるような書きぶりです その名の通り、ゆるふわで定義しておいてその定義に合わせた実装を用意する内容です この文脈の「コスト」とは? 抽象化に対する追加のコスト と考えて良いでしょう ここ
κeenです。今日Twitter上でのやりとりから少し面白いことが分かったのでそれについて。 最近1.0が出たKotlinについて、水島さんがツイートしてました。 nullableに対してはmapとかの高階関数を一切使えないのが痛い。 ?. でカバーできるケースは一部だけだ。zero-overhead null-safetyと唄っとるが、代わりにnullチェックお化けになるわけで、どこがzero-overheadだ #kotlin_dis — 水島 宏太(Klassic作成中) (@kmizu) 2016年2月29日 それについて私が無関係なツイートを。 全く無関係だけどRustはOptionみたいな0-1の型をnull or valueに最適化するそうな。これこそがゼロコスト抽象かな https://t.co/5Y7cBEyrMe — κeen (@blackenedgold) 2016
これは Rust その3 Advent Calendar 2019 の24日目のエントリです。 Rustのゼロコスト抽象化が期待どおりに働いていることを、コンパイラが出力した機械語(アセンブリコード)で確認します。 ゼロコスト抽象化とは ゼロコスト抽象化(zero-cost abstraction)とは、Rustが持つ抽象化のしくみが実行時の追加コストなしに動作することです。 ここでいう追加コストとは、メモリ使用量の増加や実行速度の低下などの、いわゆるオーバーヘッドを指します。 では抽象化とはなんでしょうか? プログラミングにおける抽象化とは、共通な部分を抽出し、その詳細をブラックボックス化することです。 これにより仕様変更に強く、再利用性の高いソフトウェアを開発できます。 Rustが提供する抽象化のしくみには、たとえば以下のようなものがあります。 ポリモーフィズム:いくつかの型に共通する
こんにちは、 @kz_morita です。 今回は、自転車本と言われている「実践Rust入門 言語仕様から開発手法まで」 を読んだのでその感想を書いていこうと思います。 実践Rust入門 言語仕様から開発手法まで 目次 目次は以下のような感じです。 第1章 Rustの特徴 第2章 はじめてのRustプログラム 第3章 クイックツアー 第4章 プリミティブ型 第5章 ユーザー定義型 第6章 基本構文 第7章 所有権システム 第8章 トレイトとポリモーフィズム 第9章 パーサを作る 第10章 パッケージを作る 第11章 Webアプリケーション・データベース接続 第12章 FFI 最初に、環境の構築と簡単なプログラムを紹介して、次に基本的な文法などから、所有権・トレイト・ライフタイムなどのRust のコアな部分までの解説があります。 最後に、パーサ、Webアプリケーション、FFIという実践的な内
Union Types 2.0というRFCが投票中です。 提案者はまたまたのNikita。 2019/10/25開始、2019/11/08終了で、受理には2/3+1の賛成が必要です。 2019/11/04時点で賛成55反対5であり、ほぼ導入確定です。 PHPのunion型って何かというと、TypeScriptのunion型とだいたい同じです。 int|string $aと書いたら$aはint型もしくはstring型ですよ、ということです。 ちなみに別途RFCをGitHubで管理しようという実験が進行中で、このRFCの詳細はGitHub上に存在します。 このRFCはまだNikitaの個人GitHub上にしかないのですが、本決まりになったらPHP公式に移動になると思います。 まあGitHubのほうが管理とか更新とか楽ですからね。 ただGitHubはURLがすぐ404になるのだけはどうにかしてほ
はじめに。 PHP5から「タイプヒンティング(型宣言)」は存在したが、 ようやくPHP7で機能拡張されたことによってスカラ型の宣言も行えるようになった。 また、PHP7.2からobject型も扱えるようになっている。 ※PHP5の頃はタイプヒンティングと呼ばれていたが、PHP7から型宣言という呼び名に統一された。 以下が、これまでの経緯である。 型宣言の特徴 関数の引数/返り値に対して設定できる。 通常の変数に型宣言する事は出来ない。 想定外の値を受け取ると、TypeErrorをスロー 型宣言が必要な理由 そもそも型宣言は、関数制作者のためにある。 型宣言を行うことによるメリットとして、以下の点が挙げられる。 想定外の引数を受け取った時にエラーとなり、不具合を検知できる。 特に複数人開発において、関数製作者が引数に求める意図を明示できる。 型が保証されているので、関数の引数チェックが簡単に
Mastodon(マストドン)をご存知でしょうか? 2017年頃に爆発的に流行した、Twitterによく似た次世代のSNSです。当時のようなお祭り騒ぎでこそありませんが、今でも多くの人々で賑わっています。 MastodonではTwitterと同じように、思ったことを書いたり、ラーメンや猫の画像を載せたり、友達をフォローしたり、リプライを送り合ったりできます。 今回は、Mastodonに興味が湧いている人や最近Mastodonを始めた人のために、MastodonとはどんなSNSなのかという布教紹介、Twitterにはない便利な機能の紹介を行っていきたいと思います。 ⚠ この記事は2020年5月時点の情報で書かれています。Mastodonは日進月歩で日々進化しています。あなたがこれを読んでいる頃の状況とは異なる可能性があることをご留意ください。 目次 マストドンって何?誰でも建てられると何が嬉
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く