タグ

ブックマーク / gihyo.jp (57)

  • PythonとRustの融合:PyO3/maturinを使ったPythonバインディングの作成入門 | gihyo.jp

    Cargo.tomlにはデフォルトのメタデータとPyO3の依存関係(バージョン)などが記載されています。また、pyproject.tomlにはビルドツールとしてmaturinが使用されることなどがあらかじめ定義されています。 注目すべきはRustスクリプトを記述するsrc/lib.rsファイルです。以下のようなscaffold(足場)が最初から記載されています。 src/lib.rsにデフォルトで記載されているscaffold 1 use pyo3::prelude::*; 2 3 /// Formats the sum of two numbers as string. 4 #[pyfunction] 5 fn sum_as_string(a: usize, b: usize) -> PyResult<String> { 6 Ok((a + b).to_string()) 7 } 8 9

    PythonとRustの融合:PyO3/maturinを使ったPythonバインディングの作成入門 | gihyo.jp
  • Rust製のPythonパッケージ管理ツール「uv」を使ってみよう | gihyo.jp

    それぞれのツールに関する詳しい説明は記事では行いません。詳しく知りたい方は、ツール名のリンクから公式ドキュメント等を参照してみてください。 上記の表に挙げたツール群にはそれぞれに特徴があります。pyenv、venv、pipのように単一機能に特化したものから、Condaのようにデータサイエンスや機械学習プロジェクトで使用される複雑なパッケージの依存関係や環境管理をサポートするツール、PoetryのようにPythonパッケージインデックス(PyPI)への公開をサポートするツールなど、開発シーンに合わせて選択することができます。 uvとは uvは2024年の2月中旬に発表されたばかりの新しいパッケージ管理ツールです。Rustで書かれており、ここ最近で飛躍的に使用されるようになったRust製のPythonリンター&フォーマッター「Ruff」を開発しているAstral社によって提供されています[1

    Rust製のPythonパッケージ管理ツール「uv」を使ってみよう | gihyo.jp
  • これから取り組むモダンアプリケーション 〜変化を受け入れ続けて開発に注力する | gihyo.jp

    こんにちは!カックこと吉田慶章です。記事では、「⁠モダンアプリケーション」とは何なのか、何ではないのか、そして、アプリケーションの開発に注力する必要性を紹介します。記事の読者の皆さんがモダンアプリケーションとは何なのかを理解し、モダンアプリケーションに取り組む第一歩を踏み出すきっかけになれば嬉しく思います。 モダンアプリケーションとは何なのか まずは、モダンアプリケーションとは何なのか、そしてモダンアプリケーションが求められる背景を紹介します。 変化に迅速に対応できる俊敏性が求められている 近年、どのような業界でも企業にはイノベーションを促進し、変化に迅速に対応できる俊敏性が求められています。また、多くの業界において、小規模だと思っていた競争相手がイノベーションに注力した結果、たった数ヶ月で大きな差を付けられてしまうことさえあります。さらに、直近の例としてはAIの普及もあり、どのように

    これから取り組むモダンアプリケーション 〜変化を受け入れ続けて開発に注力する | gihyo.jp
    gigs123
    gigs123 2023/04/30
  • 軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう | gihyo.jp

    TauriはRustで書かれた軽量なGUIフレームワークで、WindowsmacOSLinux向けのデスクトップアプリを開発できます。2022年6月に最初の安定版であるバージョン1.0がリリースされました。 Tauriでは、メインプロセスはRustで記述しますが、UI(User Interface)にはWeb技術を利用します。ReactVue.jsのようなJavaScriptフレームワークがそのまま使えるので、インタラクティブで見栄えの良いUIを簡単に構築できます。同種のフレームワークにElectronがありますが、後発であるTauriにはインストーラのサイズを小さくできるなどの強みがあります。 Tauriのロゴは、おうし座の二重星であるシータタウリ(θ Tauri)をモチーフ[1]にしており、Webとネイティブアプリの相互作用を意味しています。 図1 Tauriロゴ 稿では、Ta

    軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう | gihyo.jp
    gigs123
    gigs123 2022/10/21
  • プログラミング言語大全

    2020年4月18日紙版発売 2020年4月18日電子版発売 クジラ飛行机 著 B5変形判/216ページ 定価1,980円(体1,800円+税10%) ISBN 978-4-297-11347-6 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 プログラミング言語の大全集! 100以上のプログラミング言語や処理系,関連言語を幅広く解説。C,JavaPythonPHPRubyJavaScript...主要言語はもちろんマイナー言語まで収録。初心者にも経験者にも楽しい一冊です。 こんな方におすすめ どの言語を学ぶべきか知りたいプログラミング

    プログラミング言語大全
  • 第587回 RISC-Vベースの“AIoTカメラ”であるM5StickVをUbuntuで使う | gihyo.jp

    M5StickVはRISC-VベースのAIoT(AI+IoT)カメラです。今回はこのM5StickVを使うにあたって、Ubuntu側からファームウェアアップデートや既存のプログラムの実行などを行ってみましょう。 M5StickVの概要 M5StickVはM5Stackが販売している、RISC-VベースのSoCを搭載した小型カメラデバイスです。その大きな特徴は、SoC内にニューラルネットワーク用のアクセラレーターを搭載していることでしょう。これにより親指大サイズのデバイスでありながら、リアルタイムでの顔認識など、高度なAI機能を驚くほど低消費電力で実現できています。 M5StackはもともとスタッカブルなIoTデバイスであるM5Stackや、スティック型のM5StickCなどを販売してきました。これらの従来機がEspressif SystemsのマイクロコントローラーであるESP32を採用し

    第587回 RISC-Vベースの“AIoTカメラ”であるM5StickVをUbuntuで使う | gihyo.jp
  • 第562回 モニタリングツールPrometheusを使う | gihyo.jp

    今回はモニタリングツールであるPrometheusを紹介します。 Prometheusとは Prometheusは、もともとSoundCloudに依って開発されたモニタリングツールです。他のモニタリングツールにない特徴として、後述するクライアントであるExporterからメトリック(データ)を自分で取得しにいくpull型の構造を持っています[1]⁠。 Prometheus自体は大雑把に以下の3つの部分から構成されています。 メトリック取得対象(Exporter)を見つけ、取得する部分 取得したメトリックを蓄える時系列データベース 時系列データベースに蓄えたメトリックを検索するためのエンドポイント(HTTPサーバ) Prometheus自体はgolangで書かれているため、ただ一つのバイナリを起動するのみで動作します。このためコンテナとの相性がよく、またパッケージの依存関係などを考慮する必要

    第562回 モニタリングツールPrometheusを使う | gihyo.jp
  • 第406回 Node.js製のGitBookでお手軽に電子書籍作成 | gihyo.jp

    GitBookはMarkdownで記述しGitで管理しているドキュメントを、簡単にHTMLPDF、EPUB、MOBIなどで公開できるサービスです。今回はこのGitBookで使われているgitbookコマンドを用いて、Ubuntu上でドキュメントを生成する方法を紹介します。 今風な文書執筆・公開環境としてのGitBook 人類の進化は文書の作成と共にあります。より良い文書の存在が、質の高い教育、確実な情報の伝達、技術文化の進歩を導いてきました。連載が掲載されているgihyo.jpでも、今年の新春特別企画に「ドキュメントの構造化による、良いドキュメントの作成方法」が掲載され注目を集めているように、いかにより良い文書をよりお手軽に作成できないか苦心されている方も多いことでしょう。 今回紹介する「GitBook」は、技術者であれば使っている人が多いであろう「Git」と「Markdown」を使

    第406回 Node.js製のGitBookでお手軽に電子書籍作成 | gihyo.jp
  • 第1回 プログレッシブフレームワーク Vue.js:Vue.js入門 ―最速で作るシンプルなWebアプリケーション|gihyo.jp … 技術評論社

    Vue.jsとは Vue.js(ビュージェイエス)は、インタラクティブなUIを構築するためのJavaScriptライブラリです。Webサイト内のウィジェットや管理画面のダッシュボードといったビュー(view)層に特化しています。設計の特徴としてMVVMパターンに影響を受けています。 Vue.jsは2013年にEvan You氏の個人プロジェクトとして開始、2014年2月にバージョン0.8が正式に公開されます。その後いくつかのリリースを経て、2015年4月にLaravelへの標準搭載決定を機に一気に知名度があがりました。2015年10月に1.0が、2016年10月1日(日時間)に2.0がリリースされ現在に至ります。 Vue.jsの主な特徴には以下のものがあります。これらによって短期間で実用的なアプリケーションを作成できるため人気を集めています。 シンプルなAPIHTMLベースの平易なテン

    第1回 プログレッシブフレームワーク Vue.js:Vue.js入門 ―最速で作るシンプルなWebアプリケーション|gihyo.jp … 技術評論社
  • 第1回 自動文書検査ツールRedPenとは? | gihyo.jp

    はじめに 連載ではRedPenという自動文書検査ツールの紹介とRedPenを利用した技術文書の校正方法について説明します。RedPenはオープンソースプロジェクトで、現在もゆっくりと開発が続いています。RedPenのホームページは次のとおりです。 http://redpen.cc RedPenは技術文書をターゲットにした文書の自動検査ツールです。技術文書にはマニュアルやチュートリアル、論文、仕様書等が含まれます。この記事のようなソフトウェアツールの紹介文書はもちろん技術文書の一つといえます。第1回の今回は、はじめに技術文書の特徴を解説し、その後RedPenを開発した動機について紹介します。記事の後半では、RedPenの特徴と利用方法について解説します。 技術文書の特徴 RedPenが対象とする技術文書ですが、作文や日記、文学作品等とは大きく異なる特徴をもちます。 最大の違いは、技術文書に

    第1回 自動文書検査ツールRedPenとは? | gihyo.jp
  • 2016年8月16日 LXDEからLXQtに ―Ubuntuベースの軽量ディストロ「Lubuntu」がデスクトップ環境を変更へ | gihyo.jp

    Linux Daily Topics 2016年8月16日LXDEからLXQtに ―Ubuntuベースの軽量ディストロ「Lubuntu」がデスクトップ環境を変更へ Ubuntuベースの派生ディストリビューションのひとつである「Lubuntu」はリソース消費量をできるだけ抑え、軽量(Light)なOSであることを目的としているプロダクトだ。軽量化を図るために、デスクトップ環境もUbuntuのデフォルトであるGNOMEではなく、LXDEを採用してきた。だがここにきてその方針が変更されることになりそうだ。 Lubuntuプロジェクトのサイモン・クイグリー(Simon Quigley)氏は8月12日(世界標準時⁠)⁠、Ubuntu開発者向けのメーリングリストにおいて、Lubuntuのデフォルトデスクトップ環境を「LXQtに移行する準備が整った」と投稿している。 Lubuntu Next Image

    2016年8月16日 LXDEからLXQtに ―Ubuntuベースの軽量ディストロ「Lubuntu」がデスクトップ環境を変更へ | gihyo.jp
  • シンプルなグラフを使いこなせば大量のデータをかんたんに読み解ける:新刊ピックアップ

    グラフを作る主な目的は傾向の把握と比較 コンピュータが普及し,あらゆるところでデータが蓄積されるようになりました。データ分析は日常業務の一部となりました。大量のデータを短時間で集計し,統計解析するためのツールも整備されました。しかし,必ずしも効率的で実践的な方法が確立されているわけではありません。おそらく確立されることはないでしょう。市場環境の変化に伴って方法も変化してゆくものなのですから。 集計,解析の便利なツールが増えたのはよいことですが,基的な知識なしにそれらを使うと一見もっともらしいものの誤謬に満ちたレポートが量産されることになりかねません。 データ分析の基のひとつは,シンプルでわかりやすいグラフです。グラフを作る主な目的は傾向の把握とデータ系列間の比較と言えるでしょう。欲張らずに,この2つに目的を絞り,直感的に傾向を把握し,データ系列間の比較を可能とするグラフを作ることで必要

    シンプルなグラフを使いこなせば大量のデータをかんたんに読み解ける:新刊ピックアップ
    gigs123
    gigs123 2015/11/09
    iPhone から送信
  • 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために | Gihyo Digital Publishing … 技術評論社の電子書籍

    WEB+DB PRESS plus 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために 著者 大川徳之 著 発売日 2014年11月14日 更新日 2014年12月3日

    関数プログラミング実践入門 ──簡潔で、正しいコードを書くために | Gihyo Digital Publishing … 技術評論社の電子書籍
    gigs123
    gigs123 2014/11/12
    --- 500万人が選んだ無料ニュースアプリ『SmartNews』 http://bit.ly/smartnews-app iPadから送信
  • リコールを起こさないソフトウェアのつくり方 | Gihyo Digital Publishing … 技術評論社の電子書籍

    組込みプレスSelection リコールを起こさないソフトウェアのつくり方 著者 酒井由夫 著 発売日 2013年5月2日 更新日 2013年5月2日

    リコールを起こさないソフトウェアのつくり方 | Gihyo Digital Publishing … 技術評論社の電子書籍
    gigs123
    gigs123 2013/05/02
  • 永和システムマネジメント、実機なしで組込みアプリ開発/単体テスト可能な統合開発環境発売 | gihyo.jp

    (⁠株⁠)永和システムマネジメントは、実機を使わずにアプリケーションの開発や単体テストをWindows環境で行うことができる統合開発環境「Program Development Kit for Microcomputer (⁠PDK⁠)⁠」を5月中旬に発売する。 PDKは、家電や自動車などに組み込まれているマイコンを仮想化することにより、実機を使わずに組込みソフトウェアを開発できる統合開発環境。またマイコンの挙動再現などを自動化することにより、アプリケーションテストも効率化できる。 仮想化するターゲットとして任意のマイコンを定義可能で、ハードウェア仕様に合わせて周辺ハードウェアとの入出力、MPUとのIF(ハードウェアレジスタ、割り込み)を定義できる。 また、PDK単体でターゲットマイコン向けのプログラム実装~ビルドが可能。作成したプログラムは、若干のポーティングでターゲットマイコンへ移植可

    永和システムマネジメント、実機なしで組込みアプリ開発/単体テスト可能な統合開発環境発売 | gihyo.jp
    gigs123
    gigs123 2013/04/22
    iPhone5から送信
  • サウンドプログラミング入門――音響合成の基本とC言語による実装

    2013年2月1日紙版発売 青木直史 著 A5判/288ページ 定価3,278円(体2,980円+税10%) ISBN 978-4-7741-5522-7 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 コンピュータはプログラムしだいでシンセサイザのようにさまざまな音を作り出すことができます。書では,加算合成や減算合成といった基的な音作りの仕組みとともに,音響合成の代表的な方式として,PSG音源,アナログシンセサイザ,FM音源,PCM音源を取り上げており,C言語のプログラムとともに,それぞれの方式による音作りのテクニックを具体的に紹介しています。フリーのコンパイラとしてBorland C++ Compiler 5.5を利用しており,Windows環境さえ用意すれば

    サウンドプログラミング入門――音響合成の基本とC言語による実装
    gigs123
    gigs123 2013/02/07
    iPhone5から送信
  • 第16回 生産性を上げるソースコードの書き方 | gihyo.jp

    ソフトウェア開発の難しさ ソフトウェアの開発プロジェクトに少しでも関わった人は誰でも知っていると思うが、ソフトウェア作りで最も難しいのは「スケジュール通りにソフトウェアを完成させること」である。 バグがなかなか修正できず泥沼にはまってしまったり、変更され続ける仕様のために当初立てたスケジュール表がまったく役に立たなくなってしまったり、スパゲッティコードに頭を抱えたりということはよくある。出口の見えない状況でソフトウェアエンジニアが過酷な労働を強いられる状況を「デスマーチ」(⁠death march)と呼ぶが、そんな言葉が存在すること自体が、ソフトウェア作りの難しさを表している。 ソフトウェアの開発は「生産活動」ではあるのだが、建物を建てる、料理を作る、野菜を育てる、ハードウェアを組み立てるなどの生産活動とは大きく違うのだ。 建物の場合で言えば、明確に定義された「設計図」がある。そして、その

    第16回 生産性を上げるソースコードの書き方 | gihyo.jp
  • 第189回 実在するシンセサイザーのエミュレーター | gihyo.jp

    連載の第184回では、アナログシンセサイザー・ソフトウェアであるamSynthを扱い、黎明期のアナログシンセサイザーの基的な使い方を説明しました。 当然ながらamSynthに相当するシンセサイザーは現存していませんが、Ubuntuでは、現在するシンセサイザーをエミュレートしたソフトウェアのパッケージが、いくつか提供されています。そこで今回は、実在するシンセサイザーのエミュレーターをいくつか紹介します。 BristolとmonoBristol 1970年代、Korg社、Roland社や、かつてのMoog社、ARP instruments社、Sequential Circuits社など、さまざまなメーカーがシンセサイザーを発売しました。その中には高い評価を受けたものも数多く、ハードウェアとしてメンテナンスが難しいものがあるにも関わらず、現在でも愛用している方がいると聞いています。 Bris

    第189回 実在するシンセサイザーのエミュレーター | gihyo.jp
    gigs123
    gigs123 2011/09/14
    From Gic's iPhone
  • 第1回 Hello, Wicket | gihyo.jp

    Wicketとは WicketはApache Software Foundationで開発されている、Webアプリケーション開発用のフレームワークです。フレームワークにもさまざまなものがあり、それぞれ用途が異なります。Wicketの行うことは、ブラウザからのリクエストを受け付け、処理を振り分け、ページを生成してブラウザにレスポンスを返すことです。位置づけとしては、Apache Strutsと同じと考えれば良いでしょう。 Wicketの特徴 Wicketには他の多くのWebフレームワークとは異なる、大きな特徴があります。多くのWebフレームワークが、リクエストからレスポンスまでのフロー(流れ)をどのようにコントロールするか、という方針で作られているのに対して、Wicketは「Webページをページというオブジェクトとして扱い、オブジェクトを組み立てることでアプリケーションを構築する」という考え

    第1回 Hello, Wicket | gihyo.jp
  • 第1回 Hadoopで広がるビジネス領域 | gihyo.jp

    はじめに 近年、「⁠Hadoop」というキーワードをよく目にします。もしかしたらこの記事を読んでいるあなたも、Hadoopというキーワードを目にしたり聞いたりしたことがあり、興味を持ってこの記事をご覧になっているのかもしれません。Hadoopとは何でしょうか?何ができるのでしょうか?今回から全5回にかけて、Hadoopの活用事例や活用のヒント、そしてこれからHadoopを活用しようと考えているエンジニアが知っておくべきことや、情報収集の仕方を解説します。 Hadoopって何? Hadoopとは何でしょうか。簡単に言うと、テラバイト、ペタバイトといった巨大なデータを処理するためのオープンソースの分散処理基盤で、Googleが検索エンジンのバックエンドに利用している技術のクローンです。Googleは2003年に大規模分散ファイルシステム「Google File System(GFS⁠)⁠」につ

    第1回 Hadoopで広がるビジネス領域 | gihyo.jp