- 投稿日:2019-07-01T23:54:09+09:00
【リンク集】今すぐ勉強を始めよう!ブラウザでプログラミングが動くサイト(随時更新)
想定読者
手取り早くプログラミングを学習したい方。
駆け出しエンジニア!手頃でかつすぐに勉強を始めたい方。
環境構築がよくわからない方。前提
駆け出しエンジニアがプログラミングを簡単に早く学習したい方に向けて書いています。
環境構築とか一切不要で、ブラウザのみでプログラミングを実行できるサイトを紹介しています。
有料の場合は明記しておきます。
なるべく日本語対応、英語は明記。とにかく書いて実行してみたいという人に向けてお勧めできるサイトを集めました。
ブラウザ開発環境
- PaizaCloud(一部有料)
- AWS Cloud9(1年間無料)
- CodeAnywhere(月額制)
プログラミング別
HTML&CSS
- Coding Tab ※英語
- Code pen ※英語
SQL
- SQL Fiddle ※英語
Ruby
- TryRuby ※英語
- ドットインストール はじめてのRuby ※現在試験運用中
- run.rb ※英語
PHP
- 3v4l ※英語
Python
Git
総合学習サイト
実際にコードを書いて勉強ができるサイト
- Progate(一部有料)
- Codecademy(一部有料) ※英語
終わりに
本当にリンク集になってしまいましたが、
もし他にもあれば教えてください!
- 投稿日:2019-07-01T23:54:09+09:00
【リンク集】今すぐ勉強を始めよう!プログラミングをブラウザ上で学習できるサイト(随時更新)
想定読者
手取り早くプログラミングを学習したい方。
駆け出しエンジニア!手頃でかつすぐに勉強を始めたい方。
環境構築がよくわからない方。前提
駆け出しエンジニアがプログラミングを簡単に早く学習したい方に向けて書いています。
環境構築とか一切不要で、ブラウザのみでプログラミングを実行できるサイトを紹介しています。
有料の場合は明記しておきます。
なるべく日本語対応、英語は明記。お勧めできるサイトを集めました。
ブラウザ開発環境
- PaizaCloud(一部有料)
- AWS Cloud9(1年間無料)
- CodeAnywhere(月額制)
プログラミング別
HTML&CSS
- Coding Tab ※英語
- Code pen ※英語
SQL
- SQL Fiddle ※英語
Ruby
- TryRuby ※英語
- ドットインストール はじめてのRuby ※現在試験運用中
- run.rb ※英語
PHP
- 3v4l ※英語
Python
Git
総合学習サイト
実際にコードを書いて勉強ができるサイト
- Progate(一部有料)
- Codecademy(一部有料) ※英語
終わりに
本当にリンク集になってしまいましたが、
もし他にもあれば教えてください!
- 投稿日:2019-07-01T22:52:10+09:00
tmuxのおすすめconf設定@2019
概要
正直何番煎じかわからないがQiitaでのtmux.confの情報が軒並み古くなってしまっているため、今日(2019年7月1日)現在でそこそこ新しいバージョンである2.9に対応したtmux.confを晒す。
みなさんのより良いtmuxライフの足しになればと思います。
tmuxってなに?何が便利なの?という人はこちらの記事が参考になります。
個人的な(tmuxをおすすめする)意見を書き始めるとそれはそれでまた一つの記事になりそうなので、省略しますが、ざっくり言うと下記の理由です。
- 私はiTerm2が非常に好きだったのですが、いかんせんWindowsにはない。
- 環境によらずペインの分割を自由自在にしたい
- 再起動時などにコンソールの状態を保存しておきたい
この記事でできるようになること
見た目の特徴
- 非アクティブのペインが白っぽくなる(アクティブペインが見やすい)
機能的特徴
- マウスが使える
- クリップボードとの連携(プラグインは不要)
- ペインの移動がprefix不要でスムーズに
- ペインの並列実行の有無をトグルで行う
前提
対象環境
本題
さて、気になるconfの内容ですが、こちらです。
# 基本設定 ## 256色端末を使用する set -g default-terminal "screen-256color" set -g terminal-overrides 'xterm:colors=256' ## Escキーの遅延を解消 set -s escape-time 0 ## status line を更新する間隔を1秒にする set-option -g status-interval 1 ## ウィンドウのインデックスを1から始める set -g base-index 1 ## ペインのインデックスを1から始める setw -g pane-base-index 1 ## アクティブなペインのみ白っぽく変更(真っ黒は232) set -g window-style 'bg=colour239' set -g window-active-style 'bg=colour234' # キーの割り当て変更 ## prefixキーの割り当て(Ctr+a) set -g prefix C-a ## prefix + -で水平分割 bind - split-window -v ## prefix + \で垂直分割 bind \ split-window -h ## ペインの移動をprefixなしで行う(Shift + 矢印キー) bind -n S-left select-pane -L bind -n S-down select-pane -D bind -n S-up select-pane -U bind -n S-right select-pane -R ## ペインの順次移動をCtr + o に設定 bind -n C-o select-pane -t :.+ ## 並列実行のトグル化 bind e setw synchronize-panes \; display "synchronize-panes #{?pane_synchronized,on,off}" # status lineの設定 ## window-status を中央揃えで配置する set-option -g status-justify "centre" ## status line の背景色を指定する。 set-option -g status-bg "colour238" ## status line の文字色を指定する。 set-option -g status-fg "colour255" ## status-left の最大の長さを指定する。 set-option -g status-left-length 20 ## status-left のフォーマットを指定する。 set-option -g status-left "#[fg=colour255,bg=colour241]Session: #S #[default]" ## window-status のフォーマットを指定する。 set-window-option -g window-status-format " #I: #W " ## カレントウィンドウの window-status のフォーマットを指定する set-window-option -g window-status-current-format "#[fg=colour255,bg=colour27,bold] #I: #W #[default]" ## status-right の最大の長さを指定する。 set-option -g status-right-length 60 ## status-right のフォーマットを指定する。 set-option -g status-right "#[fg=colour255,bg=colour241] #h | LA: #(cut -d' ' -f-3 /proc/loadavg) | %m/%d %H:%M:%S#[default]" # 操作系 ## マウス操作を有効化 set -g mouse on bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'" bind -n WheelDownPane select-pane -t= \; send-keys -M ## コマンドモードでの選択方法をvim風に変更 set-window-option -g mode-keys vi setw -g mode-keys vi bind-key -T copy-mode-vi v send -X begin-selection ## クリップボートとの連携 ### ☆MacOS bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy" bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy" bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy" ### ☆Windows(WLS) bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "win32yank.exe -i" unbind -T copy-mode-vi Enter bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel "win32yank.exe -i" bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "win32yank.exe -i" unbind-key -T prefix v bind-key v run "win32yank.exe -o | tmux load-buffer - && tmux paste-buffer"最後の☆2つの箇所はOSによって書き分けてください。
2つ同時に書くとどうなるかは保証できないです。解説
基本設定
これらは見た目の問題なので拘る必要はないです。
私は割とシンプルに基本的なものしか入れてませんが個性が出るところなのでこだわりたい人はここでもりもりしてください。
基本的にはコメントのとおりです。キーの割り当て
- prefixは初期だと個人的には使いにくいのでControl + aに変えてます。
- ペインの切り替えはより直感的に[-]で水平分割、[|]のキーである¥で垂直分割です。
- ペインの移動はシフトキー + 矢印キーで動けます。
- bind -nはprefix不要、という意味です。他でも使えますのでお好みで設定してください。
- 別途 Control + oで順次移動もできます。
- prefixキー + eで同時実行のオンオフにできます。
ステータスラインの設定
ステータスラインを下に表示するのですがそこの設定を書いてます。
基本的にはコメントのとおりです。操作系
基本的にはマウスでのスクロールを有効化したり、prefix+[で入るコマンドモードでのコピーの仕方をvi風にしている。
またそのコピーしたデータをクリップボードと連携するための設定が記されている。
WindowsもMacも同じことができるが書き方が違うので環境に応じて書き換えてください。おわりに
以上です。
皆さんからもおすすめの設定があれば教えてください。
- 投稿日:2019-07-01T21:48:44+09:00
お気に入りmacのディスクトップアプリ
windowの上下左右移動
Spectaclemac版おにぎり(画像キャプチャ)
Mapture - MacOSX向けキャプチャユーティリティpixel定規
Linear Appcheetsheet
CheatSheet - Know your short cutsクリップボードを出す
Clipy for Mac - ダウンロードCSV編集
Table Tool : MacUpdate
- 投稿日:2019-07-01T18:19:07+09:00
Macを手に入れてからgit completion bashとgit promptを使えるようになるまで
概要
Macを購入したら待ち受けている数多くの初期設定。
GUIツール以外にも、CLIで使う系のものは骨が折れますよね。そんな中で、毎回git completion bashとgit promptに関しては調べてやっていたのでメモ書きとして。
各ツールの概要
git completion bashとは
Gitコマンドの補完を効かせてくれるやつです。
途中まで入力したブランチ名とかをTABキーで保管してくれたりします。git promptとは
シェル上でのgit情報をわかりやすく見せてくれるやつです。
こういうの↓
ブランチ名とか出てきて良い感じになります。
インストールしていく
Homebrewインストール
まずは、公式サイトからHomebrewを入れましょう。
Gitインストール
デフォルトでは、Xcodeのcommand line toolsが使えるようになっています。
しかし管理のしやすさなどから、Homebrewを使って今回は入れていきます。brew install gitその後に、
~/.bashrc
を作成して下記を追加します。
gitのパスをインストールしたものに置き換えます。~/.bashrcexport PATH="/usr/local/Cellar/git/2.5.0/bin:$PATH"上記の2.5.0はインストールされたgitのバージョンが入るので、各バージョンによって書き換えましょう。
bash completionを入れる
各種コマンドの保管を行ってくれるやつです。
~/.bashrc
に下記を追加します。~/.bashrcif [ -f $(brew --prefix)/etc/bash_completion ]; then source $(brew --prefix)/etc/bash_completion figit completion bashを入れる
こちらも
~/.bashrc
に追加します。~/.bashrcsource /usr/local/etc/bash_completion.d/git-prompt.sh source /usr/local/etc/bash_completion.d/git-completion.bash GIT_PS1_SHOWDIRTYSTATE=true export PS1='\[\033[37m\][\[\033[36m\]\u\[\033[37m\]@\h \[\033[32m\]\W\[\033[37m\]]\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '.bashrcにパスを通す
初期状態は
~/.bash_profile
がなく、今回作成した~/.bashrc
にパスが通っていません。
そのため、~/.bash_profile
から、~/.bashrc
にパスを通しましょう。~/.bash_profileif [ -f ~/.bashrc ]; then . ~/.bashrc fiこれでシェルを立ち上げ直せば、git completion bashとgit promptが使えるようになります!
参考記事
- 投稿日:2019-07-01T16:43:18+09:00
Fortran 90/95 で "Hello, world!"
はじめに
環境は macOS Mojave (10.14.5) で Homebrew の
gcc (gfortran)
を使っています。
他のOSでも大きな問題はないはずです。初心者向けに、何回かに分けてFortranの記事を書くつもりでいます!
(私自身、バリバリFortranを使っているわけではないので、ゆっくり更新になると思います)Fortranって何?
https://ja.wikipedia.org/wiki/FORTRAN にはこう書いてあります。
FORTRAN(フォートラン)は、1954年にIBMのジョン・バッカスによって考案された、コンピュータにおいて広く使われた世界最初の高級言語である。
だそうです。
直感的には「数値計算が得意な言語」です。
そのため、大学の研究室や、研究施設ではまだまだ使われています。
(もちろんC++にすでに置き換わっていたり、Pythonを使っていたりする場合もありますが...)余談ですが、私は物理出身です。
私自身は最近Fortranを使っていないのですが、友人はバリバリ使っています。「Fortran」 vs 「FORTRAN」
これは些細な問題ですが...
大文字で「FORTRAN」と書いたときはレガシーな FORTRAN 77 を指します。
小文字表記で「Fortran」と書いたときはモダンな Fortran 90/95 以降を指します。今回は、よりわかりやすくてモダンな Fortran 90/95 を対象に記事を書いていくので小文字表記になっています。
Fortran 90/95 で "Hello, world!"
本題です。
以下のファイル「hello_world.f90」を作りましょう。hello_world.f90program hello_world write(*,*) 'Hello, world!' end program hello_worldターミナルでコンパイルをして...
Terminal.app$ gfortran hello_world.f90
「a.out」というプログラムができているはず
Terminal.app$ ls a.out hello_world.f90実行すると!
Terminal.app$ ./a.out Hello, world!おわりに
お疲れ様でした。
次回は、コメントアウトの方法などを記事にしたいなぁとなんとなく考えています。間違いなどありましたら、コメントで教えていただけるとありがたいです!
- 投稿日:2019-07-01T05:59:52+09:00
【技術備忘録③】容量監視コマンドの「df」「du」コマンドの習得で、原因究明力の向上
- 現在利用している言語や技術の記法や不明点等を記録していく記事第三弾。
- 素晴らしき先人たちの「タイトル命名術」を事細かく調査した結果、センスや感性が最終着地点であることが判明し、史上最大の悟りに没頭。
- 今回は、容量監視コマンドである「df」「du」コマンドを記録して、原因究明力を更に上げていくことにしよう。
作業環境
- Amazon Linux 2
- ※結果画面や利用確認等の、メイン環境として使用。
- Mac OS X 10.13.4
- ※Macでの操作性と利用可否確認のために使用。
dfコマンド
概要や特徴
- OSのディスク容量のサイズや使用率等の情報を表示するコマンドツール。
- 手元の環境のシステムがどのくらいの容量を有しているのかを確認する際に用いる。
- パソコンの挙動の不具合・サーバーエラー等の際の原因究明に便利。
基本操作
- 基本的な使用例は下記。
- 基本的な項目の見方は下記。
項目名 意味 Filesystem(ファイルシステム) ディスク名 1K-blocks(1K-ブロック) 使用可能なディスク容量 Used(使用) 使用済みディスク容量 Available(使用可) ディスク空き容量 Use%(使用%) ディスク使用率 Mounted on(マウント) ファイルシステムの位置(場所)
- 基本的な操作方法は下記。
内容 コマンド 通常表示 df
サイズ容量表示 df -h
全ファイルシステム容量表示 df -a
サイズ単位での表示 df -BM
で1024 * 1024単位df -BMB
で1000 * 1000単位df -H
でサイズ単位に合わせた表示iノード(ファイル属性情報データ)での表示 df -i
ファイル場所指定での表示 df ファイルパス
ファイルタイプの表示 df -T
バージョン表示 df --version
ヘルプ表示 df --help
duコマンド
概要や特徴
- ファイル容量のサイズや使用率等の情報を表示するコマンドツール。
- dfコマンドと同様に、サイズや使用率の表示コマンドだが、ファイルごとの表示のため、より詳細な情報を確認することができる。
- dfコマンド同様に、挙動の不具合やサーバーエラー等の原因究明に便利。
基本操作
- 基本的な使用例は下記。
- 基本的な操作方法は下記。
内容 コマンド カレントディレクトリ(現在位置)下の全ての表示 du
※HOMEディレクトリ等で行うと、大量の処理が走るため注意容量の合計のみ表示 du -s
du -s ファイル場所
で特定ディレクトリでの合計表示サイズ単位での表示 du -h
du -sh
みたいに組み合わせて利用する場合が多い。階層指定 df -d階層数
例 :df -d1
で1つ目の階層までの表示指定du -hd1
みたいに組み合わせて利用バイト単位表示 du -b
バージョン表示 du --version
ヘルプ表示 du --help
実践コマンド
- 実際に挙動不具合等での確認の際に便利なコマンドは主に下記。
# 2階層指定で、ファイル容量の多い順での表示 $ du -hd2 ファイル場所 | sort -nr # 2階層指定で、ファイル容量の少ない順での表示 $ du -hd2 ファイル場所 | sort -h # 特定ディレクトリの合計のみの表示 $ du -sh ファイル場所まとめ
- 今回は、容量監視コマンドの学習ということで、知らぬ間の容量の無頓着使用に、自分への怯えと同時に愛着を感じながら記事を書く。
- 試用中毒であるため、そろそろクラウド中心を検討する時期がきたことに、表情筋を自由に踊り狂わせる生活。
- コマンドツールにも視覚性を求める現代技術者のため、次回は容量監視を可視化できるツールを探して試用することにしよう。
参考
https://www.yoheim.net/blog.php?q=20160707
→こちらの記事を参考にいたしました。大変お世話になりました。https://help.gmocloud.com/app/answers/detail/a_id/3275/~/df%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%81%AE%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E5%AE%B9%E9%87%8F%E7%A2%BA%E8%AA%8D
→こちらの記事を参考にいたしました。大変お世話になりました。
- 投稿日:2019-07-01T01:03:07+09:00
ローカル上にLocalStackをDockerで実行
はじめに
開発用にAWSのサービスをローカル環境に構築できる、LocalStackというプロジェクトがあります。
https://github.com/localstack/localstack今回はDockerを使ったLocalStackの実行方法をまとめます。
環境
OS: macOS Mojave 10.14.5
Docker: 18.09.0
Docker Compose: 1.23.2プロジェクトをプル
git clone https://github.com/localstack/localstack.git cd localstack/サービスの指定
環境変数
SERVICES
にカンマ区切りでサービス名を指定することで起動させたいサービスを選ぶことができます。
指定がない場合、全て指定と同意です。指定できるサービスは以下の通り
サービス サービス名 エンドポイント API Gateway apigateway http://localhost:4567 Kinesis kinesis http://localhost:4568 DynamoDB dynamodb http://localhost:4569 DynamoDB Streams dynamodbstreams http://localhost:4570 Elasticsearch elasticsearch http://localhost:4571 S3 s3 http://localhost:4572 Firehose firehose http://localhost:4573 Lambda lambda http://localhost:4574 SNS sns http://localhost:4575 SQS sqs http://localhost:4576 Redshift redshift http://localhost:4577 ES (Elasticsearch Service) es http://localhost:4578 SES ses http://localhost:4579 Route53 route53 http://localhost:4580 CloudFormation cloudformation http://localhost:4581 CloudWatch cloudwatch http://localhost:4582 SSM ssm http://localhost:4583 SecretsManager secretsmanager http://localhost:4584 StepFunctions stepfunctions http://localhost:4585 CloudWatch Logs logs http://localhost:4586 STS sts http://localhost:4592 IAM iam http://localhost:4593 EC2 ec2 http://localhost:4597 ※ サービス名はaws cliのリファレンスから
http://docs.aws.amazon.com/cli/latest/reference/#available-services注意点: Dockerに割り当てるメモリが少ないと正しく起動しない
Dockerへのメモリ割り当てが少ないと、指定した全てのサービスが正しく実行されないことがあります。
例えば、以下のような elasticsearch の起動で実行エラーが発生します。... WARNING:infra.py: Service "elasticsearch" not yet available, retrying... ERROR:infra.py: Error checking state of local environment (after some retries): Traceback (most recent call last): ...だいたいメモリを 4 GB にすれば全てのサービスが実行できました。
多くのサービスを実行させたいときは、割り当ての量を増やすか、増やせないときは最小のサービスを指定して実行が必要です。
Dockerで実行
Docker Composeを実行
TMPDIR=/private$TMPDIR \ DATA_DIR=/tmp/localstack/data \ SERVICES=apigateway,kinesis,dynamodb,dynamodbstreams,elasticsearch,s3,\ lambda,sns,sqs,redshift,es,ses,route53,cloudformation,cloudwatch,\ ssm,secretsmanager,stepfunctions,logs,sts,iam,ec2 \ docker-compose up -d
TMPDIR
: Macの場合は指定が必須
DATA_DIR
: データの永続化のために指定
SERVICES
: 実行するサービスを指定 (全てのサービスを実行する際は指定はいらない。上ではサンプルとして全てを列挙)バックグランドで実行のために
-d
オプションをつけています。ログの最後に
Ready
と出れば、起動完了です。
すると、デフォルトではDocker上にlocalstack_localstack_1
という名前でプロセスが実行されていると思います。ホストOS起動時に自動で実行するように設定
ホストOSが再起動した際も自動で実行されるよう設定値を変更します。
docker update --restart=always localstack_localstack_1まとめ
これでAWSサービスをローカルで利用できる環境が整いました。
あとは、CLIやSDKで、各サービスのエンドポイントをLocalStackへ向けることで利用可能となります。