[Linux]부트캠프 - 파일 및 폴더 생성
파일 및 폴더 생성
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
강의를 들으며 배웠던 점들을 복습하며 내 나름대로 정리해봤다. 솔직히 내가 정리하는 것들은 정말 기초에 불과하며 너무나 다양한 속성들과 요소들은 사이트를 참조해서 보는게 맞는 것 같다 :)
그리고 요새 너무너무 배우는 양이 많아 공부한 것들을 요약하고 있지만 시간이 너무 훌쩍 지나간다.
코딩을 더 많이 해야하는데, 어쩌다 보니 기록을 더 많이 하고 있게 되었다. 흑.. 😥
그래도 좀 더 파이팅하고 코딩을 많이 많이 하는 습관을 들이자, 아잣!
소프트웨어에 실행시키는 처리 절차를 문자(텍스트)로 기술한 것
응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어
//
인라인 방식
<li onclick="alert('inline 방식!!!');">inline 방식</li>
이런 식으로 요소들 안에 적용할 수 있다.
내부 처리 방식
<head>
<script type='text/javascript'>
function hellojs(){
var = js
}
</head>
이렇게 head태그 안에 <script>
태그를 작성해 적용시킬 수 있다.
type='text/javascript'
는 안적어도 무방하지만 적는 습관을 기르도록 하자.외부 처리 방식
외부의 js파일을 불러와서 적용시킬 수 있다.
<head>
<script type='text/javascript' src='resources/js/js01.js'>
</script>
</head>
var
를 사용한다.
var 변수명 - 값;
<head>
<script type='text/javascript'>
// 주석
// 전역변수
var variable = 10;
function val01(){
variable = variable + 5;
document.getElementById("value01").innerHTML = "<b style='color:red; background:yellow;'>"+variable+"</b>";
}
function val02(){
// 지역 변수
var innerVal = variable + 10;
document.getElementById('value02').innerHTML="<b style='color:red; background:yellow;'>"+innerVal+"</b>";
}
</script>
</head>
<body>
<dl>
<dt>변수의 범위</dt>
<dd>전역 변수 : window 객체에 포함됨
<button onclick='val01();'>확인</button>
<p id='value01'></p>
</dd>
<dd>지역 변수 : 함수나 객체 내부에 선언
<button onclick='val02();'>확인</button>
<p id='value02'></p>
</dd>
</dl>
</body>
</html>
해당 코드를 보면 내부 스크립트 안에 var variable = 10;
이렇게 variable이라는 변수에 10을 지정해 줬다.
val01()
이라는 함수를 생성해 버튼을 만들어 블록요소에 적용시켰고, 해당 버튼을 클릭할 때 마다 숫자가 5가 추가되서 출력하게 만들었다.
한번 해당 문서에 가서 클릭해보니 15가 출력될 것이다. 이로써 variable이 전역변수라는 점을 알 수 있다.
지역변수의 특성도 확인하기 위해 var innerval = variable + 10
라고 적어 innerval 변수를 만들어 줬다.
val02()
라는 함수를 만들어 버튼을 만들어 블록요소에 출력하도록 만들었다. 해당 버튼을 클릭할 때 마다 전역변수에 10이 추가된 값을 출력해준다.
한번 클릭하자 25가 출력될 것이다. 하지만 여러번 계속 클릭해도 여전히 25다. 전역 변수를 한번 클릭하고 다시 눌러봤다. 그러자 30이 되는 것을 확인 했다. 이렇듯, innerval은 val02()
내에서 만든 그 안에서만 작동하는 지역 변수라는 점을 알 수 있다.
예시를 통해 더 자세히 알아보자.
내부 스크립트 안에 inferVal
이라는 변수를 만들어 여러 타입의 리터럴을 저장해 줄 것이다. 한번 var로 선언을 해놓고 변수명만 호출에 다른 값을 지정해 줄 수 있다.
jsType
이라는 함수를 만들어 alert
(알림창)에 해당 리터럴과 타입을 확인할 수 있게 만들었다.
타입의 확인은 typeof()
메소드를 사용한다.
function jsType(){
var inferVal = "문자"; // var를 사용해 함수 첫 지정
alert(inferVal + "의 타입은 : " + typeof(inferVal));
inferVal = 33; // 이후부턴 var 사용 안해도됨 :)
alert(inferVal + "의 타입은 : " + typeof(inferVal));
inferVal = true;
alert(inferVal + "의 타입은 : " + typeof(inferVal));
inferVal = null;
alert(inferVal + "의 타입은 : " + typeof(inferVal));
inferVal = new val01();
alert(inferVal + "의 타입은 : " + typeof(inferVal));
inferVal = function(){
alert("타입 추론!");
}
alert(inferVal + "의 타입은 : " + typeof(inferVal));
body 안에는 다음 코드가 들어간다.
<dl>
<dt>타입의 종류
<button onclick="jsType();">확인</button>
<!-- jsType() 함수를 호출해 클릭으로 이벤트를 만듦 -->
</dt>
<dd>string</dd>
<dd>number</dd>
<dd>boolean</dd>
<dd>Null</dd>
<dd>object</dd>
<dd>function</dd>
</dl>
alert
: 경고메시지로, 코드 디버깅용으로 사용한다.confirm
: 확인/취소 버튼이 있는 대화창을 생성하며 확인을 누를경우 true, 취소를 누를경우 false 값을 리턴한다.prompt
: 텍스트 박스만들어준다. 확인/취소버튼이 생기며 텍스트의 값을 적고 확인을 누르면 그 텍스트의 값을, 취소버튼을 누르면 null값을 리턴한다.각 대화형 메서드를 호출하는 함수를 생성해준다.
설명은 코드내에 주석으로 적어놨다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script> // js 스크립트 내부호출
function alertFunc(){ // alert 대화창을 호출하는 함수
alert("내용 출력 (단순 대화창)");
}
function confirmFunc(){ // confirm 대화창을 호출하는 함수
if(confirm("배경을 파란색으로 변환?")){ // 만약 확인버튼을 누르면
alert("파란색으로 변환합니다."); // body태그의 배경색을 파란색으로 전환
document.body.style.backgroundColor='blue';
} else {
alert("배경색을 없앱니다."); // 취소를 누르면 배경색 복구
document.body.style.backgroundColor='';
}
}
function promptFunc(){ // prompt 대화창을 호출하는 함수
var txt = prompt('좋아하는 과목을 선택해 주세요\n[1:python 2:html/css 3:javascript]', '3'); // 파이썬의 인풋함수처럼 대화창에 설명을 넣을 수 있다.
if (txt == 1) {
alert('python 재밌죠~ㅋ.ㅋ'); // 1을 작성하고 확인 버튼을 누르면 해당 문장을
} else if (txt == 2) {
alert('문서 구조화 하고 스타일 지정 재밌죠ㅎㅎ'); // 2을 작성하고 확인 버튼을 누르면 해당 문장을
} else if (txt == 3) {
alert('아직 몇개 안해봤는데 벌써 재밌죠~'); // 3을 작성하고 확인 버튼을 누르면 해당 문장을
} else if (txt == null) {
alert('하나라도 좋아해주세요 ㅠㅠ'); // 취소 버튼을 누르면 해당 문장을
} else {
alert('1이나 2나 3만 입력해 주세요..'); // 1,2,3 외의 값을 적고 확인 버튼을 누르면 해당 문장을 출력
}
}
</script>
</head>
<body>
<h1>window 객체의 대화형 메서드</h1>
<p>
alert() : 경고, 코드 디버깅용
<button onclick='alertFunc();'>확인</button> <!-- 버튼 생성 -->
</p>
<p>
confirm() : 확인 / 취소 버튼 (true / false 리턴)
<button onclick='confirmFunc();'>확인</button> <!-- 버튼 생성 -->
</p>
<p>
prompt() : 텍스트박스, 확인 / 취소 버튼(텍스트 / null 리턴)
<button onclick="promptFunc();">확인</button> <!-- 버튼 생성 -->
</p>
</body>
</html>
이제 문서를 확인해보면 다음과 같이 나와있다.
alert 버튼부터 눌러보자.
confirm 확인 버튼 누른 후
prompt 확인 누르고 3 입력
def
로 함수를 정의하지만, JS는 function
으로 함수를 정의한다.(매우 직관적이다..;;;){ }
안에 적어준다.name
: 함수 이름. 이름 없는 함수일 경우 생략 가능. 함수 이름은 함수의 몸통 내에서만 사용 가능paramN
: 함수로 전달되는 인수의 이름statements
: 함수 몸통을 구성하는 문함수 선언하는 방식중 이름을 함수의 이름을 명시해서 사용한다 해서 명시적 함수
<head>
<script>
function func01(){
alert('명시적 함수');}
</script>
</head>
함수의 이름을 명시하지 않고 변수에 저장해주는 이름이 없는(익명) 함수
<head>
<script>
var func02 = function(){ // 익명함수 : 함수가 값으로 저장
alert('함수의 이름이 없어요...')
}
</script>
</head>
함수표현식 과정을 생략하고 즉시 실행하는 함수다. 함수를 괄호()
로 랩핑해주고 함수 정의 끝에 괄호()
만 붙이는 것으로도 즉시 실행할 수 있다.
<head>
<script>
function func03(){
(function(){
alert('즉시 실행 함수');
})();
</script>
</head>
익명함수를 만드는 방법과 같으나 매개변수가 들어간다는 것이 차이점
코드를 보잣!
<head>
<script>
function literalPrn(literal){
literal('안녕하세요. 함수 형태의 값!! 입니다.');
}
function func04(){
literalPrn(function(msg){alert(msg);});
}
</script>
</head>
다음과 같이 literal을 매개변수로 하는 literalPrn
함수를 만든다. 그 함수의 문장을 포함하고 있는 literal
이 내재되어 있다.
func04()
함수를 생성. literalPrn
함수를 포함하고 있으며 literalPrn
함수의 매개변수 자리에는 function(msg){alert(msg);}
가 들어간다. 따라서, 문장이 msg로 들어가 대화창에 문장이 출력되는 함수가 작동된다.
외부함수의 실행이 끝나더라도 외부 함수 내의 변수를 사용할 수 있다. 특정 데이터를 스코프 안에 가둬두고 계속 사용할 수 있는 폐쇄성을 갖는다고 한다.
<head>
<script>
function closureFunc(val){
var suffix = '님, 안녕하세요~';
function innerFunc(){
alert(val + suffix + '잘 부탁 드립니다.')
}
return innerFunc;
}
var closureTest01 = closureFunc('굿전')
</script>
</head>
closureFunc(val)
이라는 함수를 지정해 함수 내부에 '님, 안녕하세요~'
를 담고있는 suffix
변수를 지정해준다. 다음을 보면 그 안에서 innerFunc()
라는 함수가 생성된다. 이 함수는 대화창에 val인수 님, 안녕하세요~ 잘 부탁 드립니다.
를 출력하게 하는 기능을 갖고 있으며, 이것이 innerFunc 형태로 return된다.
여기서 중요하다. innerFunc는 함수가 아닌 함수 값이다. 결론적으로 closureFunc
함수를 실행 시키면 변수에 저장할 수 있는 함수 값이 생성 되는 것이다.
closureTest01
이라는 변수에 suffix
가 굿전
인 함수 값 innerFunc
이 저장되는 것을 이제 이해할 수 있다.
전반적으로 보았을 때 파이썬의 제어문과 큰 차이가 없다. 단지 조건을 입력하는 형태 등 표현식의 차이가 조금 있는 것이다.
if문을 예로 들면 이렇다.
파이썬
if i == 1:
print('1입니다.')
elif: i == 2:
print('2입니다.')
else:
print('다른 숫자 입니다.')
자바스크립트
// 물론 alert와 print는 차이가 분명합니다. 하지만, 코드를 적는데에 있어 가시성을 위해 이렇게
// 설명합니다..
if (i == 1) {
alert('1입니다.')
} else if (i == 2) { // elif == else if
alert('2입니다.')
} else {
alert('다른 숫자 입니다.')
}
하지만 자바스크립트에는 If, elif, else
말고도 switch, case, deafult
를 활용할 수 있다.
예시
function switchTest(){
var season = prompt('봄 여름 가을 겨울 중 좋아하는 계절을 입력해 주세요');
switch(season){
case "봄":
alert('봄에는 벚꽃엔딩');
break;
case "여름":
alert('여름아 부탁해');
break;
case "가을":
alert('시간의 낙엽');
break;
case "겨울":
alert('Must Have Love');
break
default:
alert('봄, 여름, 가을, 겨울 중 하나만 입력해 주쇼~')
}
JS의 switch
문은 변수 x
의 값과 일치하는 값을 찾으면 case
문 아래의 코드가 실행된다.
case
문에 해당하는 경우가 없으면 default
문 아래의 코드가 실행되는 형식이다.
위 코드는 프롬프트형 대화창에 season
값을 적어 적은 값을 찾아 그에 걸맞는 코드를 출력하는 코드다.
현재 2022년 01월 21일 이니까 겨울을 넣어보겠다.
나랑 비슷한 연배면 알수 있는 겨울 띵곡 Must Have Love가 대화창에 출력된다.
i = i + 1
혹은 i += 1
를 사용한다.i++
도 같은 기능을 한다.i++
말고도 ++i
와 같은 형태도 사용 가능한다.연산 먼저하고 변수의 값을 리턴하냐 의 차이다.
참고 : js에서는 console.log()
명령을 통해 HTML 문서에 로그를 남길 수 있다.
위 기능을 활용해서 구구단을 출력할 수 있다.
<head>
<script>
function forTest(){
for (var i=2 ; i < 10 ; i++){
for (var j=1 ; j < 10 ; j++) {
console.log(i,'*',j,'=',i*j);}
}
}
</script>
</head>
forTest
라는 함수를 정의하자.
for문 사용도 비슷 하다 var
를 사용해 i
에 값 2를 넣어준다. 그리고 2부터 시작해 9까지 1씩 증가시킨다.(i++)
이중 반복문을 사용해 똑같이 만들어주고
두 번째 반복문에 콘솔에 로그를 남기는 코드를 작성
HTML 문서에 가서 F12
키를 눌러 개발자 도구 켜서 콘솔에 태그에 들어가 보면 이대로 출력이 되어 있을 것이다!!!!
파일 및 폴더 생성
파일 시스템 탐색
도움말(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!!] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!