Coding

· Coding
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)이다. 따라서 데이터에 특정 요소에..
· Coding
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":"실제 사용한 구문"} 에러가 발생하여 모든 방법을 동원해 수정하였으나 오류는 해결되지 않았다. 해당 에러를 해러를 해결하는 방법에는 클래스 명에 공백이 존재하여 공백 대신에 점(.)을 사용하여 해결, 로딩 시간으로 인한 오..
· Coding
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..