タグ

ブックマーク / qiita.com (129)

  • 最強のSSH踏み台設定 - Qiita

    追記:openssh-7.3 以降なら ProxyJump や -J が使えます ホスト名を + で繋げることで多段Proxy接続も簡単に、がコンセプトだったエントリの設定ですが、OpenSSH 7.3 から ProxyJump という設定が使えるようになったので、使えるなら ProxyJump を使う方が健全だし柔軟で使い勝手も良いのでそちらを覚えて帰ることをオススメします。 使い方は簡単で以下のような感じです。多段も行けるし、踏み台ホスト毎にユーザ名やポート番号を変えることも出来ます。 # 1. bastion.example.jp -> internal.example.jp ssh -J bastion.example.jp internal.example.jp # 2. bastion.example.jp -> internal.example.jp -> super-de

    最強のSSH踏み台設定 - Qiita
  • goからiOSまで一人でアプリ開発をしてたらいつの間にかマインクラフトエンジニアになった話 - Qiita

    by @mixiappwchr おしゃべりマルチとは 今回UUUM株式会社様からアプリ開発の受託をうけ おしゃべりマルチ という音声チャットをやりながら、マインクラフトPE など、ゲームのマルチプレイができるというアプリをリリースさせていただきました。 マインクラフトだけではなく、モンストや、白プロジェクト、その他マルチゲームで使ってもらえると楽しいアプリとなっています。 主な設計 今回 複数のサーバーをくみあわせて、音声チャットマルチプレイを実現しています。 3つのサーバーとアプリが連携 APIサーバー 音声サーバー マイクラプロキシ兼リアルタイムイベントサーバー の3つが協調して動きアプリにサービスを提供します。 来マイクラマルチは同一内WiFIだと気軽にできるのですが、インターネット越しとなると、ルーターのポートを解放したり、なんだかんだ面倒な点が多いのですが、このアプリをいれる

    goからiOSまで一人でアプリ開発をしてたらいつの間にかマインクラフトエンジニアになった話 - Qiita
    abyssgate
    abyssgate 2015/09/17
  • エンジニアなら知っておきたい lessコマンドtips 11選 - Qiita

    タイトルはかなり挑戦的(?)ですがあまり気にしないでください。 ※注意 このエントリで紹介しているオプション、コマンドはCentOSでしか動作確認をしていません。 その他ディストリビューションや、インストール方法によっては挙動が異なる場合があります。 「less」 使ってますか? エンジニアなら普段Linuxに触る機会が多々あるかと思います。 エンジニアのみならずMacだったりUbuntuだったりで私用PCでもターミナルが使えるようになっている方は多いかもしれません。 私は普段の仕事ではサーバの運用管理をしています。 仕事柄触る頻度が高いのはLinuxサーバです。 そして、使うのは大体CLIです。 そもそもLinuxGUIを触る機会がなかなかありません。 大体リモートからターミナルで接続してCLIでちょいちょいっと処理をする感じですね。 GUIである場合でもLinuxを使っていればターミ

    エンジニアなら知っておきたい lessコマンドtips 11選 - Qiita
  • Docker の WebUI 作りました - Qiita

    Docker、コマンドラインでの操作が一般的ですが どうしてもGUIがほしくてWebUI作りました。 もちろん世の中にはいくつかすでに実装があって とかやればたくさんスターがついたよさげなのはあるものの ほしい機能がなかったので forkせず re:Inventしました。1 やれること 1. ブラウザからDocker操作できます http://localhost:9000/ http://localhost:9000/images 状態、検索文字列でコンテナを検索 コンテナに inspect, top, stats, logs, diff, rename, commitコマンド実行 コンテナの start, stop, restart, rm 新規 Dockerイメージの pull 検索文字列でローカルにあるイメージを検索 イメージに inspect, history, tag, rmiコ

    Docker の WebUI 作りました - Qiita
  • Dockerで即実行できる、社内・自宅向けオープンソースWebアプリ - Qiita

    デスクトップアプリケーションに比べるとWebアプリケーションの導入は面倒だが、DockerやVagrantの登場によって敷居が低くなっている。誰かがDockerHubへ使いやすいイメージを公開してくれたり、Webアプリの開発元がDockerfileを公式に提供しているケースが増えてきているためだ。 この記事では、筆者が実際に使用したことのあるWebアプリの一覧と、docker-composeの設定ファイル(またはDockerfile)をまとめる。既にDocker環境が整備されている状態であれば、YAMLファイルやDockerfileをコピペしてdocker-compose up -dするだけで自動的にWebアプリケーションが起動する。(もし動かなかったらスミマセン) セキュリティとかは考えていないので、LAN内のみでの使用を想定 記載の設定では、永続化データはDockerが動作しているマシ

    Dockerで即実行できる、社内・自宅向けオープンソースWebアプリ - Qiita
  • フレームワークに見る Web セキュリティ対策 - Qiita

    セキュキャン 2015 高レイヤートラック(Jxck) 資料は、セキュキャン 2015 高レイヤートラックの講義資料です。 セキュキャン参加者であるセキュリティエンジニアの卵を対象に、 Web のセキュリティの知見が、実際どのように Web アプリ開発に反映されているか、もしくはどう反映すべきかを、フレームワークの視点から解説することを目的としています。 将来、 Web のセキュリティに興味を持ったエンジニアが、その知見を多くの開発者に啓蒙する手段として、フレームワークに反映するというのは非常に有効な方法です。 ここではその実例として Rails を例にとり、 Rails がこれまでに積み上げてきたセキュリティに関する知見を振り返るとともに、フレームワークとしてそれをどう取り入れているかを解説します。 Intro Web アプリケーションを開発する場合、 Web アプリケーションフレーム

    フレームワークに見る Web セキュリティ対策 - Qiita
  • 並列に実行するんだけど並列度も制限したい時 - Qiita

    まあ例を挙げて話したほうがわかりやすい気がするので例をあげると、たとえばあなたはオンプレミスからコンテナまで総計数千台のホスト的な何かで構成されたシステムを管理する必要があります、と。この規模になってくると当然日々何かが壊れては何かが直っていくのはそういうものですね。で、じゃあ、刻一刻と変わる管理台帳と実際の環境の整合性をチェックすることを考える、と。すると要件としては、 管理台帳から存在するはずのホスト名とそのIPアドレスの一覧を引っ張ってくる そこからまずホスト名をババババと名前解決して管理台帳どおりのIPアドレスが解決されるか確認する 次にそいつらが生きてると限らんので、解決されたIPアドレスに向かってICMP Echoパケットをババババと打ちまくって反応を見る ping応答あった「なにか」が、当に管理台帳どおりのホストとは限らないので、とりあえずsshで入れるか確認する 入れたら

    並列に実行するんだけど並列度も制限したい時 - Qiita
  • ターミナルのディレクトリ移動を高速化する - Qiita

    tl;dr よく使われるコマンドの一つに cd コマンドがあります。ターミナル生活の 80% 近くは cd と ls である、という英文記事を何処かで見かけました。それを効率化しようという Tips です。 目的 cd はよく使われるのに使い勝手が悪いコマンドである気がしてなりません。cd コマンドは有効なパス(相対パス、絶対パスは問わず)しか解釈してくれないからです。つまり、存在していて尚且つパスが解決できるものに限るのです。例えば、ホームディレクトリにいるときに、/home/lisa/work/dir に行こうとして cd dir とだけタイプしても no such file or directory (そんなディレクトリは見当たらないよ!)と言われてしまいます。きちんとした経路でなければならないのです。いちいちパスを覚えていない場合や、部分的にしか思い出せない場合には結構面倒ですよね

    ターミナルのディレクトリ移動を高速化する - Qiita
  • Docker 入門ハンズオン資料 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Docker 入門ハンズオン資料 - Qiita
  • confdでちいさく始めるインフラ構築の自動化 - Qiita

    はじめに 最近ではInfrastracutre as codeやImmutable Infrastructreの考え方によるインフラ管理が浸透してきました。 ChefやAnsibl、最近ではItamaeといったプロビジョニングツールの選択肢が増えてきとはいえ、未だに敷居の高さを感じ導入に踏み切れていない方も多いのではないでしょうか。 そこで今回はお手軽に始められるインフラ構築ツールとしてconfdについてまとめてみました。 confdとは goで書かれた設定ファイル管理ツールです。 kelseyhightower/confd 主要機能は設定ファイルのテンプレートエンジンなのですが、設定ファイルの生成前後で外部コマンドを実行することが可能です。 そのため 設定反映のための前処理 設定ファイルの自動生成 設定反映のためプロセス再起動 といった一連の作業を担わせることができます。 また、構成もシ

    confdでちいさく始めるインフラ構築の自動化 - Qiita
  • なぜ iPhone の画像は Android の画像よりもずっと高品質なのか - Qiita

    AndroidiPhone との比較は多くの点で議論されており、どちらがより良いかは、Android の画像の質は iPhone とくらべてずっと劣るという点を除けば、未だ結論が出ていません。Facebook、Twitter、Instagram 等どれを使っていても、写真をとって、フィルタをかけて、ソーシャルネットワーク上に公開すると、いつも Android から投稿される写真は画質が劣化しています。しかし何故でしょう? 私達は昨年の間調査をし、そしてついに、Google が犯したほんのちょっとしたミスが原因であることを突き止めました。それは当にちょっとしたミスでしたが、その影響はすべての画像を扱うアプリケーションに波及するほど大きく、現在に亘っても影響が続いています。 問題は、libjpegです。 libjpegといえば、数多くのオープンソースプロダクトでも使用されており、And

    なぜ iPhone の画像は Android の画像よりもずっと高品質なのか - Qiita
    abyssgate
    abyssgate 2015/06/30
  • 俺の最近のRailsのJS開発環境を教えてやる - Qiita

    はじめに railsのsprocketsがキツイ。特にjsファイルが多くなると開発がとっってもキツイ。 layoutに こうやってるだけでも出力されたhtmlにはscriptタグが30個ぐらいならんでて、ページの読み込みに10sec以上かかる。 だけど、単にapp/assets/javascriptsをgulp watchとかはしたくない。 なぜならビルドはブラウザのリロード時に変更がある場合だけして欲しかった。 あとwindow.AppNamespace以下にモジュール追加していくのも辛い。 モジュール同士の依存関係もよくわかんないし、何よりwindow.AppNamespace.Modules.UserList.ItemViewとか長すぎ! browserify-railsってやつ使ってみた browserifyがrailsの仕組みの中で動くようになる。 browserify-rail

    俺の最近のRailsのJS開発環境を教えてやる - Qiita
  • もう逃げない。HTMLのviewportをちゃんと理解する

    <meta name="viewport" content="width=device-width,initial-scale=1"> と呪文のように書いてきたが、いい加減ちゃんと整理して理解しよう。 いろいろ調査した結果、以下の考え方で理解できると思う。 まず、実際の液晶の解像度は一旦忘れろ。 <meta name="viewport" content="width=480">と指定したとする。 するとそこに幅480pxの仮想的なウインドウが作られる。幅480pxの液晶モニターがあることをイメージして欲しい。これをviewportと呼ぶ。 ブラウザはviewportにレンダリングする。viewportの中では、あたかも当に480pxのモニターを使っているかのような環境になっている。なので、JSのdocument.documentElement.clientWidthなんかも480を返す

    もう逃げない。HTMLのviewportをちゃんと理解する
  • SlackとIRCを相互リレーする話 - Qiita

    この記事は Slack Advent Calendar 2014 - Qiita の 13日目の記事です。 皆さん、Slack使ってますか? 非エンジニアにも使いやすくて、ログの検索やファイルのアップロードもできてbotとの親和性の高いSlack、最高にイケてるサービスだと思います。 ただ、このSlackを導入していくにあたって、自分が務めている会社では一つ障壁がありました。それは、 エンジニアの圧倒的なIRC文化 です。エンジニアはどんな仕事をするにあたってもとにかくIRC。みんなZNCを立てていたり、IRC上のチャットオペレーションでリリースフローやデプロイをしてくれるボットまでいたりするという現状。 この状況が、IRCからSlackへの移行を難しくしていました。また、Slackの便利さに釣られてSlack移行してしまった人が現れたせいで、今度はIRCサイドとSlackサイドに別れてコ

    SlackとIRCを相互リレーする話 - Qiita
  • 一人React.js Advent Calendar 2014 - Qiita

    React.jsについての基的なところを書いていきます! 公式読めばわかるようなことが多いですがReact.jsに興味をもつきっかけにでもなれば...。 v0.12.1で確認しています。 こっちは一人で書くように作ったものなので書きたい人はVirtualDOMに書くといいと思います。 (書く人がいなくて1人で書いているわけではない) この記事は古いので下記の更新情報も参考にしてください http://blog.koba04.com/post/2015/03/05/react-js-v013-changes/ http://blog.koba04.com/post/2015/09/22/react-js-v014-changes/ http://blog.koba04.com/post/2016/03/09/react-js-v15-changes/ http://blog.koba04.

    一人React.js Advent Calendar 2014 - Qiita
  • モダンJavaScriptアプリケーション開発 in Salesforce - Qiita

    はじめに HTML5でのアプリケーション開発は、エンタープライズ向けアプリケーションでも当たり前のようになってきました。これはSalesforceにおけるアプリケーション開発でも同じです。 Salesforceでのアプリケーション開発はVisualforce/Apexで行うというのが数年ほど続いてきたので、HTML5つまりJavaScriptを主体とするアプリケーション開発にはなれていないベンダーも多数あるかと思います。自分は創業当時からJavaScriptでのSPA(Single Page Application)をメインプロダクトに据えた会社を運営しており、Salesforceのパートナーとしても長いことやっていますので、このあたりのノウハウは比較的多い方です。そのためこのエントリはそれなりに説得力を持ってお届けできるとは思います。 真っ先に行うべきこと もしあなたがSalesforc

    モダンJavaScriptアプリケーション開発 in Salesforce - Qiita
  • webpack で始めるイマドキのフロントエンド開発 - Qiita

    webpack とは webpack は WebApp に必要なリソースの依存関係を解決し、アセット(配布物)を生成するビルドツール(要するにコンパイラ)です。JavaScript だけでなく、CoffeeScript や TypeScriptCSS 系、画像ファイルなどを扱うことができます。 WebApp のビルドツールは Grunt や Gulp が有名です。これらは基的に、ビルド手順をタスクという形で自ら定義する必要があり、フロントエンド開発に馴染みのない開発者にとっては敷居が高いものでした(少なくとも、自分はそうでした)。 webpack を使えば、Grunt も Gulp も必要ありません!覚えるべきことはほとんどありません。(必要なら)簡単な設定ファイルを書いて webpack コマンドを実行するだけです。 以下では基的な使い方を見ていきます。 ※もちろん Grunt/G

    webpack で始めるイマドキのフロントエンド開発 - Qiita
    abyssgate
    abyssgate 2015/04/07
  • Vim に惚れるシーン(エディタ内で ちょっとした計算をする) - Qiita

    シーン 4 今回は小技の紹介です。(「実践 Vim」にまんま載ってたりします...) 文書を書いている途中で、ちょっとした計算をしたいケースって、ありませんか?例えば... りんごが 15個 あります。3人で仲良く分けると、 650MB のファイルを 1分 でダウンロードした場合の回線速度は、 定価 2,800 円の「実践 Vim」の税込価格は、 こんな場合に、あなたはどうしていますか? 机の中の電卓を出して、計算する。 パソコンの電卓アプリを起動して、計算する。 スマホの電卓アプリを起動して、計算する。 戸棚の中のそろばんを出して、パチパチ... 暗算! どうする? Vim なら、エディタ上で計算できてしまいます。 挿入モードのままで、Ctrl-r = としてやると、計算式が入力できるようになります。試しに「実践 Vim」の税込価格を計算してみましょう。

    Vim に惚れるシーン(エディタ内で ちょっとした計算をする) - Qiita
  • Rubyによる不適切なFizzBuzzの世界 - Qiita

    最近不適切にFizzBuzzをやるのが楽しく、常にFizzBuzzのことばかり考えている気がします。これが"恋"というものなのでしょうか。 というわけなので、最近書いたFizzBuzzをいくつか紹介したいと思います。 basic.rb 基パターン (1..100).each do |n| puts case 0 when n % 15 then :FizzBuzz when n % 3 then :Fizz when n % 5 then :Buzz else n end end いいですね。ポイントはcaseの使い方です。caseは、caseに渡したオブジェクトと、各when節の評価結果を===メソッドで比較します。例えばFizzBuzzに該当するかの判定部分は0 === n % 15といった処理が走ることになるわけですね。 tap.rb tap with breakの活用

    Rubyによる不適切なFizzBuzzの世界 - Qiita
    abyssgate
    abyssgate 2015/02/19
    これが変か(かなり)
  • 最近の行儀のよい JavaScript の書き方 - Qiita

    JavaScriptは移り変わりの早い言語です。 もう1年以上経っていますし、記事のメンテもちゃんとできていないので、消し線を入れることにしました。 参考程度のために記事は一応残しますが、より新しい情報を読まれることをお勧めいたします。 はじめに --- 最近では JavaScript の実行環境はブラウザに限りません。(node.js, Web Workers) また、旧来のような <script> 経由でのロードもとうに古くなっています。今は CommonJS スタイルで、require を用いたモジュールのロードを行なうことがより良いとされています。 ですから、次のようなことは改める必要があります。 - var YourModule = {}; などとして、外部から YourModule.hoge(); などと呼び出す書き方 - this === window だと思うこと 今回は、

    最近の行儀のよい JavaScript の書き方 - Qiita