電波ビーチ

☆(ゝω・)v

2018-01-01から1年間の記事一覧

macで画面キャプチャするときメインディスプレイ以外を撮りたい人のためのAppleScript・Automater

tumblrやtwitterで洋画字幕のおもしろキャプチャとか流れてくるのが面白いので真似っこしてストックしている。PC・macで動画を見るときは21インチモニタにつないで観ているのだが、ここぞという場面で画面を止めて⌘+shift+3するとすべてのスクリーンでキャプ…

AOJ ALDS1_6_C Quick Sort

ソートアルゴリズムの実装自体やったことないぜ!!!!!!!!!メリークリスマスイヴ!!!!!!!!! n 枚のカードの列を整列します。1枚のカードは絵柄(S, H, C, またはD)と数字のペアで構成されています。これらを以下の疑似コードに基づくクイック…

【ruby】連番をキーとし配列を値にしてるハッシュ

irb(main):016:0> n = 4 => 4 irb(main):017:0> table = (1..n).to_a.zip(Array.new(n, Array.new)).to_h => {1=>[], 2=>[], 3=>[], 4=>[]} irb(main):018:0> table[1] << 1 => [1] irb(main):019:0> table => {1=>[1], 2=>[1], 3=>[1], 4=>[1]} irb(main):…

Ruby オブジェクト -> hash -> json

アロー演算子じゃないです。 インスタンス変数: 値 みたいな感じで require 'json' require 'time' class Hito attr_accessor :age, :name, :id def initialize(age, name) @age = age @name = name @id = Time.new.iso8601(6) end end human = Hash.new a =…

vagrant + virtualbox 事始

IaaSを調べてる一環です。

特異メソッドにしたいだけ、ならばmodule_functionは要らない

module_functionを使うと確かに特異メソッドが作れる。が、それで作られるメソッドは、同時にプライベートメソッドでもある。( 参考:伊藤淳一「プロを目指すためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで」kindle版 , 技術評論社, 位置 74…

rubyの便利コマンドラインパーサoptparseのdescriptionがsummaryなので見やすくしたい

なにをいってるかわからねータイトルですが。 rubyにはoptparseっていうコマンドラインパーサが標準ライブラリ*1があり、使う機会があった github.com -hでヘルプを表示できるのだが、たとえばこんなやつ require "optparse" OptionParser.new do |opt| begi…

【AOJ】Rubyで2次元配列を連番で初期化 && Rubyでpythonのisdigitっぽいやつ

AOJ ITP1_6_B タイトルのやつでおいしい書き方ができずに少しハマった。 2次元配列を連番で初期化 map内での宣言で要素を初期化できる。範囲オブジェクトをto_aで配列にしてぶちこんだ。 cards = Array.new(4).map { Array.new((1..13).to_a) } => [[1, 2, …

mkdirで連番ディレクトリの作成

あらすじ 直近のABC107で1完だった。酒が入っていた&&出先で適当に暇つぶしのつもりだった&&時間が30分ほどしかなかったとはいえ、半年ほどろくにコードを書いてないだけでこれほどカスに成り果ててしまった。とてもかなしいのでAOJ Introduction fungosを…

Rubyでの開発で最近学習したこと Rspec

or3.hatenablog.com のシリーズの続きのつもりです。 環境 基礎 「とりあえず写経/コピペするだけだし'test'ってフォルダ/ファイル/class/メソッド名でいいや。そういうのgithubでよく見るし」 TDD? BDD? spec? プロジェクトフォルダ作成 bundlerでRSpecをイ…

Rubyでの開発について最近学習したこと rbenv, gem, rubygems, bundler

最近っつっても一月くらい前に書いて以降ほったらかしにしてたやつです。長いので目次付きです。 自分用のメモ代わりに書いてたもので、いちおうわりと知識がなくても頭からおっていけば忘れてからでも分かるように丁寧に書いたつもりですが、文体とか構成と…

scdlでLikeしたプレイリストをとってくる(こともできる)

ふつうにscdl -l https://soundcloud.com/userID -fとかやると、Likeしたプレイリストはとれず、なぜか先頭の曲だけ落ちるんですが、soundcloud APIの仕様ぽいので諦めてました。 or3.hatenablog.com 自分のアカウントからは/setsで見れるので、各プレイリス…

Rubocop使ってみる

前回rubyをいれたんですが、rubyいれたら書き始める前に使い方を覚えておけと話題のrubocopを触ってみます。 github.com

Ruby事始

Rubyをやります。とりあえず駆け足で周辺知識と言語仕様の浅いとこまで ドキュメント 用語 環境に関しての用語 rbenv gem Bundler Rake Shim ruby-build irb 言語に関しての用語 シンボル 特異メソッド unless文 until文 case~when 範囲オブジェクト eachメ…

さくらvps+debian+nginx+httpsでVirtualHost

さくらvpsの一番安いやつに入れていきます。 Debianを入れる&&設定 nginx入れる IPアドレスで接続してみる ドメインでアクセスしてみる nginxってどんな仕組みなのか 設定を確認してみる VirtualHost設定 別ドメイン登録 https化 (必須ではないけどpythonを…

Goでスライスの任意のインデックスに挿入

go

ちなみに「任意のインデックスを削除」はこれでやってます。 or3.hatenablog.com 実装 package main import "fmt" func main(){ n := []int{1, 2, 3,} incert_target := 9999 intint := make([][]int, 0) for i:=0; i

Goで順列を辞書順で

スライスのポインタで渡すところとスライスのコピーとスライスの任意のインデックスの要素を消すっていう実装が頭まわりませんでした… 実装 package main import "fmt" func main(){ test := []int{1, 2, 3, 4} perms := permuration(test, 3) fmt.Println("…

Goで「文字列のa番目からb番目までを反転」をやる

そういう問題があったので。 Transformation | Aizu Online Judge func Reverse(s string, a int, b int) string { r := []rune(s) for i, j := a, b; i < (a+b)/2+1; i, j = i+1, j-1 { r[i], r[j] = r[j], r[i] } return string(r) } (a+b)/2+1でちゃんと+…

Goで二次元スライスの宣言をグローバルでやってローカルで初期化

go

日本語あってるかわかりませんが。 mainの外で二次元スライスを作っておき、中でmakeでcap/lenを設定して初期化するといいです。 package main import "fmt" var multislice [][]string func main(){ multislice = make([][]string, 4) s := []string{"ドバ…

2次元配列のリストの中に特定の2次元配列が含まれているかどうかをいい感じに高速に判定するにはどうすればいいですか

C#

むかし書いたやつが発掘されたので供養というか。すっかりC#忘れてるので読解に苦労しました。むかしの自分すげぇな using System; using System.Linq; using System.Collections.Generic; public class Program{ public static void Main(){ //はじめに var…

Debian環境をつくる さくらVPS編

or3.hatenablog.com 結局さくらで構築することになった。。以前やったこれとまったく同じことをやります 導入 VPS(仮想専用サーバー)|さくらインターネット - 無料お試し実施中 一番安いプラン。クレジットカードがあれば二週間無料で使えるらしい。 OSイ…

AtCoderのABC|ARC|AGCのテストケース引っ張ってくるやつ

この前かいたこれを改良しました。 or3.hatenablog.com https://github.com/halllllll/YATTEMITA/tree/master/nanika/AtcoderThousandFungos 改良っつうかロジックはほぼ同じで、オプションでパスとどのレベルの問題を落とすかをつけただけです。docopt初め…

Goでアルファベットの文字列

runeを利用します さっき作ったgenerate_alphabet.go を利用してa-zのstring出すやつ

Atcoder Beginner SelectionをGoで解いた

qiita.com これですね。Qiitaのほうでは各言語で解いてみた記事がどんどん上がっています(さすがにもう勢いは終息した) 当然Goで解いた記事なんてとっくの昔に出ているのでn番煎じなんですがたまにはコードかかんと、ということで。n番煎じなのでとくにこ…

Debian環境をつくる VirtualBox編

前回、DockerでDebian環境を作りました。しかし一般ユーザにssh接続できないという問題に直面し、どうしてもrootログイン・パスワード認証禁止の環境が必要になったため、Dockerを捨てました。これからはVirtualBoxでやっていく。 導入 VirtualBoxにDebianい…

Dockerにmacからssh接続

めちゃくちゃハマったので。。 ゴール ホスト(Docker)側 ハマりどころ コンテナ作成 各種ツールいれる apt update sudo ssh vim とりあえずテストでパスワード認証でrootに入ってみる /etc/ssh/sshd_configをいじる sshdを起動 パスワード設定 ローカルか…

ABCから各問題のテストケースとってくるまで自動化

環境はそろえたからやれDo it 最近はモチベが虚無になってしまい、PCすら触らないままダラダラと過ごしていました。なんか太った気がする 先日気の迷いからpaizaをこれまた久しぶりにやりました。ログみたら4ヶ月くらいログインすらしてなかった模様 ぱいじ…

Debian環境をつくる Docker編

Debianが必要になったのでやります。入れる候補はなんでもよくて、実機である必要すらないのでさくらサーバでも別PCでも仮想環境でも構わんのですが、使ったことないっていう理由だけでDockerでやってみます。 Dockerをいれる 確認 Docker HubからDockerイメ…

vimのMarkdownプレビューをPrevimに変えた

vim

or3.hatenablog.com 昨日作った環境がなぜか今日になると動かず、:MarkdownPreviewが一切使えなくなっていた。一度消してからインストールし直してもダメ。 非常に残念だけど5時間くらい余裕でかけて無駄だったので別のPrevimっていうプラグインを使うことに…

vimはじめ

vim

あらすじ 町外れの森に暮らすまじないばばあがある日ぼくにこう言ったんだ。 『vimをやれ。サーバサイドをいじるとき役に立つ』 my goals 触る前の勝手な印象 step0: vimを知る vimtutor 最近のvimとか step1: vimをカスタマイズ ~/.vimrc ggるうちに知った…