並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 121件

新着順 人気順

std string format exampleの検索結果1 - 40 件 / 121件

  • Ubuntu 24.04 LTS サーバ構築手順書

    0 issue "letsencrypt.org" 0 issuewild "letsencrypt.org" 0 iodef "mailto:yourmail@example.jp" §OS再インストール 初期設定で期待通りの設定ができていない場合は、OSの再インストールをする。 さくらVPSのコントロールパネルから、OSを再インストールするサーバを選ぶ。 www99999ui.vs.sakura.ne.jp §OSのインストール操作 Ubuntu 24.04 LTS を選ぶ。 OSインストール時のパケットフィルタ(ポート制限)を無効にして、ファイアウォールは手動で設定することにする。 初期ユーザのパスワードに使える文字が制限されているので、ここでは簡単なパスワードにしておき、後ですぐに複雑なパスワードに変更する。 公開鍵認証できるように公開鍵を登録しておく。 §秘密鍵と公開鍵の作成 ク

      Ubuntu 24.04 LTS サーバ構築手順書
    • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

      お近づきになりたい人向けシリーズです。 いろいろなトピックを詰め込みましたが、「これら全部を知らないといけない」のようなつもりではなく、いろいろなことを知るきっかけになったらいいなという気持ちなので、あまり身構えずにちょっとずつ読んでもらえたらうれしい気がします。 まえがき 予備知識 規格 用語 精度という語について 記法 表現について 有限値の表現について エンコードについて 丸めについて よくある誤差や勘違いの例 0.1 = 1 / 10? 0.1 + 0.2 = 0.3? 整数の誤差 Rump’s Example 基本的な誤差評価 用語に関して 実数の丸め 有理数の丸め 基本演算の丸め 差について 複数回の演算 補題たち 桁落ちについて Re: Rump’s example 融合積和 数学関数に関する式の計算 誤差の削減に関して 総和計算 数学関数の精度について 比較演算について 雑

        浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記
      • Building a tiny Linux from scratch

        Last week, I built a tiny Linux system from scratch, and booted it on my laptop! Here’s what it looked like: Let me tell you how I got there. I wanted to learn more about how the Linux kernel works, and what’s involved in booting it. So I set myself the goal to cobble together the bare neccessities required to boot into a working shell. In the end, I had a tiny Linux system with a size of 2.5 MB,

          Building a tiny Linux from scratch
        • Rust vs. Haskell

          Rust and Haskell don’t shy away from powerful features. As a result, both languages have steep learning curves when compared with other languages. Trying to learn Rust or Haskell can be frustrating, especially in the first couple of months. But if you already know Rust, you have a head start with Haskell; and vice versa. In this article, we want to show how knowledge of one of these languages can

            Rust vs. Haskell
          • WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG

            はじめまして。R&Dチーム所属、20.5卒の伊藤です。 普段の業務では自然言語処理と格闘していることが多いです。 今回は自然言語処理モデルとして有名なBERTをWebAssemblyを使用してフロントエンドで動かしてみた話になります。 最近、自然言語処理ライブラリとして普段お世話になっているHugging Face社のTransformersのTokenizerがRustで実装されていることを知り、それならばWebAssemblyにコンパイルして動かせるのではないかと試したみたのがきっかけです。 Tokenizerのみ動かしても実用性に乏しいため、Tokenizerから得られた結果からBERTを用いた推論をブラウザで動作させるまでを行い、備忘録がでら手順をまとめました。 どなたかの参考になれば幸いです。 8/26追記 本記事内のコードを含むリポジトリを公開しました!Dockerを使用してブ

              WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG
            • Cloudflare の新しいロードバランサ Pingora を試してみる - Cybozu Inside Out | サイボウズエンジニアのブログ

              こんにちは。クラウド基盤本部の野島です。 今年のインターンシップでは、プラットフォーム(自社基盤)コースとして2名の方を受け入れ、それぞれ異なる課題をやってもらいました。 そのうちの一つは Pingora に関する課題で、覚道さんに取り組んでいただきました。(もう一つの課題は nginx のキャッシュの性能に関するもので、これについては昨日の記事をご参照ください) Pingora は Cloudflare が開発したロードバランサのためのフレームワークであり、Rust を使って好きなロジックを組み込んだロードバランサを書くことができます。 今回のインターンでは Pingora を使って TLS のクライアント証明書を使った認証プロキシを作ってもらいました。 そこで、この開発の中で得られた Pingora や OpenSSL に関する知見を共有しようと思います。 この記事は覚道さんのインター

                Cloudflare の新しいロードバランサ Pingora を試してみる - Cybozu Inside Out | サイボウズエンジニアのブログ
              • Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成 - すぎゃーんメモ

                背景 先行・類似事例 自作のメリット Rustで局面画像生成 盤・駒画像の素材 画像処理 入出力 Generatorと下準備 Publish Web Appで使う CDN Edgeで動かす wasm-packでWebAssembly作成 Deno Deploy Vercel Edge Functions Cloudflare Workers Fastly Compute@Edge その他 まとめ Repository 背景 ATrium という AT Protocol のためのライブラリを自作している が、まったくドッグフーディングしていなかった ので、Blueskyに詰将棋の問題を放流するBotを作ってみることにした gfx氏が作ったBot を参考に というわけで、詰将棋の問題の局面を画像で投稿したい が、あまり自分好みの画像を生成できるライブラリやWebサービス等がない ので、結局それ

                  Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成 - すぎゃーんメモ
                • MCP Python SDK のドキュメント|npaka

                  以下の記事が面白かったので、簡単にまとめました。 ・modelcontextprotocol/python-sdk 1. 概要「MCP」を使用すると、アプリケーションは標準化された方法でLLMにコンテキストを提供できます。これにより、コンテキストの提供とLLMとの実際のやり取りを分離できます。「Python SDK」はMCP仕様を完全に実装しており、以下のことが容易になります。 ・任意のMCPサーバに接続できるMCPクライアントの構築 ・リソース、プロンプト、ツールを公開するMCPサーバの作成 ・stdio、SSE、Streamable HTTPなどの標準トランスポートの使用 ・すべてのMCPプロトコルメッセージとライフサイクルイベントの処理 2. インストール2-1. PythonプロジェクトにMCPを追加Pythonプロジェクトの管理には「uv」が推奨されています。 (1) プロジェク

                    MCP Python SDK のドキュメント|npaka
                  • サーバレスにおけるRustについて - NTT docomo Business Engineers' Blog

                    この記事は、 NTT Communications Advent Calendar 2023 22日目の記事です。 はじめに こんにちは、イノベーションセンターの鈴ヶ嶺です。普段は、クラウド・ハイブリッドクラウド・エッジデバイスなどを利用したAI/MLシステムに関する業務に従事しています。 本記事は、各クラウドベンダーのサーバレスにおけるプログラミング言語Rustについて調査・比較した結果を紹介します。 まず初めにサーバレスでRustを利用するメリットをエネルギー効率の観点から説明し、次に各クラウドベンダーの関連記事をピックアップします。 さらに、それぞれのクラウドでRustを使ったサーバレスアプリの代表的な作成方法を紹介して比較します。 Rustのエネルギー効率 Rustは、次の公式ページでも宣伝している通りパフォーマンスを強くアピールしています。 Rustは非常に高速でメモリ効率が高く

                      サーバレスにおけるRustについて - NTT docomo Business Engineers' Blog
                    • tar(1) はなぜオプション引数にハイフンが不要なのか?

                      TL;DR tar(1)の引数はオプションではなくkeyだから 歴史 tar(1)は Unix v7 (1979) で導入されたが、その前身は Unix v4 (1973) の tp(1)、更にこれは Unix v1 (1971) の tap(1) に遡る。 80年代に入りSystemV v.s. BSDといったことが起きたりし、PWB/UNIX (Programmer's WorkBench)で導入された cpio(1)とtar(1)、どちらがUnixの標準アーカイバか争われた結果、IEEE Std. 1003.1-2001 (POSIX.1-2001) を以って tar(1)は規格から削除され、代わりに IEEE Std 1003.2-1992 で導入された折衷案のpax(1)が標準となった。よって、現在実装中立なtar(1)の仕様書がそもそも存在しない。最後の中立規格は1997―19

                      • Why stdout is faster than stderr? - Orhun's Blog

                        I recently realized stdout is much faster than stderr for Rust. Here are my findings after diving deep into this rabbit hole. I have been using the terminal (i.e. command-line) for most of my day-to-day things for a while now. I was always fascinated by the fact that how quick and convenient the command-line might be and that's why I'm a proponent of using CLI (command-line) or TUI (terminal user

                          Why stdout is faster than stderr? - Orhun's Blog
                        • Linux Pipes are Slow - Quentin Santos

                          Errata: Some significant mistakes were pointed out to me by email by Brendan MacDonell. I have included errata, but the results might not be reliable, so take this with pinch of salt! vmsplice is too fast Some programs use a particular system call “vmsplice” to move data faster through a pipe. Francesco already did a deep dive on using vmsplice to make things fast. However, while experimenting wit

                          • Rust 1.60を早めに深掘り - OPTiM TECH BLOG

                            こんにちは、R&Dチームの齋藤(@aznhe21)です。 新オフィスは広くて快適です。 さて、本日4/8(金)にRust 1.60がリリースされました。 この記事ではRust 1.60での変更点を詳しく紹介します。 4/8は釈迦の誕生を祝う花まつりの日 ピックアップ コンパイル時間を計測できるようになった 機能(features)で名前空間付き・弱依存がサポートされた コード網羅率を計測できるようになった [u8]を文字列としてエスケープできるようになった 安定化されたAPIのドキュメント Arc::new_cyclic パニック サンプル Rc::new_cyclic パニック サンプル slice::EscapeAscii <[u8]>::escape_ascii サンプル u8::escape_ascii サンプル Vec::spare_capacity_mut サンプル Maybe

                              Rust 1.60を早めに深掘り - OPTiM TECH BLOG
                            • Announcing Vortex Support in DuckDB

                              TL;DR: Vortex is a new columnar file format with a very promising design. SpiralDB and DuckDB Labs have partnered to give you a very fast experience while reading and writing Vortex files! I think it is worth starting this intro by talking a little bit about the established format for columnar data. Parquet has done some amazing things for analytics. If you go back to the times where CSV was the b

                              • Rust の hyper は何が嬉しいか

                                Rust でWebサーバーを書く時の技術選定をするときに調べていると hyper に必ず出会うと思う。これは黎明期から存在しているライブラリで、Webサーバーにしては珍しく version 1 まで到達している老舗だ(1に到達してたら安心って考え方が正しいかはさておき...)。このライブラリは actix-web や axum のような他のライブラリとは毛色が違い、かなり primitive だ。そのため axum のベースに使われてもいて、hyper はそのまま使わないライブラリなのかもしれない。 サンプルコードから存在意義がわかりにくい さて、そんな hyper だが公式の example はこのようになっている。 #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>>

                                  Rust の hyper は何が嬉しいか
                                • 缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文 - じゃあ、おうちで学べる

                                  はじめに ——あるいは、「知っている」と「理解している」の間 Rustのことは、知っていた。学習もしていた。実務でも使っていた。 でも、それは知っているつもりだった。 知ってるつもり 無知の科学 (ハヤカワ文庫NF) 作者:スティーブン スローマン,フィリップ ファーンバック早川書房Amazon 日々Rustで開発し、BoxとRcとArcを使い分け、tokio::spawnでタスクを生成し、?演算子を当たり前のように書いている。FFI?PyO3使えばいいでしょ。WebAssembly?wasm-bindgenがあるじゃない。技術的には、確かに「使える」レベルにはあった。 でも、心のどこかで感じていた違和感があった。 オートバイのエンジンを分解できる人と、エンジンが動く原理を理解している人は違う。コードが動くことと、なぜそう書くべきかを理解することも違う。私は前者だった。メカニックではあった

                                    缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文 - じゃあ、おうちで学べる
                                  • Using unwrap() in Rust is Okay - Andrew Gallant's Blog

                                    One day before Rust 1.0 was released, I published a blog post covering the fundamentals of error handling. A particularly important but small section buried in the middle of the article is named “unwrapping isn’t evil”. That section briefly described that, broadly speaking, using unwrap() is okay if it’s in test/example code or when panicking indicates a bug. I generally still hold that belief tod

                                    • Rust 1.55を早めに深掘り - OPTiM TECH BLOG

                                      こんにちは、R&Dチームの齋藤(@aznhe21)です。 最近はい・らすとのネタが浮かばず苦労しています。センスと丁度良いリリース日をください。 さて、本日9/10(金)にRust 1.55がリリースされました。 この記事ではRust 1.55での変更点を詳しく紹介します。 9/10は黒澤映画「羅生門」がヴェネチア国際映画祭で日本発の金獅子賞を受賞した日 ピックアップ パターンとして「以上」のレンジが使えるようになった 配列をそのまま写像出来るようになった I/O関数から返されるエラーの値が一部変更された 安定化されたAPIのドキュメント core::ops::Bound::cloned サンプル std::string::Drain::as_str サンプル std::io::IntoInnerError::into_error サンプル std::io::IntoInnerError:

                                        Rust 1.55を早めに深掘り - OPTiM TECH BLOG
                                      • RFC 9562: Universally Unique IDentifiers (UUIDs)

                                         Internet Engineering Task Force (IETF) K. Davis Request for Comments: 9562 Cisco Systems Obsoletes: 4122 B. Peabody Category: Standards Track Uncloud ISSN: 2070-1721 P. Leach University of Washington May 2024 Universally Unique IDentifiers (UUIDs) Abstract This specification defines UUIDs (Universally Unique IDentifiers) -- also known as GUIDs (Globally Unique IDentifiers) -- and a Uniform Resou

                                          RFC 9562: Universally Unique IDentifiers (UUIDs)
                                        • Why is WebAssembly a second-class language on the web? – Mozilla Hacks - the Web developer blog

                                          This post is an expanded version of a presentation I gave at the 2025 WebAssembly CG meeting in Munich. WebAssembly has come a long way since its first release in 2017. The first version of WebAssembly was already a great fit for low-level languages like C and C++, and immediately enabled many new kinds of applications to efficiently target the web. Since then, the WebAssembly CG has dramatically

                                            Why is WebAssembly a second-class language on the web? – Mozilla Hacks - the Web developer blog
                                          • Rust to WebAssembly the hard way — surma.dev

                                            Toggle dark mode What follows is a brain dump of everything I know about compiling Rust to WebAssembly. Enjoy. Some time ago, I wrote a blog post on how to compile C to WebAssembly without Emscripten, i.e. without the default tool that makes that process easy. In Rust, the tool that makes WebAssembly easy is called wasm-bindgen, and we are going to ditch it! At the same time, Rust is a bit differe

                                              Rust to WebAssembly the hard way — surma.dev
                                            • Low-Level Software Security for Compiler Developers

                                              1 Introduction Compilers, assemblers and similar tools generate all the binary code that processors execute. It is no surprise then that these tools play a major role in security analysis and hardening of relevant binary code. Often the only practical way to protect all binaries with a particular security hardening method is to have the compiler do it. And, with software security becoming more and

                                              • Rust 1.59を早めに深掘り - OPTiM TECH BLOG

                                                こんにちは、R&Dチームの齋藤(@aznhe21)です。 初めてのオフィス引っ越し体験が目前でちょっとワクワクしています。 さて、本日2/25(金)にRust 1.59がリリースされました。 この記事ではRust 1.59での変更点を詳しく紹介します。 2/25は映画「未知との遭遇」が日本で公開された日 ピックアップ 定数ジェネリクスでデフォルト値を使えるようになった 分割代入ができるようになった インラインアセンブリが使えるようになった イテレータのzipがフリー関数になった Cargo.tomlでstripを指定できるようになった 安定化されたAPIのドキュメント std::thread::available_parallelism 制限 エラー サンプル Result::copied サンプル Result::cloned サンプル ops::ControlFlow::is_brea

                                                  Rust 1.59を早めに深掘り - OPTiM TECH BLOG
                                                • Flappy Bird Implemented in Typescript types

                                                  10/19/2023 Flappy Bird Implemented in Typescript types The ultimate type-level trickery I wrote a 2D flappy bird game, purely in Typescript types: Yes you heard that right, this game is written entirely in Typescript type annotations, which—if you didn’t know—are Turing complete. So how the hell am I runnning it in the browser and rendering the game in Typescript types? The basic rundown is that I

                                                  • Deno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) | gihyo.jp

                                                    Deno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) Deno標準モジュールを、前編と後編の2回に分けて解説します。本記事は前編です(後編はこちら⁠)⁠。 はじめに Deno標準モジュールはDenoコアチームによって開発・メンテナンスされているモジュール群です。Denoを使って様々なプログラムを作成する上で必要となる基本的な機能を提供しています。 標準モジュールを使う際には以下の例のようにhttps://deno.land/std名前空間から必要な機能をインポートして使います。たとえば、HTTPサーバーを使用する例は以下のようになります。 import { serve } from "https://deno.land/std@0.170.0/http/server.ts"; serve(() => new Response("he

                                                      Deno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) | gihyo.jp
                                                    • Introducing Foundations - our open source Rust service foundation library

                                                      Introducing Foundations - our open source Rust service foundation library2024-01-24 In this blog post, we're excited to present Foundations, our foundational library for Rust services, now released as open source on GitHub. Foundations is a foundational Rust library, designed to help scale programs for distributed, production-grade systems. It enables engineers to concentrate on the core business

                                                        Introducing Foundations - our open source Rust service foundation library
                                                      • Rust Web Development

                                                        This article is part of a chapter of Rust Web Development which didn't make the cut to be in the book. TL;DR When we talk about a web service, we, more often than not, mean deployed code which listens on a certain IP address and port and responds to HTTP messages. There are many steps involved for two parties to be able to communicate with each other. Application developers are mainly confronted w

                                                        • Node.js — Node.js 24.0.0 (Current)

                                                          2025-05-06, Version 24.0.0 (Current), @RafaelGSS and @juanarbol We’re excited to announce the release of Node.js 24! This release brings several significant updates, including the upgrade of the V8 JavaScript engine to version 13.6 and npm to version 11. Starting with Node.js 24, support for MSVC has been removed, and ClangCL is now required to compile Node.js on Windows. The AsyncLocalStorage API

                                                            Node.js — Node.js 24.0.0 (Current)
                                                          • Why I use attrs instead of pydantic

                                                            This post is an account of why I prefer using the attrs library over Pydantic. I'm writing it since I am often asked this question and I want to have something concrete to link to. This is not meant to be an objective comparison of attrs and Pydantic; I'm not interested in comparing bullet points of features, nor can I be unbiased since I'm a major contributor to attrs (at time of writing, second

                                                            • Regexide

                                                              Why XML Comments matter XML is a popular format for storing and sharing data. It was explicitly designed for people and programs to read and write data.[1] From spreadsheets to save states, most modern software and games parse and write XML. XML comments are special notes that parsers should not treat as data. XML comments start with <!-- and end with -->. Technically XML comments must not contain

                                                              • The surprising struggle to get a UNIX Epoch time from a UTC string in C or C++ - Bert Hubert's writings

                                                                The surprising struggle to get a UNIX Epoch time from a UTC string in C or C++ So how hard could it be. As input we have something like Fri, 17 Jan 2025 06:07:07 in UTC, and we’d like to turn this into 1737094027, the notional (but not actual) number of seconds that have passed since 1970-01-01 00:00:00 UTC. Trying to figure this out led me to discover many ‘surprise features’ and otherwise unexpe

                                                                  The surprising struggle to get a UNIX Epoch time from a UTC string in C or C++ - Bert Hubert's writings
                                                                • 0.8.0 Release Notes ⚡ The Zig Programming Language

                                                                  Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                                                                  • Curious lack of sprintf scaling · Aras' website

                                                                    Some days ago I noticed that on a Mac, doing snprintf calls from multiple threads shows curious lack of scaling (see tweet). Replacing snprintf with {fmt} library can speed up the OBJ exporter in Blender 3.2 by 3-4 times. This could have been the end of the story, filed under a “eh, sprintf is bad!” drawer, but I started to wonder why it shows this lack of scaling. Test case A simple test: convert

                                                                    • Rust 1.57を早めに深掘り - OPTiM TECH BLOG

                                                                      こんにちは、R&Dチームの齋藤(@aznhe21)です。 今回の記事で自分がPlayStationと同い年ということを知りました。 さて、本日12/3(金)にRust 1.57がリリースされました。 この記事ではRust 1.57での変更点を詳しく紹介します。 12/3は初代PlayStationの発売日 ピックアップ 定数文脈でもパニック出来るようになった コレクション型でメモリの確保エラーを捉えられるようになった Cargoのプロファイルを自作出来るようになった 安定化されたAPIのドキュメント [T; N]::as_mut_slice [T; N]::as_slice alloc::collections::TryReserveError alloc::collections::HashMap::try_reserve エラー サンプル alloc::collections::Has

                                                                        Rust 1.57を早めに深掘り - OPTiM TECH BLOG
                                                                      • 🔭 tracing/tracing-subscriberでログが出力される仕組みを理解する | Happy developing

                                                                        本記事ではRustのtracing/tracing-subscriberでログが出力される仕組みをソースコードを読みながら理解することを目指します。 具体的には以下のコードにおいてtracingがどのようにしてログを出力するかを見ていきます。 use tracing::{info, info_span}; fn main() { tracing_subscriber::fmt() .init(); let span = info_span!("span_1", key="hello"); let _guard = span.enter(); info!("hello"); } Cargo.toml [dependencies] thread_local = "1.1.4" tracing = "=0.1.35" tracing-core = "=0.1.30" tracing-subscr

                                                                        • Hard Mode Rust

                                                                          Oct 6, 2022 This post is a case study of writing a Rust application using only minimal, artificially constrained API (eg, no dynamic memory allocation). It assumes a fair bit of familiarity with the language. The back story here is a particular criticism of Rust and C++ from hard-core C programmers. This criticism is aimed at RAII — the language-defining feature of C++, which was wholesale importe

                                                                          • Error Handling In Rust - A Deep Dive | Luca Palmieri

                                                                            Error Handling In Rust - A Deep Dive May 13, 2021 8550 words 43 min This article is a sample from Zero To Production In Rust, a hands-on introduction to backend development in Rust. You can get a copy of the book at zero2prod.com. TL;DR To send a confirmation email you have to stitch together multiple operations: validation of user input, email dispatch, various database queries. They all have one

                                                                              Error Handling In Rust - A Deep Dive | Luca Palmieri
                                                                            • sdadams.org

                                                                              The problem: data corruption I decided it was finally time to build a file server to centralize my files and guard them against bit-rot. Although I would have preferred to use OpenBSD due to its straightforward configuration and sane defaults, I was surprised to find that none of the typical NAS filesystems were supported. In particular I would need three features in such a filesystem. Firstly I w

                                                                              • 0.10.0 Release Notes ⚡ The Zig Programming Language

                                                                                Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                                                                                • Deno標準モジュール解説[後編] ~モジュール解説(FS~Wasi)と、Deno標準モジュールの今後の展望 | gihyo.jp

                                                                                  Deno標準モジュール解説[後編] ~モジュール解説(FS~Wasi)と、Deno標準モジュールの今後の展望 Deno標準モジュールを、前編と後編の2回に分けて解説します。本記事は後編です(前編はこちら⁠)⁠。 モジュール解説 前編に続き、以下ではDeno標準モジュールの中の各モジュールについて解説していきます。 11. FS FSではファイル操作用のユーティリティが実装されています。具体的には以下のような機能が提供されています。 copy:ファイルもしくはディレクトリをコピーする detect:ファイルの内容を受け取ってファイルの改行形式を判定する emptyDir:ディレクトリを空にする(ディレクトリ自体は消されない) ensureDir:ディレクトリがなければ作成する ensureFile:ファイルがなければ作成する ensureLink:ハードリンクがなければ作成する ensure

                                                                                    Deno標準モジュール解説[後編] ~モジュール解説(FS~Wasi)と、Deno標準モジュールの今後の展望 | gihyo.jp