タグ

ブックマーク / codezine.jp (42)

  • MySQL 8.0の再帰With句のサンプル集

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    MySQL 8.0の再帰With句のサンプル集
    Chisei
    Chisei 2023/04/12
  • Gitの内部構造をよく理解して、うまく使おう【基本の仕組みを解説】

    対象読者 Gitをより深く理解したい方 Gitの自作に興味がある方 Gitの内部構造を学ぶ意義 Gitの使い方を知っている人でも、それぞれのサブコマンドが実際どういった挙動をしているか、ましてや内部構造がどうなっているかを学んだことがある人は少ないかもしれません。というのも、Gitが内部を知らなくとも十分使える優秀なツールになっているからだと思います。 しかし、Gitの内部実装を知ることで、コマンドの挙動を正確に理解できるだけでなく、Gitを使っていて何らかの問題が起きたときにも、自分で対処できるようになります。そうしたGitの地力を鍛えるために、内部構造の把握は重要な要素になってきます。 また、今回の内容を学べば、Gitの大枠を実装することもできてしまうので、興味がある方はぜひ挑戦してみてください。 Gitについての誤解 それでは、まずGitについて多くの人が誤解しているであろう点を挙げ

    Gitの内部構造をよく理解して、うまく使おう【基本の仕組みを解説】
    Chisei
    Chisei 2023/02/25
  • DockerとSSHでセキュリティと手軽さを両立したリモート開発環境を構築する

    リモートワークが一般的になり、一方でさまざまな課題が生じてきています。特にコミュニケーションの課題などは多くの人に関係するため大きな関心を集め、急速にさまざまなソリューションが出てきています。一方で開発業務に目を向けると、少しずつ進みつつあるものの、デファクトと言えるほどのものもなく、情報もあまり共有されていないように思います。そこで、筆者がいろいろと試行錯誤をしながら行った施策について紹介したいと思います。 はじめに 今の開発現場ではDockerなどを使った仮想化コンテナを使うことが一般的になっています。そのため、ソースリポジトリ(Gitなど)と仮想化コンテナを使えば、各開発者が開発環境を構築し、業務を進められます。つまり、オフィスのPCを自宅に持ち帰るか、もしくは自宅のPC上で開発環境を構築してしまえばそれで問題は解決するのです。 しかし、どちらの方法もセキュリティや情報管理の観点から

    DockerとSSHでセキュリティと手軽さを両立したリモート開発環境を構築する
    Chisei
    Chisei 2022/12/29
  • Node.jsによるHTTP/1.1クライアント「Undici v4.0.0」がリリース

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Node.jsによるHTTP/1.1クライアント「Undici v4.0.0」がリリース
    Chisei
    Chisei 2022/08/09
  • イラストではじめる「Kubernetesってなに?」~Kubernetesが求められる背景と解決できる課題とは

    連載ではKubernetesの簡単な説明からはじまり、開発者の方にとってKubernetesを利用することで何が嬉しいのか、どのように開発フローが変わっていくのかについて、イラストを交えながら紹介します。今回は、Kubernetesとは何か、どんな特徴があるのかについて解説します。 はじめに はじめまして。サイボウズ株式会社のあおい(@_a0i)です。最近Kubernetesという単語を聞くシーンが増えてきましたよね。もともとインフラに関わっていなかった開発者の方でも、身近で聞くことが多くなってきたのではないでしょうか。 しかし、「最近Kubernetesについてよく聞くけれど、なんだろう?」「Kubernetesを使ってみたいけれど難しそう、どこから始めればいいかわからない」こう言った悩みを抱えている方もいると聞いています。連載ではKubernetesの簡単な説明からはじまり、開発者

    イラストではじめる「Kubernetesってなに?」~Kubernetesが求められる背景と解決できる課題とは
    Chisei
    Chisei 2022/03/01
  • TypeScriptを効率的に独習しよう! 無料で学べる「TypeScript Deep Dive」日本語版の翻訳者が学習法を解説

    TypeScriptは近年JavaScriptに代わってWebフロントエンド開発で利用されているプログラミング言語です。TypeScriptは開発生産性および開発者体験に優れていることから、開発現場で広く採用されています。TypeScriptを学ぶことは、今後のWebフロントエンド開発では、ほぼ必須といって良いでしょう。この記事ではTypeScriptを使うメリット、ならびに「TypeScript Deep Dive 日語版」を活用してTypeScriptを短期間で学習する方法を紹介します。 はじめに 筆者はSIer出身のITエンジニアです。ゲーム開発会社などを経由して現在は一般企業でエンジニアとして勤務しています。はじめてTypeScriptの重要さを知ったのは、2018年ごろに「TypeScript Deep Dive」を読んだときでした。そして、今後必ず多くの人に役立つと考え、オリ

    TypeScriptを効率的に独習しよう! 無料で学べる「TypeScript Deep Dive」日本語版の翻訳者が学習法を解説
    Chisei
    Chisei 2021/12/01
  • 動かして学ぶ! Rustの言語仕様

    はじめに 連載では、Webフロントエンド開発において注目されているバイナリ形式のプログラムファイルWebAssemblyを、Rustで実装して活用する方法を説明しています。前回記事では、WebAssemblyに至るまでのWebフロントエンド高速化の歴史を紹介するとともに、RustWebAssemblyを実装する大まかな流れを説明しました。 記事では、WebAssemblyの実装で必要となるRust言語の基礎を説明していきます。 対象読者 話題のRust言語について学びたい方 動的なWebページにさらなる速度を求める方 WebAssemblyに興味があるが、Rustのハードルが高いと思っている方 必要な環境 記事のサンプルコードは、以下の環境で動作を確認しています。 Windows 10 64bitrustup 1.24.3 cargo 1.55.0 サンプルコードを実行するには

    動かして学ぶ! Rustの言語仕様
    Chisei
    Chisei 2021/11/09
  • メルカリはなぜマイクロサービスへ踏み切ったのか? CTO 名村卓氏に聞く、組織とアーキテクチャの今とこれから

    急激な変化にも対応しうるソフトウェアのアーキテクチャとして注目を集める「マイクロサービス」。Webサービス系の企業をはじめとする先進的な企業が導入しており、急成長中のメルカリも格的に移行を開始した。「どのような背景でマイクロサービス化へと踏み切ったのか」「それに伴ってエンジニア組織はどのような改革を行なったか」、そして「今後はどのような組織を目指しているのか」など、エンジニアを牽引する立場であり、マイクロサービス化に伴う組織編成を担う、同社 執行役員CTOの名村卓氏に話を聞いた。 米国シリコンバレーで気がついた「組織のための技術」の可能性 ――メルカリは「グローバルテックカンパニー」を目指すと宣言し、2018年7月にはマイクロサービスの導入を発表しました。メルカリのエンジニア組織の改革において、名村さんが重要な役割を担われたと伺います。なぜ名村さん自身がその役割を担うようになられたのか、

    メルカリはなぜマイクロサービスへ踏み切ったのか? CTO 名村卓氏に聞く、組織とアーキテクチャの今とこれから
    Chisei
    Chisei 2019/07/03
    2ページ目を読みたかったけど会員登録が必要で躊躇した。
  • 秒間10万メッセージをさばけ! リアルタイム対戦バトルゲームを支える負荷試験の挑戦【Developers Boost】

    12月15日、翔泳社主催の若手エンジニア向けカンファレンス「Developers Boost(デブスト)~U30エンジニアの登竜門~」が開催された。企業の中核を担う30歳以下(U30)の若手エンジニアたちが登壇。その知識やノウハウを惜しみなく公開した。セッションで取り上げた「Arkサーバ」は、gumiのリアルタイム対戦ゲームを支えるリアルタイムサーバだ。対戦バトルゲーム「ドールズオーダー」でも、他ユーザーとの対戦時の通信処理にサーバが活用されている。Arkサーバの負荷試験における試行錯誤の歴史を、エンジニアの叶若帆氏がふり返った。 講演資料:リアルタイム対戦ゲームを支える リアルタイムサーバの負荷試験のリアル 株式会社gumi Technical Strategy & Development 叶 若帆氏 システムのQoSを把握するために、負荷試験は極めて重要 Arkはgumi社が自作し

    秒間10万メッセージをさばけ! リアルタイム対戦バトルゲームを支える負荷試験の挑戦【Developers Boost】
    Chisei
    Chisei 2019/01/21
  • 650円で買えるマイコンボード「Raspberry Pi Zero」でIoTをはじめよう! ~環境構築とLチカのレシピ

    はじめに 平 愛美(@mana_cat)と申します。業はITエンジニアで、6歳と2歳の子ども(男児)がいます。趣味でブログを更新しております。 なぜITエンジニアの私がRaspberry Pi ZeroでIoTをしているかというと、長男の言葉がきっかけとなっています。 長男が4歳だった頃、オモチャのプラレールをリモコン操縦できるコントローラーを持ってきて、「リモコンが壊れてしまった。ママはどうしてオモチャを修理できないの?」と泣いていました。泣いている長男を見て、IoTを使って「IoTプラレール」を実現できないかと思いました。 Raspberry Pi Zeroはプラレールの貨車に搭載できるサイズとしてもちょうど良く、価格も日円で約650円とお手頃だったためです。それから試行錯誤をしながら、電子工作とIoTにチャレンジして今に至ります。 この連載では、Raspberry Pi Zero

    650円で買えるマイコンボード「Raspberry Pi Zero」でIoTをはじめよう! ~環境構築とLチカのレシピ
    Chisei
    Chisei 2017/11/30
    面白そう。
  • SeleniumとWebDriverの最新事情~標準化が進み、さらに強力なテストツールへ! その影でSelenium IDEは……

    illustration by iwasawa これまでのSelenium さて、最新事情に触れる前に、記事をご覧の皆様は既によくご存知かとは思いますが、あらためてSeleniumとは何か、そして現在の形に至るまでの道をおさらいしておきましょう。 Seleniumは、Webブラウザの自動操作ライブラリです。人間がWebブラウザでやるような手作業を、自動的に再現できます。単純作業の自動化に利用できるほか、一般的な自動テストフレームワークと組み合わせることでEnd to End(E2E)テストの自動化を実現できます。Webアプリケーションのテスト作業で苦労されている方にとっては福音のようなライブラリですが、自動テストコードや実行環境の維持・実行時間などが大がかりになりがちで、利用コストは高めです。回帰テストの自動化など、繰り返し利用が多い用途への適用が特に効果的でしょう。 Seleniumの

    SeleniumとWebDriverの最新事情~標準化が進み、さらに強力なテストツールへ! その影でSelenium IDEは……
    Chisei
    Chisei 2017/07/27
  • Node.jsではじめるArduinoで人感センサ制御

    連載では、Web界隈のエンジニアを対象に、IoT(Internet of Things)と関係が深いハードウェアを使った実装を試す手順を紹介していきます。出来るだけ簡単な操作で試せる内容を目指しますので、デザイナーやディレクターといった職種の方もチャレンジしてみてもらえたら幸いです。第1回は、Node.jsを使って、Arduinoと人感センサーを操作してみます。 はじめに こんにちは、株式会社LIGというWeb制作会社でエンジニアをしている@n0bisukeです。IoTという単語をよく耳にするようになりましたね。これはハードウェアやセンサーなどを簡単に使えるプラットフォームが整ってきていることを示していると思います。 ただ、Webの技術者とハードウェアの技術はかけ離れている部分が多く存在し、まだまだWebエンジニアにとって優しい世界にはなっていないと感じています。 そこで「Web屋がはじ

    Node.jsではじめるArduinoで人感センサ制御
    Chisei
    Chisei 2016/01/09
  • 「ツールの利用者」から「設計者」になるために。『入社1年目からの「Web技術」がわかる本』著者インタビュー

    Web開発をするとき、ツールやフレームワークはとても便利です。しかし、日々の仕事に囚われて、それらの単なる「利用者」になってはいませんか? 今回『入社1年目からの「Web技術」がわかる』の著者、濱勝巳さんにプロとしてやっていくうえで最低限知っておくべきWeb開発の知識を網羅した書についてうかがいました。 翔泳社が8月21日(金)に刊行した『入社1年目からの「Web技術」がわかる』は、視覚表現からネットワークの基礎知識まで、Web技術を広く網羅した解説です。個別の要素技術やツールの使い方について説明した書籍がある中で、書ではWeb開発者や設計者が仕事をするにあたって知っておくべきWeb技術の全体像を描写しています。 著者の濱勝巳さんはアーキテクチャ設計などのコンサルタントを主業務とする株式会社アッズーリと、IT運用支援サービスを行う株式会社アジルコアの取締役。もともとエンジニア出身

    「ツールの利用者」から「設計者」になるために。『入社1年目からの「Web技術」がわかる本』著者インタビュー
    Chisei
    Chisei 2015/08/30
  • GitHub、リポジトリ内で利用されているプログラミング言語トップ10を発表。背後から伸びてきたのはあの言語

    GitHub.comはサービスを開始した2008年から毎年、利用言語のトレンドをトップ10として発表してきた。2008年はRuby on Rails人気を追い風としてRubyが第1位を獲得。以降、2012年までその地位をキープしてきた。 しかし、ずっと第2位に甘んじてきたJavaScriptが2013年になり、Rubyと入れ替わって第1位を獲得。以降、今年までトップをキープしている。 興味深いのは、Javaが着実に人気を上げていることだ。2008年には第7位にあったが、1年おきにランクを上げてきて、今年はついにJavaScriptに次ぐ第2位に就いた。背景には、Androidアプリケーション開発での利用が増加したことと、GitHubの利用や認知が広まるにつれ、エンタープライズ分野における利用が増えたことがあるようだ。 【補足】 Javaがランクアップした背景として、GitHub.comはこ

    GitHub、リポジトリ内で利用されているプログラミング言語トップ10を発表。背後から伸びてきたのはあの言語
    Chisei
    Chisei 2015/08/21
  • さよなら手作業・人海戦術! HTML5時代のツール「Selenium2」でWebシステムのテストを自動化

    シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。 シリーズのスコープと対象読者 シリーズはWebシステム・Webアプリケーションのテストの中でも「Webブラウザを操作して実施するテスト」をスコープにしています。開発工程としては、1モジュールとして単体テストに位置付けられる場合もあれば、複数のモジュールやシステムと連携して結合テストや総合テストに位置付けられる場合もあるでしょう。これらのテストのことを、シリーズ

    Chisei
    Chisei 2014/05/30
  • Fluentdで始めるリアルタイムでのログ有効活用

    はじめに Fluentdは、ログを収集し格納するためのログ収集基盤ソフトウェアです。Fluentdにインプットされた、すべてのログをJSONに変換し、アウトプットします。インプットとアウトプットはモジュール化されており、モジュールを追加することでインプット元とアウトプット先を追加できるようになっています。 Fluentdは急速に知名度を高め、多くのWebサービス会社で実際に使用されるようになりました。従来のログが抱えていた問題も、Fluentdが適切な解決策となっていると認知され、かつ簡単に導入・スモールスタートできるミドルウェアであったことが大きかったと思います。 稿では、Fluentdの簡単な仕組みと導入方法、シンプルな動作事例について紹介します。 対象読者 システム管理者 データサイエンティスト 必要な環境 UNIX系OS Ruby 1.9 ログを出力する理由 システム運用を始める

    Fluentdで始めるリアルタイムでのログ有効活用
  • プロトタイプ(prototype)によるJavaScriptのオブジェクト指向

    はじめに JavaScriptはオブジェクト指向言語です。しかし、そのオブジェクトの性質は、他に良く知られているオブジェクト指向言語のJavaC++と大きく異なっています。 そこでこの記事では、なぜそのような違いがあるのか、JavaScriptにおけるオブジェクト指向の言語思想を見ていくと共に、その違いの根幹であるプロトタイプについて解説していきたいと思います。 なお、この記事はJavaScriptの解説ですが、その内容は、標準仕様のECMAScriptで扱われる範囲に基づいています。従って、同じくECMAScriptを元にしている言語(JScript、ActionScript)でも通じる内容になっています。 対象読者 プログラミングの基的な知識、ならびにオブジェクトやメソッドと言った基礎的な概念については、ここでは解説しません。最低限、オブジェクト指向プログラミングについて理解をして

    プロトタイプ(prototype)によるJavaScriptのオブジェクト指向
    Chisei
    Chisei 2012/11/07
    なんとなく把握。
  • 大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~

    11月25日、「mobidec 2011」においてコナミデジタルエンタテインメントのスタジオITセンター長である正延光弘氏によるセッション「大ヒットSNSゲーム『ドラゴンコレクション』を支えるコナミのクラウド技術の活用」が行われました。 ドラゴンコレクションは、GREEで提供されている携帯電話向けのカードゲームタイプのRPG。プレイヤーは、エリアごとにある複数のクエストをクリアしていき、モンスターカードや「秘宝」を手に入れ、さらに「ドラゴンカード」を集めていきます。また、ほかのプレイヤーとバトルすることでも秘宝を入手できるというSNS要素も取り入れられていました。2010年9月のサービス開始後、順調にプレイヤー数を伸ばし、現在では登録人数が500万人を超えています。 サービス開始当初は社内でサーバを構築し、フロントエンドに6台のサーバ、バックエンドに3台のデータベースサーバ、そしてロードバ

    大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~
    Chisei
    Chisei 2011/12/28
    IIJ GIO採用か。
  • 10年後も世界で通じるエンジニアであるために Developers Summit 2012

    Special 10周年を迎えたデブサミ、この10年の間に私たちデベロッパーの世界は大きく様変わりしました。もはや王道と呼べるキャリアなどありません。自らの道は、自ら決し、進まなければなりません。それは、逆に、私たちがより自由に道を選べるようになったことに他なりません。Specialトラックでは、けもの道を往く先達たちの生き様に触れ、自分自身の戦略を見つめ直す機会、そして、これから行動を起こす我々の背中を押すようなセッションを用意しました。ともに、道を切り開いていきましょう。 開発プロセス 開発プロセストラックは、毎年、その年の開発プロセスに関係した旬の言葉や概念、取り組みを切り取ることを意識しています。今年のテーマに設定したのは「変わっていくシステム開発の姿」です。ここ数年で、クラウドの登場がシステム開発の価格も時間感覚も変えました。よりビジネスに寄り添うかたちでのアジャイルの再興もあり

    Chisei
    Chisei 2011/12/27
    来年も行く。
  • PHPUnitでできる単体テスト

    はじめに 単体テストとは、システムの構成要素であるクラスやメソッド単位での動作を確認する作業のことを言います。 Webシステムは基的に不特定多数に公開するものであり、公開前にはきちんとテストを行っておくことが重要です。 PHPにはテストツールとしてPHPUnitという単体テストのツールがあり、PHPUnitを利用するとクラス内のメソッドに対してテスト用のクラスを自動で生成し、効率よくテストすることができます。 PHPUnitを利用して単体テストする場合のプロセスは テスト対象となるクラス、PHPプログラムの作成 1.で作成したクラスからPHPUnit内のクラスを用いてテスト用のクラスを作成 2.で作成したテスト用のクラスに目的に応じてテストメソッドの実体を記述 テスト実行、結果の確認 となります。 記事では、連載第4回『GPS携帯を使った口コミサイト構築』の逆ジオコーディング処理をテ

    PHPUnitでできる単体テスト
    Chisei
    Chisei 2011/12/26
    読んだ。データプロバイダのところは参考になった。