function isKoreanFood(food) { if (food === "불고기" || food === "비빔밥" || food === "떡볶이") { return true; } return false; } const food1 = isKoreanFood("불고기"); console.log(food1); const food2 = isKoreanFood("파스타"); console.log(food2); true false 출력됨 이거 업그레이드 가능하다. 입력받은 한식들 중에 해당하는 파라미터가 존재하는지 안하는지만 나타내면 되는 거다. function isKoreanFood(food) { if (["불고기" ,"비빔밥","떡볶이"].includes(food)) { return true; } retu..
단락회로 평가 논리 연산에서 첫 번째 피연샂나의 값만으로 해당 식의 결과가 확실할 때, 두 번째 값은 평가하지 않는 것. truthy와 falsy에서 const getName = (person) => { if(!person) { return "객체가 아닙니다." } return person.getName; }; let person;// undefined로 할당했으나 저 분기에 걸려서 에러 안 났음. const name = getName(person); console.log(name); 이 코드는 "객체가 아닙니다." 출력됨. const getName = (person) => { return person && person.name; // person이 undefined기 때문에 뒤의 값을 고려할 필요가 x..

ex. 기분에 따라 하는 행동 출력하기 function mood(state) { if (state === "good") { // 기분 좋을 때 하는 동작 sing(); } else { // 기분 나쁠 때 하는 동작 cry(); } } function cry() { console.log("액션 : CRY"); } function sing() { console.log("액션 : SING"); } function dance() { console.log("액션 : DANCING"); } mood("good"); 상황에 맞게 하나의 함수로 만드는 게 가능해진다.

1. 순환 함수 (forEach()) 이거를 const arr = [1, 2, 3, 4]; for (let i = 0; i console.log(elm)); 이렇게 바꾸는 거 가능. 그냥함수 형태로 바꾸면 arr.forEach(function (elm) { console.log(elm); }); 출력 결과는 arr.forEach(function (elm) { console.log(elm * 2); }); 하면 2. map() - 원본 배열의 모든 원소를 순회하면서 연산을 해서 반환할 수 있게 만들어주는 함수. 새로운 배열을 리턴함. 응용 2. ..
CSRF(Cross-Site Request Forgery) 웹 애플리케이션에서 발생하는 보안 취약점 중 하나. 이 취약점은 공격자가 특정 웹 페이지에 피해자를 유도하여, 피해자의 권한을 이용하여 악의적인 요청을 보내게 만들어 발생한다. CSRF 공격의 기본적인 원리는 다음과 같다 > 피해자 로그인 피해자는 웹 애플리케이션에 로그인한 상태여야 한다. > 공격자의 페이지 방문 피해자는 공격자가 제작한 웹 페이지를 방문한다. 이 페이지는 악성 코드를 포함하고 있다. > 악성 요청 실행 공격자의 페이지를 방문한 피해자는 악성 코드로부터 자동으로 특정 액션을 수행하게 된다. 이 때, 피해자의 권한으로 웹 애플리케이션에 악성 요청이 전송된다. > 피해자의 권한으로 요청 실행 웹 애플리케이션은 해당 요청을 피해자의 ..

부하 분산 시 가장 많이 쓰는 게 L4 Switch - H/W 적으로 분산 웹서버들은 온프레미스 환경에서 직접 서비스를 한다고 하면 그림에 있는 부분에 L4 스위치를 달아서 부하 분산을 하게 만드는 방법이 있다. 이건 좋은 성능의 네트워크 장비가 필요하긴 하다. 문제가 있는데, 4명의 사용자가 있는데, 나는 현재 KT 네트워크를 사용한다고 가정하자. 그런데 3번, 4번 사용자는 동일하게 KT를 쓰지만, 1, 2번이 SK와 LG를 사용중이라면? 같은 KT 네트워크를 사용하는 사용자들이 훨씬 유리하다. 그럼 1, 2번이거나 아예 해외에서 온다고 할 때는? 전송단에서 아무리 빠르게 하드웨어를 갖추고 분산을 한다고 하더라도 1, 2번이나 해외로 날아가는 데이터 전송 속도는 상대적으로 떨어질 수밖에 없다. 그래서..

주요 처리할 사항 사용자 인증 : 아이디 패스워드 + 1) 중복접속 처리 문제 사용자 선택 및 재생 ->2) DRM 이슈 : 다운로드 가능성 / 3) 전용 플레이어 사용? 전송 방법 - 4) 라이브 스트리밍 서버를 따로 둘 것인가 아니면 웹 서버 부하 수준에서 끝낼 것인 등을 고민 아니면 여기에 더해서 아예 작정하고 6) 대규모 데이터 처리를 해서 부하 분산 처리를 할 것인지. 더 압축하자면 부하 분산 / 중복 / DRM 이 핵심.