1. Lambda(람다) 함수란?Python에서 간결하고 즉각적인 계산을 할 때 유용한 기능으로 코딩테스트에 주로 활용된다. 일반적으로 def를 사용한 함수와 달리, 람다 함수는 한 줄로 간단하게 정의할 수 있는 익명 함수이다. 일반적인 함수를 정의하는 방법과 람다 함수를 정의하는 방법은 아래와 같다.(익명함수에 대해서는 아래 접은 글 참고✅)더보기익명함수란❓ def 와 같은 일반적인 방법으로 함수를 정의하고자 할 때는 함수명이 반드시 필요하다. 하지만 람다 함수의 경우 매개변수와, 표현식(연산) 만 필요로 하며 함수명이 필요하지 않다. 즉, 람다함수는 함수명을 필요로 하지 않기 때문에 익명함수로 불린다. # 람다 함수 선언 방법lambda 매개변수: 표현식# 일반적인 함수 선언 방법def add(x,..
Coding
1. Dictionary 란?Key -Value로 이루어진 자료형으로, 다양한 형태의 값을 키로 지정할 수 있어 리스트보다 유연하다는 장점이 존재한다. Dictionary는 내부적으로 해시 테이블로 구성되어 있어 값에 접근할 때 시간복잡도가 O(1)로 매우 효율적이다. 리스트와 같이 순차적으로 검색해야 하는 자료형과 달리, Dictionary는 해시를 기반으로 특정 키를 더 빠르게 찾아낼 수 있다. Dictionary는 아래와 같은 두 가지 방법으로 선언할 수 있다.(딕셔너리명) = {}(딕셔너리명) = dict() List 자료형의 경우 최대 시간 복잡도가 O(n)이지만, Dictionary 자료형의 경우 키를 사용하여 바로 접근하기 때문에 최대 시간 복잡도는 O(1)이다. 따라서 데이터에 특정 요소에..

1. Selenium No Such Element 에러 최근 Selenium을 사용하여 크롤러를 구축할 일이 생겨 평소와 같이 Xpath, Selector 등을 사용하여 구축을 시도하였다. 하지만, Selenium 사용 시 가장 흔하게 발생하는 selenium.common.exceptions.NoSuchElementException: Message:no such element:Unable to locate element:{"method":"css selector", "selecto":"실제 사용한 구문"} 에러가 발생하여 모든 방법을 동원해 수정하였으나 오류는 해결되지 않았다. 해당 에러를 해러를 해결하는 방법에는 클래스 명에 공백이 존재하여 공백 대신에 점(.)을 사용하여 해결, 로딩 시간으로 인한 오..
Dreamhack 웹 해킹 강의 중 Blind SQL Injection 부분의 코드를 보고 이때까지 해왔던 코딩과 다르다는 것을 느껴 코드 분석을 진행하고 Python에서 주로 사용하는 Class와 Self에 대해 추가적인 공부를 진행하였다. [그림 1]은 Dreamhack에서 제공하는 코드이다. 해당 코드 내부를 자세히 보면 __init__ 함수에 첫번째 인자가 self인 것을 볼 수 있다. import requests import sys from urllib.parse import urljoin class Solver: """Solver for simple_SQLi challenge""" # initialization def __init__(self, port: str) -> None: self._c..