TIL/academy

국비 TIL(Today I Learned) 20220516 switch문, 함수, Array API

토희 2022. 5. 16. 17:32
728x90

 

vscode에서 sty 확장자라는게 있네, 

 

------ 지난주복습 및 컴퓨터 언어의 특징 ------

 

html - 태그를 가지고 문서를 작성하는 역활

css - html로 작성된 문서를 예쁘게 작식하는 일을 한다.

javascript - html과 css에 생명력을 불어넣는다.

 

---- 브라우저가 해석한다(웹클라이언트)

 

---- 회원가입, 게시판 : 웹클라이언트로 부터 요청을 받아서 웹서버가 처리. (java(jsp), c(php), c#(asp,net)...)

c(php) 시장이 거의 없어짐, c# 가상증감 이런데서 많이 쓰임

 

윈도우 OS, 리눅스 OS 차이

리눅스 OS : 무료, 단점은 버전에 대한 책임을 안 짐

 

적당히 일하래, 자기 몸 챙겨가면서, 적당히 ㅎㅎ 맘에 꽂힌다.

 

파이썬 - 재미로 만들었다. 자바는 C에서 어려운 거를 버리고 만들어짐, 파이썬은 자바가 버렸던 C를 가지고 와서 발전시킴

C언어를 마치 내것처럼 쓸수있다? (C하고 거의 한몸), 빠른속도로 연산 계산, 머신러닝, 딥러닝 가능

 

머신러닝: 통계학을 프로그래밍, c밖에 없음, 파이썬으로 대체

 

자바- 웹시장만 간다.

 

프레임워크: 실문에서 어떤 사람은 잘 짜고, 어떤 사람은 못하고 그래서 일관성 없음 -> 정해진 규격에 코드를 짜게, 구조 외워야함

 

1. html + java = jsp (모델1)

 

2. html + css + javascript - java 서블릿(스프링 프레임워크)  (같은 공간, 서버 1개) (모델2- 이건 반드시 해야하고)

 

3. html + css + javascript(완벽하게 묶어서 하나의 부품으로 만들자) -> angular, react, vur, polymer 라이브러리(화면에 보이는 파트만)

데이터처리 코드 완전 분리 (서버 2개) (요즘 대세)

 

 

 

switch문

switch(수식){              //수식의 결과가 문자열이나 숫자여야 한다

case 1:                 

진술문1;

break;

case 2:

진술문2;

break;

default:

}

 

switch문 조건에 문자열과 숫자가 와야한다 몰랐던 부분, 조건식이여야 하는것만 알았지 타입에 대한 생각이 없었어 

심지어 자바에서는

if문의 조건문은 boolean인데,

switch문의 조건값은 long형을 제외한 정수형 또는 char.

자바 조건문 공부했는데, 타입은 생각 못했네

 

 

함수 function

: 함수는 동작 하나만 담당해야 합니다.

다른 언어에서 error라는 부분을 js에서는 error가 아님, 대충 돌아감, js의 특징

 

js는 함수의 오버로딩이 없다. 대신에 매개변수에 기본값을 부여하여 비슷한 효과를 가져온다

ㅎㅎ 주말에 오버로딩 자바스터디에서 학습했지, 오버로딩은 매세드에 같은 이름 부여 가능 (단, 매개변수 타입 다르거나 개수가 달라야함, 리턴값은 영향을 안 줌)

 

 

 

함수 표현식

변수로 받고, 함수에 이름을 주지 않고 만든 후 함수 주소를 변수에 저장

일시적으로 사용하고 끝나는 함수는 표현식으로

 

값변수, 번지변수

c언어, 별, 꽃, 포인터

*p = &a;

*p = 100

*p = *a+100

 

let a = 10; 변수 선언하면

자바스크립트는 내부적으로 let a;와 a= 10;으로 나누어 변수의 선언과 값의 할당을 수행한다.

a변수에는 10이 저장된 메모리의 주소값이 할당됨.

 

함수 선언문은 코드 블록이 실행되기도 전에 처리됩니다. 따라서 블록 내 어디서든 활용 가능합니다.

함수 표현식은 실행 흐름이 표현식에 다다랐을 때 만들어집니다, 이벤트핸들러 함수를 만들때 많이 사용

 

 


화살표 함수가 다른언어에서 람다식으로 말함

아 람다가 이거였음!

자바에서는 ->

 

 

var, let 차이

호이스트

함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것https://gmlwjd9405.github.io/2019/04/22/javascript-hoisting.html

 

[JavaScript] 호이스팅(Hoisting)이란 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

 

콜백함수

하나의 일이 끝날때까지 뒤에 일이 다 멈춰있으면 동기, 반대가 비동기

쓰레드 방식이라것도 있데(일을 쪼개서 하는거?, 근디 지금은 거의 비동기로, 자바는 비동기 지원안하다가 지금은 가능)

ajax 비동기 방식을 지원, ex) 검색엔진에서 검색어 자동완성되는거

하나의 일이 끝났을때 알려주는게 콜백함수

 

1. 함수의 매개변수로 사용되는 함수

2. 실행 위치를 보장하는 용도로 활용 (이건 내가 적은거)

 

Array API

- push: 함수 배열에서 데이터 추가- foreach,

filter

아래처럼 출력됨

 

 

- map: 배열의 모든 요소에 특정 동작 수행

foreach, map 많이 씀

 

 

tomcat서버 공짜라서 쓸거임ㅋㅋㅋ 제우스라는 자바 서버도 있음

node.js 살짝 알려주심, js의 서버버전

 

Docker 내 컴퓨터에서 간단하게 리눅스 쓰는것처럼 

 

node로 시작

vscode에서는 터미널에서 node 파일이름,

파일이 폴더안에 들어가 있으면 node 폴더이름/파일이름, ex) node 20220516/test1

 

 

금일 코드 깃헙 주소

https://github.com/saehee15/acamedy/tree/main/20220516

 

GitHub - saehee15/acamedy

Contribute to saehee15/acamedy development by creating an account on GitHub.

github.com

 

오늘 배운것중에 리팩토링 하고싶은게 있었는데 잘 안됬다가 해결!!! (깃헙 문제1.html 에 전체코드있음)

처음코드

수정후

728x90