運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。
みなさんはMySQLを運用していくうえで、クエリが詰まったり、長期実行されているクエリを強制終了した経験はありませんか? 今回はクエリが詰まった際にどのように対処するのかクエリを強制終了するやり方を紹介したいと思います。 KILL構文 MySQLでは、KILL構文を使って現在実行しているクエリを強制終了させることができます。 KILL構文は、KILL CONNECTION <processlist_id>、またはKILL QUERY <processlist_id>で実施することができます。この両者の違いは KILL CONNECTIONは接続を終了する KILL QUERYは実行中のステートメントは終了するが接続自体は残る となっています。 KILL QUERYではステートメントは終了されますがトランザクションは終了しません。そこで原則KILL CONNECTIONを利用するようにしまし
はじめに 前回までは、Linuxマシンのファイルバックアップを主に紹介してきました。Baculaのバックアップはマルチプラットフォーム対応なので、Windowsのファイルバックアップも可能です。一般のWindows PCのみならず、Windows Serverのファイルもバックアップできます。 今回は次のような内容です。 Windows用のファイルデーモンをインストール 管理サーバの設定 Windowsデータのバックアップ Windowsデータのリストア Baculaは、バックアップ対象のマシンにファイルデーモンのインストールが必要なソフトウェアです。Windowsマシンにも、ファイルデーモンであるbacula-fdをインストールします。また、第2回で作成した管理サーバの設定ファイルにも、Windowsマシンの情報やバックアップの定義を追加する必要があります。 インストール Baculaの
Java VMで監視すべき4つのポイント 前回は、システム運用者がJava VM(JVM)、アプリケーションサーバ、Javaアプリケーションから、ログ、JMXとMBean、ダンプを使用して情報を取得する方法を紹介しました。今回と次回では、JVMからどのような情報を最低限取得するべきか、詳細を紹介します。 システム運用者は、JVMが滞りなくアプリケーションを支援できているか、アプリケーションが動いているかを確認する必要があります。JVMは内部で管理しているさまざまなリソースに関する情報を持っていますが、システム運用者がそれらをすべてを監視することは不可能です。そこで、たくさんある情報の中から、次の4つのポイントに絞ってJVMの動きを監視します。 JVMがアプリケーションを中断することなく実行できているか JVMがアプリケーションのリソースを奪っていないか OSのリソースが十分に割り当てら
Javaアプリケーションはどのような要素で構成されているか これまでは、Javaによって実現している部分を「Javaアプリケーション」としていましたが、問題発生時には、その構成要素のうちのどこに問題があり、どこに問題がないのかを切り分けないといけません。 図1 Javaアプリケーションの構成要素 Javaアプリケーションは、大きく「アプリケーション」と「Java仮想マシン」に分けられます(図1中央)。また、アプリケーションのアーキテクチャによっては、アプリケーションサーバ上でアプリケーションを動かします(図1右)。 アプリケーション~さまざまなリソースを使用してサービスを提供する アプリケーションには、これまで紹介したWebアプリケーションだけではなく、バッチやマイクロサービスなど、さまざまな形態のものがあります。また、Javaだけではなく、JVM上で動作するさまざまな言語でアプリ
Vue.jsとは Vue.js(ビュージェイエス)は、インタラクティブなUIを構築するためのJavaScriptライブラリです。Webサイト内のウィジェットや管理画面のダッシュボードといったビュー(view)層に特化しています。設計の特徴としてMVVMパターンに影響を受けています。 Vue.jsは2013年にEvan You氏の個人プロジェクトとして開始、2014年2月にバージョン0.8が正式に公開されます。その後いくつかのリリースを経て、2015年4月にLaravelへの標準搭載決定を機に一気に知名度があがりました。2015年10月に1.0が、2016年10月1日(日本時間)に2.0がリリースされ現在に至ります。 Vue.jsの主な特徴には以下のものがあります。これらによって短期間で実用的なアプリケーションを作成できるため人気を集めています。 シンプルなAPIやHTMLベースの平易なテン
サービスが使えない状況があってはいけない 近年、私たちは有料無料を問わず、さまざまなサービスを利用できます。外出するときには地図で目的地を確認し、公共交通機関の経路を検索するか、車で通る経路を検索するのではないでしょうか。公共交通機関での移動中には、SNSやゲームをして友人達と交流を深めていることでしょう。仕事でも、会社内で承認を得るための申請サービスなどを使用しているのではないでしょうか。 これらのサービスは、たくさんのユーザーからのリクエストを、短時間で返さないといけません。もし、サービスが満足に使えなくなると、一部のユーザーがSNSで拡散し、その結果ニュースに掲載されてサービスのイメージが低下することもあります。サービスのイメージ低下はサービス提供者のビジネスに影響を及ぼすため、あってはなりません。そのため、サービス提供者は問題の発生をできる限り予防し、問題が発生した場合には即時に対
URLは、Webブラウジングを開始するという意味でも、Webに関連する技術の入り口という意味でも、Webにおける起点そのものです。 攻撃者の視点から見ると、多くの場合、URLは攻撃者自身によってコントロール可能です。その複雑な構造から、プログラム内でURLをデータとして取り扱う際にまちがいが発生しやすく、セキュリティ上の問題点を引き起こしやすい格好のねらい目、攻撃の起点であるとも言えます。 また、Webアプリケーションにおいてセキュリティを確保するためには、特定のリソースがそれぞれのWebアプリケーション自身と同一の保護範囲にあるものなのか、あるいは第三者の用意した可能性があり信用できないものなのかを区別して取り扱う必要があります。この境界条件は、Webアプリケーション自身の動作しているURLを基とした「オリジン」と呼ばれる範囲によって決定されます。 今回は、JavaScriptでのセキュ
前回は、Webアプリケーションにおける受動的攻撃の代表例として、以下の4つを挙げました。 クロスサイトスクリプティング(XSS) クロスサイトリクエストフォージェリ(CSRF) オープンリダイレクト クリックジャッキング 今回は、これらのうち、XSSについてより掘り下げて解説していきます。 XSSはどのようにして引き起こされるのか XSSとは、動的にHTMLを生成するWebアプリケーションにおいて、データをエスケープせずに出力しているために、生成されるHTMLに攻撃者の作成したHTML断片やJavaScriptコードが埋め込まれてしまう脆弱性です。 たとえば、検索画面にてユーザーが「HTML5」という文字列を入力すると、http://example.jp/search?q=HTML5というURLで検索結果が表示されるWebアプリケーションがあったとしましょう。検索結果の画面では、ユーザーが
はじめに みなさんこんにちは、セキュアスカイ・テクノロジーのはせがわようすけと申します。 周知のとおり、ここ数年のブラウザの機能強化は目覚ましいものがあり、CSS3やSVGを含むHTML5ブーム以降のブラウザ内での表現力の向上や、JavaScriptエンジンの最適化による実行速度の向上は、数年前では考えられないような目を見張るものがあります。また、HTML5の仕様策定後の現在でも、WHATWGやW3Cではさまざまな議論が継続的に行われており、これまでブラウザ上に存在しなかったような多様なAPIの仕様が生み出され、各ブラウザに日々実装されています。 利用者視点だけでなく、以下のような開発者視点での需要に応えるフロントエンド開発環境の改善も、ここ数年でかつてないほど大きく進んでいます。 CoffeeScriptやTypeScriptに代表されるaltJSと呼ばれる言語処理系の登場 ES2015
2016年2月6日、東京ミッドタウンのヤフー株式会社にて、日本Seleniumユーザーコミュニティ主催による「第3回日本Seleniumユーザーコミュニティ勉強会」が開催されました。今回は、2015年9月発行の『Seleniumデザインパターン&ベストプラクティス』で監訳を務められた玉川紘子氏・太田健一郎氏、2016年2月に発売された『Selenium実践入門』の著者である伊藤望氏・戸田広氏・宮田淳平氏を筆頭に、Seleniumを使って最先端で活躍しているエンジニア9名が登壇し、熱い思いや事例を参加者と共有しました。 ごあいさつ(伊藤望氏) 日本Seleniumユーザーコミュニティの主宰者である伊藤望氏による開会のあいさつがありました。勉強会をはじめとするコミュニティの活動が活発であり、人数も拡大しているというお話に続き、勉強会申込者アンケートの結果が発表されました。 伊藤望氏 アンケート
GitBookはMarkdownで記述しGitで管理しているドキュメントを、簡単にHTMLやPDF、EPUB、MOBIなどで公開できるサービスです。今回はこのGitBookで使われているgitbookコマンドを用いて、Ubuntu上でドキュメントを生成する方法を紹介します。 今風な文書執筆・公開環境としてのGitBook 人類の進化は文書の作成と共にあります。より良い文書の存在が、質の高い教育、確実な情報の伝達、技術や文化の進歩を導いてきました。本連載が掲載されているgihyo.jpでも、今年の新春特別企画に「ドキュメントの構造化による、良いドキュメントの作成方法」が掲載され注目を集めているように、いかにより良い文書をよりお手軽に作成できないか苦心されている方も多いことでしょう。 今回紹介する「GitBook」は、技術者であれば使っている人が多いであろう「Git」と「Markdown」を使
みなさんこんにちは。teratail開発チーム デザイナーの平井優です。 Webサービスの制作において、閲覧者にとって情報を視覚的に伝わりやすくするためにはページのスタイル調整が欠かせないと思います。そんな重要な役目を担っているのがCSS(Cascading Style Sheets)というスタイルシート言語です。CSSを利用すればHTMLで記述された文書を読みやすくするだけでなく、3D、アニメーションなどのリッチな表現も可能になります。 そんな便利なCSSなのですが、長期的に運用していると予想外の不具合や、ほんの少しの変更をするだけで見た目が大きく崩れてしまうといった問題がしばしば起こってしまいます。 [参考]teratailでの質問件数(2015/12時点) CSS:761件 CSS3:327件 今回は、そういった不具合によって“後で困らない”ために、「CSSの設計」の基本的な考え
あけましておめでとうございます。 ソフトウェアを開発し公開する場合、ドキュメント(マニュアル)を作成することが求められます。しかし、良いドキュメントを作成する方法というのはあまり知られていません。どのようにすれば良いドキュメントを作成できるのでしょうか? 本稿では、ソフトウェアと同じくドキュメントを要素と性質に構造化することで、良いドキュメントを作成する方法を紹介します。そして、その要素と性質に対してアプローチを行っているESDocというJavaScript(ECMAScript2015)向けのドキュメンテーションツールについても簡単に紹介します。 対象とするドキュメント ドキュメントと一口にいっても仕様書、設計書、マニュアルなど様々な種類が存在します。そこで、本稿が対象とするドキュメントを「ライブラリやフレームワークなどを開発するソフトウェア開発者自身が、そのソフトウェアの使い方をエンド
前回の(1)はこちらから。 WebアプリケーションをDocker化するときの考え方 Dockerの基本がわかったところで、(2)では、WebアプリケーションをどのようにDocker化していくのか、なぜDocker化するのかについて説明します。 WebアプリケーションのDocker化の方針 Webアプリケーションを動作させるためには、中心となるWebアプリケーションサーバに加えて、データベースサーバ、KVS(Key-Value Store)サーバ、プロキシサーバなどが必要なことが多いでしょう。 まず、これらのサーバすべてをDocker上で動作させるという方針と、一部のサーバ、たとえばWebアプリケーションサーバのみをDocker化するという方針があります。次に、すべてのサーバを1つのDockerコンテナ内で動かすという方針と、各サーバをそれぞれ別のDockerコンテナ内で動かすという方針が
みなさんこんにちは、teratail開発チームの本橋です。 みなさんはシステム開発をする時、どのようなエディタを利用しますか。 もちろん開発するシステムの規模や言語、プラットフォームによって選択するエディタは変わってきます。VisualStudioやAndroidStudio, Xcode, Eclipse, IntelliJ IDEAなどのIDE(統合開発環境)や、Atom, Sublime TextなどのGUI上で動くテキストエディタ, そしてUNIX系OSで広く利用されているVim、Emacsなど、さまざまなものがいろいろな場面で選択されています。 本日は、特にUNIX系OSで設定ファイルの編集からシステム開発まで利用されるテキストエディタであるvimについての基礎を見なおしてみましょう。 vimの実際の操作方法や便利なプラグインなどは別の記事に任せるとして、本稿ではどういう時にどう
勉強用のMySQLをいじっている時に、「もとに戻せない操作しちゃったけど戻せない……」ということはありませんか? MySQLのDDL(DROP TABLEやALTER TABLEなどの、定義を変更するためのステートメントのことです)はトランザクション非対応なので、一度DROPしてしまうとロールバックすることはできません。それどころか、DDLが実行される直前に「暗黙のコミット」が走る作りになっているので、トランザクションの最中にDDLを実行してしまうと、そこまでの操作はコミットされてしまうのです。そしてデフォルトでオートコミット……うっかりの種はどこにでも転がっています。 今回は、「勉強用のMySQLのテーブルをコピーしてバックアップする」「ついでにデータディレクトリーの構造を勉強する」がテーマです。 デモンストレーション環境について 今回利用している環境は、第2回 MySQLにはじめ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く