タグ

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

  • もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita

    はじめに Webサービスやアプリを企画したり、立ち上げたりする際にプロトタイピングツールや、ExcelPowerpoint、Illustraterなどを駆使した謎のファイルで画面遷移図を描くことがある。 こういう図を元に仕様を決めて行って、サービスを作っていくのは以下の点で困る。 画面遷移図が保守されない。 書くのが非常に面倒くさい ユーザーのモチベーションの流れが追いづらく、見た目ばかりに注目してしまうものになりがち マシンリーダブル(ソフトウェアで構造を取り出せない)でない。 このような欠点があってどうにも扱いづらい。 そんなわけで、markdown風のテキストから簡単に画面遷移図を描けないかなとコンパイラを作成し、次にそれをインタラクティブに編集できるエディタを作成した。 UI Flows図について 画面遷移図的なものを書く際に、僕が個人的につかっていた表現方法として、UI Flo

    もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita
  • git commit時に英語でメッセージ書くためのヒントを表示する - Qiita

    はじめに 英語力をあげるために、コミットメッセージを英語で書こうとしても実践するのはなかなか難しいものです。 GitHubで使われている実用英語コメント集 - Qiita のような記事を読んでもコミットするときには忘れています。 そこで、git commit時に表示されるコメントに、英語でメッセージを書くためのヒントを表示してみました。 完成イメージ やり方 ~/.gitmessage.txt を作成 # fix, add, changeといった事実ではなく、このcommitで実現する要件や仕様を書きましょう。(リファクタなどは除く) # # 例文) # - Fix typo in docs # - Remove unused code # - Remove use of deprecated method # - Update Modernizr to v1.6 # - Make it

    git commit時に英語でメッセージ書くためのヒントを表示する - Qiita
  • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita

    Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、pythonruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos

    そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita
    OKU_s62
    OKU_s62 2015/12/04
  • Emacsのカレンダー | Advent Calendar 2015 - Qiita

    URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    Emacsのカレンダー | Advent Calendar 2015 - Qiita
  • 人工知能のカレンダー | Advent Calendar 2015 - Qiita

    About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    人工知能のカレンダー | Advent Calendar 2015 - Qiita
    OKU_s62
    OKU_s62 2015/11/19
  • bash によるオプション解析 - Qiita

    すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の

    bash によるオプション解析 - Qiita
    OKU_s62
    OKU_s62 2015/11/09
  • https://qiita.com/mzyy94/items/54d7c55eb01af37954fe

  • gitでありがちな問題の解決方法まとめ - Qiita

    Git Advent Calendar / Jun. 最終日(30日目)の記事です.29日目は「いざという時のためのgit reflog」でした. Git Advent Calendar最後なので,git操作でやりがちなミスからどう回復するかをまとめます.他にもあればコメントもらえるとマージしていきます. ブランチを切り忘れてmasterでコミットしてしまった その時点でブランチを切る&reset --hardで間違ったコミットたちをmasterから消す $ git checkout -b new-branch # masterの最新コミットを消す $ git checkout master && git reset --hard HEAD~

    gitでありがちな問題の解決方法まとめ - Qiita
    OKU_s62
    OKU_s62 2015/11/05
  • Ruby のココがダメ - Qiita

    タイトルは釣りです。Ruby に盲目的に惚れている迂生には Ruby の痘痕(あばた)はエクボです。 それはともかく。 メソッド名の別名がありすぎ 「あなたは map 派? それとも collect 派?」っていう問いがまず嫌い。 いや,別名にも意義があるとは思うんだけど,記憶の負担が大きい。 自分では map しか使わなくても,他人のコード読むんだったら collect を知っていなくちゃならない。 しばらく前に reduce っていうメソッド見て,そんなのあったっけ?と思ったら inject の別名だった。 map/collect と inject/reduce の名前とその背景にある発想については,Rubyist Magazine に良い記事がある: そうかと思えば,Array#delete_if と Array#reject! みたいに,働きは基的に同じだけど,削除が行われなかっ

    Ruby のココがダメ - Qiita
    OKU_s62
    OKU_s62 2015/10/30
  • 最強の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
  • npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita

    背景 Javascript で Web アプリを作ろうとすると、よくわからないことだらけで超混乱します。 npm と bower の違いは? npm はサーバーサイド用、bower はクライアントサイド用らしいよ えっ、でもなんで bower のインストールに npm が必要なの? サーバーサイドは Rails で書きたいから npm 要らないと思うんだけど・・・ ていうかサーバーサイドJSとか node.js って何? よく見る browserify って何? こういった疑問が沸き上がるのは、各ツールが生まれた文脈がよくわかっていないからです。いろいろ調べてやっとちょっとわかってきたのでメモします。間違いがあったらご指摘ください。 「CommonJS」誕生 - Javascript は汎用プログラミング言語へ その昔、Javascript 大好きおじさんは言いました。 Javascrip

    npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - 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
  • Linux OOM Killerについて - Qiita

    OOMとは? Linuxは、メモリが不足してシステムが停止する恐れがある際、メモリリソースを多く消費しているプロセスを強制的に殺します。これをOOM Killerといいます。重要なプロセスでも問答無用で殺しにきます。 いるはずのプロセスがある日消えていたのなら、それはOOM Killerに殺されたのかもしれません 確認方法(CentOS) 5789のrubyのプロセスが殺されたことが分かります $ sudo cat /var/log/messages | grep Killed Oct 1 11:11:54 ip-xx-xx-xx-xx kernel: [1983378.957901] Killed process 5789 (ruby) total-vm:4957320kB, anon-rss:2717004kB, file-rss:0kB

    Linux OOM Killerについて - Qiita
  • ターミナルのディレクトリ移動を高速化する - Qiita

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

    ターミナルのディレクトリ移動を高速化する - Qiita
  • 多段SSHやポートフォワーディングを '.ssh/config' に書く - Qiita

    SSHまわりで色々苦労したので、自分用メモを残します。 SSHの設定 (~/.ssh/のパーミッションの設定) ~/.ssh/ : SSHの設定ファイルを置く場所 パーミッションの設定がシビアなので注意 $ ls -al ~/.ssh/ drwx------@ . # ~/.ssh のパーミッションにも注意 drwxr-xr-x+ .. -rw-r--r-- config # SSH の設定ファイル -rw-r--r-- known_hosts -rw------- authorized_keys # 公開鍵置き場 -rw------- id_rsa # 秘密鍵 -rw-r--r-- id_rsa.pub # 公開鍵

    多段SSHやポートフォワーディングを '.ssh/config' に書く - Qiita
  • SSReflectノート (暫定版) - Qiita

    2014/04/27 @suharahiromichi 2014/04/27 @suharahiromichi、Qiitaに投稿。曖昧な箇所を削除した。 2014/12/20 @suharahiromichi、追記。Viewについての記述を訂正した。 章節番号とページは、No 6455 "A Small Sscale Reflection Extension for the Coq System" の該当箇所を示す。 CheatSheet以前の事項 tactic の意味 例 ゴール H->G のとき。 ゴール forall x, G のとき。

    SSReflectノート (暫定版) - Qiita
  • Coqコーディング規約 - Qiita

    全般 コンパイルできないコードはコミットしない 使用しているCoqのバージョンをREADMEに書く タクティックに関すること bulletを使う (https://coq.inria.fr/refman/Reference-Manual009.html#sec332) 同じ時点でできたサブゴールは、同じインデントにする サブゴールの末尾はterminatorまたはnowタクティカルを使う 新しく生成される変数名、仮定の名前を明示する 例: introsタクティックでは引数を明示し、数と名前を指定 例: destructタクティックではasで新しくできる変数名を明示 optional(セミコロンは前半のタクティックでサブゴールが増える場合以外は使わない) Register as a new user and use Qiita more conveniently You get articl

    Coqコーディング規約 - Qiita
    OKU_s62
    OKU_s62 2015/06/09
  • どこでも使える git diff と git apply - Qiita

    Git Advent Calendar / Jun. 28日目の記事です。27日目はつるはしで過去を発掘するでした。 Git リポジトリの外で git diff / git apply あまり知られていないことですが、 git diff と git apply は Git リポジトリの外でも使えます。普通の diff ではできない、バイナリファイルを含む2つのディレクトリの差分を取りたいときなどに重宝します。ちょっと試してみましょう。 $ mkdir dir1 dir2 $ echo foo > dir1/text $ echo FOO > dir2/text $ dd if=/dev/random of=dir1/binary bs=128 count=1 $ dd if=/dev/random of=dir2/binary bs=128 count=1

    どこでも使える git diff と git apply - Qiita
    OKU_s62
    OKU_s62 2015/05/25
  • 継続モナドを使ってWebアプリケーションのコントローラーを自由自在に組み立てる - Qiita

    継続モナドを使ってPlay FrameworkのActionを作るという話をします。 Play FrameworkはScalaのWebアプリケーションフレームワークであり、Actionはそのコントローラー部分になります。 この記事を読むにあたって継続モナドの知識は前提としませんが、 ある程度のモナドの知識(Scalaのfor構文の使い方、ScalaのモナドがflatMapメソッドで合成できることなど) Play Frameworkの使い方(PlayのActionがどのようなものであるかなど) などの知識は前提とし、説明を省略させていただきます。 話の流れとしては以下のようになります。 コントローラーで継続モナドを使いたい動機 継続モナドとは? なぜコントローラーで継続モナドを使うと便利なのか? 継続モナドとFutureを組み合わせることでエラー処理を整理する 継続モナドを使ったAction

    継続モナドを使ってWebアプリケーションのコントローラーを自由自在に組み立てる - Qiita
  • React Native ファーストインプレッション - Qiita

    React Native 概要 React.js とだいたい同じ作法で、JavaScript で書いたコードが iOS ネイティブアプリとして一応動く。そのフレームワークと開発環境を提供する。 React.js と同じ React を謳っているとおり、JSX で UI コンポーネントを定義するとか、Props や State で View のデータフローを整えるとか、setState() によるデータバインディングとか、諸々が一緒。従って React.js でアプリケーションを作ったことがあれば、学習コストをほとんどかけずにアプリが作れる・・・かも 例えば以下のように、入力値をそのまま画面にエコーするアプリケーション。 これはこんな感じのコードになる。 var React = require('react-native'); var { AppRegistry, StyleSheet, T

    React Native ファーストインプレッション - Qiita