タグ

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

  • 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
  • 第11回 耐障害性のための仕組み─レプリケーションとロギング | gihyo.jp

    はじめに 前回までにおいては、データ処理の並列化方法および宣言型のデータ処理系における問い合わせ最適化について説明してきました。今回と次回の2回では、並列データ処理系において用いられる分散システム技術について述べていきます。まず今回は、分散システムにおける耐障害性のための仕組みであるレプリケーションとロギングについて説明します。 レプリケーションとは 並列データ処理系におけるレプリケーションは、第3回でも軽く説明したように、データを複数の計算機に保持しておくことにより、システムの耐障害性を保つための技術です。すなわち、データの複製(レプリカ)を複数の計算機で管理することにより、並列データ処理系を構成する計算機の一部が故障した場合や当該システムを構成するネットワークに分断が発生した場合においても、当該システムが管理するデータが失われる(ように見える)可能性を低減することができます。当該技術

    第11回 耐障害性のための仕組み─レプリケーションとロギング | gihyo.jp
    lanius
    lanius 2015/12/29
    レプリケーションの方法について。
  • Hadoopはどのように動くのか ─並列・分散システム技術から読み解くHadoop処理系の設計と実装 記事一覧 | gihyo.jp

    第21回Sparkの設計と実装[2]~Sparkにおけるデータ共有の仕組みと耐障害性の実現方法 猿田浩輔,山田浩之 2016-06-08

    Hadoopはどのように動くのか ─並列・分散システム技術から読み解くHadoop処理系の設計と実装 記事一覧 | gihyo.jp
  • Track.4 マップ、3Dオブジェクト、ダンジョン……なんでも自動生成してみよう ~「WorldComposer」「Skyshop」「Random Dungeon Generator」編 | gihyo.jp

    Unity仮面が教える! ラクしてゲームを作るためのAssetStore超活用術 Track.4 マップ、3Dオブジェクト、ダンジョン……なんでも自動生成してみよう ~「WorldComposer」「Skyshop」「Random Dungeon Generator」編 仮面:ダァス!Unity仮面だ! 秋山:秋山でーす。年末ですねー。今年一年お疲れ様でした! 仮面:おう、そうだな。今年はイロイロと戦ってきたぞ! 秋山:そういえば、Unity仮面さんって今年デビューなんですよね 仮面:言われてみるとそうだな。だいぶ長いこと戦ってきたと思うが 秋山:……。さっきから戦っている戦っているってどこと戦ってるんですか? 仮面:今は言えん…… ある巨大組織だ…… 秋山:(この厨二病が……) 仮面:お前、今バカにした目で見たな? 秋山:いや、してませんよ。じゃあ早速題に行きましょうかー 仮面:クッ…

    Track.4 マップ、3Dオブジェクト、ダンジョン……なんでも自動生成してみよう ~「WorldComposer」「Skyshop」「Random Dungeon Generator」編 | gihyo.jp
    lanius
    lanius 2014/01/20
    WorldComposer, Random Dungeon Generator.
  • 第2回 Pythonによる開発運用を助けるツールたち ─パッケージシステム、DataDogでモニタリング、mockを使ったテスト | gihyo.jp

    PyCon APAC 2013参加レポート 第2回Pythonによる開発運用を助けるツールたち ─パッケージシステム、DataDogでモニタリング、mockを使ったテスト PyCon APAC参加レポート第2回は、初日の日語セッションを中心にまとめたいと思います。1日目と2日目のキーノートは第1回の記事にまとめてありますのでお読みください。 パッケージの未来 1日目の一番初めのセッションは、@aodag(小田切 篤)さんによるパッケージの未来に関するお話です。このセッションは、Pythonに10年間お世話になっているというaodagさんが、これまでのPythonのパッケージ管理システムの歴史Python 3のパッケージ管理システムについて語るというもの。セッションではさらにその先に関する発表もありました。 今までのパッケージングシステム Pythonのパッケージングシステムの歴史は複雑

    第2回 Pythonによる開発運用を助けるツールたち ─パッケージシステム、DataDogでモニタリング、mockを使ったテスト | gihyo.jp
  • 機械学習 はじめよう 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    機械学習 はじめよう 記事一覧 | gihyo.jp
  • 第1回 機械学習 ことはじめ | gihyo.jp

    次のサービスや製品はどれも身近にありますが、これらに共通していることはなんでしょう。 Amazonの「この商品を買った人はこんな商品も買っています」 はてなブックマークの「関連エントリー」 Google 翻訳 Google 日本語入力 メールクライアントのスパムフィルタ デジタルカメラの自動顔認識 ニンテンドーDSの手書き文字認識 買い物履歴、ユーザが書いたコメントやタグ、Webに無数にあるページ、メール、画像や動画と対象はそれぞれ異なっていますが、どれも「データから有益な情報を取り出す」ということを行っています。 これらは「機械学習」という技術を使って実現されているのです。 機械学習の応用範囲 機械学習は冒頭で挙げた以外にも、様々な分野で使われています。 例えば、ノイズ除去や特徴の抽出を目的とした利用パターンがあります。音声認識や画像認識、文字認識(OCR)などはその代表格です。それらも

    第1回 機械学習 ことはじめ | gihyo.jp
  • Track.2 クマの交通安全ゲームを作ろう! ~「Car Tutorial」「Mecanim Example Scenes」「iTween」編 | gihyo.jp

    Unity仮面が教える! ラクしてゲームを作るためのAssetStore超活用術 Track.2 クマの交通安全ゲームを作ろう! ~「Car Tutorial」「Mecanim Example Scenes」「iTween」編 仮面:ダァス!Unity仮面だ! 秋山:アキヤマでーす。今回もよろしくお願いします~ 仮面:さて、アキヤマよ。ぶっちゃけどうなんだ?その……評判は…… 秋山:あー、この髪型にしてからたまに声かけられるようになりましたね 仮面:お前の評判じゃない!この連載の方だ! 秋山:あー、まあ、ぼちぼちじゃないですか? 仮面:ふー...そうか……ボチボチか……(遠い目) はい、第二回始まりました「ラクしてゲームを作るためのAssetStore超活用術」です。Unityエバンジェリストの伊藤です。前回は前半でUnityの説明し、後半Playmakerの紹介をしました。Unityの基

    Track.2 クマの交通安全ゲームを作ろう! ~「Car Tutorial」「Mecanim Example Scenes」「iTween」編 | gihyo.jp
    lanius
    lanius 2013/08/01
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
    lanius
    lanius 2013/05/12
  • 第4回 Layered vs.Connected | gihyo.jp

    あるとき休憩室で、私は同僚にたずねました。「⁠分散ファイルシステムに載った分散データベースにクローラがインデックスを保存、インデックスの隣にはキャッシュサーバが並んでいる。そんな検索エンジンのシステムを図に描くとどうなりそう? チームの新入りにレクチャーする感じで教えてよ」 部屋の壁にかけられたホワイトボードに向かい、同僚は箱を積み上げる図を描きました(図1左側⁠)⁠。同じ質問を受けた別の同僚は、丸を矢印でつないだ図を描きました(図1右側⁠)⁠。 図1 LayeredとConnected ※どちらの図も現実の検索エンジンを反映したものではありません 同僚4人に質問を続けたところ、結果は2対2の引き分け。決着をつけようと声をかけた5人目には「それは……、場合によるよ」と言葉を濁されてしまいました。 箱を積み上げた1つ目の図を、ここではLayeredと呼ぶことにしましょう。丸を矢印でつないだ2

    第4回 Layered vs.Connected | gihyo.jp
  • PyCon Taiwan 2012, Day 2 | gihyo.jp

    PyCon Taiwan 2012のレポートは今回が最終回です。2日目(最終日)のこの日は、前日に宿泊したCenter of Academic Activities(中央研究院學術活動中心)から一日がはじまりました。 朝は宿泊施設に併設しているCafe Sinicaでべました。緑に囲まれた素敵なカフェで、普通にホテルの朝という感じでした。 Cafe Sinica外観 ホテルっぽい朝 PayCon Taiwanの運営者へのインタビュー 鈴木たかのりです。朝後にCafeの外でPyCon Taiwanのchairperson(座長)であるYung-Yu Chen(@yungyuc)氏に時間をとってもらい、私ともりもとさんでインタビューを行いました。インタビューにはPyCon TaiwanスタッフのTimtan氏にも同席していただきました。 インタビューに答える Yung-Yu Chen

    PyCon Taiwan 2012, Day 2 | gihyo.jp
    lanius
    lanius 2012/07/12
    メタクラスでシングルトン。
  • 第32回 HTML5によるリッチコンテンツ作成のためのJavaScriptライブラリ「CreateJS」 | gihyo.jp

    CreateJSで提供される5つのツール 今回は、4月に公開されたばかりの「CreateJS」を紹介します。CreateJSはHTML5を利用したリッチコンテンツ作成のためのJavaScriptライブラリ/ツール集です。著名なFlashエンジニアであるGrant Skinner氏が開発しており、ActionScriptに似た使用感を実現している点が大きな特徴と言えます。 CreateJSでは、次の5つのツールが提供されています。 EaselJS TweenJS SoundJS PreloadJS Zoe それぞれ、以下のような機能を備えています。 EaselJS EaselJSはHTML5のキャンバス上にコンテンツを描画するためのJavaScriptライブラリです。提供されるAPIがActionScript風になっており、Flash開発者ができるだけ違和感なく利用できるように工夫されてる点

    第32回 HTML5によるリッチコンテンツ作成のためのJavaScriptライブラリ「CreateJS」 | gihyo.jp
  • 第31回 Grailsライクにデスクトップアプリケーションを構築する「Griffon」 | gihyo.jp

    Griffonとは 今回はGrailsと同様の使い勝手でデスクトップアプリケーションを構築することができる「Griffon」を紹介します。Grailsは、JVM言語Groovyを使って、Ruby on RailsのようにコマンドラインベースでWebアプリケーションを構築することができるフレームです。Griffonはその使用感をデスクトップアプリケーションの開発に適用したフレームワークで、簡単なコマンドでMVC準拠のアプリケーションを構築・実行することができます。 Griffonの主な特徴としては、次のような項目が挙げられます。 シンプルなコードでMVCアプリケーションを実現できる JavaおよびGroovyの資産が利用できる 各種Groovy Builderが適用できる プラグインによる拡張が可能 AppletやJava Web Startで公開可能なパッケージ生成機能を備えている Gri

    第31回 Grailsライクにデスクトップアプリケーションを構築する「Griffon」 | gihyo.jp
    lanius
    lanius 2012/05/08
  • 第29回 JavaオブジェクトとJSONオブジェクトの変換に便利な「Google Gson」 | gihyo.jp

    型→JSONの変換 前回は2回にわたってJavaプログラムでJSONデータを扱うための「Jackson Java JSON-processor」を紹介しました。今回はJSONデータを扱うもう1つのJavaライブラリ「Google Gson」を紹介します。Gsonの特徴は、JavaオブジェクトとJSONオブジェクトの変換を、シンプルなコードで行うことができる点です。字句解析を行えるような低レベルのAPIも備えていますが、それよりもオブジェクト変換の簡潔さに注力しているあたりがJacksonとの大きな違いと言えます。 Gsonはこのページよりダウンロードすることができます。「⁠google-gson-2.1-release.zip 」をダウンロードして解凍し、中のjarファイルをクラスパスに含めて使用します。 Gsonを使う場合に重要なのは、GsonクラスのtoJson()メソッドとfro

    第29回 JavaオブジェクトとJSONオブジェクトの変換に便利な「Google Gson」 | gihyo.jp
    lanius
    lanius 2012/03/26
  • XMLをjQuery風に操作できるJavaライブラリ「jOOX」 | gihyo.jp

    2012年1月27日、XMLをjQuery風に操作できるJavaライブラリ「jOOX 1.0.0」がリリースされました。jOOXはLukas Eder氏が開発したもので、流れるようなインタフェース(Fluent Interface)(⁠注1)で記述していくことでXMLの走査や編集が行えます。Java 5から導入されたStatic Importをうまく使っており、非常に簡潔な記述を実現しています(リスト⁠)⁠。 Lukas Eder氏はjOOXのように流れるようなインタフェースでラップしたライブラリをほかにも公開しており、SQLのように書けるjOOQやリフレクションを簡潔に表せるjOORなどがあります。jOOXのWebサイトからリンクされていますので、興味のある方はぜひ参照してみてください。 リスト jOOXを使ったコード Document doc = $(new File("foo.xml

    XMLをjQuery風に操作できるJavaライブラリ「jOOX」 | gihyo.jp
    lanius
    lanius 2012/02/28
  • 第27回 JSONデータを扱うためのJavaライブラリ「Jackson Java JSON-processor」 | gihyo.jp

    「Jackson Java JSON-processor」とは 近年のWebアプリケーション開発では、JSONが必須の技術になっています。クライアントサイドで利用されるJavaScriptで容易に扱えることから、Webサーバとのデータ交換のためのフォーマットとして広く利用されているからです。Javaアプリケーションも例外ではなく、次期Java EE仕様であるJava EE 7(JSR 343として仕様策定中)にもJSONを扱うためのAPIが標準で取り込まれる見込みになっています。 それに伴い、Java用のJSON APIの標準仕様についても、JSR 353として標準化プロセスに入っています。その他にも、すでにJavaでJSONを扱うための様々なライブラリが存在しています。中でも「Jackson Java JSON-processor」や「google-json」はJSR 353にも既存実装

    第27回 JSONデータを扱うためのJavaライブラリ「Jackson Java JSON-processor」 | gihyo.jp
    lanius
    lanius 2012/02/28
  • 第5回 SQL Azureパフォーマンスチューニングのための情報収集 | gihyo.jp

    今回は、SQL Azureのパフォーマンスチューニングをする際に、どのような情報を参照することができるのかを紹介します。 パフォーマンスチューニングの機会 オンプレミス、クラウドに関わらず、システムを開発し運用していくと、パフォーマンスチューニングをする必要性が生じることがあります。開発をしているとき、テスト(負荷テスト)をしているとき、運用を始めたとき、運用開始して時間が経過したとき、それぞれの段階でシステムのレスポンス性能に満足がいかず、パフォーマンスチューニングを検討する必要性がでてくる可能性があります。 システム全体で性能ネックの箇所を特定し、チューニングをしていくことになります。性能ネックがSQL Azure部分にあることが判明した場合、どのような性能問題が発生しているのかを切り分けるためには、いろいろな情報を参照することになります。今回は、参照できる情報と参照方法について紹介し

    第5回 SQL Azureパフォーマンスチューニングのための情報収集 | gihyo.jp
  • 第25回 Red HatによるPaaS型クラウドサービス「OpenShift」 | gihyo.jp

    OpenShiftについて 「OpenShift」は、米Red Hat社が運営しているPaaS型のクラウドサービスです。JavaPHPRubyPythonPerlに対応しており、それぞれの開発フレームワークを利用したアプリケーションを展開することができます。現在はまだプレビュー段階ですが、SLA無しなどといった条件のもとで利用することができるのが特徴です。 OpenShiftには、無償で利用できる「Express」と、有償の「Flex」の2種類のサービスがあります。ExpressではWebコンソールやコマンドラインツールを用いたWebアプリケーションの作成や公開、カスタマイズ、gitを用いたデプロイやリポジトリ管理などを行え、アプリケーションは共有のサーバインスタンスに展開されます。 一方Flexでは、自前のサーバインスタンスやクラウドオブジェクトを作成・展開することが可能で、その

    第25回 Red HatによるPaaS型クラウドサービス「OpenShift」 | gihyo.jp
  • 第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp

    みなさん、はじめまして。はせがわようすけと申します。 最近、文字コードと関連したセキュリティの話題を目にすることが増えてきました。文字コードを利用した攻撃は技術的に未開拓ということもあり、参考となる情報がなかなか見当たりません。この連載では、文字コードを利用した攻撃やそれに対する対策について正しい知識を解説していきます。 文字コードとセキュリティが関連するもっとも大きな点は、やはり文字列の比較でしょう。「⁠危険な文字列の検出」「⁠安全な文字列であることの確認」といった文字列の比較は、セキュリティを考えるうえで避けて通れない処理だと思います。 文字列の比較においては、単純にバイト列を比較するだけでは不十分で、文字列がメモリ上でどのようなバイト列として格納されているのか(このルールを符号化方式あるいは文字エンコーディングと言います)に注意しなければならないこともあるでしょう。攻撃者は巧みに文字

    第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp
  • 第7回 関数アノテーションでスマートにプラスアルファの実現 | gihyo.jp

    関数アノテーションとは 関数アノテーションとは関数の引数と戻り値に付加情報をつける機能です。PEP 3107 -- Function Annotationsで定義されていて、Python 2.6へbackportされていないので、利用するにはPython 3.0以降が必要になります。 まずは、インタラクティブシェルで関数アノテーションの例を見てみましょう。 >>> def foo(a: "a argument", b: int) -> ["return", "value"]: ... return a+b ... >>> help(foo) Help on function foo in module __main__: foo(a: 'a argument', b: int) -> ['return', 'value'] >>> foo.__annotations__ {'a': 'a

    第7回 関数アノテーションでスマートにプラスアルファの実現 | gihyo.jp