タグ

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

  • 継続は力なり―大器晩成エンジニアを目指して 記事一覧 | gihyo.jp

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

    継続は力なり―大器晩成エンジニアを目指して 記事一覧 | gihyo.jp
  • Vue.js入門 ―最速で作るシンプルなWebアプリケーション 記事一覧 | gihyo.jp

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

    Vue.js入門 ―最速で作るシンプルなWebアプリケーション 記事一覧 | gihyo.jp
  • 2017年のCI/CDの動向 | gihyo.jp

    あけましておめでとうございます。ソフトウェア開発をめぐる環境は相変わらず日進月歩です。この変化に伴って、ソフトウェア開発そのもののあり方も変化を続けています。稿では、少し大きな視点から継続的インテグレーション(CI⁠)⁠・継続的デリバリ(CD)の最近の動向を紹介します。 CI/CDの大きなうねり 筆者がJenkinsに携わって12年になります。かつて、CI/CDの取り組みは、現在の機械学習やスケールアウト技術のような将来の可能性が注目される若い技術でした。ここ数年、この若い技術は、広く産業界で大規模に組織がかりで展開される成熟した技術に変貌してきました。 この背景にあるのは、ソフトウェア開発・運用全般における自動化のさらなる浸透です。このような自動化の進展は2つの側面から考えることができます。一つは、ソフトウェア開発に必要な様々な作業それぞれの「部品の自動化」という側面です。もう一つは、

    2017年のCI/CDの動向 | gihyo.jp
    Akineko
    Akineko 2017/01/04
  • 世界を目指せ!Androidアプリ開発入門 記事一覧 | gihyo.jp

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

    世界を目指せ!Androidアプリ開発入門 記事一覧 | gihyo.jp
  • Android Studio最速入門~効率的にコーディングするための使い方 記事一覧 | gihyo.jp

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

    Android Studio最速入門~効率的にコーディングするための使い方 記事一覧 | gihyo.jp
  • 第4回 rroongaを使ったソースコード検索エンジンMilkode | gihyo.jp

    はじめまして、おんがえしと申します。 今回は私が作っているソースコード検索エンジンのMilkodeにて、rroonga(とその内部で動くgroonga)がどのように使われているのかを紹介します。 Milkodeの検索画面 ソースコードを検索するということ プログラマの仕事はプログラムを書くことですが、同じくらい「検索する」ことは多いのではないでしょうか。 ある関数の名前を変えたいので使っている箇所をすべて見つけたい ライブラリの仕様が変わった。使っているコードはどこだったか? コードリーディング中。今読んでいる関数の実体はどこにあるのか? ベーマガを買ってゲームのプログラムを写経していた頃から時代は進み、WebにアクセスすればゲームやOS、Webアプリなどのソースコードを無料[1]で手に入れることができるようになりました。必要なものをソースコードから検索し、知識として取り込んでいく技術は今

    第4回 rroongaを使ったソースコード検索エンジンMilkode | gihyo.jp
  • 第1回 大規模データではRDBMSのどこがボトルネックになるのか? | gihyo.jp

    RDBMSはオワコン? 「右を向いても左を向いても“⁠ビッグデータ⁠”というキーワードが闊歩する時代に、いまさらRDBMSの話題?」 連載のタイトルを見てそう思われたかもしれません。 「ディスクベースのRDBMSはオワコン、これからは○○(お好きなアーキテクチャを入れてください)の時代だ!」 とおっしゃる方もいるかと思います。 しかし、むしろ多くの企業がビッグデータに注目しているおかげで、RDBMS側でも大規模データを取り扱うニーズが増えています。 大規模データを取り扱う時にボトルネックとなる5つのポイント 数百ギガバイトといったレベルのRDBMSであれば、現場のエンジニアの方にとってはあたりまえの世界でしょう。しかし、テラバイトを大きく超えたデータを扱う場合には、ボトルネックの傾向が変化するのはご存じでしょうか。 次の図は、RDBMSにまつわるボトルネックを示したものです。 図1 大規

    第1回 大規模データではRDBMSのどこがボトルネックになるのか? | gihyo.jp
  • 第16回 生産性を上げるソースコードの書き方 | gihyo.jp

    ソフトウェア開発の難しさ ソフトウェアの開発プロジェクトに少しでも関わった人は誰でも知っていると思うが、ソフトウェア作りで最も難しいのは「スケジュール通りにソフトウェアを完成させること」である。 バグがなかなか修正できず泥沼にはまってしまったり、変更され続ける仕様のために当初立てたスケジュール表がまったく役に立たなくなってしまったり、スパゲッティコードに頭を抱えたりということはよくある。出口の見えない状況でソフトウェアエンジニアが過酷な労働を強いられる状況を「デスマーチ」(⁠death march)と呼ぶが、そんな言葉が存在すること自体が、ソフトウェア作りの難しさを表している。 ソフトウェアの開発は「生産活動」ではあるのだが、建物を建てる、料理を作る、野菜を育てる、ハードウェアを組み立てるなどの生産活動とは大きく違うのだ。 建物の場合で言えば、明確に定義された「設計図」がある。そして、その

    第16回 生産性を上げるソースコードの書き方 | gihyo.jp
  • My SQLのエンジンはInnoDBとInnoDBのどちらを使うべきか? | gihyo.jp

    Linux-DBシステム構築/運用入門』(⁠翔泳社)をはじめ、MySQLに関する書籍を数多く執筆している松信嘉範氏による記事です。Webアプリケーションで使われることの多いRDBMSであるMySQLでは、主にMyISAMとInnoDBの2つのエンジンから選択できます。MyISAMのほうが高速でInnoDBはトランザクションに対応している、という違いはよく聞きますが、記事では最新の状況を踏まえ箇条書きベースで簡潔にまとまっています。 InnoDBは、リカバリが簡単でMyISAMに比べて時間がかかりません。また、オンラインバックアップができるなど、障害対応の観点から見て勝っています。さらに、MyISAMはテーブルロックであるのに対してInnoDBは行レベルでロックを行うため、並列性が高いことが挙げられます。 それに対してMyISAMは、WHERE条件なしのSELECT COUNT(*)がとて

    My SQLのエンジンはInnoDBとInnoDBのどちらを使うべきか? | gihyo.jp
  • もっと知りたいPython:第3回 WebフレームワークTurboGears, Django, Pylons|gihyo.jp … 技術評論社

    LLベースのWeb開発フレームワークは、Ruby on Railsをきっかけに大きく認知を広げました。PythonとWeb開発の歴史はとても長く、実に成熟しています。前回紹介したPloneのベースになっているZopeは著名なLLベースのWebフレームワークのひとつです。当時Boboと呼ばれていたZopeの開発が始まったのは1996年のことでした。10年以上前に、すでにオブジェクト指向Web開発を実践していたPythonistaの有能さには当にびっくりさせられます。 Python製Webフレームワークの新時代 Zope以外にも、Pythonには多くのWeb開発用のフレームワークが存在します。どのフレームワークも素晴らしいのですが、Zopeの存在が大きすぎたせいか、多くの開発者の支持を得ることはできなかったようです。 Zopeを筆頭にいくつものフレームワークが群雄割拠していた状況も、数年前か

    もっと知りたいPython:第3回 WebフレームワークTurboGears, Django, Pylons|gihyo.jp … 技術評論社
  • Gitに潜む光と闇 | gihyo.jp

    今年に入ってから、急速にGitが注目を浴びています。Google Trendsを見ると、Subversion、Mercurialなどに比べると圧倒的にGitの人気が高いのがわかります(図1⁠)⁠。 図1 Google TrendsによるGit(青⁠)⁠、Mercurial(赤⁠)⁠、Subversion(橙)の検索数 しかしながら、Gitを利用する人の意見は2つに分かれています。 A.わかりにくい B.すごく便利だ なぜこのようなに印象が二分されてしまうのでしょうか? 稿では、「⁠Gitに潜む光と闇」と称してこれらの意見に対して考察していくことにします。 Gitはわかりにくい? Gitがわかりにくいと思う人は、どうしてそう感じるのでしょうか。そのあたりのおおよその事情は下記のようなことだと考えられます。 (1)Subversionとコマンド体系が少し違う バージョン管理ツールとして、Su

    Gitに潜む光と闇 | gihyo.jp
    Akineko
    Akineko 2012/09/08
  • 第1回 外部サイトに貼り付けるJavaScriptの作法―ポリシー、速度、セキュリティ、プライバシー(1) | gihyo.jp

    フロントエンドWeb戦略室 第1回外部サイトに貼り付けるJavaScriptの作法―ポリシー、速度、セキュリティ、プライバシー(1) フロントエンドを考えるということ みなさんこんにちは。NHN Japanでエンジニアをやってますmalaです。livedoor Readerを作ったりJavaScriptを使ったUI(User Interface⁠)⁠、非同期処理、Webアプリケーションセキュリティ周りの仕事をしています。 この連載ではフロントエンド[1]を語るうえでは外せないJavaScriptを中心に、その周辺のUI・Webアプリケーションセキュリティを扱います。そして、ただ理想のフロントエンドを考えるだけでなく、具体的な実装を提案していくこと。これが連載最大の目的です。 第1回となる今回は、広告やブログパーツ、ウィジェットなど、外部ドメインに貼り付けられるJavaScriptを書くう

    第1回 外部サイトに貼り付けるJavaScriptの作法―ポリシー、速度、セキュリティ、プライバシー(1) | gihyo.jp
  • 第1回 Node.jsとは | gihyo.jp

    はじめに 連載では、注目を集めるNode.jsを使って、Webアプリケーションを様々なクラウド環境で動かすことを最終目的にしています。Node.jsに触れたことがないJavaPHPなど普段サーバサイドで開発されている方を主な対象として、まずNode.jsの概要から紹介していきます。 Node.jsとは Node.jsとは、ブラウザGoogle Chrome用に開発されたJavaScriptエンジンV8がサーバ上でプログラムを実行できるように、ファイルやネットワークI/Oなど多くの機能を追加したものです。軽量で効率よく多くのリクエストを処理するネットワークアプリケーションの構築ができるプラットフォームになっています。いわゆるサーバサイドJavaScriptの代名詞として注目を集めています。 Node.jsでは“⁠軽量で効率良く⁠”というのを実現するために次の2つのモデルを採用しています。

    第1回 Node.jsとは | gihyo.jp
  • Haskellで書かれたWebフレームワーク「Yesod」のチュートリアル | gihyo.jp

    YesodというHaskellで書かれたWebフレームワークで簡単なアプリケーションを作成するチュートリアル記事です。 最近は関数型プログラミングの評価が高まりHaskellの書籍や情報が増えてきましたが、Haskell自体や関数型プログラミング特有の概念がネックになり、アプリケーションを作り上げることを楽しむリソースがあまり多くありません。記事執筆者はこの問題点を指摘し、当の初心者向けに書かれたドキュメントが足りないことからこの記事を作成するに至ったようです[1]⁠。 Haskellの主要Webフレームワークには、Yesod、Happstack、Snapの3つがありますが、その中で比較的初心者が取り組みやすくコミュニティが活発なことからYesodを取り上げています。このチュートリアルを読むにあたって、他言語のWebフレームワークを経験しているのであれば特にHaskell自体の知識は必要

    Haskellで書かれたWebフレームワーク「Yesod」のチュートリアル | gihyo.jp
  • Haskell Advent Calendar 2011 | Gihyo Digital Publishing … 技術評論社の電子書籍

    Haskell Advent Calendar 2011 著者 Haskell Advent Calendar 2011 参加有志 著 発売日 2012年2月29日 更新日 2012年3月1日

    Haskell Advent Calendar 2011 | Gihyo Digital Publishing … 技術評論社の電子書籍
  • 第21回 MongoDB最前線!実戦投入の光と影と開発ノウハウ | gihyo.jp

    データストアの新たなカタチとしてNoSQLがブームになっていますが、その中で異彩を放っているのがドキュメント指向データベースである「MongoDB」です。サイバーエージェントでは、このMongoDBを比較的早い段階から実サービスで活用しています。そこで今回はMongoDBの使いどころや利用時の注意点について、サイバーエージェントの3人の技術者にお話を伺いました。 分散処理のしくみを最初から備えるMongoDB リレーショナルデータベース(以下RDB)ほど煩雑ではなく、分散KVS(Key-Value Store)ほどシンプル過ぎない第三のデータストアの1つとして、ドキュメント指向型データベースである「MongoDB」が挙げられます。GNU AGPLv3を採用したオープンソースソフトウェアであり、パフォーマンスが高くスケーラビリティにも優れているという特徴があります。また、JSON(JavaS

    第21回 MongoDB最前線!実戦投入の光と影と開発ノウハウ | gihyo.jp
  • 第25回 MongoDB最前線! 効果的なシャーディングとバックアップ | gihyo.jp

    「MongoDB」は、スキーマレスであることやスケールアウトが容易なこと、さらにレプリケーションのしくみが用意されているといった特徴から急速に人気を集めている、オープンソースのドキュメント指向データベースです。第21回で、MongoDBの基的なしくみや開発時における注意点などをサイバーエージェント技術者に解説していただきました。今回は後編ということで、運用時におけるポイントについて伺っていきます。 Ameba PicoやピグライフでMongoDBを実運用 サイバーエージェントにおいて、MongoDBはすでにいくつかのプロジェクトで活用されていますが、その1つにアメリカ向けのアメーバピグであるAmeba Picoが挙げられます。松下雅和氏は2011年1月に入社し、このAmeba Picoの運用にアサインされたことでMongoDBを使うことになったと話します。 「前職ではMongoDBを使

  • 匿名による告発「MongoDBは使ってはいけない」 | gihyo.jp

    「PASTEBIN」というコンソールの出力やエラーログ、ソースコードなどを張り付けて共有するWebサイトがあり、そこに投稿された内容が議論を巻き起こしました。「⁠Don't use MongoDB」というタイトルが付けられた文章には、ヘビーにMongoDBを利用しているユーザからの辛辣(しんらつ)な批判が綴(つづ)られていました。 告発者はプロジェクトにて数千万件ものユーザ管理にMongoDBを利用しており、これまで長い間10gen社(MongoDBの開発元)から最高レベルの)有償サポートを受けていたため黙っていたが、少しでも多くの人に警鐘を鳴らすべく立ち上がったそうです。MongoDBの扱いやすさやスキーマフリーなモデル、豊富な実績などに一定の評価をしつつも、大規模な環境で実際に動かさずに判断するのは時に重大な問題となり、MongoDBにはそれが向いていないと言い切っています。 具体的に

    匿名による告発「MongoDBは使ってはいけない」 | gihyo.jp
  • Cassandra、MongoDB、Redisなど主要NoSQL比較 | gihyo.jp

    ハンガリーの企業でCTOを務めるKristof Kovacs氏による記事です。各主要NoSQLプロダクトについて機能比較や利用ケースなどをまとめています。この記事ではCassandraやRedisなど6つのプロダクトを挙げています(表1⁠)⁠。 CouchDBは使い勝手に優れており、双方向レプリケーションやリアルタイム更新をサポートしています。Redisは非常に高速なことが売りで、トランザクションや変更監視の機能が備わっています。Cassandraは書き込みが読み込みよりも速いことから銀行や金融などのリアルタイムなデータ解析が必要になる分野で実力を発揮し、Cassandraと同じくJavaで作られているHBaseは億単位の行と数百万のカラムというBig Dataを扱え、月に1,000億を超えるメッセージを処理するFacebookのバックエンドに採用されています。 次々にプロダクトが生まれた

    Cassandra、MongoDB、Redisなど主要NoSQL比較 | gihyo.jp
  • 第212回 Git/Bazaarブラウザあれこれ | gihyo.jp

    明日から3月です。春です。春といえば出会いと別れの季節。「⁠出会い(merge)」と「別れ(branch)」を初心者でも効率よく行うために、グラフィカルなインターフェースを備えたGit/Bazaarクライアントをいくつかご紹介します。 Gitクライアント Gitは世界でもっとも使われている分散型バージョン管理システムです。Recipeの読者であれば、LinuxカーネルやGitHubなんかでお世話になっている人も多いことでしょう。Ubuntuでもgitパッケージをインストールすることで簡単に導入できます。 ちなみに、Gitは初期状態だと日語などのマルチバイトのファイル名を数値表現で表示します。git-gui/gitk以外のクライアントはこれを数値のまま表示してしまうため、日語ファイル名を含む差分を見るときに不便です。以下のコマンドで、数値表現に変更せずそのまま表示するように設定を変更して

    第212回 Git/Bazaarブラウザあれこれ | gihyo.jp