タグ

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

  • Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp

    Ruby 3.3リリース! 新機能解説 Prism⁠⁠:エラートレラントな⁠⁠、まったく新しいRubyパーサ Prismは、Ruby 3.3.0にバンドルされた新しいライブラリで、プログラミング言語Rubyの新しいパーサであるPrismパーサのバインディングです。Prismはエラートレラント、移植性、メンテナンス性、高速性、効率性を考慮して設計されています。この記事では、Prismの歴史、設計、API、そして今後の課題について取り上げます。 使用方法 Rubyバインディングを通してPrismパーサを使うにはrequire "prism"をして、Prismモジュールのparseメソッド、または他のparse_*系のメソッドを呼んでください。次に例を示します。 require "prism" Prism.parse("1 + 2") parseメソッドは、パース結果のオブジェクトを返します。こ

    Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp
    yugui
    yugui 2024/01/23
  • 第469回 AWS上に魔獣「Kubernetes」を10分で召喚する魔法 | gihyo.jp

    皆さんはGWを楽しんでいますか。せっかくの長期休暇をぐったりウィークとして無為に過ごしたりしていませんか。もちろん体を休めることは重要ですが、あまり休めすぎると後悔という名のリバウンドが待っていますよ。 そこで今回のRecipeでは、GWが終わったあとに「がんばった私」とエクスキューズできるよう、Kubernetesを簡単に構築できる方法を紹介します。これで連休明けには「いやぁ連休中はKubernetesを触っていてさぁ」と言えますよ! コンテナを「いい感じ」に調整してくれるKubernetesKubernetes」はコンテナのオーケストレーションツールです。具体的にはDockerコンテナに対して、次のような機能を提供します。 複数のホストに複数のコンテナをデプロイするためのインフラストラクチャー コンテナが提供するサービスのスケーリング・ロードバランシング インスタンスのレプリケーシ

    第469回 AWS上に魔獣「Kubernetes」を10分で召喚する魔法 | gihyo.jp
    yugui
    yugui 2017/06/17
  • 第16回 Scrapbox(1) | gihyo.jp

    Scrapboxの紹介 前回ではさまざまなファイルや書類を「フラット」に管理する方法について説明しましたが、今回はさまざまな情報をより効果的に整理し共有できる「Scrapbox」というシステムを紹介します。 理想の情報整理システムとは 2017年現在における理想的な情報整理法とはどのようなものでしょうか? 現在のテクノロジ状況をふまえつつ要件を考えてみます。 ブラウザを使ってネット上で情報を管理する ネットやブラウザを使えない環境は現在ほぼなくなりましたから、情報整理は当然これらを活用するべきでしょう。 一ヵ所で集中管理する ネット上の1つの場所にあらゆるデータを保存してブラウザからアクセス可能にするのが良いでしょう。 気軽な入力と編集 ブラウザ上での入力/編集手法は極力単純にしておく必要があるでしょう。 タグを活用する 先月号でも解説しましたが、個人的な雑多なデータを階層的に管理すること

    第16回 Scrapbox(1) | gihyo.jp
  • 第28回 Perlの構文解析器の作り方と応用例(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーPerl 5の字句解析器・構文解析器であるCompiler::Lexer/Parserを開発した五嶋壮晃さんです。Compiler::Lexer/Parserの開発で得られた知見をもとに、Perl 5がなぜ「Onlyperl can parse Perl」と言われているのかという謎に迫ります。また、言語処理系の字句解析器・構文解析器を開発する際の勘どころについてPerl 5の例を交えながら触れ、最後にCompiler::Lexer/Parserの応用例を紹介します。 構文解析器の役割とPerlとの関係 節では言語処理系の基的な構成や構文解析器の役割について触れ、筆者が開発しているCompiler::Lexer/Parserと、Perlコードの静的解析用途で広く利用されているPPIとの違いについて簡単に解説し

    第28回 Perlの構文解析器の作り方と応用例(1) | gihyo.jp
    yugui
    yugui 2017/02/05
  • 最終回 山崎大輔―プライドを持って定年まで仕事する | gihyo.jp

    先を歩むエンジニアへのインタビューを通してエンジニアのキャリアについて考える連載、最終回は、広告配信会社である株式会社スケールアウトを立ち上げた山崎大輔さんにお話をお伺いしました。 [撮影:平野正樹] ネットワークの基礎を学んだ大学時代 ─⁠─山崎さんが技術に興味を持ったきっかけは何ですか? 山崎:ゲームが大好きで、ゲームを作りたかったんですが、プログラムはよくわからなかったんです。そこでコンピュータサイエンスの学科に進めばゲームを作れるようになると思い、筑波大学に入りました。でも入ってみたら学ぶのはUNIX系だったので、ゲームを作る感じではなかったんですよね。 ─⁠─大学では何を学ばれたのでしょうか? 山崎:幅広くやる学科だったので、プログラミング言語を7つくらい学んだり、実習でコンパイラや今で言うKVS(Key-Value Store)のようなデータベースを作ったりしていました。途中

    最終回 山崎大輔―プライドを持って定年まで仕事する | gihyo.jp
    yugui
    yugui 2015/06/16
  • 第1回 自動文書検査ツールRedPenとは? | gihyo.jp

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

    第1回 自動文書検査ツールRedPenとは? | gihyo.jp
  • 第5回 大場寧子、久保優子~女性エンジニアの起業 | gihyo.jp

    はたらくって何? 新社会人まで秒読み女子大生・ともよが会社訪問。第5回は株式会社万葉を立ち上げた大場さん、久保さんを訪ねます。 東京の古書店街、神保町にあるオフィスにて。今回は全員メガネ女子! ちょっと話があるんだけど、会社作りません? ともよ(以下と⁠)⁠:まずはお2人のプロフィールを。 大場寧子(以下、大⁠)⁠:万葉の社長をしています。大学卒業後、ジャストシステムに入社して、5年くらいプログラマとして働いていました。それからベンチャーに移動しWeb関係の開発をやりながら、フリーランスとして知り合いの会社を手伝ったりもしていました。会社を作って兼業で請負開発をやっていたのですが、そちらに集中せざるを得なくなって会社を起こしたんです。ちなみに久保さんと知り合ったのは大学のサークルですね。 久保優子(以下、久⁠)⁠:私は営業と総務の管轄をしています。営業一筋でこれまでやってきたわけではありま

    第5回 大場寧子、久保優子~女性エンジニアの起業 | gihyo.jp
  • 第1回 エンジニアがなかなか採用できないワケ | gihyo.jp

    エンジニアがほしいのに、求人がない!」と人事が嘆いている現状 「だれか知り合いに転職したいと言っているエンジニアはいない?」 私は「CodeIQ」というエンジニア採用のためのWebサイトのプロデュースをしているのですが、エンジニアが自社の人事から耳元でこの台詞をささやかれているという話を、頻繁に耳にします。 仕事柄、転職マーケットのデータをたくさんみる機会があるのですが、転職マーケットにエンジニアはなかなか登場しません。ようやく求人があっても、企業が採用したいという水準に達していないケースが多かったりします。出現したらしたで、取り合いになること必至です。 この連載を読んでいるあなたも「ああ、確かにそういう状態だな」とか、むしろ「なにを今さら言っているのだ」と思うかもしれません。 けれども、エンジニア採用の実務を担当する企業の人事、とくにエンジニア出身じゃない採用担当者は「わかってはいるけ

    第1回 エンジニアがなかなか採用できないワケ | gihyo.jp
    yugui
    yugui 2013/10/27
  • 機械学習 はじめよう 記事一覧 | gihyo.jp

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

    機械学習 はじめよう 記事一覧 | gihyo.jp
  • 第226回 LXCで軽量仮想環境の活用 | gihyo.jp

    Ubuntu 12.04 LTSの目標の一つは、LXCLinux Containers)の充実でした。11.04の頃から格的にサポートを開始したLXCは、かんたんに軽量な仮想環境を作成できるとあって、アプリケーションのテスト環境やJujuのようなクラウドマシンの生成ツールでも使われています。 さらに今回のリリースでは、x86マシン上でARMの実行環境を生成できるようになりました。そこで今回は、UbuntuにおけるLXCの基的な使い方を紹介します。 LXCで仮想環境を作る LXCLinuxカーネルのControl GroupやNamespaceという機能を使って、ホストOSとは隔離された環境を作るツールです。LXCのパッケージにはテンプレートという形で各OSの最小構成のrootfs環境を作るスクリプトも付属しているため、VirutalBoxやXenのようにコマンドラインから簡単に仮想

    第226回 LXCで軽量仮想環境の活用 | gihyo.jp
    yugui
    yugui 2012/09/30
  • マイクロソフトのテスト環境はどう進化したか?-ソフトウェアテストシンポジウム 2012基調講演レポート | gihyo.jp

    マイクロソフトのテスト環境はどう進化したか?-ソフトウェアテストシンポジウム 2012基調講演レポート 1月25、26日の2日間にわたって、東京、目黒雅叙園にて「ソフトウェアテストシンポジウム 2012 東京」(⁠JaSST '12 Tokyo)が開催中です。 開催の挨拶に立つJaSST12 Tokyo 共同実行委員長の古川善吾氏(香川大学⁠)⁠。主催組織であるASTERの2012年の活動についての紹介がありました。今年は「エンタープライズ向けテスト振興に取り組む」とのことです。 例年のように海外からテスト著名人を招聘して基調講演が行われる同イベントですが、今年はMicrosoftで長年テストチームを率いてきたBj Rollison氏による「How We Test At Microsoft-マイクロソフトでどのようにテストをしているのか?」と題した講演が行われました。 Rollison氏は

    マイクロソフトのテスト環境はどう進化したか?-ソフトウェアテストシンポジウム 2012基調講演レポート | gihyo.jp
  • 第172回 Bluetoothヘッドセット/ヘッドフォンを使う | gihyo.jp

    さまざまな入出力装置をコンピュータに接続して作業していると、ケーブルの取り回しが面倒だったり、ケーブル長が足りずにやきもきするといったことがあります。読者の皆さんの中にも、イヤフォンやマイクを使っている際に資料を取ろうと思って手を伸ばしても届かず、腕がもう少し長ければという怒りに任せてケーブルを引きちぎった経験がある方がきっといるかと思います。 今回は、このような不幸な事故を防いでくれるBluetoothヘッドセット/ヘッドフォンを例に挙げ、BluetoothデバイスをUbuntuで使う方法をお届けします。 Bluetoothとは Bluetoothは無線LANと同じく無線規格のひとつです。無線LANとは異なり、携帯機器やUSBデバイスなどの固定機器を接続するケーブルを置き換えることを主目的としています。そのため、Wireless Personal Area Network(WPAN)とも

    第172回 Bluetoothヘッドセット/ヘッドフォンを使う | gihyo.jp
  • 無情社会と番号制度~ビクトル・ユーゴー「ああ無情」に見る名寄せの危険性 | gihyo.jp

    最近、「⁠国民ID制度」やら「番号制度」というキーワードが世間を賑やかせている。この制度の導入によって、年間1兆円の特需が恒久的に続くなどといって、株価が上がる企業まで出る始末だ。 この「番号制度⁠」⁠、番号を人に振って行政効率をあげると共に、必要な人に必要な援助を差し伸べようという大変結構な話だ。IT戦略部の電子行政に関するタスクフォースなどを見ている限りでは、分野別の利用番号と、名寄せのキーとして使う番号を峻別して、後者は見えない番号にするというような妥当な形で進んでいる。ところが、それを取り巻く報道などを見ると、そうではなくて「見える不変の汎用番号」を人に振ろうという話が散見される。 私自身、業務効率化のために「不変の番号」を導入するのにはやぶさかではない。だが、名寄せによるプライバシー侵害などの副作用を生むから、それは見えてはいけないし、必要ならば変更も可能でなければならないと思

    無情社会と番号制度~ビクトル・ユーゴー「ああ無情」に見る名寄せの危険性 | gihyo.jp
  • 第2回 組込みLinuxが起動するまで | gihyo.jp

    Linux起動の概要 Linux起動前 Linuxでは基的にシステムの初期設定をするので、Linux以前の状態ではほとんどの初期設定処理は不要です。 Linux以前ではLinuxをロードする対象であるSDRAM領域を初期化する処理は必要となります。一般的な組込みLinuxボードでは大容量フラッシュROM上にLinuxカーネルが書き込まれていることが多いので、RAM領域が使えるようにさえすれば、あとはROM上からRAM上へデータコピーをするだけでLinuxが起動できます。 SH7706LSRボードでは大容量フラッシュROMではなくSDカード上にLinuxカーネルがファイルとして書き込まれていますので、Linux起動以前にSDカードアクセスやファイルシステムの操作ができていないといけません。SH7706LSRボードではSDカードアクセスやファイルシステムの操作が可能なMESというシステムが書

    第2回 組込みLinuxが起動するまで | gihyo.jp
    yugui
    yugui 2010/10/22
  • 第3回 LDAPを使ってActive Directoryを制御しよう[その1:ldpとcsvde] | gihyo.jp

    前回は、Active DirectoryではLDAPを使ったデータベースが構成されていることをお話ししました。LDAPでは、データベースを検索して情報を表示したり、オブジェクトを追加あるいは属性を変更することができます。これらの機能を使うには、データベースに接続して必要な認証を行ったあと、データベースの特定エントリへの検索を行ったりオブジェクトを操作したりします。 これらのLDAPの操作手順は、Active Directoryをプログラムから制御する一般的な方法となりますが、開発者でないシステム管理者は、普段意識することはないでしょう。しかし、システム管理者でも、たとえば、ここ1週間の間ログオンしていないユーザの一覧を抜き出したい、といった管理タスクを実行したいのであれば、ユーザのログオン時刻に関する属性(lastLogonやlastLogonTimestamp)を, LDAPを使って検索

    第3回 LDAPを使ってActive Directoryを制御しよう[その1:ldpとcsvde] | gihyo.jp
    yugui
    yugui 2010/06/20
  • 第7回 独自プロバイダの定義[2] | gihyo.jp

    前回は、独自に定義したプロバイダのプローブをプログラム中に埋め込むことで、関数呼び出しの境界以外における情報採取の方法を説明しました。 今回は、プローブに指定された値を元に、より詳細な情報を採取するための手法について説明します。 なお、稿で説明する手法は、必ずしも独自プロバイダを使用する場合に限定したものではありませんので、pidプロバイダを使用する場合にも利用可能です。 可変長領域ダンプの採取 まずは、第2回では固定長で行っていたメモリ領域の内容表示を、可変長領域に対応させる方法について説明します。 採取対象の準備 まずはリスト1に示す独自プロバイダuserioを定義するものと仮定します。 リスト1 プロバイダ定義(userio.d) provider userio { probe readin(void* buf, size_t len); probe writeout(void*

    第7回 独自プロバイダの定義[2] | gihyo.jp
    yugui
    yugui 2010/05/28
  • Latest Developments in Ruby 1.9.2 | gihyo.jp

    We interviewed Yugui, the 1.9 branch release manager of Ruby on the recent development of 1.9.2. This interview also appears on the December 23, 2009 issue of "WEB+DB PRESS Vol.54". Written by Kei Shiratsuchi, Jun Ohwada Translated by Hiro Asari, edited by Leonard Chin Ruby "Now" Q: Ruby 1.9.1 was released in the beginning of 2009. What are the important changes from 1.8.x to 1.9.x? A: The most im

    Latest Developments in Ruby 1.9.2 | gihyo.jp
  • 第2回 「あなたを、犯人です」 ─ デバッグという名のミステリー | gihyo.jp

    Linuxに代表されるオープンソースソフトウェア(OSS)は、文字通りソースコードを公開していることが最大の特徴です。ソースコードが企業秘密のベールに覆われている伝統的な商用ソフトウェアでは、ソースコードにアクセスできる開発者とコンパイル済みのバイナリファイルしか利用できないユーザは厳格に区別され、ユーザがソフトウェアに不具合を見つけても、開発者がそれに対応してくれるまでは指をくわえて待つしかありませんでした。 一方、ソースコードが公開されているOSSの世界では、ユーザと開発者がソースコードという同じ土俵の上で互いに切磋琢磨することができます。今回はそのような例として、ソースコードの不具合を見つけて修正した例を紹介しましょう。 今回取りあげるソフトウェアはfile-rollerという GNOME用の書庫ソフトウェアです。 file-rollerとは file-roller とは、GNOME

    第2回 「あなたを、犯人です」 ─ デバッグという名のミステリー | gihyo.jp
    yugui
    yugui 2009/12/28
    良い記事
  • Ruby1.9.2最新動向インタビュー | gihyo.jp

    現在開発が進められているRuby1.9.2の状況などについて、Ruby1.9のリリースマネージャを務めるYugui(園田裕貴)氏にインタビューさせていただきました。12月23日発売の『WEB+DB PRESS Vol.54』の発売に先立ち、その模様をお届けします。 Rubyの『現在』 Q: 2009年初めにRuby 1.9.1がリリースされましたが、1.8系統から1.9系統での重要な変更点はどこでしょうか? A: 最も重要なのは、多言語化対応です(注1)。1.9系統では、同時に複数の言語を扱えるよう、他言語化の手法としてCSI(Code Set Independent)方式を採用しました。システムの内部コードを1つの文字集合で統一する方法ではなく、すべてのエンコーディングを対等に扱っています。この方式では、外部で用いられるコードと内部で用いられるコードが一致するため、不必要なエンコーディン

    Ruby1.9.2最新動向インタビュー | gihyo.jp
  • 第6回 Ruby M17N 事始め:正規表現編 | gihyo.jp

    はじめに 今回は、今話題の正規表現について、その歴史と限界、そして限界を越えた先までを解説します。なお、るりまやるびまの記事もあわせて読んでみてください。 正規表現とは さて、正規表現はもともと1940年代に神経生理学者によって生まれ[1]⁠、数学者[2]や言語学者、情報工学者たちによって理論的背景が研究されてきました。これを最初にコンピュータで用いたのがKen Thompsonによるqed[3]で、それ以降正規表現はテキスト処理に欠かせないツールとして愛されてきました[4]⁠。 基的な演算 正規表現では、量化・連結・選言という3つの演算を用いて、目当ての文字列群だけを識別する規則を記述します[5]⁠。 量化: 語を繰り返す。一般に用いられる演算子*から、スター演算とも言う。結合則は強い。 連接: 語と語をつなぐ。 選言: ある語か別の語かのどちらか。結合則は弱い。 演算子 Rubyでは

    第6回 Ruby M17N 事始め:正規表現編 | gihyo.jp