タグ

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

  • 第16回 プログラミング言語とTDDは、どちらを先にマスターすべきか? | gihyo.jp

    ニコニコ動画:https://www.nicovideo.jp/watch/sm2326111 クロコさんの発言TDDの学習を始めるときに、プログラミング言語はマスターしておかないと始められないのですか? この疑問に関しては、みなさんいろいろ意見があると思います。 まず、TDDをマスターしていて言語をマスターしていないのか、言語もTDDもマスターしてしていないのかで全然状況は違うと思います。 私自身はTDDをある程度マスターしていると考えていますが、私はプログラミング言語をマスターするために、TDDをやってみることがあります。ちょっとピントのずれた回答かもしれないんですけれど。 全然経験がないプログラミング言語があるときに、どういうやり方をしていくかというと、どんな言語にも、だいたいテストコードのサンプルとテスティングフレームワークがあるわけですね、たとえばSmallTalkだったらSUn

    第16回 プログラミング言語とTDDは、どちらを先にマスターすべきか? | gihyo.jp
    tenkoma
    tenkoma 2019/01/29
    "新しい言語を覚えるときになぜTDDで学習してみたかというと,学習というのは基本的にはフィードバックサイクルだと思っているからなんです。"
  • 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法

    2017年7月5日紙版発売 2017年7月5日電子版発売 増田亨 著 A5判/320ページ 定価3,234円(体2,940円+税10%) ISBN 978-4-7741-9087-7 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 「ソースがごちゃごちゃしていて,どこに何が書いてあるのか理解するまでがたいへん」「1つの修正のために,あっちもこっちも書きなおす必要がある」「ちょっとした変更のはずが,来はありえない場所にまで影響して,大幅なやり直しになってしまった」といったトラブルが起こるのは,ソフトウェアの設計に問題があるから。日最大級となる60万件以上の求人情

    現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法
    tenkoma
    tenkoma 2017/06/21
  • 第3回 GUIツールBaculumを使ってバックアップを簡単にする | gihyo.jp

    CentOS7で使用するポートを解放するコマンドは以下になります。 # firewall-cmd --permanent --add-service=bacula success # firewall-cmd --permanent --add-port=9095/tcp success # firewall-cmd --reload success リポジトリ追加 まずBaculum用のリポジトリを追加します。 viエディタなどで以下の様にbaculum.repoファイルを作成し/etc/yum.repos.d配下に配置します。 # cd /etc/yum.repos.d # vi baculum.repo [baculumrepo] name=Baculum CentOS repository baseurl=http://bacula.org/downloads/baculum/ce

    第3回 GUIツールBaculumを使ってバックアップを簡単にする | gihyo.jp
    tenkoma
    tenkoma 2017/04/05
  • ネット生活:快適なネット生活をおくる秘訣、それは「つぶやかない」こと。緊急忍耐力対談:ココロ社×加野瀬未友|gihyo.jp … 技術評論社

    快適なネット生活をおくる秘訣、それは「つぶやかない」こと。 緊急忍耐力対談:ココロ社×加野瀬未友 コミュニケーションツールが日々便利になっていくその裏で、ネットは今日も人々を炎上へと導いている。つい暴走しがちな夏、危険を避けて快適なネット生活をおくりたいとお考えの方へ向け、ネット上でのコミュニケーション術について詳しいお二人に、緊急対談をお願いした。 ココロ社(こころしゃ) Twitter:@kokorosha ブログ:ココロ社 ほのぼの四次元ブログ1971年・大阪生まれ。東京大学文学部を卒業後、「⁠人生是忍耐」という真理に気づき、あえてノーマルなサラリーマン稼業を選択し、持ち前の忍耐力を発揮して、珍妙なブログの運営および、ギリギリ系自己啓発書の執筆などを行っている。主な著書に『クビにならない日語』(⁠翔泳社⁠)⁠、『⁠超☆ライフハック聖典』(⁠技術評論社⁠)⁠、『⁠マイナス思考法講座』

    ネット生活:快適なネット生活をおくる秘訣、それは「つぶやかない」こと。緊急忍耐力対談:ココロ社×加野瀬未友|gihyo.jp … 技術評論社
    tenkoma
    tenkoma 2011/08/14
    「つい暴走しがちな夏」
  • 2011年5月17日 CentOS 6.0は本当にリリースされるのか?─メイン開発者の離脱が意味するメッセージ | gihyo.jp

    Linux Daily Topics 2011年5月17日CentOS 6.0は当にリリースされるのか?─メイン開発者の離脱が意味するメッセージ Red Hat Enterprise LinuxのクローンOSとして、ホスティング事業者やクラウドサービス事業者の間で高い人気を誇るCentOSだが、どうも最近、様子がおかしい。昨年11月にRed HatがリリースしたRHEL 6.0を受け、来ならとっくにCentOS 6.0がリリースされていなければならないのに、一向にその気配がない。そんな中、CentOSの主力開発者であるDag Wieers氏がプロジェクトからの離脱を表明した。いったいCentOSはどうなってしまうのだろうか。 Dag Wieers氏は5月5日付の自身のブログで、「⁠コアチームのメンバーたちは、提題として上がっている問題(CentOS 6.0のことか?)を無視し、巧妙なご

    2011年5月17日 CentOS 6.0は本当にリリースされるのか?─メイン開発者の離脱が意味するメッセージ | gihyo.jp
    tenkoma
    tenkoma 2011/05/18
    #linux
  • 第5回 TitaniumでTwitterクライアント──windowの遷移 | gihyo.jp

    前回の記事でTwitterに投稿するところまで実装ができましたが、投稿したあとのwindowの遷移が起きないままになっていますので今回は画面遷移について解説していきます。また、今までのコードをgithubにて公開しましたので必要に応じて参照してみてください。各連載時のコミットにタグをつけてあるので連載にあわせてタグを選択すると便利です。 windowの遷移 windowを閉じる Twitterに投稿したあとに、メッセージを書いていたwindowを閉じるようにしてみます。 以下のコードを追加します。 postButton.addEventListener( 'click', function () { if ( textArea.value ) { tweet( textArea.value ); win.close(); //この行を追加 } } ); これで 投稿が完了すると、メッセージ

    第5回 TitaniumでTwitterクライアント──windowの遷移 | gihyo.jp
  • 第1回 jsdo.itってなんだろう? | gihyo.jp

    はじめに はじめまして。株式会社ピクセルグリッドの外村です。今回この連載では、マークアップエンジニアやデザイナを対象に、『⁠jsdo.it -Share JavaScript,HTML5 and CSS-』(⁠以下、jsdo.it)というサイトを使ってユーザ参加型のJavaScriptCSS3の学習コンテンツを提供していきます。今回は初回ですので、jsdo.itというサイトの概要や連載に向けての事前準備を解説します。 jsdo.itとは jsdo.itというのは2010年に株式会社カヤックがリリースしたWebサービスで、Web上でHTML5、CSSJavaScriptを書いてその場で実行することができます。書いたコードは誰でも見ることができ、トップページに並んでいる人気のコードを見るだけでも楽しむことができます。 また、単にコードを書いたり人が書いたコードを見たりするだけでなく、他にも

    第1回 jsdo.itってなんだろう? | gihyo.jp
  • 第4回 TitaniumでTwitterクライアント──OAuthを使ったAPI呼び出し | gihyo.jp

    第4回目の今回は、OAuthを使ったAPI呼び出しについて解説します。Twitter APIのほとんどはOAuthによる認証が必要となっており、OAuthはTwitterクライアントを作るには欠かせない技術の一つです。 投稿画面を作ろう 実際にOAuthの認証を始める前に投稿画面を先に作ってしまいましょう。初回のイメージに上げたように、画面右上に投稿画面を出すボタンを作成し、そのボタンが押されたら投稿画面が現れるようにしましょう。 var win1 = Ti.UI.currentWindow; var messageButton = Ti.UI.createButton( { systemButton: Titanium.UI.iPhone.SystemButton.ADD } ); messageButton.addEventListener( 'click', function ()

    第4回 TitaniumでTwitterクライアント──OAuthを使ったAPI呼び出し | gihyo.jp
  • エンジニアを幸福にしないヤフーというシステム | gihyo.jp

    NAIST(奈良先端科学技術大学院大学)にて助教を務める小町守さんによるブログ記事です。ヤフー(⁠株⁠)を退職した技術者のブログ記事について考察し、ヤフーだけでなく多くの大企業が陥っている官僚的性質について言及しています。 退職した技術者のブログ記事では、ヤフーの体制について「目標制度や複雑な手続きが成長を鈍化させている」「⁠社員への待遇を節約することで優秀な人材が流出してしまっている」など多くの指摘をしています。小町氏は過去にヤフーにて仕事をした経験があるため、これらの事実に驚くことなく「ヤフーはコテコテの日企業」であることを認めながらも、個人的には賃金的にも環境的にもそれほど悪い印象を受けていないと述べています。 そして書籍『人間を幸福にしない日というシステム』(⁠毎日新聞社)を取り上げ、優秀な人材もいまだ多くいるヤフーがうまく力を発揮できずに「官僚主義」「⁠大企業病」に陥っている

    エンジニアを幸福にしないヤフーというシステム | gihyo.jp
    tenkoma
    tenkoma 2010/12/31
    #hatebu
  • 2010年11月18日 "ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード | gihyo.jp

    Linux Daily Topics 2010年11月18日"ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード Linus Torvalds氏という人は、少なくともメールの中では、かなりはっきりと感情を表に出す。誰かor何かに対して怒っているときは相手を名指しで批判(というより非難)し、逆にうれしいときはあふれる喜びを隠そうとしない。今回紹介するのは後者のほう。「⁠I'm also very happy」「⁠it is a _huge_ improvement」「⁠Good job.」など、喜びと称賛の表現がたくさん書かれているメールだ。 Linus氏を歓喜させたのは、カーネル開発に携わるMike Galbraith氏が書いた233行のカーネルスケジューリングパッチ。このパッチを適用すると、デスクトップ環境においてパフォーマンスが著しく向上するという。

    2010年11月18日 "ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード | gihyo.jp
    tenkoma
    tenkoma 2010/11/20
  • 第4回 ブレークポイントによるデバッグとFirebugのこれから | gihyo.jp

    最終回となる今回は、前回触れられなかったScriptタブでのデバッグ方法、Firebugの拡張である「yslow」の説明、そして最後にFirebugの今後について紹介します。 ブレークポイントの設定方法 FirebugではJavaScriptにブレークポイントを設定することができます。次のコードで試してみましょう(open(this.href);return false" onkeypress="window.open(this.href);return false">ex01.html⁠)⁠。 リスト1 ex01.htmlの抜粋 function Func(){ var num = Math.floor(Math.random()*1); var h1 = document.getElementsByTagName('h1')[0]; if(num<5){ h1.innerHTML =

    第4回 ブレークポイントによるデバッグとFirebugのこれから | gihyo.jp
    tenkoma
    tenkoma 2010/07/25
    ブレークポイントの便利さがやっとわかった
  • 「Python Hack-a-thon 2010.07」レポート | gihyo.jp

    Pythonハッカソンは、Djangoハッカソン(8回まで開催)から引き継がれる形で開催されている勉強会です。7月10日、オラクル青山センターにて、4回目の勉強会「Python Hack-a-thon 2010.07」が開催されました。 Pythonと銘打っていますが、Pythonに限定しない話題も数多く登場します。今回も、Ocaml, C++(?), PHPなどについてのプレゼンもありました。初心者から上級者まで評判が良く、リピート率も高いイベントです。とにかく人気で、とくにここ数回は100人以上の規模での募集にも関わらず、申し込み後すぐにいっぱいになってしまう盛況ぶりです。 Pythonハッカソンは、ハッカソン、ハンズオン、プレゼンテーションの3つのパートで構成されています。稿では、これらのパートごとに、今回の勉強会についてレポートします。 Note: もともとは、Pythonのウェ

    「Python Hack-a-thon 2010.07」レポート | gihyo.jp
  • 第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp

    「締め切りを守ること」の大切さ 今までたくさんの日米のエンジニア仕事をしてきた。その中には私よりも明らかに「賢いエンジニア」もいたし、ものすごい生産性でプログラムを作ってくれる「馬力(ばりき)のあるエンジニア」もいた。しかし、そんな中でも、私がものを作るうえで最も大切だと考えている「あること」をキチンとこなせる人は100人に1人もいなかった。その「あること」とは、「⁠常に締め切りを守れるように仕事をすること」である。 チームで仕事をする場合、どうしてもお互いが担当するタスク(=作業)の間に依存関係が生じる。そんなときに、どれか一つのタスクの完了の遅れが、ほかのタスクの完了に波及し、それがタスク間の競合を引き起こして全体のスケジュールがさらに遅れる、という事態はソフトウェア開発の現場ではよく見られる。そんな状況をできるだけ回避するには、プロジェクトに関わる人全員が、自分に割り当てられたタス

    第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp
    tenkoma
    tenkoma 2010/07/22
  • 第1回 機械学習 ことはじめ | gihyo.jp

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

    第1回 機械学習 ことはじめ | gihyo.jp
    tenkoma
    tenkoma 2010/06/26
  • 第1回 レガシーコード前夜 | gihyo.jp

    はじめに 「レガシーコード」――この言葉を聞いて何を思い浮かべますか? もしかしたら、COBOLで書かれたコード、Windows NT 4.0用のコード、書いた人がわからなくなってしまったコードなどが思い浮かぶかもしれません。 しかし、このレガシーコードをメインテーマとして正面から扱っている書籍『Working Effectively with Legacy Code』(⁠WEwLC ※1)では、レガシーコードについて異なった見解を示しています。そう、「⁠明日自分の書くコードもレガシーコードになるかもしれない」というWEwLCが発するメッセージは、私たちに切実に迫ってくるのではないでしょうか。 この連載では、WEwLC読書会の有志が、WEwLCが語りかけるものや、現実の課題への活かし方などを対談形式で紹介していきます。このが発するメッセージについては連載の中でおいおい明らかにしていきたい

    第1回 レガシーコード前夜 | gihyo.jp
  • 第1回 三次元に挑戦 | gihyo.jp

    はじめに 先日、東京のお台場にガンダムの実物大の模型ができました。見に行かれた方も多いのではないでしょうか。CGでどんな映像でも作れる時代ですが、やはり実物というのは迫力が違うものです。 ガンダムに対抗するわけではないのですが、稿では鉄道模型の制御に挑戦してみようと思います。模型であっても、実際に車両が動くというのは格別なものです。普通、制御というとC言語などを使用しますが、ここではPHPからLAN経由で制御するようにしてみました。まずどうやって制御しているのか、見ていきましょう。 こんなふうに動きます まずは写真のような一直線のレイアウトを動かしてみましょう。普通のNゲージでは電源は1ヵ所だけ供給しますが、今回は5ヵ所に供給しています。これについては、後ほど解説します。 図1 直線レイアウト そして、PHPのプログラムはリスト1のようになります。このプログラムをコマンドラインから実行す

    第1回 三次元に挑戦 | gihyo.jp
    tenkoma
    tenkoma 2009/08/06
  • 第1回 私たちの活動はこうして始まった | gihyo.jp

    TEFとTestLink日語化部会 ソフトウェアテスト技術者交流会 ― Testing Engineer's Forumとは、ソフトウェアテストに関する技術者が集うコミュニティです。メーリングリストでの議論を中心に活発に活動しています。また、TEF(てふ)の愛称で参加者から親しまれています。 1998年9月、お世話係の電気通信大学の西さんを中心に数名のメーリングリストから始まったTEFですが、今では大きくなり、1500弱のメールアドレスが登録されています。勉強会などオフラインでの活動も活発。TEFから生まれたソフトウェアテスト関連のイベントや翻訳書なども数多くあります。 このTEFには、地域別の活動グループと分野別の部会が存在します。地域別では、関西、札幌、東海、九州のメーリングリストが立ちあがっています。また、分野別では、ツール部会、プリンタ部会、Web部会、AV部会などがあります。T

    第1回 私たちの活動はこうして始まった | gihyo.jp
  • Redmineを運用するためのイロハを身につけよう:第1回 新機能の紹介と最新版が利用できるまで|gihyo.jp … 技術評論社

    はじめに Redmineは、Ruby on Railsで実装された、最近注目を集めているプロジェクト管理ツールです。 オープンソースソフトウェアのため、使用する際のソフトウェア費用はかからず、無償で利用すること可能です。なお、ライセンスはGPL(GNU General Public License)となっています。 主な機能は、バグトラッキング、ガントチャートや工数集計といったプロジェクト進捗管理、Wikiやニュースによる情報共有、バージョン管理システムであるSubversionとの連携など、非常に多機能なツールです。 連載では、Redmineプロジェクト内で開発環境等に導入し、実際に手を動かしてメンテナンスを実施するような運用担当者を想定し、最新バージョン(0.6.3)までに追加された新機能や運用管理機能の紹介から、インストール/バージョンアップ方法やカスタマイズ、軽量Webサーバや

    Redmineを運用するためのイロハを身につけよう:第1回 新機能の紹介と最新版が利用できるまで|gihyo.jp … 技術評論社
  • RubyKaigi2008 1st day Photoレポート[随時更新] | gihyo.jp

    日(6月21日)行われている、RubyKaigi2008 1dayのPhotoレポートです。随時、更新予定です。日は、大ホールの様子をメインにお伝えしていきます。 各セッションの模様は、角田さんにレポートしていただきました。 セッション前の受付の様子 セッション前の様子です。大ホール前で、RubyKaigi2008の受付が行われました。 開会の辞 RubyKaigi2008の1日目は、日Rubyの会会長の高橋征義さんによる開会の辞から始まりました。昨年のRubyKaigiでのDave Thomas氏の「新参者を迎えよう」という言葉を受け、今回のテーマを「多様性」としました。また、異なる目的や習慣、文化を持つ人を抱擁すべく、Rubyの「多様性は善」というポリシーに基づき、2つの新しい試みを行っています。1つめはビジネス寄りなセッションを集めた0日目の開催、2つめは2つの会場を設けマルチ

    RubyKaigi2008 1st day Photoレポート[随時更新] | gihyo.jp
  • 第1回 オブジェクト指向言語Python | gihyo.jp

    Pythonはオブジェクト指向スクリプト言語です。PerlRubyPHPなどと並んで「軽量言語(LL)」と呼ばれています。LLは、開発効率の良さや手軽さなどが評価され、Webの開発を中心に世界中で広く使われています。 プログラミング言語としてのPythonの特徴には以下のような特徴があります。 動的な型付け インデントを使ったブロック表記 豊富なモジュール オブジェクト指向機能 組み込みのユニコードサポート Pythonはとてもシンプルなプログラミング言語です。プログラムで利用される「if」「⁠for」のような予約語は、Ruby 1.8の40より少なく31しかありません。シンプルでいて奥深いのがPythonなのです。 GoogleやYouTubeで活用 Pythonの作者Guido van Rossum氏が米検索エンジン大手のGoogleで働いているのは比較的有名な話です。Guido氏

    第1回 オブジェクト指向言語Python | gihyo.jp