' P '

whatever I will forget

Entries from 2020-01-01 to 1 year

Javascript ランダムな文字列を作成する

10桁の適当な文字列を作りたい場合 やりかた とりあえずMath.floor(Math.random() * charset.length)を使えば、元々の文字列セットから適当に選んで作ってくれる。 const length = 10; const charset = 'abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRS…

Webサイト 代表的な脆弱性について

Web

こんなセキュリティ的なことは全然知らないのでめも OS コマンド・インジェクション (影響度:大) 任意の OS のコマンドを実行できてしまう qiita.com SQL インジェクション(影響度:大) 任意の SQL というデータベースを操作するコマンドを実行できてしま…

Excel ある文字列を含んでいる場合は行全体を色付けしたいとき

よくやるけどいつも忘れる。 やりたいこと 例えば下記のような感じね E列に"XXXX"と入ってたら行を灰色に塗りつぶす、みたいな感じ やりかた 適用したいセルを選択する その状態で条件付き書式を選択し、新しいルールを作成 Style:Classicを選ぶ 式には、$E1…

JavaScript URIのクエリをobjectに格納する

やりたいこと POSTで取得したURI情報(decode済)の文字列を配列にぶっこみたい querystringのモジュールを使う URIの生情報をdecodeURIComponentにてStringに変換後、 parse()メソッドにてstringを配列に変換できるらしい. ちなみにURIの変換後データはname…

GET/POST らへんのメモ

Web

GET 意味: 取得 CRUD: Read コンテンツを取得する POST 意味:追加 CRUD: Create コンテンツを追加する PUT 意味: 更新/追加 CRUD: Update / Create コンテンツを更新する DELETE 意味: 削除 CRUD: Delete コンテンツを削除する

Git add/commitを取り消したいとき

git

add を取り消したい 全てのファイルの取り消し git rm --cached -r . 特定のファイルの取り消し git rm --cached -r file_name commitを取り消したい git reset --hard HEAD^ 参考 qiita.com qiita.com

JavaScript 配列が空かどうか判定する

基本的には var arr = [1,2,3]; if(arr.length != 0) { // } でいいはず。よく考えたらJavaと同じか... 参考 stackoverflow.com

JavaScript filterとmap関数を使ったArrayの作り方

JavaScriptの記法に混乱させられます... filterとmapを使って条件に対するデータのみ抽出し、map関数にて新しい配列として作る const array = new Array(); // @param string data function addProp(data) { array.push(name: data, valid: false); } functi…

git ファイルを変更してたら違うbranchで作業してしまってた場合

git

あるあるかもしれませんね そんなときは git stashを使えばOK! 上記コマンドを実行後にgit checkout xxxを行いましょう git stash listを行なって、先ほどのstashしかない場合、 git stash applyとやっておけば元々のbranchで作業していた変更が現在のbranch…

JavaScript 連想配列

宣言 const DataMap = new Map(); 要素の取得 var tmp = DataMap.get(foo); 要素の追加 DataMap.set(foo); 連想配列のfor eachのやり方 [key, value]とすることで、Mapの中の変数に対してループが行える。 for (let [key, value] of DataMap) { // process }…

JavaScript ファイルの読み込みを行いたい

JavaScript(Node.js)でファイルを読み込む方法 まずはimport モジュールのimportは下記のように行う const fs = require('fs'); const readline = require('readline'); fs filesystemの意味。 readline ファイルを一行ずつ読み込む 読み込みたいファイルを…

ビット全探索

C問題が解けるためには避けては通れない道っぽい.... 2進数とか16進数とかすごい嫌いw まずは理解できるまで下記を読みまくるのがいい気がする. 参考 qiita.com qiita.com drken1215.hatenablog.com lovedvoraklayout.hatenablog.com ちなみに、ABC167のC問…

2進数->10進数、10進数->2進数の変換

ITパスポート以来ですわ.... ビット探索を勉強するために、まずは2進数の勉強ですw 10進数から2進数 10進数を2で割った余りを求めるだけ。 例えば10であれば、下記のように2でmodしたもので、一番上が一番右の2進数の数となる。 10(10進数) -> 1010(2進数) -…

Shell 変数にディレクトリ名をつっこみたいとき

Shellは色々構文がややこしい... やりたいこと $filenameという変数に、ディレクトリ名を指定した状態で、現在の時刻を含むようなファイル名をつっこみたい やりかた $dirnameという変数に/home/tmpみたいな値が入っているとする. 最初に、 $filename = "$di…

Vim 操作備忘録

vim

vim vimtutorそのまんま掲載しますが要約を下記にめもめも カーソル移動 h (左) j (下) k (上) l (右) ファイル編集の終了 変更を破棄 <ESC> :q! <ENTER> 変更を保存 <ESC> :wq <ENTER> カーソル位置の文字の削除 x カーソル位置の文字の挿入 カーソル位置に追加: i 行末に追加: A カ</enter></esc></enter></esc>…

Linux コマンド備忘録

find そのディレクトリ化にあるファイルを出力。ファイルを探すときだけに使うもんだと思ってたしいつもls使ってた。 リダイレクト > 標準出力を指定したファイル名に出力する 実は他にもオプションがあったのは知らなかった >> すでにあるファイルに追記す…

vagrant upにて"You may have encountered a bug in the Ruby interpreter or extension libraries."が出て起動しない場合

確認して Mac OS 10.12.6使ってません? Vagrant 2.2.7使ってません? 自身のMacは別にDockerとかも使っておらず仮想環境を作ったこともない VirtualBox使おうとしている? だいたいYesなら下へ。 解決法 Vagrant 2.2.7とMac OS 10.12.6の互換性の問題っぽい…

全探索系

とりあえず全探索に弱い。 何も考えずにできるものであってもできないかもしれない。というわけでまとめあげ。 B - ATCoder 注記に書いてあることがよく理解できなかった... 単にACGTのどれかの文字列を発見したら、そのindexからどれだけの長さの文字列が最…

for文を使わずに階乗の値を求める

階乗とは 10! と書いたりするようですが、1~10までの整数値を掛け合わせた値です. 回帰呼び出しで実装 10までの階乗をループなしで求めます。 public class Main172 { static int value = 1; static int sum = 1; public static void main(String[] args) { …

値の重複させずにある数字の和の組み合わせを考える

問題 onlinejudge.u-aizu.ac.jp 1 から n までの数の中から、重複無しで3つの数を選びそれらの合計が x となる組み合わせの数を求めるプログラムを作成して下さい。 例えば、1 から 5 までの数から3つを選んでそれらの合計が 9 となる組み合わせは、 1 + 3…

パリティ(偶奇性)

パリティとは 偶数と奇数に関する性質のことを指すらしい。(全くしらん) C - Same Integers atcoder.jp 全くわからず。なんとなーく3つの数字の和が関係している&3つの数字の最大値は関係があるような気はしたけど、 3つの値の最大値*3(または最大値+1*3…

Greedyアルゴリズム編

別途説明記事書いてましたけど mankozooyork.hatenablog.com A - Sorted Arrays atcoder.jp 全く実装は思いつかなかったです... 単純に 1 - 2 - 3 - 2 - 1と数字がきたなら[1,2,3], [2,1]と左から数字が上がっていっているのか、下がっていっているのか見て…

計算量検討ロジック編

C問題がいつまでも解けないのは悲しいので特訓中!(B問題も怪しいときあるけど...) 問題達 atcoder.jp atcoder.jp atcoder.jp 基本的に、上記の問題達は時間量を検討しないとダメな問題達. C - Takahashi's Information これはもうそもそも問題を勘違いして…

JavaScript div要素などに子要素を追加する / 存在する子要素を削除する

これは結構使いそうなのでめもめも はじめに 例えばWebサイトとかのボタンとかがクリックされた際に、結果とかを表示する場合に、子要素を追加して、結果を表示するようにします. また、ボタンが何度もクリックされたら、その度結果が表示される...そんなウ…

JavaScript let型変数

この考え方は面白い. JavaScriptにはlet型変数という、定義されたスコープ内だけで生きる変数があります. そのスコープから出たら、let型変数は使用できません. 定義 let tmp = 10; ただvarではなく、letとするだけです.

margin / padding の違い

CSS

これよく迷った覚えがある. 概要 説明 margin borderより外側の余白. border 境界線. noneに指定したとしても、borderは存在する. padding borderより内側の余白.

JavaScriptでclassに何かしらのstyleを適用する

html/css/JavaScript全部使うことは実ははじめて... 前提 xxxというclassがhtmlで定義されているとする. .xxx {}というclassがcssで定義されているとする. classの指定 var header = document.getElementById('xxx'); header.className = 'xxx'; header.styl…

css class

CSS

下記のように記述するとhtmlで記述されているclassを指定したことになる .sample { background-color: black; }

JavaScript とりあえず覚えたデフォルト関数

随時追加方式。 htmlとの紐付け htmlで記述されたid部分を読み込む関数: getElementById() htmlでid='xxx'が設定された場所に'xxx'を表示する. <p id="xxx"></p> document.getElementById('xxx').innerText = 'Yo!'; 指定実行系 関数を指定ミリ秒ごとに実行する: setInterval…

JavaScript 日付の取得

現在日付の取得 new Date()を使用します. var today = new Date(); 指定した日付で初期化 var today = new Date(1999,0,1,1,30); 注意! 何故か上記の月だけは0始まりになっているので、実際は1月という意味になります. 日付のmsを取得 getTime()は、1970 年 …