본문 바로가기

전체 글142

JS 디버깅 도구 console.log() console.log()console.log() 는 JavaScript에서 데이터를 콘솔에 출력할 수 있는 함수입니다. 디버깅, 상태 확인, 실험 등 다양한 상황에서 사용되며, 단순한 출력 이상의 강력한 기능들을 내포하고 있습니다.console.log()의 동작 원리브라우저 환경에서console은 브라우저가 내장한 객체로, 개발자 도구(DevTools) 콘솔에 접근할 수 있도록 함.실제 구현은 브라우저마다 다르미잔 보통 C++로 작성된 콘솔 API를 JS에서 감싼 형태Node.js 환경에서console.log()는 내부적으로 stdout(표준 출력 스트림)을 사용다양한 출력 방식여러값 출력let name = "Tom", age = 30;console.log("이름:", name, "나이:", age);출.. 2025. 4. 5.
JS 기초 문법 1. 변수 선언let name = "Alice"; // 변경 가능한 변수const age = 25; // 변경 불가능한 변수var city = "Seoul"; // 변경 가능한 변수(구)let: 재할당 가능 , 블록 범위const: 재할당 불가능(상수), 블록 범위var: 함수 범위(호이스팅 발생가능)2. 함수// 선언식function sayHello(name){ return 'Hello, ${name}!"; }// 표현식const sayBye = function(name) { return 'Bye, ${name}!';}// 화살표 함수(Arrow fuction)const double = (x) => x * 2;3. 조건문1) if - else if - else2) switch - ca.. 2025. 4. 5.
가장 많이 사용되는 JS 엔진, V8 javascript 엔진이란?JavaScript 엔진은 JavaScript 코드를 실제로 해석하고 실행해주는 프로그램입니다.Javascript는 사람이 이해하기 쉬운 고수준 언어컴퓨터가 직접 이해하려면 저수준의 명령어로 바꿔야함 -> 이 작업을 JS 엔진이 수행브라우저마다 다른 JS 엔진을 탑재주요 Javascript 엔진 비교1. V8사용환경: Chrome, Edge, Node.js제작사: Google특징: 가장 빠른 성능, JIT 컴파일, Node.js2. SpiderMonkey사용환경: Firefox제작사: Mozilla특징: JS 최소 엔진, 지속적인 최적화3. JavascriptCore사용환경: Safari제작사: Apple특징: Nitro 엔진 기반, Apple 생태계 최적화4. Chakra사.. 2025. 4. 5.
iOS UI 자동화 XCUITest API 와 WebDriverAgent, Appium 의 관계 XCUITest(XC는 Xcode의 약자)는 Apple의 UI 테스트 프레임워크로, iOS/macOS 앱을 자동화하여 UI테스트를 실행할 수 있도록 도와주는 프레임워크입니다. XCTest 프레임워크의 확장 기능으로 제공되며, UI 테스트를 수행하는 데 필요한 API를 제공합니다.XCUITest 특징Apple에서 공식적으로 제공하는 UI 테스트 프레임워크Swift 및 Object-C로 작성 가능Xcode에 내장되어 있으며, 별도의 추가 설치 없이 사용가능실제 기기 및 시뮬레이터에서 UI 테스트 실행 가능앱의 접근성(Accessibility Identifier)을 활용하여 UI 요소를 찾고 상호작용 가능비동기 UI 동작을 기다릴 수 있는 API 제공XCUITest 주요 APIXCTestCase: 테스트 케이.. 2025. 3. 18.
selenium과 appium이 사용하는 WebDriver 프로토콜 Selenium과 Appium의 관계Selenium과 Appium은 둘 다 WebDriver 기반의 자동화 도구지만, 서로 다른 목적을 가지고 있습니다.Selenium웹 자동화 프레임워크웹 크라우저(Chrome, Firefox, Edge 등)를 자동화하는 도구웹 애플리케이션 UI 테스트, 크롤링 등에 사용selenium-webdriver를 통해 웹 페이지에서 버튼 클릭, 텍스트 입력 등 수행Appium모바일(iOS/Android) 자동화 프레임워크모바일 네이티브 앱(React Native, Flutter 포함), 웹 앱 자동화내부적으로 WebDriver API를 사용해 모바일 기기과 상호작용iOS의 경우 XCUITest, Android의 경우 UIAutomator2를 활용둘의 관계Appium은 Selen.. 2025. 3. 18.
WebdriverAgentRunner 설치 및 사용 WebDriverAgent(WDA)WebDriverAgent는 Facebook에서 개발한 오픈소스 프로젝트로, iOS 디바이스의 UI를 자동화하기 위해 사용되며, 주로 appium과 함께 사용됩니다.WebDriverAgent는 Apple사의 XCUITest API를 기반으로 작동하며, WebDriver 프로토콜을 활용하여 iOS 디바이스에서 컨트롤 할수 있게 도와줍니다.사전 준비애플 개발자 계정 생성테스트용 어플리케이션가상 디바이스 또는 디바이스설치 및 사용설치 방법Xcode 실행 후, Clon Git Repositoryhttps://github.com/appium/WebDriverAgent.git개발자 계정 등록xcode 설정 > Accounts > 계정 입력 > Download Manual Profi.. 2025. 3. 18.
자연어 처리하기: NLTK 자연어 툴킷자연어 툴킷 Natural Language Toolkit(NLTK)은 영어 텍스트의 부분 부분을 식별하고 태깅하도록 설계된 파이썬 라이브러리 모음입니다. NLTK의 설치 가이드는 http://www.nltk.org/install.html 을 참고하시면 됩니다.NLTK를 사용한 통계적 분석NLTK는 텍스트에서 단어 숫자, 단어 빈도, 어휘 다양도 같은 통계적 정보를 생성할 때 아주 유용합니다. 필요한 것이 비교적 단순한 계산, 예를 들어 텍스트 섹션에서 고유한 단어 숫자를 세는 것 같은 것이라면 NLTK는 좀 과할수 있습니다. NLTK 분석은 항상 Text 객체로 시작합니다. 다음과 같은 방법으로 단순한 파이썬 문자열을 Text 객체로 바꿀 수 있습니다.word_tokenize 함수는 파이썬에서.. 2025. 3. 7.
자연어 처리하기: 너비우선탐색 어떤 페이지에서 시작해 목표 페이지에 도달하는 링크 체인을 찾는 문제는 첫 번째 단어와 마지막 단어가 정해진 상태에서 마르코프 체인을 찾는 것과 마찬가지입니다. 이런 종류의 문제를 방향성 그래프 문제라고 부릅니다. 방향성 그래프에서 가장 짧은 경로를 찾을 때 가장 좋고 가장 널리 쓰이는 방법은 너비 우선 탐색입니다.너비 우선 탐색에서는 우선 시작 페이지에서 출발하는 링크를 모두 검색합니다. 검색한 링크에 목표 페이지가 들어 있지 않으면 2단계 링크, 즉 시작 페이지에서 링크된 페이지에서 다시 링크된 페이지를 찾습니다. 링크 단계 제한(여기서는 6)에 걸리거나, 목표 페이지를 찾을 때까지 이를 반복합니다.import pymysqlconn = pymysql.connect(host = '127.0.0.1', .. 2025. 3. 7.
자연어 처리하기: 데이터 요약 만약 텍스트 컨텐츠를 n-그램, 즉 단어 n개로 구성된 구절로 나누어 빈도수가 높은 단어 혹은 문장을 추출해 요약한다고 합시다. 우선 operator 모듈에 들어 있는 파이썬 정렬 함수를 이용하여 n-그램을 찾고 정렬하는 코드를 구성한다고 합시다.from urllib.request import urlopenfrom bs4 import BeautifulSoupimport reimport stringfrom collections import Counterdef cleanSentence(sentence): sentence = sentence.split(' ') sentence = [word.strip(string.punctuation + string.whitespace) for word.. 2025. 2. 20.