タグ

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

  • 第424回 GUIプログラムをPython/Ruby/ECMAScriptで書く | gihyo.jp

    先週の記事に対するお詫び 前回の記事において、Ubuntuプロジェクトでのパッケージの取り扱いについて、筆者の事実誤認による誤った記述がありました。主要な誤りは2点で、パッケージの分類基準と、Feature Freezeの説明です。他にも説明の誤りがあり、全面的に内容を修正しました。読者の皆様にはご迷惑をおかけしたことをお詫びいたします。 Ubuntuのデスクトップ環境は、ウェブブラウザなどユーザーが必要とするソフトウェアがデフォルトでインストールされているため、そのままでも十分に便利です。主要なシステム設定もマウスで行えるため、Unixライクな環境にありがちな「真っ黒な画面にコマンドをひたすら入力する」という、すなわちコマンドラインによる操作をしなくても一通りのことができます。 しかし一度困難に陥ると、真っ黒な画面での操作すなわちコマンドラインによる操作を要求されます。簡単なコマンドだっ

    第424回 GUIプログラムをPython/Ruby/ECMAScriptで書く | gihyo.jp
  • 第6回 vimの基礎を見直す:聞いたら一生の宝,プログラミングの基礎の基礎 |gihyo.jp … 技術評論社

    みなさんこんにちは、teratail開発チームの橋です。 みなさんはシステム開発をする時、どのようなエディタを利用しますか。 もちろん開発するシステムの規模や言語、プラットフォームによって選択するエディタは変わってきます。VisualStudioやAndroidStudio, Xcode, Eclipse, IntelliJ IDEAなどのIDE(統合開発環境)や、Atom, Sublime TextなどのGUI上で動くテキストエディタ, そしてUNIX系OSで広く利用されているVimEmacsなど、さまざまなものがいろいろな場面で選択されています。 日は、特にUNIX系OSで設定ファイルの編集からシステム開発まで利用されるテキストエディタであるvimについての基礎を見なおしてみましょう。 vimの実際の操作方法や便利なプラグインなどは別の記事に任せるとして、稿ではどういう時にどう

    第6回 vimの基礎を見直す:聞いたら一生の宝,プログラミングの基礎の基礎 |gihyo.jp … 技術評論社
  • Excel vs. AWK!? 基礎の知識は長く役に立つ!:新刊ピックアップ

    シェル上でちょっと気の利いたことができる気軽なツール ネットワーク上のリソース活用がサービスにとってもはや当然のものとなり,開発・運用を問わず,エンジニアはこれまで以上にサーバに対する作業が必要になります。今あらためて,Unix/Linuxの基礎知識が求められているのです。AWKをご存じでない方には,シェルコマンドに習熟したサーバ管理現場でログ解析によく使われるこのツールを,ぜひとも身につけて業務に役立てていただきたいと思います。 と,いきなり大上段に構えましたが,AWK自体はそんな仰々しいものではなく,日常のちょっとした作業で役立つ,気軽なシェルコマンド&スクリプト言語です。ここではそういった簡単な例をご紹介しましょう。 プログラムリストの先頭に行番号をふる作業 たとえば,次のようなプログラムを書いたファイル「samplecode」があったとします。 このプログラムリストの行頭に,3桁の

    Excel vs. AWK!? 基礎の知識は長く役に立つ!:新刊ピックアップ
  • サポートページ:Software Design 2015年10月号

    ダウンロード 特別付録 VimEmacsチートシート 創刊300号を記念した特別付録のPDFデータがダウンロードできます。なお、データの商用利用は認めません。 個人利用の範囲内での使用をお願いいたします。 © 2015 mattn and rubikitch all rights reserved. ダウンロード Vimチートシート Emacsチートシート お詫びと訂正(正誤表) 誌の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

    サポートページ:Software Design 2015年10月号
  • 第7回 データ処理における並列アルゴリズム[2] | gihyo.jp

    はじめに 前回は、並列システムの性能指標について紹介し、また、データ処理におけるアルゴリズムと、選択処理の並列化方法を紹介しました。今回からは、結合処理の並列化方法について説明します。まずは、結合処理における基的な並列化方法について述べ、次に、ソートマージ結合の具体的な並列アルゴリズムを説明していきます。 結合処理の並列化方法 結合処理は、前回述べたとおり、複数のデータを、当該データを構成するレコード(タプル)における属性値を用いてある条件に基づいて連結することにより、1つのデータにする処理です。簡単のため、以降では、「⁠ある条件」は複数のデータの属性値が同一である、とします。すなわち、結合における最も一般的な方法である等結合を対象として話を進めていきます。また、特に断りがない限り、2つのデータを結合するものとします。 等結合処理における並列化の基的な方法は、次の2つのステップからなり

    第7回 データ処理における並列アルゴリズム[2] | gihyo.jp
  • 最終回 山崎大輔―プライドを持って定年まで仕事する | gihyo.jp

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

    最終回 山崎大輔―プライドを持って定年まで仕事する | gihyo.jp
  • 第7回 Consulのオーケストレーションと自動化 | gihyo.jp

    これらはChefやPuppetのような構成管理ツールを使うような状況と似ていますが、少し異なります。構成管理ツールの場合は、設定時点において対象となるサーバ上のサービスが正常かどうかを判断することができません。Consulはサービス検出機能を持っていますので、正常なサービスを稼働している対象のみ、自動的に処理を行うことができます。ただし、決して構成管理ツールが不要になるのではなく、サービス検出と併用することによって、相互に補完し合うこともできます。 Consulのイベントハンドラ Consulのオーケストレーションと呼ばれる機能の実体は、イベントハンドラです。これは、任意のタイミングまたはConsulのサービス検出と連動し、任意のコマンドやスクリプトを自動実行する仕組みです。今回は、一番手軽に利用できるリモート実行機能を見ていきます。 リモートでコマンドを実行するConsul exec C

    第7回 Consulのオーケストレーションと自動化 | gihyo.jp
  • 第5回 蓑輪太郎―Twitter本社で働くエンジニアのキャリア | gihyo.jp

    先を歩むエンジニアへのインタビューを通してエンジニアのキャリアについて考える連載、今回はゼロからOSやScheme処理系を作り、現在はTwitter社で働く凄腕エンジニアのhigeponこと蓑輪太郎さんにお話をお伺いしました。 [撮影:平野正樹] 危機感を感じた1社目 ─⁠─higeponさんはいつもさまざまなことを勉強なさっていますが、いつごろから自ら技術を学び始めたのでしょうか? higepon(以下ひ⁠)⁠:2001年に入った初めての会社が大きいSI系で、技術に長けたチームに入れてもらえました。そこではモデルケースになるような優秀な先輩がいて、たとえばトラブルが起きたときに、自分で率先して原因を解明して、周りにも的確に指示を伝えていて問題を解決していたんですよ。その先輩から「しっかりプログラミングを勉強しないとまずいよ」と言われたんですよね。それで自分で実際に勉強をし始めたら、今

    第5回 蓑輪太郎―Twitter本社で働くエンジニアのキャリア | gihyo.jp
  • 第1回 なぜ、Hadoopはどのように動くのか、を学ぶのか | gihyo.jp

    はじめに ビッグデータ解析のためのシステム基盤として、Hadoopをはじめとするオープンソースのデータ処理ソフトウェア(データ処理系)が広く利用されつつありますが、当該データ処理系をすでに利用している、もしくは利用の検討をしている読者の方々の中には、たとえば以下のような問題を抱えている方が少なからずいらっしゃるのではないでしょうか。 データ処理系の使い方はなんとなくわかるが、その内部をあまり理解できていない。または、内部の動作原理がよくわからないので、格的に使う気にならない。 同様の目的を達成する複数のデータ処理系において、どれを使って良いかがよくわからない。または、適切に使い分けられていない気がする。たとえば、どのような場合にHadoopを用いて、どのような場合に同類のデータ処理系であるImpalaやSparkを用いれば良いかが“⁠明確に⁠”わからない。 このような問題を解決するには、

    第1回 なぜ、Hadoopはどのように動くのか、を学ぶのか | gihyo.jp
  • 第4章 木構造とハッシュ―平衡二分探索木「赤黒木」で知る豊かなデータ型 | gihyo.jp

    この章ではリストから一歩進み、永続データとして利用できる木構造を説明します。木構造の例として赤黒木という平衡二分探索木を取り上げ、ハッシュテーブル(以下、ハッシュと略記)を実装します。 ハッシュを実現できる木構造 関数プログラミングと(C言語などで使われる)配列は相性が良くありません。なぜなら、配列を永続データとして使おうとすると、一部を変更するだけでも配列全体をコピーしなければならないからです。ということは、関数プログラミングでは、必要に応じて平均O(1)[1]で要素を追加したり検索したりできるハッシュがないことを意味します[2]⁠。 もちろん、キーと値の組を要素に持つリスト(連想リスト:型は[(k,v)])を使えば、要素の追加や検索は可能ですが、効率がO(N)となりうれしくありません。そこで、関数プログラミングではハッシュの実現にO(log N)の平衡木を使います。この章では、赤黒木と

    第4章 木構造とハッシュ―平衡二分探索木「赤黒木」で知る豊かなデータ型 | gihyo.jp
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第1章関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる マルチコア環境が身近になった影響からか、勉強熱心なプログラマの間で関数型言語が話題になっているようです。関数型言語が奨励する関数プログラミングでは、これまで命令型言語で習得した、命令プログラミングの再代入を使う技法があまり通用しません。そのため、「⁠関数型言語は難しい」と言って途中で投げ出してしまう人も多いようです。 この特集では、関数プログラミングの習得を一度諦めてしまった人や、これから始める人のために、関数プログラミングのポイントをできるだけわかりやすく説明します。 筆者がわかるようになるまで 実は筆者も長い間、関数プログラミングを習得できませんでした。筆者は、長年Emacs Lispを使って、Mewというメールリーダーを開発して

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
  • 聞いたら一生の宝、プログラミングの基礎の基礎 記事一覧 | gihyo.jp

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

    聞いたら一生の宝、プログラミングの基礎の基礎 記事一覧 | gihyo.jp
  • 第1回 JavaScriptの基礎を見直す | gihyo.jp

    連載のはじめに みなさんこんにちは、今回より「聞いたら一生の宝、プログラミングの基礎の基礎⁠」⁠ の連載を担当させていただく橋佑介です。 記事では、広く利用されている技術から新しい技術まで、基的な部分を現場のエンジニアの声を取り上げつつ解説していきます。習得している方にとっては振り返りとなり、また今から学ぶ方にとっては同じ疑問にぶつかった方の意見が参考になれば幸いです。 現場のエンジニアの声は私が開発に携わっている技術系QAサイトteratailから抜粋しています。 第1回では、現在では様々な環境で利用されているJavaScriptの基礎をteratailの初心者投稿とともに振り返っていきます。 JavaScript JavaScriptは主にウェブブラウザを実行環境とし、動的なウェブサイト構築などに利用されてきました。 また、今ではNode.jsをサーバサイドで利用することが増え、

    第1回 JavaScriptの基礎を見直す | gihyo.jp
  • 川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 | gihyo.jp

    川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 新年を迎えて早々の2015年1月11日(日)、Jenkinsユーザカンファレンスを開催しました。日では第2回目となる今回のカンファレンス、会場は前回と同じく法政大学で、参加者は500名ほどでした。稿では基調講演を中心にレポートをお届けします。 Jenkinsプロジェクトの現状 Jenkinsの生みの親である川口耕介氏の基調講演では、まずJenkinsプロジェクトの現状報告がありました。 Jenkinsの利用統計 Jenkinsの利用者数や利用シーンは、順調に増加しています。 Jenkinsのインストール数やスレーブ数・ジョブ数が増加していること、Javaのツール群の中でもJUnitについで70%のユーザが利用しているといった調査結果を取り

    川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 | gihyo.jp
  • 第3回 CLIのパワーアップとEC2を起動する | gihyo.jp

    前回S3にhtmlをアップロードしてブラウザから表示するところまで、できた。その後、いろいろ試していくうちに、CSSやJSも同じように置くことで、静的なサイトであればすべてS3だけで運用できることがわかった。もし、静的なページのためにサーバを借りているならS3で済んでしまうんじゃないかと思った。 でも、やっぱりサーバ構築がしたい。正直ミドルウェアをインストールしている時が自分にとって最高に気持ちのいい時間だし、「⁠俺ってインフラエンジニアやってるな」って気になれる。 今日はサーバを起動して、なんかミドルウェアなんかを入れていい感じに動かしてみる、なんてことをやってみようと思う。 CLIをパワーアップ 補完をきかす 前回S3を使ってみた時に思ったことだけど、いちいちコマンドを調べるのが面倒くさくて仕方ない。chmodだってあると思ったのになかったし、こういう無駄な作業が嫌いだ。 気持ちよくコ

    第3回 CLIのパワーアップとEC2を起動する | gihyo.jp
  • プロ生ちゃんが聞く! 2015年のプログラミング言語動向 | gihyo.jp

    あけましておめでとう! 私、暮井 慧。今年もよろしくね。ところでみんな、いろいろなプログラミング言語の動向とか気になるよね? というわけで、プログラミング言語の去年のふりかえりと今年の予定なんかを、スペシャルな人たちに聞いてきたよ! Ruby 最初は、みんな大好きRuby! Rubyコアコミッターの小崎資広さんに聞きにきたよ。小崎さんは、Linuxカーネルコアの開発者でもあるんだって! Rubyの2014年はどんな年でした? 慧 こんにちは。2014年のトピックを聞かせてください! 小崎 まずは、Ruby 2.2のリリースでしょう。リリース直前にいろいろとトラブルが発生してやきもきさせましたが、無事12/25にリリース。クリスマスにリリースする慣例を守ることができました。 今回のリリースはガベージコレクションの改善がメインで、速度の向上に加えて、Symbolがガベージコレクトの対象になるよ

    プロ生ちゃんが聞く! 2015年のプログラミング言語動向 | gihyo.jp
  • 2015年のLinuxのコンテナ技術 | gihyo.jp

    2014年は非常にDockerが盛り上がった1年でしたね。 Dockerは2013年の夏ごろから注目を集めはじめました。その後バージョンが0.9となった2014年の春ごろからさらに注目を集めるようになり、それ以降はさまざまなサービスやベンダーがDockerをサポートしたり、Docker関連のプロダクトを出したりするニュースが駆け巡った気がします。 Dockerに関係する勉強会が数多く開催されるようになり、Docker Meetup Tokyoなどは募集が始まった途端に定員に達するという活況ぶりでした。 Dockerは「コンテナ技術」そのものではなく、Dockerがやりたいことを実現するための技術要素の1つとしてコンテナを使っています。このDockerの盛り上がりと共にそれまでどちらかというとマイナーな技術であった「コンテナ」も2014年には非常に注目される技術となりました。 実際、筆者が主

    2015年のLinuxのコンテナ技術 | gihyo.jp
  • 第4回 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ | gihyo.jp

    10月に入り、9月までに起こったことをざっと振り返るというお題がどこかから聞こえてきたので、「⁠じゃあ……」という感じで振り返ってみることとします。 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ まだ現在進行形の事案ではありますが、9月下旬に発覚したBashの脆弱性に起因して、10月上旬までまだ収束していないShellshock。 Bash 4.3の例で説明すると、Patchlevel 25~30までは以下のような軌跡をたどっています。 9月24日にPatchlevel 25 9月26日にPatchlevel 26 9月27日にPatchlevel 27 10月1日にPatchlevel 28 10月2日にPatchlevel 29 10月5日にPatchlevel 30 この間に発見、修正された脆弱性は、CVE-2014-6271、CVE-2014-71

    第4回 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ | gihyo.jp
  • 第291回 tmux/GNU Screenのラッパーコマンド、byobuを使いこなす(2013年版) | gihyo.jp

    Ubuntu Weekly Recipe 第291回tmux/GNU Screenのラッパーコマンド、byobuを使いこなす(2013年版) Ubuntuには、byobuというtmux/GNU Screenのラッパーコマンドが準備されています。これらのコマンドをうまく利用することで、ターミナル上での作業効率を大きく引き上げることができます。今週は、2013年現在のbyobuの利用方法を紹介します。 Byobu Ubuntuでは、GNU Screenやtmuxのラッパーコマンドである「byobu」を利用することができます。デスクトップ版には標準では導入されていませんが、次のように操作することで簡単に導入できます(サーバー版ではデフォルトで導入されています⁠)⁠。 $ sudo apt-get update $ sudo apt-get install byobu GNU Screenとtmu

    第291回 tmux/GNU Screenのラッパーコマンド、byobuを使いこなす(2013年版) | gihyo.jp
  • エンジニアの学び方─効率的に知識を得て、成果に結び付ける 記事一覧 | gihyo.jp

    第4章何を学ぶか、何を作るか―問題の探し方と成果の出し方 西尾泰和 2014-07-25

    エンジニアの学び方─効率的に知識を得て、成果に結び付ける 記事一覧 | gihyo.jp