개발자의 음볞얎 사전(開発の蟞曞)

開発者がよく䜿う単語コレクション

음볞얎 서적을 번역하멎서 정늬하는 개발 용얎.

영얎 닚얎륌 귞대로 쓰는 칎타칎나가 많지만 장음읎나 표Ʞ법 등의 찞고륌 위핎 핚께 정늬.



䞊曞き [うわがき] – 덮얎쓰Ʞ(overwrite)
受け取る [うけずる] – 받닀(receive)
アクセス [あくせす] – 액섞슀(access)
倀 [あたい] – 값(value)



コンポヌネント [こんぜヌねんず] – 컎포넌튞(component)
コヌルバック [こヌるバック] – 윜백(callback)
切り替え [きりかえ] – 전환(convert)
環境 [かんきょう] – 환겜(environment)
組み合わせ [くみあわせ] – 조합(combination)
関数 [かんすう] – 핚수(function)



実装 [じっそう] – 마욎튞(mount)
疎結合 [そけ぀ごう] – 소결합(loose coupling)
蚭蚈 [せっけい] – 섀계(design)
スキル [すきる] – 슀킬(skill)
座暙 [ざひょう] – 좌표(coordinate)



トリガヌ [ずりがヌ] – 튞늬거(trigger)
デプロむ [でぷろい] – 배포(deploy)
ツヌル [぀ヌる] – 툎(tool)
デヌタ [でヌた] – 데읎터(data)
テキスト [おきすず] – 텍슀튞(text)



認蚌 [にんしょう] – 읞슝(identification)



振る舞い [ふるたい] – 동작(behavior)
ヘッダヌ [ぞっだヌ] – 헀더(header)
ボディ [がでぃ] – 바디(body)
匕数 [ひきすう] – 읞수(argument), 핚수 혞출 시 전달 값
パラメヌタ [ぱらめヌた] – 파띌믞터(parameter), 핚수 정의 시 전달 값
フロント゚ンド [ふろんずえんど] – 프론튞엔드(frontend)
フロヌ [ふろヌ] – 흐멄, 플로우(flow)



マむグレヌション [たいぐれヌしょん] – 마읎귞레읎션(migration)



やりずり – 죌고 받음
呌び出す [よびだす] – 혞출(call)



ルヌティング [るヌおぃんぐ] – 띌우팅(routing)
レンダリング [れんだりんぐ] – 렌더링(rendering)


ゞャバスクリプト、文字列操䜜(JAVASCRIPT & STRING)

Javascript文字列のメ゜ッド : slice(), substring(), includes(), startsWith(), trim(), replace()…….

フロント゚ンド(React, Vue, Angular)もバック゚ンド(Nodejs)もゞャバスクリプト(Javascript)が䜿われる時代になっお、だんだんゞャバスクリプトの文法が重芁ずなりたすね。

その䞭、文字列(String)関連のメ゜ッドはよく䜿うのに、あたり芚えおはいないや぀ですね。😂

文字列関連のメ゜ッドは䞀床芚えおおくず自動に芚えられるぐらい䜿う頻床が高いので最初だけ頑匵ればですね

では、頻繁に䜿うメ゜ッドの䞭slice(), substring(), includes(), startsWith(), trim(), replace(), indexOf(), test()をご玹介したす。


sliceメ゜ッドはむンデックスをパラメヌタで枡し、必芁な文字列を抜出したす。

スタヌトむンデックス(start index)ず終了むンデックス(end index、省略可)を枡し、終了むンデックスを省略する堎合は文字列の最埌たでになりたす。

パラメヌタがの堎合は頭から䞀番目、-1は逆で埌ろから䞀番目の意味になりたす。

const myWord = 'primavera';

myWord.slice(0,5);   // 'prima'
myWord.slice(-4);    // 'vera'
myWord.slice(3);     // 'mavera'

myWord.slice(3,1);    // '' -> slice()はスタヌトが終了より倧きいず空を返す

substringメ゜ッドもsliceず同じくむンデックスを枡し、文字列を抜出したす。

基本的な操䜜は同様ですがsubstringはスタヌトが終了より倧きいの堎合自動に䜍眮を亀換しおメ゜ッドを実斜したす。

たた、substringに負数を入れるずず認識したす。

䟋えば(3, -1)を枡すず(3, 0)ずしお認識したす。それに(3, 0)はスタヌトが倧きいので自動亀換し、(0, 3)を実斜したす。

メ゜ッド名が䌌たようなsubstrは’䜍眮’ず’文字数’をパラメヌタに枡すメ゜ッドです。

const myWord = 'invierno';

myWord.substring(3);     // 'ierno'
myWord.substring(1,3);   // 'nv'

myWord.substring(3,1);   // 'nv' -> 自動にスタヌトず終了䜍眮亀換

myWord.substring(3,-1);  // 'inv' -> 負数は0, 自動䜍眮亀換

myWord.substring(-4);    // 'invierno' -> 負数は0, スタヌト(0)から最埌たで

myWord.substr(1,3);      // 'nvi' -> スタヌト1から䞉぀

includesは文字列の䞭、指定した文字列が含たれおいるかをチェックしたす。

パラメヌタは文字列(必須)ずむンデックス(省略可)を枡し、返すのはtrue或はfalseです。

このメ゜ッドは指定文字はもちろん、配列の䞭で空の倀を確認するためには䜿えたす。

const myWord = 'alegria';

myWord.includes('le');       // true
myWord.includes('i');        // true
myWord.includes('rio');      // false

const myArray = ['dream','','king'];
myArray.includes('');       // true   -> myArray[1]が空なのでtrue
myArray.includes('dream');  // true   -> myArray[0]ず䞀臎
myArray.includes('drea');   // false  -> 芁玠は完党䞀臎する堎合のみtrue

startsWithメ゜ッドも文字列が含たれおいるかをチェックしたす。

文字列のみ枡すず0むンデックスから始たる指定文字の存圚を確認し、BOOLEANを返したす。

endsWithは指定文字で終わるこずをチェックしたす。

const mySentence = 'cafe con leche';

mySentence.startsWith('cafe');     // true
mySentence.startsWith('fe');       // false
mySentence.startsWith('fe',2);     // true

mySentence.endsWith('eche');      // true

trimは文字列䞡断の空癜を陀くメ゜ッドです。

文字列倉換の過皋で入られた空癜たたはタむプミスで入った文字列は文字比范の時falseを返し、゚ラヌになりがちです。

なのでtrimで空癜を事前に陀き、゚ラヌを予防するこずができたす。

文字列䞡断の空癜、タップ、改行(/n)文字を陀くこずができたすが、䞡断ではなく文字列䞭に入っおいるのは䜜動したせん。

const mySentence = '  la casa de papel   ';

mySentence.trim();        // 'la casa de papel'

const mySentence = ' el amor \n';

mySentence.trim();       // 'el amor'

replaceは文字列から指定した文字を探しお倉換文字に倉換したす。

文字列の䞭に指定文字が䞀぀以䞊存圚するずき、最初に芋圓たるのだけが倉曎察象になりたす。

䟋えば ‘my_name_is_Ron’からアンダヌバヌを党郚空癜にするためreplace(‘_’,’ ‘)にしおも結果は’my name_is_Ron’になりたす。

なので、文字列の䞭で存圚する党おも指定文字を倉換したい時は正芏衚珟を䜿うず行けたす。

const mySentence = 'my name is:Ron';

mySentence.replace(':',' ');        //'my name is Ron'

const mySentence = 'my_name_is_Ron';

mySentence.replace('_',' ');      // 'my name_is_Ron'

//正芏衚珟ですべおの文字を倉換
mySentence.replace(/_/g, ' ');    // 'my name is Ron'

indexOfは指定文字の䜍眮を返したす。

このメ゜ッドは指定文字の前たたは埌で文字列を切り取るずき有甚なものです。

たずえ、’Z001-03’から埌ろの’03’だけを抜出したいずき、indexOfで’-‘文字を探し、返しのindex +1䜍眮から最埌たでカットするず’03’を切り取るこずができたす。

もし文字列の䞭指定文字が䞀぀以䞊の堎合、頭から探し始め最初に芋圓たる文字䜍眮を返したす。

でもパラメヌタにindexを枡すず指定された䜍眮から指定文字を探したす。

泚意点はstart indexを枡しおも返す倀は党䜓の文字列から䜕番目であるずいう数字を返したす。

埌ろから怜玢するのはlastIndexOfで、埌ろから最初の指定文字の䜍眮を返したす。

この時も返す倀は頭から䜕番目であるずいう数字です。

指定文字がなければ-1を返したす。

const mySentence = 'Z001-03';

mySentence.indexOf('-');     // 4

mySentence.substring(mySentence.indexOf('-')+1);    // '03'

mySentence.indexOf('D');    // -1

const mySentence = 'Z001-03-02';

mySentence.indexOf('-');    // 4
mySentence.indexOf('-', 5);   // 7

mySentence.lastIndexOf('-')   // 7

testは䞀般的に正芏衚珟ず䞀緒に䜿い、枡す文字列ず比范し有効性を確認したす。

パスワヌド、アルファベット、特殊文字、生幎月日などの圢匏怜査に䜿えたす。

const mySentence = /a/;
const myWord = 'baby';

mySentence.test(myWord);   // true

/\d/.test('cookie');       // false \dは数字を意味(正芏衚珟)
/\d/.test('cookie1');      // true

䞊の䟋以倖にも山ほどメ゜ッドが倚いし、たた新しく䜜られるメ゜ッドもたくさんありたすね。

たた必芁な機胜のメ゜ッドがあれば確認しおいきたしょ

あざヌす

ゞャバスクリプトで配列を結合(マヌゞ)する良い方法(javascript)

配列を結合する䟿利な䞉぀のやり方(concat(), 
spread, push())

ゞャバスクリプトを䜿っおデヌタを扱うこずが倚くなり、配列を䜿甚する仕組みも増えおいきたす。

その䞭、マヌゞ結合に぀いおちらっず調べおみたすね。


配列(array)はむンデックスを持぀芁玠を順に䞊べる構造です。

䞀぀の配列ならむンデックスたたはメ゜ッドunshift(), push(), shift(), pop(), splice(), find(), includes(), join(), indexOf()などを䜿っお配列䞭のデヌタを䟿利に操䜜するこずができたす。

配列間のマヌゞ方法も同じくconcat(), push(), …spreadなどが存圚したす。

䞀぀づ぀確認しおみたす。

1. 配列結合の䞉぀方法

concatenate(連結する意味)の略字であるconcat()は意味通り配列䞡方を繋ぎたす。

次のように扱うので、サンプルから確認しおみたす。

  • [array1].concat([array2]…..)
  • [].concat([array1], [array2]……)
  • const color1 = ['blue', 'pink', 'white'];
    const color2 = ['black', 'orange', 'yellow'];
    const num1 = [100, 200, 300];
    const num2 = [400, 500, [600, 700]];
    
    const allColor = color1.concat(color2); 
    //['blue', 'pink', 'white', 'black', 'orange', 'yellow']
    console.log(allColor); 
    
    const colorPlus = color1.concat('gold', ['silver', 'bronze']); 
    //['blue', 'pink', 'white', 'gold', 'silver', 'bronze']
    console.log(colorPlus);
    
    const colorAndNum = color1.concat(num1);   
    //['blue', 'pink', 'white', 100, 200, 300]
    console.log(colorAndNum); 
    
    const allNum = num1.concat(num2);   
    //[100, 200, 300, 400, 500, [600, 700]]
    console.log(allNum); 
    

    concatは䞀぀以䞊の配列を結合し、䞀぀の配列にしたす。

    配列䞭のデヌタの圢匏タむプにかかわらず結合できるし、ネストされおいる配列配列䞭にたた配列がある構造の結合もできたす。


    ES6から远加された文法の䞀぀であるスプレッド構文は配列或はオブゞェクトを速くお安党にコピヌするこずができたす。

    深いコピヌ(deep copy)方法でコピヌするので、既存のデヌタずは違うメモリヌアドレスを䜿いたすね。

    なので配列の結合方法の䞭では䞀番いい方法だず蚀えたす。

    const musician = ['Chet Baker', 'Miles Davis'];
    const actor = ['Clint Eastwood', 'George Clooney'];
    
    const favorites = [...musician, ...actor];    
    // ['Chet Baker', 'Miles Davis', 'Clint Eastwood', 'George Clooney'];
    console.log(favorites); 
    
    const favoritesReverse = [...actor, ...musician];
    // ['Clint Eastwood', 'George Clooney', 'Chet Baker', 'Miles Davis'];
    console.log(favoritesReverse)
    
    

    たた、スプレッド構文は次のように非構造化ではよく぀かわれおいたす。

    const myColor = ['beige', 'burgundy', 'charcoal', 'ivory'];
    
    const [color1, color2, ...others  ] = myColor;
    console.log(color1);   // 'beige'
    console.log(color2);   // 'burgundy'
    console.log(others);   // ['charcoal', 'ivory']

    push()は配列の最埌に芁玠を远加するずきよく䜿うメ゜ッドです。

    push()メ゜ッドずスプレッド構文を䞀緒に䜿うず配列の結合ができたす。

    でもこの方法は既存デヌタの䞊に新しいデヌタを䞊曞きするので既存デヌタの倉曎に泚意する必芁がありたす。

    const pizza = ['dough', 'cheese', 'meat', 'source'];
    const pizzaAdd = ['parmesan', 'tabasco'];
    
    pizza.push(...pizzaAdd);   
    
    // ['dough', 'cheese', 'meat', 'source', 'parmesan', 'tabasco'];
    console.log(pizza); 
    

    2. 総合

    配列を結合する方法の䞭concat(), …spread, push()に぀いお調べおみたした。

    状況により必芁な方法が違うので、システムやロゞックを考えた䞊で遞んだら問題はないず思いたす。

    あざヌす

    やすくお速い正芏衚珟(Easy Regular Expression)

    正芏衚珟の構成ず意味、ゞャバスクリプト(Javascript)でのお扱い

    正芏衚珟ずいうのは怜玢パヌタンを指定し蚘号で衚瀺したものです。

    このアむデアはアメリカの数孊者であるスティヌブンコヌルクリヌン(Stephen Cole Kleene)が1950幎代に正矩した正芏蚀語(Regular Language)ず関係がありたしお、正芏衚珟の文法は1980幎代にパヌル(Perl)蚀語から䜿い始たりたした。

    䞻に、怜玢や眮換の䜜業に䜿われ、皆が䜿うほずんどのプログラミング蚀語の䞭でサポヌトされおいる文法です。

    䟋えば、次の文章の䞭で特定した条件を怜玢するずき正芏衚珟の力を借りるこずができたす。

    The greatest danger for most of us is not that our aim is too high and we miss it, but that it is too low and we reach it.

    • ‘too’ 文字列を怜玢する -> /too/
      The greatest danger for most of us is not that our aim is too high and we miss it, but that it is too low and we reach it.
    • 倧、小文字を構わなく ‘t’ 文字を怜玢するずき -> /t/-gi
      The greatest danger for most of us is not that our aim is too high and we miss it, but that it is too low and we reach it.
    • ‘d’ から始たる単語及び文字のすべおを怜玢するずき -> /[d]\w+/-gi
      The greatest danger for most of us is not that our aim is too high and we miss it, but that it is too low and we reach it.
    • ‘ea’を含む単語を怜玢するずき -> /[a-z]*ea[a-z]*/-i
      The greatest danger for most of us is not that our aim is too high and we miss it, but that it is too low and we reach it

    正芏衚珟の文法テストは次のペヌゞが助かりたす。

    regexr.com

    青いバヌExpressionの䞋のむンプットには衚珟を入れ曞き、その䞋のボックスには怜玢察象になるテキストを入れればオッケヌです。

    たず、衚珟の意味に぀いお少し勉匷しおからJavascriptで楜に䜿う方法を確認しおみたす。


    1. 正芏衚珟の蚘号

    • / . / → すべおの文字
    • / + / → 䞀぀以䞊の文字
    • / ? / → たたは䞀぀の文字
    • / ^ / → 該圓の文字を陀く
    • / / → 範囲指定
    • / * / → たたは䞀぀以䞊の文字
    • / [ ] / → グルヌプセット
    • / { } / → 繰り返しの回数指定
    • / \ / → ゚スケヌプ
    • / \d / → すべおの数字
    • / \D / → 数字ではない文字
    • / \w / → アルファベット、数字、アンダヌバヌ
    • / \W / → アルファベット、数字、アンダヌバヌではない文字
    • / \s / → 空癜文字
    • / \S / → 空癜ではない文字
    • / \n / → 改行

    基本的に正芏衚珟を構成する蚘号は䞊蚘であり、この蚘号さえ芚えれば正芏衚珟の基本的な仕組みは十分理解できるず思いたす。

    それではサンプルを参考しながら正芏衚珟を分析しおいきたしょう。


    2. 蚘号の意味

    正芏衚珟で䞀番基瀎になる蚘号であるので芚えおおくず圹に立ち郚分です。

    dは数字、 wは英文字、 sは空癜、 nは改行の意味であり、各文字の倧文字は NOT(反察)を瀺したす。

    • 数字が䞀回以䞊繰り返す文字怜玢 👉 / [\d]+ /
    • 数字ではない文字を怜玢空癜含む 👉 / [\D] /
    • 括匧(かっこ)が含たれおいる文字、数字怜玢 👉 / \([\w]+\) /
    • 英文字、数字、アンダヌバヌではない文字怜玢 👉 / [\W]+ /
    • 空癜怜玢 👉 / \s /

    䞊で玹介したregexr.comで怜玢察象になるテキストをいれおパヌタンを盎接に䜜成しおみるずすぐ正芏衚珟になれるず思いたす。


    倧䜓゚スケヌプずいうのは䜕ですかね。

    キヌボヌドの䞀番巊䞀番䞊のキヌ(ESCず曞かれおいるもの)が゚スケヌプの略字です。゚スケヌプの意味は逃れるのです。

    こちらでは玄束から逃れるこずだず認識すればいいず思いです。

    䟋えば、正芏衚珟で点(. dot)はすべおの文字の意味にしようず玄束した特別な文字ですね。

    でもたたには’それ玄束以倖’に点をピリオド意味の点で䜿いたいずきがありたすね。

    この時゚スケヌプを䜿いたす。

    ゚スケヌプを䜿わない限り、文字は玄束した機胜ずしお動きたす。

    䞋の䟋で確認したしょう。

    • すべおの文字を意味。 a, b, c, d, ?, !, @, , などすべおの文字の䞭䞀぀ 👉 / . /
    • ゚スケヌプを前に぀けるずただピリオド蚘号だけの意味 👉 / \. /
    • 䞀぀以䞊の文字の意味 👉 / + /
    • ゚スケヌプを前に぀けるずただプラス蚘号だけの意味 👉 / \+ /

    ゚スケヌプはよく䜿われる必須な機胜であるので、そのたたの文字にはならないので゚スケヌプが必芁な特別な文字(. ? + *などを芚えおおく必芁がありたす。

    その文字の䞀郚を䞋で玹介したす。


    䞊で玹介した特別な蚘号は特別な意味を持ちたす。代衚的な䜿い方は䞋の通りです。

    • 小文字a~z或は倧文字A~Z䞭䞀臎する英文字怜玢 👉 / [a-zA-Z] /
    • color或はcolourを怜玢(‘u’があっおもなくおもいい) 👉 / colou?r /
    • ‘a’を含む単語怜玢 👉 / [\S]*a[a-zA-Z]* /
    • a-z或は空癜(space)ではない文字怜玢 👉 / [^a-z ] /
    • 英文字から始め必ず数字たたは特殊蚘号を含む文字列を怜玢 👉 / [a-zA-Z]+[\d!@#\$%\^*]+[\w]* /

    䞭括匧は繰り返しの回数を指定し、これを䜿うず詳しい怜玢パヌタンの蚭定が可胜です。

    䞭括匧の䞭、䞀぀の数字は党䜓の繰り返し回数の意味であり、二぀の数字は頭ず末の範囲を指定する意味です。

    䟋え、{3}は回繰り返しの意味であり、{1, 3}は範囲区間1から3の意味です。

    {1, }のような衚珟も可胜であり、これは+蚘号ず同様な意味, ぀たり䞀぀以䞊の意味でありたす。

    • Aが3回繰り返す文字を怜玢 👉 / [A]{3} /
    • 3桁以䞊の数字を怜玢(3번以䞊繰り返し) 👉 / [\d]{3,} /
    • Aが二回から䞉回たで繰り返す文字を怜玢(繰り返す範囲指定) 👉 / [A]{2,3} /

    繰り返し回数だけを指定すれば、意図しない結果が出るこずがあるので、郚分匏(subexpression)ず党埌方䞀臎怜玢を䞀緒に䜿うずもっず効果的なパヌタンが可胜です。


    角かっこの䞭に蚘号を曞き、怜玢パヌタンを指定したす。盎接に蚘号を曞き蟌んだり、範囲指定蚘号の’-‘を䜿っおパヌタンを指定したす。

    • 指定する文字(a 或は A 或は b 或は B 或は c 文字)䞀぀を怜玢 👉 [aAbBc]
    • aから eたで(a,b,c,d,e)の範囲内䞀぀の文字を怜玢 👉 [a-e]
    • 陀倖文字’^’があるので a-z 範囲に入らない文字(蚘号)を䞀぀怜玢 👉 [^a-z]
    • 明蚘した蚘号の䞀぀を怜玢 👉 [?!@#$%^&*()_]
    • c或はCから始め, a-zの䞭䞀぀で終わる単語怜玢 👉 [cC][a-z]

    [ ]を䜿うず䞀぀だけの文字を怜玢するので䞀぀以䞊の文字を怜玢したいずきには+蚘号䞀぀以䞊の文字、は䞍可たたはたたは䞀぀以䞊の文字、も可胜蚘号を付ける必芁がありたす。

    • 䞀぀以䞊のa-z文字を怜玢(必ず䞀぀以䞊の条件) 👉 [a-z]+
    • 個以䞊のA-Z文字を怜玢(なくおもいい) 👉 [A-Z]*

    特定構成で成り立぀文字列の怜玢に効果的であり、䟋えばメヌルアドレスの文字列がありたす。

    メヌルアドレス圢匏のabcd@xyz.comを怜玢するためには次のようなパヌタンを䜿うこずができたす。

    /[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]+/

    では、パヌタンを分析しおみたす。

    先、メヌルのIDになる郚分は英文字ず数字が入るので、[a-zA-Z0-9]で始め䞀぀以䞊を意味する+蚘号を付けたす。

    その次、@が続きたすので@を入れ, ホストのアドレスも䞀぀以䞊の英文字ず数字を指定したす。

    .com圢のアドレスなのでピリオドをそのたた䜿うため゚スケヌプを䜿いたた䞀぀以䞊の英文字を入れおパヌタンを生成したす。

    もしIDの䞭に点が入るかホストアドレスが.co.jpなどの圢になるずきにはそれに察する応甚が必芁です。



    3. たずめ

    正芏衚珟の第䞀印象はたるで倖界蚀語みたいな姿で広く䜿われる既存の蚀語ずは違う様子をしおたすね。

    軜く近づけられなくいやな気持がするずきもありたすが、少しだけでも調べおみたら意倖ず簡単な芏則でパワフル機胜を持っおいいや぀だなず思われる時が来るかもですね。

    䞊で玹介した郚分は代衚的な機胜を玹介するため簡単なパヌタンたちなので、䞊のパヌタンは䞍完党なパヌタンでありたす。もの正しいパヌタンを䜜るためにはもっず深く勉匷する必芁がありたすね。

    ご質問がありたしたら、自由にコメントください

    あざヌす