회고기간 : 2025.05.19월~2025.05.23금
Linux
01. 설치 및 세팅
1. 운영체제 확인 후 VM VirtualBox 설치
2. VirtualBox에 우분투 설정하기
- 우분투 iso 파일 다운
- "새로 만들기" 클릭 후 가상머신 생성
- 컨트롤러 생성
- 재시작 후 정상 부팅 확인하기
02. 파일 시스템
💡 파일 시스템은 파일에 이름을 붙이고 저장, 탐색을 위해 파일을 어디에 위치 시킬 것인지 나타내는 체계이다. 즉, 컴퓨터에서 자료들을 쉽게 찾고 관리할 수 있게 하는 구조적인 시스템을 말한다.
03. 리눅스 파일 구조

04. 개발 환경 설정
- 사용자 및 권한 관련
sudo # 관리자 권한으로 명령어 실행
whoami # 현재 접속한 계정명 확인
sudo adduser [유저이름] # 새 유저 추가
sudo userdel -f [유저이름]# 유저 강제 삭제
sudo su [유저이름] # 다른 유저로 전환 (Switch User)
exit # 전환된 유저에서 로그아웃
sudo cat /etc/shadow # 암호화된 비밀번호 정보 확인
cat /etc/passwd # 등록된 유저 정보 확인
- 디렉토리 및 파일 명령어
$ # 루트 디렉토리
~ # 홈 디렉토리
pwd # 현재 경로 확인
ls # 파일/폴더 리스트
ls -l # 상세 정보 보기
ls -a # 숨김 파일 포함
ls -al # 상세 + 숨김 파일
ls /etc # /etc 디렉토리 내용 확인
mkdir [폴더명] # 폴더 생성
rm -r [폴더명] # 폴더 삭제
touch [파일명] # 빈 파일 생성
rm [파일명] # 파일 삭제
- 파일 편집 및 보기
cat [파일명] # 파일 내용 보기
cat -b [파일명] # 줄 번호 (빈 줄 제외)
cat -n [파일명] # 줄 번호 (빈 줄 포함)
more [파일명] # 페이지 단위로 출력
tail [파일명] # 파일 끝부분 출력
tail -5 [파일명] # 끝에서 5줄만 출력
sudo apt install vim # vim 설치
vim [파일명] # vim 에디터로 파일 열기
# 편집 모드 진입: i
# 명령 모드 전환: ESC
# 저장 후 종료: :wq
- 문자열 검색
grep "문자열" [파일명] # 특정 문자열 검색
grep "문자열" * # 현재 디렉토리 내 검색
grep -i "문자열" * # 대소문자 무시하고 검색
ls -al | grep [문자열] # 파일명 검색
JavaScript
01. JS 설치 및 환경설정

1. nodejs 설치 후 cmd 창에서 버전 정보를 확인해준다
2. vscode extension에서 code runner 설치
Ctrl + Alt + N 을 누르면 현재 표시 중인 자바스크립트 파일 실행

02. JS 문법
1. variable
- undefined : 변수 선언 후 값을 할당 X
- null : 변수에 값이 없음
2. 비교 연산자
- 동등 비교 ==, != : 암묵적 타입 변환을 통해 같은 값인지 비교
- 일치 비교 ===, !== : 타입과 값이 모두 일치하는지 비교
3. 호이스팅
호이스팅이란?
함수 선언문은 런타임 이전에 JS 엔진에 의해 먼저 실행된다. 따라서 함수 선언문 이전에 해당 함수를 참조하거나 호출할 수 있다. 이를 JS 고유의 특징, 함수 호이스팅이라고 한다.
- var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화
- let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않
test(); // 이 코드가 과연 실행될까..?
function test() {
document.writeln("Hoisting");
}
test();
// 실행된다!!
Hoisting
(1) 변수의 선언
var : 재선언 가능
let, const : 중복된 이름의 변수 재선언 불가
(2) 변수의 범위
var : 존재 범위가 function이므로 변수는 function 내에서만 사용할 수 있음
let, const : 존재 범위가 거의 모든 {}임
4. 프로퍼티 값 추가, 변경, 삭제
var kitty = {
name: '네로'
};
console.log('origin kitty: ', kitty);
// 동적 프로퍼티 추가
kitty['like'] = '츄르';
kitty.age = 3;
console.log('added kitty: ', kitty);
// 프로퍼티 수정
kitty['age'] = 4;
kitty.name = '검은 고양이 네로';
console.log('changed kitty: ', kitty);
// 프로퍼티 삭제
delete kitty.age;
delete kitty['like'];
delete kitty.zipsa;
console.log('deleted kitty: ', kitty);
5. rest-parameter
- rest parameter
function mergeAll(...args) {
let msg = '';
for(let arg of args) {
msg += arg;
}
return msg;
}
console.log(mergeAll('안녕하세요!'));
console.log(mergeAll('안녕하세요!', '반갑습니다~'));
console.log(mergeAll('안녕하세요!', '반갑습니다~', '즐거운 목요일!'));
// 출력화면
안녕하세요!
안녕하세요!반갑습니다~
안녕하세요!반갑습니다~즐거운 목요일!
6. Object 생성자 함수
new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다.
const teacher = new Object();
student.name = 'july';
student.height = 180;
console.log(student);
// 출력
{name : 'july', height: 180}
7. strict mode
- strict mode 아닐때
function test() {
// 이 함수는 strict mode가 아님
// 따라서 var, let, const 없이도 변수 x를 전역 변수로 생성하게 됨
x = 10; // 전역 변수로 선언됨 (암묵적 전역) - 에러 X
}
test(); // x = 10 실행
console.log(x); // 출력: 10 (x는 전역 변수로 만들어졌기 때문에)
- strict mode 적용
'use strict'; // 전체 코드에 strict mode 적용
function test() {
x = 10; // ReferenceError: x is not defined
}
test();
console.log(x); // 실행되지 않음 (에러 발생)
- strict mode 활용
// 1. 암묵적 전역
(function() {
// 'use strict';
x = 1;
console.log(x);
})();
// 2. 변수, 함수, 매개변수의 삭제
(function() {
// 'use strict';
var x = 1;
delete x;
})();
// 3. 매개변수 이름 중복
(function() {
// 'use strict';
function test(x, x) {
return x + x;
}
console.log(test(1, 2));
})();
// 4. with문 사용
(function() {
'use strict';
with({ x: 1}) {
console.log(x);
}
})();

💡 Keep
예복습 잘하기
⚠️ Problem
없습니다
🔥 Try
학원에서 제공한 django 책 활용하기
'SKN > Remind' 카테고리의 다른 글
| sk네트웍스 family AI 캠프 11기 5월 2주차 회고록 (0) | 2025.05.19 |
|---|---|
| sk네트웍스 family AI 캠프 11기 5월 1주차 회고록 (0) | 2025.05.12 |
| sk네트웍스 family AI 캠프 11기 4월 5주차 회고록 (1) | 2025.05.04 |
| sk네트웍스 family AI 캠프 11기 4월 4주차 회고록 (3) | 2025.04.28 |
| sk네트웍스 family AI 캠프 11기 4월 3주차 회고록 (1) | 2025.04.20 |