본문 바로가기

전체 글521

12. 논리 연산자 (Logical Operators) 안녕하세요 박기린입니다. 자바스크립트에는 4가지 논리 연산자가 있습니다. &&(and), ||(or), !(not), ??(nullish)가 있습니다. ??(nullish)연산자는 나중에 따로 문서를 만들어서 정리하겠습니다. (작성 후 링크 연결 예정) 이 글에서는 &&(and), ||(or), !(not) 세 가지만 다루겠습니다. OR : || console.log( true || true ); // true console.log( false || true ); // true console.log( true || false ); // true console.log( false || false ); // false || 연산자는 or를 뜻합니다. 다른 프로그래밍 언어는 좌항과 우항 중 하나만 true면 .. 2022. 10. 2.
login-macro 제작기 제작동기 : 대원샵의 로그인 보너스를 쉽게 매일 받고 싶은 마음에 파이썬을 이용해서 매크로를 제작하였습니다. 목적 : 대원샵을 비롯하여 다양한 사이트에서 쉽게 로그인 해주는 매크로를 제작하기 위함입니다. 깃허브 : https://github.com/ParkGiraffe/login-macro 레퍼런스 : https://velog.io/@fluid_silver/Python-%EC%9E%90%EB%8F%99-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%EB%A7%A4-%EB%93%B1-%EB%A7%A4%ED%81%AC%EB%A1%9C-%EB%A7%8C%EB%93%A4%EA%B8%B0-selenium-%EC%82%AC%EC%9A%A9 사용법 : main.py 안의 driver.get()의.. 2022. 10. 2.
윈도우10(스팀) 엑박패드 4세대 스크린샷키 활성화 Feat.드라이버 설치 실패 오류 해결 안녕하세요 박기린입니다. 도입 Xbox 컨트롤러 4세대로 pc버전 원신을 즐기고 있던 중, 원신을 컨텐츠로 블로그 글을 써볼까 생각이 들었습니다. 그런데 아이패드, 아이폰에서는 지원되는 엑박패드 스크린샷키(공유버튼, 쉐어링버튼)가 윈도우10에서는 작동하지 않는다는 것을 알았습니다. 망연자실하던 와중에 스팀에서 엑박패드 스크린샷 기능을 지원한다는 사실을 발견했고, 기쁜 마음으로 원신을 스팀 클라이언트에 연결하였습니다. 그리고 본격적인 엑박패드 작업을 시작했습니다. 본론 1. 스팀에서 xbox 확장 기능 드라이버 설치: 실패 우선 스팀을 킨 후 설정에 들어갑니다. 설정의 컨트롤러 탭에 들어간 후, '일반 컨트롤러 구성'을 눌러서 컨트롤러 지원 윈도우를 킵니다. 'Xbox 확장 기능 지원'을 (체크박스에 체크.. 2022. 10. 2.
11. 동등 연산자(==) vs 일치 연산자(===) 안녕하세요. 박기린 입니다. 자바스크립트는 비교 연산자에서 '같다'의 표현이 두 가지가 있다는 사실을 지난 글에서 확인했습니다. 이에 대해 좀 더 집중적으로 공부해보겠습니다. == vs === '=='는 '느슨하게 같다, 동등하다'의 의미를 지닌 연산자입니다. JS 엔진 내에서 자체적으로 피연산자의 데이터 타입을 coercion 한 뒤에 비교를 합니다. 즉, 타입이 달라도 내용물이 같으면 true를 return 합니다. '==='는 '엄격하게 같다, 일치하다'의 의미를 지닌 연산자입니다. 다른 프로그래밍 언어에서 쓰이는 '=='연산자와 동일한 역할을 한다고 보시면 됩니다. '=='와는 다르게 데이터 타입까지 완전히 동일해야 true를 return 합니다. 18 === 18 // true 18 == 18 .. 2022. 9. 30.
10. Truthy and Falsy Falsy Value란 Falsy value는 JS엔진에서 Boolean 타입으로 변환되었을 때 false 값을 반환하는 걸 의미한다. Falsy Value의 종류 Falsy Value는 크게 여섯 가지로 구분된다. undefined, null, NaN, 0, "" (빈 String), false 이 있다. 예시 console.log(Boolean(0)); // false console.log(Boolean(undefined)); // false console.log(Boolean('joseph')); // true console.log(Boolean({})); // true - empty object도 true로 변환된다. console.log(Boolean('')); // false const mon.. 2022. 9. 29.
9. 타입 변환의 종류 (Type Conversion, Coercion, Casting) 안녕하세요. 박기린 입니다. 이전 글에서 JS의 데이터 타입 종류에 대해 알아보았습니다. (해당 글 주소: https://arnopark.tistory.com/470) 내용 중에 '자바스크립트는 동적 타입을 지원'한다고 했었습니다. 이처럼 자바스크립트 내부에서 변수의 타입을 정해주다보니, 어쩔 때는 원래 String이었던 데이터가 갑자기 Number가 되거나 그 반대가 되는 상황이 발생합니다. 지금부터 어떠한 경우에 타입 변환이 발생하는 지 알아보겠습니다. JS 타입변환의 종류 JS는 다양한 타입변환 유형이 존재합니다. 크게 explicit과 implicit 두 가지로 나뉩니다. explicit [explicit type coercion, type conversion, type casting, 명시적 타.. 2022. 9. 28.
8. if/else 조건문 (if/else Statements) 안녕하세요. 박기린 입니다. 대부분의 프로그래밍 언어에는 조건문이 존재합니다. 조건문을 이용해서 다양한 상황마다 적절히 대응하는 프로그램을 만들 수 있기 때문입니다. 자바스크립트 또한 조건문을 지원합니다. if/else control structure const age = 22; if (age >= 18) { console.log(`Giraffe can start driving license 🚗`); } else { const yearsLeft = 18 - age; console.log(`Giraffe is too young. Wait another ${yearsLeft} years :)`); } // 콘솔창 : Giraffe can start driving license 🚗 if 키워드 다음으로 (괄호.. 2022. 9. 27.
7. 문자열과 템플릿 리터럴 (Strings and Template Literals) 안녕하세요. 박기린입니다. 자바스크립트는 ES6 버전부터 String을 사용할 때 template literal 방식을 도입합니다. 기존의 String 선언 방식 const stringEx = 'String'; 기존에는 작은따옴표(')와 큰따옴표(")를 사용해서 String타입의 변수를 선언했습니다. Template Literal Template Literal 방식은 백틱(backtick, `)을 사용합니다. const firstName = `joseph`; const job = `teacher`; 위의 코드만 봤을 때는 기존의 String 선언 방식과의 차이점을 알 수가 없습니다. 이제부터 그 차이점에 대해 알아가보겠습니다. Template Literal 방식의 특징 - String Interpolat.. 2022. 9. 26.
6. 연산자 우선순위 (Operators Precedence) 안녕하세요. 박기린입니다. 3 * (1+2) 이라는 식을 보면 어떻게 계산을 하시나요? 수학에는 계산을 할 때 순서가 있습니다. 위의 식의 경우에는, 괄호 안의 값을 계산한 후에 3을 곱하는 순서로 이루어져 있습니다. 식이 복잡해질 경우 어떤 계산 기호를 사용하느냐에 따라 계산 우선순위가 달라집니다. 그리고 이는 코딩에서도 마찬가지입니다. Operators Precedence console.log(3 + 10 * 2); // 23 console.log(3 + (10 * 2)); // 23 console.log((3 + 10) * 2); // 26 자바스크립트에서도 연산자 종류에 따라 계산의 우선순위가 정해집니다. 위처럼 (3+10)일 경우 덧셈임에도 불구하고 괄호 안에 있어서 먼저 계산된 것을 확인할 수.. 2022. 9. 25.