サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
qiita.com/kyrieleison
$ mysql Can't create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug 上記のエラーが発生して MySQL に接続できなくなった場合、MySQL がメモリ不足となっている可能性があります。 メモリ使用量の計算 MySQL のメモリ使用量は、以下のような計算式で調べることができます。 このメモリ使用量が物理メモリサイズを超えると、メモリ不足が発生する可能性が高まるので、 物理メモリサイズを超えないように、バッファサイズとコネクション数を調整します。 グローバルバッファの設定 MySQL のバッファには、グローバルとスレッドの2種類があります。 グローバルバッファは MySQL
2017年11月15日に Truffle チームがリリースしたばかりの Ethereum 開発環境 Ganache を使ってみました。 Testrpc が消えた? 現在、testrpc の github リポジトリにアクセスすると、ganache-cli というリポジトリにリダイレクトされます。 README.md には下記のように書かれています。 Looking for TestRPC? If you came here expecting to find the TestRPC, you're in the right place! Truffle has taken the TestRPC under its wing and made it part of the Truffle suite of tools. From now on you can expect better s
仮想通貨・ブロックチェーン Advent Calendar 2016 の15日目の記事です。 ビットコインのプライバシー問題 昨今のビットコインの話題の一つに、プライバシー問題があります。 ビットコインは匿名性が高いと言われていますが、それは完全な匿名ではありません。 ビットコインには個人を表すデータはなく、ビットコインアドレスも現実の個人と結び付けられている訳ではありませんが、 例えば過去の取引記録や、利用するウォレットや取引所、IPアドレスなどのデータから、個人や組織が特定されてしまう可能性があります。 ビットコインのすべての取引はインターネット上に公開されているので、アドレスから過去の入出金先と入出金量の記録(いつ・誰が・誰に・いくらで)を、誰でも見ることができてしまいます。 その場合、個人であれば何にいくらお金を使っているのか、どれだけのお金を持っているのか、 企業であれば顧客から
AWS CodeDeploy を使ってデプロイを自動化したときの資料です。 Before EC2 + UserData AMIから新しいインスタンスを作成 UserDataでGithubからコードをpull Capistranoで自分自身にアプリをデプロイ ELBに新しいインスタンスを追加 ELBから古いインスタンスを退役 古いインスタンスを削除 ここが問題 インスタンスの作成〜削除が手作業 膨大な手順書 作業ミス スクリプトの終了がログ以外から確認できない サーバに入ってcloud-init-output.logを監視 After EC2インスタンスへのファイル配置とスクリプト実行の自動化・管理ツール CodeDeployの利用方法 事前準備 アプリケーションを作成 デプロイグループを作成 デプロイ対象 (EC2のタグ名 / AutoScalingGroup) デプロイ方法 (1台ずつ
Gaiax Advent Calendar 2016 の21日目の記事です。 ActiveRecord の find_or_create_by で苦労したので、それをまとめておきたいと思います。 まずは、以下のような状況を仮定します。 あるタスクが完了したら、その日分の TaskReport の count をインクリメントする その日分のTaskReportレコードがあれば更新する、なければ作成する CREATE TABLE `task_reports` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` date DEFAULT NULL, `count` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) task_report = TaskReport.find_or_create_by(date: Dat
この雑な文章は、Gaiax Advent Calendar 2015 の9日目の記事です。 こんにちは、図書委員長です 私は Gaiax という会社で、図書委員長を名乗りながら Rails エンジニアをしています。 最近 W3C CSS Module 仕様書もくもく会 に参加して「仕様書読むのっていいな」と思ったので、図書委員長らしく仕様書を読みます。 CSS 業界では素人ですが、よろしくお願いします。 W3C とは? W3C 仕様書とは? W3C (World Wide Web Consortium) について W3C は、Web 技術の標準化を進めている国際的な非営利団体です。 HTML や CSS といった Web 技術の仕様を議論する場を提供していて、仕様書も W3C が作っています。 W3C が「仕様決まったよ!」と宣言することを W3C 勧告といいます。 W3C 仕様書の生まれ
オープンソースのブロックチェーン Hyperledger Fabric を試してみる の続き Hyperledger Fabric の REST API を一通り試したときのメモです。 Bluemix 上の IBM Blockchain を使っています。 REST Endpoints Blockchain API GET /chain ブロックチェーンの現在の状態を取得するAPI Block API GET /chain/blocks/{block-id} ブロックチェーンから特定のブロックの内容を取得するAPI Transactions API GET /transactions/{UUID} ブロックチェーンから個々のトランザクションの内容を取得するAPI Network API GET /network/peers ピアノードの一覧と、それぞれのネットワークに関する情報を取得するAP
ビットコインのブロックチェーンを利用してドキュメントの存在証明を可能にする Factom というプロトコルを試してみましたので、紹介したいと思います。 Factom とは Factom はビットコイン 2.0 (ビットコイン技術を応用して、通貨以外の役割・機能を持たすことを主目的とした技術・プロジェクト)のひとつです。 改ざん不能性を持つブロックチェーンに、貸付記録や証券、保険、権利書などのあらゆるドキュメントをハッシュ値として記録することにより、「あるドキュメントがある時点において確かに存在した」ことを証明 (Proof of Existence) することを目的としています。 Factom の特徴 Factom は独自のチェーンと通貨 (Factoid) を持っており、独自のチェーン上の記録をビットコインのブロックチェーンに書き込むようになっています。ビットコインのブロックチェーンの上
オープンソースのブロックチェーン基盤の一つ、Hyperledger Fabric を試してみました。 環境構築からチェーンコードの設置・実行まで挑戦してみましたので、今から始める方の参考になれば幸いです。 Hyperledger とは Hyperledger (ハイパーレッジャー) とは、オープンソースのブロックチェーン技術推進コミュニティです。 ブロックチェーン技術とは、ネットワーク接続された数多くのコンピュータ群で分散処理/データ管理を行うことで、1つの巨大高性能システムと同等の機能を実現するという技術です。"変更不可能な形でデータを保持するデータベース" と表現されます。 Hyperledger Project は、The Linux Foundation のプロジェクトとして、これらの技術検証について、オープンソース精神に基づき、グローバルレベルで共同検証を実施し、デファクトスタン
チェーンコードの実装やアプリケーションの開発にあたって、開発環境が必要になります。 今回は開発環境の立ち上げを行ってみました。 開発環境を構築する3つの方法 Vagrant を利用 :note: http://hyperledger-fabric.readthedocs.io/en/latest/Setup/Chaincode-setup/#option-1-vagrant-development-environment Hyperledger Fabric リポジトリの devenv ディレクトリ下に、Vagrantfile とプロビジョニング用のスクリプトが用意されているため、それを使用して構築します。 Vagrant, VirtualBox をインストール refs: https://github.com/hyperledger/fabric/blob/master/docs/dev
オープンソースのブロックチェーン Hyperledger Fabric を試してみる の続き Hyperledger Fabric のチェーンコードを書いてみたときのメモです。 Bluemix 上の IBM Blockchain を使っています。 途中までのメモ書きなので、また随時書き足していく予定です。 チェーンコードとは チェーンコードは Fabric ネットワーク上にデプロイされ、トランザクションを処理するプログラムコードです。 Fabric では、スマートコントラクトをチェーンコードとして実現しています。 今現在、Fabric がサポートしているチェーンコードの開発言語は Go と Java で、JavaScript も近い将来に追加されるとのことです。 今回は Go を使ってチェーンコードを書いていきます。 開発言語については Q&A で取り上げられています: http://hy
オープンソースのブロックチェーン Hyperledger Fablic を試してみる を書いたときには、自分で EC2 上に環境を立てていたのですが IBM が Bluemix 上で提供している IBM Blockchain が、非常に敷居が低かったので紹介します。 Bluemix でサービスを作成・起動 まずは Bluemix のダッシュボードにアクセスします。 https://new-console.ng.bluemix.net/ 右上にある「カタログ」リンクをクリックし、blockchain で検索します。 1件だけヒットするはずなので、そのパネルをクリックしてください。 サービスの概要ページに遷移します。 ここで必要があればサービス名や資格情報名を変更してください(特に大きな影響はないようです)。 スクロールすると価格プランが出ます。 Starter Developer plan
今更ながら、Canvas をまともに勉強したことがなかったので、一からやってみました。 これまでの人生、 JavaScript は初心者の超えるべき壁をすっ飛ばして学んできたので、おさらいも兼ねて。 キャンバス上でクリックすると、その座標で図形を描画できるようになるチュートリアルです。 コードだけ見たい方はこちらを。 https://github.com/kyrieleison/canvas-tutorial/blob/master/index.html キャンバスを準備する <!DOCTYPE html> <html> <head> <title>canvas tutorial</title> <style> #canvas { background: #666; } </style> </head> <body> <canvas id="canvas" width="640" heig
これまで、開発者が「早く・それなりの UI 」を実現するために、Bootstrap などの CSS フレームワークが重宝されてきました。 しかし今では、React などのライブラリを使って UI をコンポーネント化するようになってきています。 React であっても、事前に CSS フレームワークを読み込んでおき、クラス名を付与することでこれまでと同じように使うことができます。 ただ、既存の CSS フレームワークは内部で jQuery を使用していることが多いので、React と jQuery を共存させるか、jQuery 部分を自前で実装しないといけません。 そこで React で「早く・それなりの UI 」を作れそうな React コンポーネントセットを手当たり次第に調べてみました。 Note: Web 向け UI の コンポーネントのみとなっています。React Native や
LoopBack とは LoopBackは Web API フレームワークです。 最近は、よりリッチなユーザ体験を提供するために、Web アプリケーションをSPA化する流れが強くあるなーと思います。 それと同時に、バックエンドとしての API サーバ構築の需要もすごく高まってきていて、LoopBack はその API の生成がとても簡単にできるフレームワークです。 Node.js 製なので、フロントエンドとバックエンドを JavaScript のみで記述できます。Universal Web App! Express がベースになっているのですが、大きな特徴として、モデルが生成されると同時に RESTful な API を自動で生成してくれます。 モデルの生成もジェネレータが用意されているので、一行もコードを書かずに API サーバを構築できます。 LoopBack の特徴 公式ドキュメント
以下の記事で HTML5 Canvas に入門しました。 http://qiita.com/kyrieleison/items/a3ebf7c55295c3e7d8f0 が、どうせなら描画した要素をドラッグでぐりぐり動かすくらいは、やってみたいところです。 やってみました。 コードだけ見たい方はこちらを。 https://github.com/kyrieleison/canvas-dragging-tutorial/blob/master/index.html キャンバスを準備する <!DOCTYPE html> <html> <head> <title>canvas tutorial</title> <style> #canvas { background: #666; } </style> </head> <body> <canvas id="canvas" width="640" h
最近聞かれなくなってきた Isomorphic JavaScript ですが、気付けば今は Universal JavaScript と呼ばれているらしいです。 そもそも日本語の記事が少なくて困ったので、色々調べたものを整理するために書きます。 とても簡単にふわっとまとめると、以下のような感じ。 SPA で問題となるのがSEO対策、初回ロード時間 SSR はこれを解決してくれるが、クライアントとサーバでロジックの重複が発生 同じコードをクライアントとサーバで実行しよう = Isomophic! 同じコードをネイティブアプリやデスクトップアプリや組み込みデバイスでも実行しよう = Universal! なぜ Isomorphic JavaScript なのか まず、なぜ Isomorphic という概念が出てきたのかについて。 シングルページアプリケーションにおける問題 2013年頃から、シ
React コンポーネントがデータを受け取ったり、ハンドリングしたり、表示したりするための主要な方法として、State と Props があります。 この二つの概念の違いを知ることは、React を効率的に利用するために役立ちます。 State: そのコンポーネントが持っている状態 Props: 親コンポーネントから渡されたプロパティ State (状態) mutable data (可変のデータ) maintained by component (コンポーネントによって保持) can change it (変更可) should be considered private (プライベートであるべき) State は可変のデータです。State の変更は、仮想DOMとの差分をとり、実際のDOMを更新し、コンポーネントを再描画するための基本的な方法となっています。 State はコンポーネン
この雑な文章は、2015年5月中旬頃に調べていた内容をほじくり返してきたものです。あしからず。 はじめに 何だか当たり前のように聞くようになったNode.jsですが、よくわからないので調べてみました。 ほぼ全く知らない状態から調べてます。ぜひ間違いや補足等あればご指摘よろしくお願いします。 Node.jsってなに? Node.jsはサーバサイドJavaScriptです。ノンブロッキングI/Oとイベントループという二つのモデルにより、大量の処理に対応できます。 この時点で「サーバサイドJavaScriptってなに?」「ノンブロッキングI/O?イベントループ?」と分からないことだらけなので、まずは四の五の言わず試してみます。 Node.jsでWebサーバを立ててみる Node.jsのインストールは、anyenvから行います。今回は最新版である0.12.2をインストールしました。 (注意・今現在
この雑な文章は、ChatOps Advent Calendar 2015 の11日目の記事です。 こんにちは、図書委員長です その昔、会社の新人研修で「社内ツール作ってよ。本の貸出管理するやつ」と言われ、エンジニアが本の貸し借りや購入依頼のできる(割と普通な) Web サービスを作りました。 でもそれだけじゃ面白くないので、どうするどうすると考えて生み出されたのが「ChatOps できる蔵書管理ツール」、通称書庫たんです。 新人研修が終わってからも、ちまちまと週末に書庫たんを開発、たまに「本がない」「登録して」などのお問い合わせに対応していたら、気付けば図書委員長と呼ばれるようになっていました。 そんなうちの書庫たんを紹介したいと思います。 なぜ蔵書管理を ChatOps したか 蔵書管理ツールを開発する上での勘所は「どのように本の貸し借りを行えるようにするか」です。 初めは図書館でよくあ
この雑な文章は、dots girl Advent Calendar 2015 の4日目の記事です。 今 CSS に何が起きている? CSS のシンプルなルール CSS は Web ページの装飾・レイアウトのための言語です。プログラミング言語と比べると、CSS は非常にシンプルなルールの元に成り立っています。 プロパティと値の組み合わせで、HTML にスタイルを適用する 上から書いた順にスタイルが適用される 詳細度の高い順にスタイルが適用される たったこれだけが、CSSのルールです。いわゆるカスケーディングってやつです。 CSS は壊れやすい しかし最近、至る所で「CSS の壊れやすさ」について触れられています。 壊れやすいCSS なんでCSSすぐ死んでしまうん メンテナブルでありつづけるためのCSS設計 CSS設計の長い夢 なぜ「CSS は壊れやすい」のか?それは、CSS を書けば書くほど
このページを最初にブックマークしてみませんか?
『@kyrieleisonのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く