タグ

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

  • いま熱い最新スクリーンエディタmicro ことはじめ - Qiita

    microとは何か 最近注目を集めてるような気がするスクリーンエディタ、つまり文字ベースのターミナル(端末エミュレータ)で動作するテキストエディタです。そのようなエディタとしてはviやEmacs、近年ではnanoが知られてます。 microはそのようなテキストエディタの中でも最後発で、目下のところ活溌に開発されてるところです。この記事ではREADME.mdからいい感じに抜萃しつつ紹介します。 microはviやEmacsのような独特な操作体系ではなく、GUIのテキストエディタに近い操作性(キーバインド)を持ちます。SSHなど端末経由でのテキスト編集の必要に迫られたときに、新たな操作体系を覚え直す手間を最小限にしながら作業に取り掛かることができます。 2016年10月20日 追記 #端末(ターミナル)の設定を追加しました。特に、Shift+[←↓↑→]での範囲選択が機能しない場合に参考にして

    いま熱い最新スクリーンエディタmicro ことはじめ - Qiita
    urouro_n
    urouro_n 2016/10/10
  • The Futureというアプリを作ろうとしていたが、iOS10の仕様変更で断念した話 - Qiita

    はじめに ある名前のアプリを作りたいと思って、今までにリリースしてきたライブラリを以下のような命名規則で揃えてきました。 MisterFution (230 stars 2016/9/29) Objective-CとSwiftのどちらでも使える、Swift製のAutoLayout向けのDSLです。 下記のコードのように、コードを削減することができます。 superviewとのConstraintを実装する場合には、toViewをsuperviewにするという指定を省略できることが特徴です。 //NSLayoutConstraintのサンプルコード let view = UIView() self.view.addSubview(view) view.translatesAutoresizingMaskIntoConstraints = false self.view.addConstrai

    The Futureというアプリを作ろうとしていたが、iOS10の仕様変更で断念した話 - Qiita
    urouro_n
    urouro_n 2016/10/07
  • SwiftLintのカスタムルールを使って、スクリーン計測用コードの実装漏れを防ぐ - Qiita

    この記事では、SwiftLintのカスタムルールを使い、Google Analyticsのスクリーン計測用コードの実装漏れを防ぐ方法をご紹介します。 SwiftLintのカスタムルールを使うと、気合や根性で何とかしていた問題を、ルールに落とし込むことができ、ミスが減ります。 背景 アプリを開発する際に、ユーザーの行動計測を目的として、Google Analyticsのスクリーン計測を使うことは多いと思います。このスクリーン計測を利用する際には、各ViewControllerに手動でイベント計測コードを埋め込むことになりがちです。1 手動でのイベント計測は正直苦行であり、実装漏れも起きやすくなります。 Method swizzlingを使って、viewDidAppear() を置き換え、自動計測を行うような方法も提案されていますが2、黒魔術的なコードを番アプリに組み込むのは気が引けました。

    SwiftLintのカスタムルールを使って、スクリーン計測用コードの実装漏れを防ぐ - Qiita
  • pyenvが必要かどうかフローチャート - Qiita

    pyspaの統合思念体の渋川です。 「pyenv使いましょう!」系の記事、全部ゴミ — Yoshifumi YAMAGUCHI (@ymotongpoo) September 29, 2016 これはpyenvがダメではなくて、pyenvをとりあえずインストールしておきましょう記事がダメという意味だそうです。すでにとんぷーが5年前にこの問題について書いています。これを読んで分かる人には不要です。 この記事では「便利」と「必要」は分けて考えています。後者にフォーカスしています。 前提知識 Environment Isolation Tool(環境分離ツール)というカテゴリの開発補助ツールがあります。pip install Sphinxとか書いたら、ライブラリはグローバル空間に入っちゃいます。複数バージョン入れられません。そんなときに使うのが、この環境分離ツールです。最近はいろいろな言語がこれ

    pyenvが必要かどうかフローチャート - Qiita
  • PHPを学ぶときに確認すること - Qiita

    この記事の内容は2016年9月現在のものです。 新しい言語を学ぶときに確認することにインスパイヤされて。 Perlを学ぶときに確認すること - Qiita セットアップ方法 バージョンについて 2016年9月現在のPHPの現行安定版は7.0系。学習用途および新しいプロジェクトを開始するときには7系の最新版を利用すること。古い保守版として5.6系があるが、こちらは既存のプロジェクトが7系対応してない場合に選ぶこと。 macOS(OS X) brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/homebrew-php # PHP 7.0 (Apache抜き・phpdbg入り) brew install php70 --with-phpdbg --without-apache # よく利用されるモジュール br

    PHPを学ぶときに確認すること - Qiita
    urouro_n
    urouro_n 2016/09/21
  • 新しいマシンやスマフォで Slack の各種チームに入るのが面倒くさい!!!という時 - Qiita

    新しいマシンやスマフォで Slack App で各種チーム(たくさんある)にログインがすこぶる面倒くさい・・・面倒くさい・・・面倒くさい・・・。という経験したことありませんか。私は4回ぐらいあります。1password 使ってるからパスワードもバラバラだしね・・・。 そんなときは https://slack.com/signin/find のページから Find Another Team を押して自分のメールアドレスを入力すると、そのアカウントに紐付いてるすべての Team アカウントにログインできるマジックリンクがメールで送られてくる・・・! あとは各種メーラーで、そのリンクをクリックしていくと、Slack app が立ち上がり自動でそのチームにログインできます。PCでもスマフォでも使えるし、うおー便利、マジックリンクが出来た当初から知っておきたかった・・・!! Register as

    新しいマシンやスマフォで Slack の各種チームに入るのが面倒くさい!!!という時 - Qiita
  • CVE-2016-6662 MySQL Remote Root Code Execution / Privilege Escalationについて - Qiita

    CVE-2016-6662 MySQL Remote Root Code Execution / Privilege EscalationについてMySQL 免責 取り敢えずわかっている範囲で書いただけなので、手元で再現やパッチの正当性は確認していません。 自己責任でどうぞ。 これ(2016/09/22 22:00)以降新しい情報が出てきても、おそらくもう更新しません。 CVE-2016-6662 についてはこちら MySQLに重大な脆弱性見つかる、パッチ存在せずデフォルトで影響 - ITmedia ニュース oss-sec: CVE-2016-6662 - MySQL Remote Root Code Execution / Privilege Escalation ( 0day ) この脆弱性を再現させるために必要なもの (未検証) 5.5.52, 5.6.33, 5.7.15は影響を

    CVE-2016-6662 MySQL Remote Root Code Execution / Privilege Escalationについて - Qiita
  • rubyを超高速でインストールする方法 - Qiita

    現在、ruby kaigi2016が京都で開催中ですね。ということで、rubyを超高速でインストールする方法を紹介します。 インストールの高速化シリーズ第2弾です。(第1弾はこちら→ Nodebrewを使ってNode.jsを超高速にインストールする方法) Rubyをインストールするのに時間がかかるのは、コンパイルに時間がかかるためです。 Vagrantのように何度も壊して使う開発環境の場合、構築の度にコンパイルを待たなければなりません。 構築の待ち時間を少しでも減らせたら・・・と、思っている方はたくさんいるのでは・・・? 今回紹介する方法を使うと、インストール時間が25秒以下になります(マシンスペック&ネットワークに依存しますが・・・) 検証環境 検証環境はVagrantを使っています。 OSとスペックは以下の通りです。 # OS $ cat /etc/redhat-release Cen

    rubyを超高速でインストールする方法 - Qiita
  • Rails5から使えるhas_secure_tokenをMySQLで使うときのまとめ - Qiita

    Rails5からAPI modeが実装されたのに伴って、has_secure_tokenがRailsにマージされて標準機能になりました。平たくいうとhas_secure_passwordのtokenバージョン、と思えば大丈夫です。 実装については該当のPullRequestを貼っておくのでご参照してください。 https://github.com/rails/rails/pull/18217 また、元々公開されていたGithub URLも合わせて貼っておきます。 https://github.com/robertomiranda/has_secure_token 使い方 下記のように定義すれば tokenカラムに対して、has_secure_tokenメソッドで生成されるtokenがUserオブジェクトを生成するときに挿入されるようになります。

    Rails5から使えるhas_secure_tokenをMySQLで使うときのまとめ - Qiita
  • WebSocket と ActionCable - Qiita

    Rails5 Meetup 発表資料 はじめに 学生の頃に Socket.IO でゲームを作ってた Rails は業務でコントローラに API 生やす程度 rspec が全然わからん 無茶振り yuku 「mizchi なら ActionCableでなんか作れるでしょ」 なんか作った 今日の発表内容 WebSocket の現状 ActionCable 既存機能のRails5の拡張については @takashi に任せる 1. WebSocket WebSocketとは Webブラウザで扱えるTCP Socket抽象 HTTP1.1と比べて並列/高頻度イベントの効率が良い プッシュ配信 今までWebSocket が使えなかった背景 昔話 未対応ブラウザが多すぎて、フォールバック必要 まともな Fallback は、ほぼ Socket.IO の特権 ロードバランサが辛い 二度目以降のリクエス

    WebSocket と ActionCable - Qiita
  • アプリ内課金でのリジェクトを防ぐためのチェック事項2015 - Qiita

    開発着手前、開発中、申請前で確認するためのメモです。 そもそも まず、ここが、はじまりです。 様々なドキュメントのポータルになってます。 In-App Purchase for Developer 実装方法に関して Appleのドキュメント In-App Purchaseプログラミングガイド Qiitaでの記事 アプリ内課金アイテムの情報(SKProduct)を取得する アプリ内課金(Delegateモデル) (1)コンテンツが規約に違反していないか (2)プロダクトのタイプが適切か (3)復元(リストア)機能が実装されているか (4)仮想通貨を実装する場合、期限をもうけていないか、他アプリに引き継いでないか。 (5)レシートレシートベリファイが含まれる場合、Sandboxレシートを扱えるようになっているか (6)課金場所がわかりやすい場所にあるか (7)iTunesConnectの登録情

    アプリ内課金でのリジェクトを防ぐためのチェック事項2015 - Qiita
    urouro_n
    urouro_n 2016/08/09
  • iTunesConnectでのアプリスクリーンショットの簡易提出が可能になりました🎉 - Qiita

    日から、iTunesConnectでのアプリスクリーンショットの簡易提出が可能になりました🎉 Simplified Screenshot Submission Process - News and Updates - Apple Developer 説明動画はこちらです: What's New in iTunes Connect - WWDC 2016 - Videos - Apple Developer http://qiita.com/nerd0geek1/items/a0e67e794670d8c79492#screenshot-simplification でも紹介されていますが、要点は、 iPhoneiPadそれぞれの最大サイズのスクリーンショットをアップロードするだけで、自動で小さいサイズ用にリサイズ表示してくれる Other Sizesから、他のサイズのスクリーンショッ

    iTunesConnectでのアプリスクリーンショットの簡易提出が可能になりました🎉 - Qiita
    urouro_n
    urouro_n 2016/08/09
  • 【Android】Kotlin案件で使えるライブラリ集 - Qiita

    Anko https://github.com/Kotlin/anko Kotlinで開発されたJetBrains製のライブラリです。 DSLを用いてAndroidアプリのUIを組み立てることができます。 コードで記述するため再利用性が高く、XMLよりパフォーマンスが高いです。 もちろんAndroid Studioからプレビュー表示をすることができます。 Kotlin Android Extensions https://kotlinlang.org/docs/tutorials/android-plugin.html こちらもJetBrains社が開発したライブラリになります。 煩わしいfindViewByIdをいい感じにしてくれます。 Kotter Knife https://github.com/JakeWharton/kotterknife ビューバインディングのためのライブラリで

    【Android】Kotlin案件で使えるライブラリ集 - Qiita
  • 早く・それなりの UI を実現する React コンポーネントセット 16 選 - Qiita

    これまで、開発者が「早く・それなりの UI 」を実現するために、Bootstrap などの CSS フレームワークが重宝されてきました。 しかし今では、React などのライブラリを使って UI をコンポーネント化するようになってきています。 React であっても、事前に CSS フレームワークを読み込んでおき、クラス名を付与することでこれまでと同じように使うことができます。 ただ、既存の CSS フレームワークは内部で jQuery を使用していることが多いので、React と jQuery を共存させるか、jQuery 部分を自前で実装しないといけません。 そこで React で「早く・それなりの UI 」を作れそうな React コンポーネントセットを手当たり次第に調べてみました。 Note: Web 向け UI の コンポーネントのみとなっています。React Native や

    早く・それなりの UI を実現する React コンポーネントセット 16 選 - Qiita
  • 小さいReactアプリケーションのためのライブラリ書いた - Qiita

    EventEmitterバケツリレースタイル/フレームワークなしで小さくFluxする - Qiita これ見て最近は大体自分も同じような感じのことをしているので共通化できる最小限のコードをライブラリにしてみた。 元記事でも言ってるようにやることはとても少ないのでライブラリ使わないでもいいんだけどそのへんは好み。 Usage まず普通のステートレスなReactコンポーネントを作る。dispatchというpropsを受け取ってそれを通してイベントを発火するというのが唯一の規約。 import React from 'react'; // Stateless component export default class Counter extends React.Component { render() { return ( <div> <div>{this.props.count}</div>

    小さいReactアプリケーションのためのライブラリ書いた - Qiita
  • 自分が知っているAndroidライフサイクルのツラミとベストプラクティスのすべて - Qiita

    何が辛いのかとそのツラミを減らす方法について説明してみます(今すぐ導入したら解決!みたいなのはまだちょっと出せてないです)。 TL;DR→ライフサイクル理解してるぜ!という人はベストプラクティスからどうぞ・・! 前提1: Androidのコンポーネントとプロセス Androidの主なコンポーネントはActivity, Service, Content Provider, Broadcast Receiverです。これらはアプリをまたがると原則別のプロセスになります。 また、あまり知られていないことですが、AndroidManifest.xmlに記述することで1つのアプリ内でも別のプロセスとして起動することができます。逆に、特別な設定をすれば同じプロセス内で2つのアプリを実行することもできます(普通しない)。 https://developer.android.com/guide/compo

    自分が知っているAndroidライフサイクルのツラミとベストプラクティスのすべて - Qiita
  • SwiftでのUnit Testのはじめかた - Qiita

    Swift で書いた Class の Unit Test を書こうとした時にハマったのでメモ Objective-C での Unit Test テスト対象のクラスがあり、 Allow testing Host Application APIsに✔して(デフォルトで✔されている) 普通にテストを書いて実行すればよかった。 Swift での Unit Test 何も考えずにテストを実行すると、テスト対象クラスが見つからず、Use of unresolve identifier 'LogicA' というコンパイルエラーが出る。 Allow testing Host Application APIsに✔していても関係ない。 Swift1.2 以前 テスト対象ファイルの File Inspector でちまちま ${PROJECT_NAME}Tests に✔していくか、 「Build Setting

    SwiftでのUnit Testのはじめかた - Qiita
  • Email Markupでメール体験をリッチにしよう - Qiita

    GmailやInboxを使っている方は、時々メールの題名の隣にボタンが置かれているのを見かけたことがあると思います。GitHubAmazonから来たメールには、高確率でボタンが表示されていると思います。例えば、View Issueや、荷物を追跡といったボタンですね。 上記のボタンは単に対象のサイトに飛ぶだけですが、例えばGoogleカレンダーはもっとリッチです。招待を受けた予定に参加するかどうか、いちいちGoogleカレンダーに移動することなく、Gmail上で返事をすぐにすることができます。 QiitaやQiita:Teamでも、6月23日から送信されているメールのいくつかで、Qiitaで表示やQiita:Teamで表示というボタンがGmailやInboxで表示されるようになりました。 QiitaやQiita:Teamで以下のようなタイミングで送信されたメールには、ボタンがでるように仕込

    Email Markupでメール体験をリッチにしよう - Qiita
    urouro_n
    urouro_n 2016/06/28
    詳しい..
  • Dockerでホストを乗っ取られた - Qiita

    注意 件記事ですが、私の不適切な行動(拾ったスクリプトを検証なく走らせる)が原因です。「dockerは(特に何もしなくとも)危険」との誤解を皆様に与えた点、ご迷惑をおかけいたしました。申し訳ございません。 拡散されている記事を削除するのはさらなる誤解を招きかねないと思いましたので、冒頭に注意を付記しております。以下の記事は、「自分が何してるかをきちんと検証できないとセキュリティホールを生み出す」という意味で参考にして頂ければ幸いです。 追記 Twitterやはてブで言及いただきました皆様、ありがとうございます。 件はpullしてきたイメージが悪意ある開発者によるものかどうかにかぎらず、不適切な設定をしていると起こり得ます。 ※コメント欄に質問への回答という形で、私がそのときに走らせていたイメージの一覧を挙げておりますが、どのイメージも評判あるものだと思います。 皆様におかれましては「あ

    Dockerでホストを乗っ取られた - Qiita
    urouro_n
    urouro_n 2016/06/06
  • ElectronアプリのXSSでrm -fr /を実行する - Qiita

    Electronアプリでxssを発生させると任意のコードが実行できるらしいのでrm -fr /を試してみます。 想定 web版とelectron版のあるチャットアプリケーションという設定です。攻撃者が用意したリンクをクリックすると、PC内のすべてのファイルを消し去るというシチュエーションを考えてみます。 用意 環境はホストmac OSX、ゲストにubuntu14.04環境をvagrantを利用し用意しました。 expressでリストとフォームからなる脆弱性のあるチャットをつくります。エスケープ処理をしてないので、任意のコードが実行できる状況です。 'use strict'; const path = require('path'); const express = require('express'); const app = express(); const ejs = require(

    ElectronアプリのXSSでrm -fr /を実行する - Qiita
    urouro_n
    urouro_n 2016/05/30