技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

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

htmlタグメモ

htmlタグメモ head内 <html> HTML文書だということを表す。HTMLにおいて基点となる要素 <head> HTML文書のヘッダ部分。ブラウザに表示されない。この中に検索エンジンのための説明文やCSSファイルへのリンク、ページタイトルなどを記述する <meta> 言語や説明文など、ページの</meta></head></html>…

モンキーパッチ

モンキーパッチ Rubyのモンキーパッチについて 概要 モンキーパッチとは既存の実装を上書きして、自分が期待する挙動に変更することを表す言葉です。 しかし、不適切に挙動を上書きすると実装全体の動きがおかしくなることがあるので注意が必要。 例 class S…

ショートカット(自分用)

ショートカット(自分用) すぐ忘れるので、メモ Mac fn + delete カーソルより前の文字を消去 control+F カーソルを右へ control+B カーソルを左へ control+P カーソルを上へ control+N カーソルを下へ RubyMine command + r 置換 command + e 最近開い…

Herokuサービスについて

Herokuサービスについて 会社でheroku利用する機会があったのだが、どういったサービスなのかを軽く調べてみたので備忘録残す。 Herokuとは Heroku はアプリの構築、提供、監視、スケールに役立つクラウドプラットフォームで、アイデアを出してから運用を開…

Dockerのあれこれ備忘録

Dockerのあれこれ備忘録 Dockerの自分用メモ docker runとdocker execの違い docker run -> コンテナを作成して起動までしてくれるコマンド docker pull :DockerHubからイメージを取得 docker create :取得したイメージからコンテナを作成 docker start :…

Vueインスタンスのライフサイクルについて

Vueインスタンスのライフサイクルについて Vueのインスタンスが作成されて破棄されるまでのライフサイクルについてのまとめサイト jp.vuejs.org Vue.js + Firebaseで作るシングルページアプリケーション https://www.udemy.com/vuejs-firebase/

競技プログラミング day14

require 'pry' # ---------------------------------------------------------- # ■ 問題 # https://atcoder.jp/contests/abc090/tasks/abc090_b # ■入力例 # 11009 11332 # ■ 出力例 # 4(11011,11111,11211,11311の4つが条件満たす) # ■ 工夫箇所 # -------…

競技プログラミング day13

require 'pry' # ---------------------------------------------------------- # ■ 問題 # https://atcoder.jp/contests/abc100/tasks/abc100_b # ■ 前提条件 # Dは0,1,2のどれか # Nは1以上100以下の整数 # ■ 流れ説明 # D,Nを入力 # 前提条件でDは0,1,2の…

競技プログラミング day12

require 'pry' # ---------------------------------------------------------- # ■ 問題 # https://atcoder.jp/contests/abc109/tasks/abc109_b # ■ 前提条件 # 高橋くんは一人でしりとりの練習をしている # 次の条件を満たしていない場合は失敗なので'No'…

競技プログラミング day11

# ---------------------------------------------------------- # ■ 問題 # https://atcoder.jp/contests/abc110/tasks/abc110_b # ■ 前提条件 # - 世界は1次元世界 # - A帝国の座標はX,B帝国の首都は座標Y # 以下の条件の時は戦争がおきない # X < Z < Y #…

競技プログラミング day10

require "pry" # ---------------------------------------------------------- # ■ 問題 # https://atcoder.jp/contests/abc115/tasks/abc115_b # ■ 前提条件 # 1. 高羽はN個の商品を購入しようとしている # 2. N個の中で一番高い商品を低下の半額で購入す…

競技プログラミング day9

# ---------------------------------------------------------- # ■ 問題 # https://atcoder.jp/contests/abc117/tasks/abc117_b # ■ 前提条件 # 一番長い辺が他の N − 1 辺の長さの合計よりも真に短い場合に限り、条件を満たす N角形が描ける。 # ■ 制約 #…

ActiveModelSerializersの備忘録

ActiveModelSerializersの備忘録 会社でActiveModelSerializersを利用する機会があったのですが、よく理解していなかったので自分用の備忘録を残す。 ActiveModelSerializersとは 最近ではRailsをAPIモードで開発する機会も多い。 ActiveModelSerializers: J…

競技プログラミング day8

問題 B - Foods Loved by Everyone 回答 # ---------------------------------------------------------- # ■ 問題 # https://atcoder.jp/contests/abc118/tasks/abc118_b # ■ 前提条件 # 1. カツサンド君はオムライスが好き # 2. カツサンド君は明太子や寿…

競技プログラミング day7

問題 atcoder.jp 回答 # require "pry" # ---------------------------------------------------------- # ■ 問題 # https://atcoder.jp/contests/abc119/tasks/abc119_b # ■ 前提条件 # 1. 単価 -> JPY ot BTC # 2. 1.0 BTC = 380000.0円 # ■ 制約 # JPY ->…

競技プログラミング day6

問題 atcoder.jp 回答 require 'pry' # 流れ説明 # ーーーーーーーーーーーーーーーーーーーーーーー # 代入例 # A => 8 # B => 12 # K => 2 # 1. 8を割り切れる正整数 -> 1,2,4,8 # 2. 12を割り切れる正整数 -> 1,2,3,4,6, # 8でも12でも共通して割り切れ…

競技プログラミング day5

問題 https://atcoder.jp/contests/abc132/tasks/abc132_b 回答 時間切れなので途で強制終了。(そして内容も間違っている) # nの値をint型で受付 5 a = gets.chomp.to_i # nの値をint型で受付 [1,3,5,4,2] arry = gets.split.map(&:to_i) cnt = 0 (1..a).e…

競技プログラミング day4

問題 atcoder.jp 回答 n,a,b = gets.split.map(&:to_i) def function(people,train_fare,taxi_fare) train_fare = caliculat_train_fare(people,train_fare) if train_fare > taxi_fare taxi_fare else train_fare end end def caliculat_train_fare(people,…

競技プログラミング day3

問題 atcoder.jp 回答 a = gets.to_i def function(a) 3 * a **2 end puts function(a) 流れ説明 1、値を受付 a = gets.to_i 2、算出メソッドを作成 def function(a) 3 * a **2 end 3、答え表示 puts function(a) 工夫ポイント - 以下の公式があるので、…

rubyに値を複数代入する方法(自分用備忘録)

rubyに値を複数代入する方法(自分用備忘録) *c = (1..100).map do |n| n end cに1から100の値が代入される(Array型)

競技プログラミング day2

問題 atcoder.jp 回答 a,b = gets.split.map(&:to_i) def fun(a,b) return "IMPOSSIBLE" if (a + b) % 2 == 1 (a + b) / 2 end puts fun(a,b) 流れ説明 1、値を受付 a,b = gets.split.map(&:to_i) 2、算出メソッドを作成 def fun(a,b) return "IMPOSSIBLE"…

競技プログラミング day1

問題 atcoder.jp 回答 a,b,c = gets.split.map{|n| n.to_i} puts (x = c - (a - b)) < 0 ? 0 : x 流れ説明 ■ 流れ1 gets.split.map{|n| n.to_i} 実行時に打ち込まれた数値をint型に変更してa,b,cに代入 ちなみに以下の書き方でもOK a,b,c = gets.split.map(&…

よくる例外エラー概要説明

例外エラー概要説明 NameError 未定義のローカル変数や定数、privateメソッドなどを呼び出した時に発生する。 外部ファイルや外部ライブラリのrequire忘れで発生する。 NameError:uninitializedconstantDate NoMethodError 存在しないメソッドを呼び出そうと…

Procオブジェクトを作る方法

Procオブジェクトを作る方法 Procオブジェクトを作る方法は4つ 1. Proc.new{ a, b | a + b } 2. proc{ a, b | a + b } 3. -> (a, b) { a + b } 4. lamda | a, b| a + b Proc.newとLamdaメソッドの違い ProcもLamdaもProcクラスのオブジェクトを作成できます…

ブロックをメソッドの引数にする方法

ブロックをメソッドの引数にする方法 Rubyではブロックをメソッドの引数として渡すことが可能です。 def メソッド名(&引数) 引数.call end ブロックを引数として受け取る場合は、引数の前に&をつけます。 また、そのブロックを実行する場合はcallメソッド…

文字入力を受け付けるgetsメソッド

文字入力を受け付けるgetsメソッド ターミナル上で入力を受け付ける時はkernelモジュールで定義されている、getsメソッドを利用します。 #getsメソッドを呼ぶとユーザの入力を待つ状態になる。 input=gets Hogeと入力してからリターンキーを押す input#=>"ho…

Rubyのhash

Rubyのhash hashの基本的な利用方法まとめ hashの取り出し方 ハッシュ[ キー] 例) currencies = { 'hoge' => 'soccer', 'huge' => 'baseball', 'hogehoge' => 'basketball' } currencies[' hoge'] #=> 'soccer' 'hoge' => キー 'soccer'=> バリュー hashの…

繰り返し処理でのbreake, nextの使い分け

繰り返し処理でのbreake, nextの使い分け 繰り返し処理の中で挙動を制御する方法によく使うbreakeとnextがあります。 この挙動の違いをまとめます。 break breakeを利用すると、繰り返し処理を抜ける事が出来ます。 numbers = [2, 4, 3, 6, 5] numbers. each…

Rubyでブロック作るときの{}とdo endは何が違う?

Rubyでブロック作るときの{}とdo endは何が違う? Rubyでブロックを作る時に以下のように2通りでブロックを作成することができます。 numbers.each do|n| sum+=n end numbers.each{ |n| sum+=n } この違いは? ・改行を含む長いブロックを書く場合はdo...en…

引数にデフォルト値を指定する方法

Rubyではメソッドの引数に過不足があるとエラーが発生してしまいます。 例) def favorite(sport) if sport=='soccer' '私もサッカーが好きです' else '好きなスポーツは私と違います' end end 引数が少ない favorite #=>ArgumentError:wrongnumberofargument…