タグ

ブックマーク / thinkit.co.jp (15)

  • 高速でメモリーセーフなプログラミング言語、Rustの特徴を紹介

    メモリーセーフな低レベルプログラミング言語Rustを数回に分けて紹介してきたが、今回はRustのコアチームの一員であるCarol Nichols氏による解説動画を紹介したい。これまでCloudFlaireのエンジニアSteve Klabnik氏によるWebAssemblyRustに関するセッション、DropboxがPythonからRustに書き換えた事例、Microsoftが開発したKubernetes上でWebAssemblyのコードを実行するKrustletの記事、IBMが社内システムをNode.jsからRustで書き換えた事例などによってRustがモメンタムを獲得しつつある大きな流れを紹介してきた。 今回紹介するセッションは、RustのコアチームのエンジニアでInteger 32というRustに特化したコンサルティング会社を経営するCarol Nichols氏によるもので、2019

    高速でメモリーセーフなプログラミング言語、Rustの特徴を紹介
  • ESXiって何だ?

    VMware ESX ≒ VMware ESXi? もはや、x86サーバー仮想化ソフトウエアの代名詞となり、多くの番環境でも利用されるようになった「VMware ESX」(以下、ESX)ですが、その進化系とも言えるべき「VMware ESXi」(以下、ESXi)が、2008年7月より無償提供されることになりました。 現在、VMwareのWebサイトからもダウンロードできます。 連載では、この無償提供されることになったESXiに焦点を当てその特徴や利用方法を解説していきます。 まずは、ESXiの位置づけから説明します。しばしば、ESXiはフルセットのESXよりも機能が少なく、非力であるという意見を聞きます。しかし、これは大きな間違いです。 ESXiの基機能はすべてESXと同じです。肝心なハイパーバイザ部分のアーキテクチャも同じコードで構成されています。 これまでも、2005年12月に「

  • 共有フォルダの運用パラメーター

    共有フォルダ上のアクセス許可を継承したい 今回はSamba共有フォルダ設定に利用するパラメーターについて解説します。 Sambaでアクセス権を設定する場合は、smb.confに記載する共有アクセス許可とファイルシステムのパーミッションを利用します。さらに、CentOS 5.2であればこれらに加えext3のACLを利用します。 共有フォルダ上に作成したディレクトリ内にファイルを作成した場合、WindowsのNTFSであれば、上位のディレクトリのアクセス許可が継承されます。 Sambaの場合もこのアクセス許可の継承を利用できますが、デフォルトの設定では「継承が無効」(「inherit permission = no」「inherit acls = no」)になっています。また「create mask=0744」と「directory mask=0755」となっているため、同じグループのユーザー

    iww
    iww 2015/07/04
    force create mode を設定してもまだ実行属性が落とされる。 もう少し調べる
  • [ThinkIT] 第1回:外部ストレージの設定と運用について (3/3)

    iww
    iww 2014/09/17
  • 必読!ログファイルとディレクトリ

    それ以外のログファイル ここでは、/var/log/直下に配置されているログファイルのうち、前ページで説明したもの以外について説明します。具体的には、「/var/log/acpid」「/var/log/anaconda.log」「/var/log/anaconda.syslog」「 /var/log/dmesg」「/var/log/rpmpkgs」「/var/log/yum.log」の6ファイルです。 /var/log/acpidは、電源ボタンが押された際などに発生するACPIのイベントを処理するデーモンであるacpidのログファイルです。発生したACPIイベントと、イベントに応じたアクションのログが記録されています。 /var/log/anaconda.logと/var/log/anaconda.syslogは、インストーラであるanacodaのログファイルです。これらの他に、/root

    iww
    iww 2014/03/06
    /var/log/dmesgは、システム起動時からファイルシステムがマウントされる時点までの間にカーネルが出力したメッセージが記録されているファイルです。
  • SOAPを利用したWeb API

    続いてはSOAPを利用したWeb APIについて見ていくことにしましょう。SOAPはSimple Object Access Protocolの略で、XML-RPCと同じようにネットワーク越しにサービスを呼び出すためのデータのやり取りを決めた仕様です。ただしSOAPはXML-RPCと違って、やり取りはHTTPだけでなく、ほかのプロトコルも使うことができるようになっています。 SOAPの仕様の策定には、XML-RPCを作ったたDave Winer氏も関わっており、シンプルなXML-RPCに、より多くの拡張性を持たせたものだということもできます。 SOAPでは、XML-RPCと同様にHTTPのPOSTメソッドを利用してXMLデータのやり取りを行います。ただしやり取りされるXMLデータは、XML-RPCよりもやや複雑です。 まずはサンプルを見てみましょう(リスト12)。 リスト12:SOAPのリ

  • [ThinkIT] 第2回:Linuxの設定情報を取得する (2/4)

    はじめにLinux上の様々なシステム設定の取得について解説します。Linuxは比較的多くの設定を自由に管理を行うことができるOSといえます。当然設定可能な項目は多く、問題が起こる前にこれらの値を取得しておくことで混乱を防ぐことができます。 これよりあげる項目についてはシステム導入直後には必ず取得することにします。また、パフォーマンスをチューニングしていく際にパラメータを変更する必要がある場合が多くあります。そこで初期設定状態のパラメータを取得しておき、変更を加えた箇所との比較を段階的に行えるようにしておきます。 この設定については大きくわけてカーネル内部のパラメータ、プロセスとユーザのリミット、インターナル・プロセス・コミュニケーションの設定という3つの項目があります。これらの項目の詳細についてはDB2の具体的なチューニングの際に解説します。 カーネル内部のパラメータには様々な設定が存在し

  • [ThinkIT] 第5回:カーネルをチューニングする (4/4)

    メモリ関連のチューニング項目としては以下のようなものがあります。スワップの利用やダーティなページの扱いに関するパラメータがあります。意味や効果を理解した上で設定を行う必要があります。

  • [ThinkIT] 第8回:MySQL/OracleとLifeKeeperによるHAクラスタ化 (1/4)

    今回はOracle Database 10gとMySQLを例に、データベース(DB)のHAクラスタ化構成の概要について紹介していく。 まず各ARKによる構築の概要を述べる前に、LifeKeeperによるDBシステムのHAクラスタ化にあたって、事前の留意事項を表1にあげる。 アプリケーションがすでにインストールされていること 監視・切り替え対象のアプリケーションは、LifeKeeperの設定を行う前にインストールされている必要がある。またLifeKeeperでは、DBの死活監視をクライアントユーティリティから行うため、クライアントコンポーネントもインストールされていなければならない。 各アプリケーションにおけるサポートするバージョンの最新情報は、Release Notes(http://licensing.steeleye.com/support/docm.php)を参照して確認していただき

  • [ThinkIT] 第4回:ベンチマークツールを使った負荷テスト (1/3)

    table_cacheとは「MySQLサーバが開いた状態で維持できるテーブル数の最大値」をあらわします。「第3回:max_connectionsとthread_cacheのチューニングを行う」で取り上げたthread_cacheは、1度生成したスレッドを維持して再利用することによってスレッド生成にかかる負荷を低減するものでした。table_cacheも同様に1度開かれたテーブルをメモリ上に維持しておき、再利用することでテーブルを開くことによる負荷を低減します。 table_cacheは、デフォルト状態では以下の通り「64」に設定されています。

  • [ThinkIT] 第10回:メモリ管理で安定稼動 (1/3)

    一般に、データベースサーバにおいて、ページキャッシュ(ファイルキャッシュ)を管理することは、性能上あるいはシステム安定稼動の観点から重要です。 今回は、DB2がオンライン処理を実行中に、大規模ファイルアクセス(読み取り、書き込み)を伴う処理が実行される場合のメモリ管理を取り上げます。具体的には、Linuxページキャッシュ(ファイルキャッシュ)が大量に確保され、そのかわりにDB2のメモリがスワップされて、DB2がスローダウンしてしまうようなことを回避する方法について検討します。 DB2が利用するメモリは、そのパラメータ構成により上限のサイズを決めることができます。一方のLinux側におけるページキャッシュの最大利用量は、指定する方法がありませんので(Linuxソースコードを自身で修正することを除き)、一般的な対応方法としては以下のようなものが考えられます。 Linuxカーネルパラメータでの対

    iww
    iww 2008/06/16
    ファイルキャッシュの制御とか
  • [ThinkIT] Part3:MySQL拡張サポート(1) (1/2)

    iww
    iww 2008/05/29
    mysqliの使い方
  • OracleとPHPでウェブサイトを構築する

    複数のデータベースの名前はPHPではなく、Oracleの"tnsnames.ora"ファイルで管理するべきです。OCI8のログイン関数"ocilogin()"はユーザ名とパスワードが必要です。第3引数にはデータベースのホストを指定します。 筆者が関わったエンタープライズの大きな開発の環境では、開発サーバ、テストサーバ、番サーバの3つのサーバを使用していました。それぞれのサーバは異なるデータベースに接続します。テストサーバと開発サーバではテスト用のデータベースに接続しており、番サーバは番用のデータベースサーバに接続していました。 PHPのコードをサーバ間で移動すると、データベースに接続するコードがあると、実行するサーバによっては間違ったデータベースに接続することになり問題が発生します。例えば、コードをテストする時は、アプリケーションを開発サーバからテストサーバに移動して、バグを探します

    iww
    iww 2008/01/21
  • [ThinkIT] Part2:トライ!SQLite(1) (1/2)

    SQLiteは、簡易ながらSQL仕様をほぼサポートするデータベースソフトウェアです。PHPとこのSQLiteを組み合わせて、データベースWebアプリケーションを構築できます。 SQLiteは組み込み専用のDBMSで、PHP5からバンドルされています。SQLite単体はhttp://www.sqlite.org/から入手できます。SQLiteはパブリックドメインとして提供されており、無償であるだけでなく、ソースコードの改変や第三者への再配布も自由に行うことができます。 SQLiteの動作を一言で表せば、ファイル操作をSQL言語で行うようなものです。MySQLやPostgreSQLなどのデータベースサーバーと違って、サーバープロセスを起動する必要がありません。このため、気軽に利用できます。構成は1つのデータベースにつき1つのファイルから成り、ユーザーという概念はなく、アクセス制御などはOSのユ

    iww
    iww 2007/07/23
  • [ThinkIT] 第1回:SQLインジェクションによるデータベース操作 (1/3)

    SQLインジェクションでは、クエリなどの任意データを、データベースが実行するSQL文に挿入します。挿入されたクエリは、意図しないデータを検索したり、データベースの情報を変更したり削除したりするというように、様々な操作をデータベースに行います。問題を実証するために次の例を見てみましょう。 // 問題を実証するための入力 $name = "ilia'; DELETE FROM users;"; mysql_query("SELECT * FROM users WHERE name='{$name}'"); 上記の関数内では、ユーザが指定した名前とnameカラムの値が一致したデータをusersテーブルから取り出すことを想定しています。普通、$nameには、iliaといった文字列のように、アルファベットとスペースからできた文字列が格納されています。 しかしここでは、$nameにまったく新しいクエリ

    iww
    iww 2006/01/20
  • 1