[Linux]부트캠프 - 파일 및 폴더 생성
파일 및 폴더 생성
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
<script></script>
안에서 사용되야 합니다.🥰document.Element대상
으로 접근한다.Document
메소드 querySelector('css 선택자')
는 CSS의 선택자를 사용해 노드 하나를 반환한다.
예시로 id
가 test
인 선택자를 불러올때는 이렇게 적어준다.
var doc = document.querySelector('#test') // 반환한 노드를 doc 변수에 저장
또한 이렇게 불러온 노드의 내용을 바꿔줄 수도 있다.
doc.innerHTML = '바꾸고 싶은 내용';
Document
메소드 querySelectorAll()
은 지정된 셀렉터 그룹에 일치하는 문서의 엘리먼트 리스트를 나타내는 정적 노드리스틀 반환한다.(파이썬의 배열같다고 생각하면 된다. 특정 노드를 가져올때 대괄호[]
를 이용해 인덱싱을 해줌)
예시로 id=test
인 노드 전체를 불러와 첫번째 노드를 반환한다.([0]
)
var doc = document.querySelectorAll('#test')[0];
엘리먼트 하나를 선택하여 값 하나(Node)를 반환한다. 중복은 불가하다.
예시 : id
에 지정되어있는 요소 1개를 가져올 것이다.
var doc = document.getElementById('test');
동일하게 노드의 내용을 바꿔줄 수도 있고, 스타일을 입혀줄 수도 있다.
doc.innerHTML = '바꾸고 싶은 내용';
doc.style.color = '바꾸고 싶은 글자 색상';
엘리먼트 여러개를 선택해 노드 여러 개. 즉, 배열(NodeList)
을 반환한다.
예시: name
이 test2
인 요소들을 가져온다.
var doc = document.getElementsByName('test2');
쿼리선택자All과 같이 변수에 저장해서 인덱싱해서 값을 넣어줄 수도 있다.
doc[1].value = "바꾸려고하는 내용을 적어주자." // 배열 중 두번째에 위치한 노드
엘리먼트를 여러 개 선택해서 노드 여러개. 즉, 배열(NodeList)
을 반환한다.
예시: <p>
태그인 요소들을 가져온다.
var doc = document.getElementsByTagName('p');
doc
변수에 저장했으니 블록요소들의 내용을 바꿔주거나 입력해줄 수 있다.
doc[3].innerHTML = '배열의 [3]에 위치한 영역에 내용 추가! ';
Tip. 왜 값을 저장할 때 .value .innerHTML 두 가지를 사용할까?
input
요소 안에 저장해 주는 것이고, innerHTML은 여는 태그와 닫는 태그 사이의 영역 값에 저장해 주는 것이기 때문이다.property
: 속성이다.function(method)
: 함수 및 기능을 의미한다.this
: 객체 내부의 메서드나 속성을 정의하여 외부에서 접근을 가능하게 만들어준다. 파이썬의 self
에 빗대어 생각하면 기억하기 좋을 것 같다.prototype
: 객체의 확장Class()
생성자를 이용하는데, JS에서는 var 변수명 = new 객체생성자
를 사용한다.파이썬에서 Class문을 사용해서 만드는 것처럼 JS에서는 function을 사용해서 객체 생성자를 만들어 준다.
예시
function object01(){
this.name01 = '전동준'; // name01이라는 객체 내부 속성 정의
var name02 = 'jeon-dj'; // name02 변수에 문자를 저장했고
this.getName02 = function(){ // name02를 속성으로 반환하는 getName02 메서드를 정의
return name02;
}
함수 objTest()
를 정의해 그 안에서 object01()
객체 생성자를 사용해 객체를 만들어 주고 alert
를 사용해 객체와 그 속성과 메서드를 확인해보자.
function objTest(){
// 객체 생성 new
var obj01 = new object01(); // 변수 obj01에 객체를 생성해준다.
alert(obj01.name01);
alert(obj01.name02);
alert(obj01.getName02());
alert(obj01.name01);
alert(obj01.name02);
object01()
객체 생성자를 만들면서 name02
에 'jeon-dg'
를 저장해줬는데?..alert(obj01.getName02());
jeon-dj
이 나온 이유는 아까 내부함수에서 저장시켜줬기 때문이다.function
을 사용하지 않고 var
변수지정을 사용해 객체 리터럴을 만들어줄 수 있다.
예시
var object02 = {
name: "j-dj", // 파이썬 딕셔너리같은 느낌
prn: function(){
alert(object02.name + '의 전화번호 : 010-1234-5678');
}
파이썬에서 key:value
형태로 딕셔너리에 넣어주는 것 처럼
왼쪽 부분에는 속성이나 메서드 이름을 , 오른쪽에는 그 값들을 적어주고 중괄호{}
로 묶어준 후에 var
를 사용해 변수에 저장해 주면 객체 리터럴
이 완성된다.
1번과 같이 objTest()
에서 alter
를 이용해 object02
객체의 속성과 메서드를 확인해보자.
alert(object02.name);
object02.prn();
prototype
메서드를 사용하면 이미 생성된 객체에 속성이나 메서드를 추가할 수 있다.
예시 : object01
객체에 prn
이라는 메서드를 추가해보자.
object01.prototype.prn=function(){ // prototype은 객체에 기능을 추가하고 싶을 때 사용
alert(this.name01 + '은 최고다.');
obj01.prn();
JS에서는 더하기 연산자(+)로 문자열과 문자열을 연결할 수 있다.
var str01 = 'String';
var str02 = 'Test';
var str03 = str01 + str02;
alert(str03);
concat
함수를 이용해서 문자열 연결이 가능하다.
var newString = str01.concat('Test', 'Java', 'Script');
alert(newString)
join
함수를 사용해서도 연결이 가능하다.
배열.join(문자)
의 형식으로 배열의 사이사이에 문자가 삽입된다.(파이썬에서는 리스트라 부르며, 문자.join(배열)
로 식이 조금 다르다.)
var joinTest = ['5','10','15','20'].join('+');
alert(joinTest);
파이썬에서는 다른 타입끼리의 더하는 연산이 불가능했다. 하지만 JS에서는 문자열과 다른 타입(숫자, 불리언 등)이 만나면 문자열로 합쳐진다.
var numVal = 12.5; // 숫자형
var bool = true; // 논리형
var result = 'String' + numVal + bool; // str + int + boolean 타입을 더하기 연산자로
alert(result); // 결과 확인
alert(typeof(result)); // typeof는 타입 확인
이렇게 다른 타입의 변수들이 자동으로 문자열로 타입이 바뀌어 연결되는 것을 확인할 수 있다.
타입은 string
으로 나온다.
if문을 사용해서 문자열이 같은지 다른지도 비교할 수 있다.
var str = prompt('이름을 입력하세요'); // 문자를 적는 대화창에 변수 `str` 값을 받아준다.
var span = document.getElementById('res'); // id가 res인 노드를 span에 저장
if (str == '동준') { // 만약 대화창에 적은 내용이 '동준'이라면
span.textContent = str + "님 환영합니다!"; // res라는 노드에 '동준님 환영합니다!' 출력
} else if (str.toLowerCase() == 'dongjun') { // 적은 값을 소문자로 바꿔 donjgun과 같다면
span.textContent = str + ', hello!'; // 'dongjun, hello!'를 출력
} else {
span.textContent = '이름을 다시한번 확인해 주십시오~'; // 그 외의 것을 적었을 때
}
동준
을 적었을 때 :
DongJUN
을 적었을 때 :
JS에서는 숫자형 정수를 문자형 정수와 비교할 때 자동으로 문자형으로 반환 시켜주기도 한다.
var numVal = 10; // 변수 numVal에 숫자형 10을 저장
if (numVal == '10') { // 숫자형 10과 문자형 10을 비교
alert('== 연산자 사용 : 숫자 10 입니다.');
} else {
alert('== 연산자 사용 : 숫자 10이 아닙니다.');
}
하지만 ===
비교연산자(엄격한 비교를 함)를 사용하면 타입의 다름을 정확이 구분한다.
if (numVal === '10') {
alert('=== 연산자 사용 : 숫자 10입니다.');
} else {
alert('=== 연산자 사용 : 숫자 10이 아닙니다.');
}
문자열과 문자열 객체를 비교할 때도 이를 확인 할 수 있다.
엄격한 연산자 ===
는 다르다고 나온다. 왜냐하면 문자열 != 문자열 객체
이기 때문이다.
var strObj = new String('동준');
var strLiteral = '동준';
if (strObj == strLiteral) {
alert('문자가 같습니다.');
} else {
alert('문자가 다릅니다.');
}
if (strObj === strLiteral) {
alert('문자가 같습니다. ===');
} else {alert('문자가 다릅니다. ===');
}
indexOf
와 lastIndexOf
메소드를 사용해 문자열도 추출할 수 있다.
indexOf
는 왼쪽에서 오른쪽(->), lastIndexOf
는 오른쪽에서 왼쪽(<-)으로 탐색한다.
검색해서 일치하는 단어의 첫번 째 인덱스 값을 반환한다.
값이 존재하지 않으면 -1을 반환한다.
var strVal = '차범근 박지성 손흥민 홍명보 차범근';
var prop = prompt('검색할 이름을 입력해 주세요');
alert('indexOf : ' + strVal.indexOf(prop));
alert('lastIndexOf : ' + strVal.lastIndexOf(prop));
prompt창에 차범근을 적어넣어봤다.
strVal
문자열에 없는 값을 아무거나 적어봤다.
substring
과 인덱스 메서드를 이용해서 원하는 문자열을 추출할 수 있다.
파이썬의 슬라이싱처럼 lastIndexOf
가 포함한 문자의 -1자리 까지 추출가능하다.
var strVal = 'substring을 @활용해서 문자를 나눌 수 있다.';
var startIndex = strVal.indexOf("@"); // 첫 @가 나올때부터 슬라이싱 시작
var endIndex = strVal.lastIndexOf("."); // 마지막 .의 -1 위치까지 슬라이싱(다)
var res = strVal.substring(startIndex, endIndex); // substring으로 문자열 추출 후 변수에 저장
alert(res); // 대화창에 출력
split
메서드를 사용해 문자열을 나눠줄 수 있다.
prompt(x, y)
의 y자리는 대화상자가 켜졌을 때 자동으로 입력이 되는 값이다.
예시: 문자열을 쉼표로 나눠 id가 key인 영역에 줄을 바꾸며 순서대로 출력한 경우
var prop = prompt('쉼표로 구분하여 키워드를 입력해주세요', '사과,바나나,키위,수박');
var propArr = prop.split(','); // 쉼표로 문자열을 나눠서 propArr에 저장
var propResult = ""; // 빈 문자열을 만들어 줌
for (var i = 0; i < propArr.length; i++) { // propArr의 길이까지 반복, i는 1씩 증가
propResult += propArr[i] + "<br/>"; // 빈 문자열에 순차적으로 나눠진 문자들이 저장된다.(줄바꿈을 하면서)
}
document.getElementById('key').innerHTML = propResult; // 출력 확인
리터럴 형태
var num01 = 3;
alert(num01 + ":" + typeof(num01)); // 타입도 확인
객체 형태
var num02 = new Number(3);
alert(num02 + ':' + typeof(num02));
문자형을 정수형으로 바꿔줘서 연산
parseInt
는 문자를 정수형으로 바꿔준다.
alert(parseInt("1") + 1);
정수형으로 바꿀 수 없는 문자와 연산
알파벳과 같은 문자는 숫자로 바꿀 수 가 없다.
parseInt
를 그런 문자에 적용하고 숫자와 연산시키면 NaN
(Not a Number)가 반환된다.
alert(parseInt('a') + 1);
Math
객체의 메서드들을 사용해서 난수를 생성할 수 있다.
Math
객체의 메서드 몇 가지
Math.random()
: 0 <= x < 1 에 해당하는 난수 생성Math.fllor()
: 숫자 내림Math.round()
: 숫자 반올림Math.ceil()
: 숫자 올림Math.PI
: 파이값 반환0부터 100까지의 난수(정수)를 생성하는 경우
var hundred = Math.floor(Math.random() * 101);
10부터 99까지의 난수(정수)를 생성하는 경우
var min = 10;
var max = 100;
var ran = Math.floor(Math.random() * (max-min) + min);
로또 번호 생성(1부터 45)하는 경우
var lotto = Math.floor(Math.random() * 45 + 1);
CSS의 style의 색상은 RGB(red/green/blue)로 이루어져있다.
RGB는 각각 256가지(0~255) 값을 갖고 있으며 그 조합들로 색이 만들어 지는 것이다.
rgb(256, 256, 256)
속성을 이용해 난수를 만들어 배경색을 랜덤하게 바꿔볼 수 있다.
function randomBG(){
var rum = function(){
return Math.floor(Math.random() * 256); // 0부터 255까지의 난수를 반환하는 함수 값
}
document.body.style.backgroundColor = 'rgb(' + rum() + ',' + rum() + ',' + rum() + ')'; // 문서의 몸통부분의 배경색 스타일을 rgb(난수,난수,난수)로 적용
}
파일 및 폴더 생성
파일 시스템 탐색
도움말(man -> manual)
명령어 기초
유닉스(Unix)
특정 코드 지연 실행 - DispatchQueue.main.asyncAfter(deadline: )
Naming Conventions
안드로이드 폰과 맥북에어 M1 USB 테더링 성공
Simulator 풀 스크린 사용 방법
10807번 - 개수 세기
프로그래머스 Lv.1 풀이 코드 모음
프로그래머스 Lv.1 풀이 코드 모음
11047번 - 동전 0
11659번 - 구간 합 구하기 4
14888번 - 연산자 끼워넣기
9184번 - 신나는 함수 실행
24416번 - 알고리즘 수업 - 피보나치 수 1
2580번 - 스도쿠
9663번 - N-Queen
15652번 - N과 M (4)
15651번 - N과 M (3)
15650번 - N과 M (2)
25305번 - 커트라인
25304번 - 영수증
3003번 - 킹, 퀸, 룩, 비숍, 나이트, 폰
15649번 - N과 M (1)
2004번 - 조합 0의 개수
1676번 - 팩토리얼 0의 개수
9375번 - 패션왕 신해빈
1010번 - 다리 놓기
11051번 - 이항 계수 2
11050번 - 이항 계수 1
3036번 - 링
2981번 - 검문
1934번 - 최소공배수
2609번 - 최대공약수와 최소공배수
1037번 - 약수
5086번 - 배수와 약수
1358번 - 하키
1004번 - 어린 왕자
1002번 - 터렛
3053번 - 택시 기하학
2477번 - 참외밭
4153번 - 직각삼각형
3009번 - 네 번째 점
1085번 - 직사각형에서 탈출
11478번 - 서로 다른 부분 문자열의 개수
1269번 - 대칭 차집합
1764번 - 듣보잡
10816번 - 숫자 카드 2
1620번 - 나는야 포켓몬 마스터 이다솜
14425번 - 문자열 집합
10815번 - 숫자 카드
18870번 - 좌표 압축
10814번 - 나이순 정렬
1181번 - 단어 정렬
11651번 - 좌표 정렬하기 2
11650번 - 좌표 정렬하기
1427번 - 소트인사이드
2108번 - 통계학
10989번 - 수 정렬하기 3
2751번 - 수 정렬하기 2
2750번 - 수 정렬하기
22.06.25 ~ 27 부산 먹부림 기록
1436번 - 영화감독 숌
1018번 - 체스판 다시 칠하기
7568번 - 덩치
2231번 - 분해합
2798번 - 블랙잭
11729번 - 하노이 탑 이동 순서
2447번 - 별 찍기 - 10
17478번 - 재귀함수가 뭔가요?
10870번 - 피보나치 수 5
10872번 - 팩토리얼
9020번 - 골드바흐의 추측
4948번 - 베르트랑 공준
1929번 - 소수 구하기
11653번 - 소인수분해
2581번 - 소수
1978번 - 소수 찾기
10757번 - 큰 수 A+B
2839번 - 설탕 배달
2775번 - 부녀회장이 될테야
10250번 - ACM 호텔
2869번 - 달팽이는 올라가고 싶다
1193번 - 분수찾기
2292번 - 벌집
1712번 - 손익분기점
1316번 - 그룹 단어 체커
2941번 - 크로아티아 알파벳
5622번 - 다이얼
2908번 - 상수
1152번 - 단어의 개수
1157번 - 단어 공부
2675번 - 문자열 반복
10809번 - 알파벳 찾기
11720번 - 숫자의 합
11654번 - 아스키 코드
1065번 - 한수
4673번 - 셀프 넘버
15596번 - 정수 N개의 합
4344번 - 평균은 넘겠지
8958번 - OX퀴즈
25083번 - 새싹
Spark Bigdata Pipeline
Spark 3일차
Spark 2일차
1546번 - 평균
Spark 1일차
Hadoop🐘
3052번 - 나머지
2577번 - 숫자의 개수
2562번 - 최댓값
10818번 - 최소, 최대
Linux
MongoDB 조회 문제
MongoDB
1110번 - 더하기 사이클
10951번 - A+B - 4
Oracle 3️⃣
ORACLE 연습용 문제 만들기 숙제
10952번 - A+B - 5
Oracle 2️⃣
2480번 - 주사위 세개
Oracle Day1️⃣
Tensorflow
Big Data
2525번 - 오븐 시계
10871번 - X보다 작은 수
2439번 - 별 찍기 - 2
2438번 - 별 찍기 - 1
11022번 - A+B - 8
11021번 - A+B - 7
2742번 - 기찍 N
2741번 - N 찍기
15552번 - 빠른 A+B
8393번 - 합
10950번 - A+B - 3
9️⃣ 2739번 - 구구단
2884번 - 알람 시계
14681번 - 사분면 고르기
⛏크롤링(Crawling)
2753번 - 윤년
Django 복습 4️⃣
Django 복습 3️⃣
💯 9498번 - 시험 성적
1330번 - 두 수 비교하기
✖ 2588번 - 곱셈
➗ 10430번 - 나머지
Django 복습 2️⃣
Django 복습 1
MySQL 복습!
⁉10926번 - ??!
🆎1008번 - A/B
👩🦲 18108번 - 1998년생인 내가 태국에서는 2541년생?!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🎈✨경 축✨🎈
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
선형 자료구조(1일차에 이어서)
🆎10998번 - A×B
🆎1001번 - A-B
🆎1000번 - A+B
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🐶10172번 - 개
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🐱10171번 - 고양이
[해당 포스트는 유튜버 나동빈님의 영상을 참고했습니다.]
❤10718번 - We love kriii
🖐2557번 - Hello World
Today I Learned(TIL)📌 (2021.12.31)
Today I Learned(TIL)📌 (2021.12.30)
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[noitce!!] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!