サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
thinkit.co.jp
XHTML Mobile Profileに対応したHTML 本連載では、「PCサイトを制作してきたけど、携帯サイトは初めて」といった企業や個人クリエイター向けにPCとモバイルの違いなどをふまえ、携帯サイトを公開するまでの入門的なノウハウを紹介していきます。 まず、今回はHTMLの種類やタグ、CSSなど携帯ブラウザによる違いと、画面サイズやキャッシュ容量などの端末による違いについて紹介していきます。 では、早速携帯サイトを作る上でマークアップの基本となるHTMLについて説明します(図1-1)。携帯電話はPCと比べても非常に早い進化を遂げてきたため、どれも基本はHTMLを基準に作られていますが、携帯ブラウザ(iモード、EZweb、Yahoo!ケータイ)で表示可能なHTMLの仕様には実に多くの種類が存在します。 現在市場に出回っている機種ということに限定すれば、XHTML Mobile Prof
画面の一部を瞬時に切り替える方法 JavaScriptを勉強したいけど、プログラム構造がよく分からなくて、なんとなく使っている人は多いのではないかと思います。市販の本やWebサイトにはJavaScriptのサンプルがたくさん載っているので、必要なところをコピー&ペーストしてしまうと、JavaScriptの文法が分からなくても動いてしまいます。 しかし、このような使い方をしていると、JavaScriptサンプルを少しだけ修正したいという時に対応できなくなります。これでは「JavaScriptを使える」とは言えませんよね。 そこで、本連載では、JavaScriptをもう一度やり直したい方々のために、勉強の切り口を変えて紹介していきましょう。 最初のトピックでは、JavaScriptを使ってHTMLのコンテンツを入れ替える方法について紹介してます。この技術は、最近話題になっているAjaxのベース
2024/12/23 システム管理者向けライブLinuxディストリビューション「Grml 2024.12」リリース 2024/12/22 「LibreOffice 24.8.4 Community」リリース 2024/12/21 Slackwareをベースとしたポータブル向けディストリビューション「PorteuX 1.8」リリース 2024/12/21 「NetBSD 10.1」リリース 2024/12/21 セキュリティ調査向けLinuxディストリビューション「Kali Linux 2024.4」リリース 2024/12/21 KDEのソフトウェア群「KDE Gear 24.12」リリース 2024/12/19 オープンソースのコンテナ管理ツール「Kubernetes 1.32」リリース 2024/12/17 LPI-Japan、無償のLinux学習用教材「Linux標準教科書」の新版を
筑波大学 システム情報工学研究科 コンピュータサイエンス専攻 非数値アルゴリズム研究室(NPAL) 五十嵐 悠紀 2004年度下期、2005年度下期とIPA未踏ソフトに採択された、『天才プログラマー/スーパークリエータ』。筑波大学 システム情報工学研究科 コンピュータサイエンス専攻 非数値アルゴリズム研究室(NPAL)に在籍し、CG/UIの研究・開発に従事する。プライベートでは二児の母でもある 何か製品を考える時、そのものがカタチのあるものであっても、はたまたコンピュータの中で動くソフトウエアだったとしても、「ユーザーインターフェース(以下、UI)」について考える必要があります。さらには、わたしたちが日常生活においてストレスなく過ごせている裏側には、さまざまな人によって考えられてきたUIデザインが隠されていたりもします。 わたしは滞在先のホテルで、洗面所に入ったものの出ようとした時に
サイト規模に合わせて作り方を選ぶ 前回(http://www.thinkit.co.jp/article/143/1/)は、携帯サイトとPCサイトがどのように違うかを紹介しました。今回は、汎用的な携帯サイト作りを行うための制作の基本から、実機テストまで含めた公開までの手順を解説します。 携帯サイトでは、キャリアによる仕様の違いがあるため、これをどの程度まで考慮するか、はじめに考えなくてはなりません。携帯サイトの作成法には、下記の5つの方法がありますが、ここでは「3キャリア対応の静的サイト+プログラム」について紹介します。 1.キャリア別に静的なサイト 2.3キャリア対応の静的サイト+プログラム 3.プログラムによる動的生成 4.CMSを使ったジェネレータ型 5.MobaSiF(http://sourceforge.jp/projects/moba)などのフレームワーク型 3キャリア対応の静
今回は、Subversionによるバージョン管理方法とウノウでの導入事例について前編と後編にわけて紹介していきます。 Subversionとは、無償で利用できるバージョン管理システムです。現在もオープンソースで活発に開発が進んでおり、執筆時点の最新バージョンは1.4.2となります。バージョン管理システムとは、ソースコードや仕様書などを含むドキュメントなど、時間とともに内容が変化するファイルを管理するシステムの総称です。 Subversionと同じようなバージョン管理システムとしては、CVS(Concurrent Version System)が有名ですが、SubversionではこのCVSで使いにくかった点を改良した次世代バージョン管理システムというコンセプトで開発が続けらています。筆者が実際にどちらも利用してみた結論として、導入をおすすめするバージョン管理システムは、やはり「Subver
この連載は、WebアプリケーションのテストツールであるSelenium(セレニウム)についてサンプルを用いながら概要と基本的な使い方を解説していきます。本連載第1回の今回は、Seleniumの概要について紹介します。 Seleniumとは、Webブラウザを使ってWebアプリケーションをテストするツールです。この「Webブラウザを使って」というのが非常に大きなポイントで、人が手でWebブラウザを操作する代わりにSeleniumがWebブラウザを操作してくれるのです。 そして単純に操作するだけでなく、例えばエラーメッセージが正しく表示されているかといった検証も行うことができます。つまり、今まで人手を必要としていたWebブラウザを使った試験が自動化できるものなのです。そのため数百項目もあるテストも、クリック1回で実施できます。 より重要なことは「自動化することによって試験を繰返し実施できる」こと
MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する
はじめに 皆さんは「ポッドキャスト」を聞いていますか? ポッドキャストは個人でも配信できる音声メディアのことです。特定のサービスを指すわけではなく、音声ファイルをWebサーバーに置き、RSSフィードで更新情報を配信すればポッドキャストとして認識されます。ポッドキャストのアプリでは、そのRSSフィードのURLを登録すると随時更新された音声データを聴くことができる、という仕組みです。専用のアプリをインストールしておくと番組が更新された時点でプッシュ通知されるため、常に最新の音声データをチェックできます。 ポッドキャストという名前の通り、「iPod」時代の遺物といったイメージもあるかもしれません。しかし昨今、ポッドキャストが見直されているようです。大きな流れとしては、2018年に「Anchor」というポッドキャスト配信サービスが広まったことに起因すると思われます。録音から配信までを1つのサービス
JSONとは何か? JSONとはJavaScript Object Notationの略で、XMLなどと同様のテキストベースのデータフォーマットです。 その名前の由来の通りJSONはJavaScriptのオブジェクト表記構文のサブセットとなっており、XMLと比べると簡潔に構造化されたデータを記述することができるため、記述が容易で人間が理解しやすいデータフォーマットと言えます。 なお、JSONは2006年に「RFC 4627(http://www.rfc-editor.org/rfc/rfc4627.txt)」として公開されています。 例としてXMLとJSONで同じデータを記述したものをリスト1とリスト2に示します(図1)。 リスト1のXMLではすべての情報をタグで囲んだテキストノードとして記述していますが、XMLでデータを表現する場合、データの記述方法として属性とテキストノードの使い分けが
2018-01-28 10:00: 反響にお答えしてタイムラプス動画を追加しました! 2018年1月21日、東京近県の某所でデータセンターの開設式が行われた。日本国内では毎年新しいデータセンターが複数開設されており、そのこと自体はそれほどのニュースバリューはない。しかし、この日オープンしたデータセンターは企業ではなく個人が所有しており、しかもほぼ手作りで建設したデータセンターだった。しかも、ビジネス目的ではなく、趣味で作られた日本国内では初だろうし、欧米でもこんな話は聞いたことがないため、これは世界初の事件なのかも知れない。 趣味としてのデータセンター作り このデータセンターのオーナーは宇田周平氏、27歳。外資系IT企業に勤務するいたって普通の若手エンジニアだ。勤務先は確かにデータセンターとの関わりは深いが、彼が今回のデータセンター建設に至ったのは、業務上の要請ではないし、かといってサイド
Webの技術を使ってデスクトップアプリケーションを作ることができる開発環境である、「Adobe AIR(旧名 Adobe Apollo)」のパブリックベータ版が6月11日にリリースされました。 ここ数年、Webアプリケーションの進化がめざましく、表計算やワープロといった今までテスクトップ専用のものだと思われていたアプリケーションまで、Webブラウザ上で扱うことができるようになってきました。 Adobe AIRは、Webアプリケーションで使われている、HTML、CSS、Ajax、Flashといったテクノロジを使つつ、Webブラウザに依存しない、スタンドアローンなアプリケーションを開発・実行できる新しい環境です。 本連載では、Adobe AIRとRuby on Rails(以下、RoR)を使って、Webブラウザだけではない、新しいタイプのWebアプリケーションを作る方法を紹介していきます。 A
筆者がPrototype.jsに初めて出会ったのは、2005年9月ごろだったと思います。この頃、オブジェクト指向JavaScriptはまだまだ黎明期で、オブジェクト指向の書き方もさまざまな我流が存在していたことを覚えています。 もちろん、筆者も我流のオブジェクト指向で書いていました。しかし、すべてのエンジニアが我流の書き方をしていては、JavaScriptのオブジェクト指向は普及しません。 そんな時にさまざまなブログで取り上げられ始めたのがPrototype.jsでした。Prototype.jsにはクラスを定義するという機能があり、すべてのエンジニアが同じ方法でクラスを定義できるのです。それは、大きなインパクトでした。しかし、その当時Prototype.jsにはまとまったドキュメントが無く、目利きのJavaScripterたちはこぞってソースを読んでいました。 そして、そのことが図らずとも
ベルリン在住のイラストレーター、高田ゲンキのIT系コミックエッセイ! Think IT連載のコミックエッセイ「ライフハックで行こう! ―Think IT edition― フリーランスのススメ」で公開されていた第10~12話、14~22話、28~35話については、書籍『フリーランスで行こう!会社に頼らない、新しい「働き方」』でお読みいただけます。 【書籍情報】 フリーランスで行こう! 会社に頼らない、新しい「働き方」
Vagrantとは? Vagrantは、開発環境の構築と共有を簡単に行うためのツールです。どこでも同じ環境を再現できるように仮想マシン環境を管理する機能と、Atlasを通して共有する仕組みが提供されています。 VagrantとAtlasの関係 Vagrantは、アプリケーションやシステム開発のバックエンドを簡単にパッケージ化し、共有するためのツールです。このパッケージ化された環境を、「box」と呼ばれる単位で管理します。このboxには、標準で対応しているVirtualBoxをはじめ、AWSなどの各種マシン・イメージに対応したプラグインを介してアクセスします。またboxを共有するための機能としてAtlasという名前のインターネット上のサービスが提供されています。なお、Atlasは以前VagrantCloudと呼ばれていたものですが、現在はHashiCorpの他のツール(Packer、Terr
では本題に入ります。まず、Dockerは何がいいのか、あるいはどういうことには向かないか。実際に仕事で関わっている立場から語ってください。 松井:SIerをやっていて、最近はお客様からDockerという言葉が出てくるようになりました。とあるお客様からは、Solarisコンテナーで動いているシステムが古いので乗り換えたい、そのためにDockerはどうかと具体的な話を聞かれました。一方、「Dockerってどう?」と漠然とした話をいただいて、お客様の環境でしたらこう使えます、という話をすることもあります。 実案件まではまだありません。アプリケーションが対応していないと使えない、という話になることが多い。Dockerでは、いままでのアプリをそのまま使おうとすると、失敗すると思います。 前佛:無理をしてDockerを入れるのは違うと思いますね。Docker社が、仮想化を置きかえるというような見せ方を
ソフトウェア業界の仕事は、下請け・孫請けのピラミッド構成となることが多く、常駐・派遣型のビジネスがかなりのパーセンテージを占めています。そんな中、他の業界と同じように、下請け脱却を目指して"一括請負"で仕事を引き受けたいとする会社もあります。 その志は善しとしましょう。しかし、肝心の"実力"が伴っていないと発注者も受託者もお互いに手痛い目に遭います。ここで言う"実力"とは、単なる技術力のことではありません。スケジュール管理や品質管理、コスト管理などのプロジェクト管理の技術・体制を社内で持っているかどうかが成否の鍵となるのです。 筆者の会社は創立11年目なのですが、創業以来「常駐・派遣の仕事はやらない!」という起業時のポリシーを貫いて来ました。C/SやWebのシステム開発を主体としているのですが、10年間の中では当然(?)、いくつかの失敗プロジェクトもありました。その苦い経験の中で「成功率と
藤川真一(えふしん) FA装置メーカー、Web制作のベンチャーを経て、2006年にpaperboy&co.へ。ショッピングモールサービスにプロデューサーとして携わるかたわら、2007年からモバイル端末向けのTwitterウェブサービス型クライアント『モバツイ』の開発・運営を個人で開始。2010年、想創社(現・マインドスコープ)を設立。2012年4月30日まで代表取締役社長を務める Facebookが、HTML5をベースにしたアプリから、ネイティブアプリに舵を切った時に、「HTML5に賭けたのは失敗」という話が業界を駆け巡った。 それまでHTML5は、新しいWeb技術の希望の星のように言われており、将来を渇望されていたところに水を差された形になった。 そこで、改めて冷静に「HTMLとは何なのか?」ということを考え直してみた方が良いと思う。 HTMLとWebブラウザの技術的メリットは、 画像な
過日のイベント「“Microsoft + OSS” Meetup」で行われたLT大会で、筆者がひときわ注目したプロダクトがある。脱Excel、脱メールを謳う業務ツール「プリザンター」だ。大手SIerに20年近く勤務していた内田氏は、日々運用現場で感じていた課題を解決するために業務外の時間で独りもくもくと開発を進めていたという。そしてプリザンターをコアに独立して会社を起こした。開発元であるインプリム社の内田氏と森井氏に詳しく話を聞いた。 ーーさっそくですがプリザンターについて教えてください プリザンターは、ノンプログラミングで業務アプリが作成できる「Webデータベース」というカテゴリの製品になります。オンプレ版のkintoneと考えていただくと分かりやすいかもしれません。.NET Framework 4.5が動作するWindows系のシステムをベースにしていて、オンプレ環境のほかAzureの
MySQL Utilitiesならではの注意点 MySQL Utilitiesは従来のコマンドラインツール群とは違い、以下のような記述で接続先を指定します。 これは、従来のコマンドラインツール群が主に1つのMySQLサーバーを対象として動作するものなのに対して、MySQL Utilitiesは2つ以上のMySQLサーバーを対象として動作するものが多いため、このような記法になっています。 [MySQL Utilitiesの記法] --server=ユーザ名:パスワード@ホスト名:ポート番号 [MySQL コマンドラインツール群の記法] --user=ユーザ名 --password=パスワード --host=ホスト名 --port=ポート番号 なおWindows環境ではローカルホストとしてlocalhostと127.0.0.1のどちらを指定しても同じですが、LinuxやUNIXではホスト名に対
RailsはDevid Heinemeier Hansson氏(以下、Hansson氏)が中心となって作成を続けているRuby製のオープンソースWebアプリケーションフレームワークです。まずはその概要について少し探ってみましょう。 Railsは、2003年の夏にHansson氏が作成を開始して、2004年にはじめて一般に公開されました。 それまでは「すぐに作れるけどゴチャゴチャしがちなPHPと、きれいだけど作るのに時間がかかるJavaを使ってソフトウェア開発をしていた」とHansson氏は語っています。そこで両者のいいとこどりをした「早くてきれいな」フレームワークを目指して開発をはじめ、現実のものにした結果がRailsなのです。
サーバが重いってどういうこと? 著者:ウノウ 尾藤 正人 2007/10/4 2007年10月の連載ランキング1位(一覧を見る) サーバ管理者だけではなく誰でも一度は経験したことがある「サーバが重い」という現象。一言で「重い」というのは簡単ですが、重いというのは具体的にどういうことなのでしょうか。 ここでいう重い・軽いは単一のベクトルで判断できるような簡単な代物ではなく、様々な要素によって発生する現象です。処理が重いからといって闇雲にハードウェアを増強するのは賢いやり方とはいえません。例えば、メモリ不足が高負荷の原因なのに、CPUを高速なものに変えても効果はほとんどないでしょう。 このような無駄な投資を避けるためにも、負荷の原因を特定して素早く対応策を講じるのはサーバ管理者にとって重要なスキルになります。本記事ではサーバ負荷の特定の仕方と対策の仕方について、簡単な概要を説明します。
ソーシャルゲームブームを皮切りにしてエンジニア不足が叫ばれるなか、主婦向けのレシピサイトという一見エンジニアからほど遠いWebサービスに、なぜ一流のエンジニアが魅力を感じて次々と集まってくるのか。その秘訣とエンジニアのスキルセットについて、クックパッド技術部長の小川伸一郎氏に伺った。 重力に引かれるように、いいエンジニアが集まってくる ――なぜクックパッドには優秀なエンジニアが集まるのか、その秘訣をお聞きしたいと思います。まず、小川さんはどうしてクックパッドに入られたのでしょうか。 外から見た時には、Rubyの業界で知れ渡った、優秀で知名度の高いエンジニアが、数多く在籍していたから、ということがあります。2010年頃に、当時技術部長だった井原さん(編注:井原正博氏)が、優秀なエンジニアを多数採用するという方向に舵を切りました。その頃から、RubyのコミッターやRuby界隈で知名度のある優秀
Dockerが利用される背景 今、世界中の開発者やIT部門において「Docker」(ドッカー)が注目されています。もともと、DotCloud社(現 Docker Inc.)が、開発者やIT部門をターゲットとしたアプリケーションやOSの開発・配備を行うための基盤ソフトウェアとして開発され、2013年にリリースされました。このソフトウェアは、オープンソースソフトウェアの「Docker」として公開され、その使い勝手の良さから、多くの開発者、IT部門の管理者で瞬く間に利用されることになりました。Dockerは、仮想化ソフトウェアにみられるような性能面での劣化を極力排除したコンテナ技術の採用により、仮想化ソフトウェアに比べ、極めて集約度の高いITシステムを実現することができます。しかし、このDockerが注目される理由は、ハイパーバイザー型の仮想化ソフトウェアに比べてのハードウェア資源の消費や性能劣
プロジェクト管理用のソフトウェアといえば、定番のMicrosoft Office Projectをはじめ、これまで様々な商用の製品が存在しました。一方で、従来からオープンソースのプロジェクト管理ソフトウェアにも様々なものがあります。 例えばソフトウェア開発に従事されている方であれば、Edgewall Software社が無償で提供している軽量バグトラッキングシステムの「Trac」を使ったことがあるのではないでしょうか(図1)。 ただし、このような従来のオープンソースのプロジェクト管理ソフトウェアの多くは、目的が限定されているものや基本的な機能のみを実装するものが多く、企業の汎用的なプロジェクト管理に使えるものが少ないのが現状でした。 その背景の1つとして、オープンソースソフトウェアがWebアプリケーション技術に依存しているケースが多く、ガントチャートなど視覚に訴える機能を実現することが技術
実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 本記事では、テストフレームワークとしてRSpecを採用します。RSpecをうまく活用すると、簡潔で読みやすいテストコードを書くことができ、Railsアプリケーションの保守性を高めることができます。 しかし、RSpecの用語法や表記法はやや独特で、慣れるまでには時間がかかります。読者の中にはとまどいを覚える方がいらっしゃるかもしれませんが、次章以降を読み進めるうえでの鍵となりますので、是非じっくりと読んで理解してく
筆者が勤務する株式会社はてなが提供するある一つのインターネットサービスを題材に、LAMP(Linux+Apache+MySQL+Perl)でのアプリケーション開発や、負荷分散について述べるという発表でした。はてなで提供しているサービスには、はてなブックマーク以外にもはてなダイアリー(注2)のような月間何億PV(Page View)もある大きなサービスもあります。はてなブックマークはそれらに比較すると小さい、中規模なシステムです。 システム運用について発表するにあたって、億単位のPVをさばく巨大なサービスについて述べるよりも、ある程度現実的な規模のものについて解説する方が、みなさんの参考になるかなと思い、このテーマを選択しました。 本稿ではYAPC::Asiaでの発表の中からいくつかのトピックを選んで、Perlを使ったシステムの運用や負荷分散のコツなどを中心に解説したいと思います。 なお、発
VMware ESX ≒ VMware ESXi? もはや、x86サーバー仮想化ソフトウエアの代名詞となり、多くの本番環境でも利用されるようになった「VMware ESX」(以下、ESX)ですが、その進化系とも言えるべき「VMware ESXi」(以下、ESXi)が、2008年7月より無償提供されることになりました。 現在、VMwareのWebサイトからもダウンロードできます。 本連載では、この無償提供されることになったESXiに焦点を当てその特徴や利用方法を解説していきます。 まずは、ESXiの位置づけから説明します。しばしば、ESXiはフルセットのESXよりも機能が少なく、非力であるという意見を聞きます。しかし、これは大きな間違いです。 ESXiの基本機能はすべてESXと同じです。肝心なハイパーバイザ部分のアーキテクチャも同じコードで構成されています。 これまでも、2005年12月に「
実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 インスタンス変数 「インスタンス変数」。単純そうで意外に奥が深い概念です。もう一度おさらいしておきましょう。 インスタンス変数とは インスタンス変数は、特定のオブジェクトが排他的に所有する変数です。そのオブジェクト自身だけがその値を参照できます。インスタンス変数という名前は、クラス変数との対比で用いられています。クラス変数は、あるクラスのすべてのインスタンスが共有する変数です。インスタンス変数は、それぞれのインス
次のページ
このページを最初にブックマークしてみませんか?
『[ThinkIT] オープンソース時代の企業システム選択ポータル』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く