반응형

Programming 43

파이썬 매크로, 자동화 스크립트 작성법 (pyautogui)

파이썬에서 매크로를 작성하려면 `pyautogui` 모듈을 사용하면된다. pyautogui는 GUI 기반 작업을 자동화하는데 도움을 주는 라이브러리다. 이를 통해 키보드, 마우스 및 화면 스크린샷 캡쳐 같은 작업을 수행할 수 있다. 설치 pip install pyautogui 마우스 매크로 마우스 커서 위치 좌표 출력하기 import pyautogui x, y = pyautogui.position() print(x, y) # x좌표, y좌표 pos = pyautogui.position() print(pos) # Point(x=[x 좌표], y=[y 좌표]) 마우스 위치 이동하기 pyautogui.moveTo(0,0) # 0,0 좌표로 이동 현재 마우스 커서 위치 기준으로 해당 좌표만큼 이동 pyautog..

Programming/Python 2023.11.07

Python datetime 날짜, 시간 출력, 날짜 더하기 feat. strftime, strptime

파이썬에서 날짜와 시간을 다루기 위해서는 datetime 모듈을 사용한다. 예제) import datetime # 현재 시간 가져오기 current = datetime.datetime.now() print(current) # 1시간 후 one_hour_later = current + datetime.timedelta(hours=1) print(one_hour_later) # 1시간 전 one_hour_ago = current - datetime.timedelta(hours=1) print(one_hour_ago) # 내일 시간 tomorrow = current + datetime.timedelta(days=1) print(tomorrow) # 어제 시간 yesterday = current - dateti..

Programming/Python 2023.10.23

Golang mysql 사용/연동 하기

Golang에서 mysql과 연동하기 위해 "database/sql"과 "github.com/go-sql-driver/mysql" 패키지를 import 해야한다. "database/sql"은 golang의 데이터베이스 관련 인터페이스를 제공하고, DB연결, 쿼리 실행, 트랜잭션 등을 처리할 수 있다. "github.com/go-sql-driver/mysql"은 mysql DB 드라이버를 구현한 패키지다. 사용 방법 터미널에서 다음의 명령어를 사용하여 패키지를 다운로드 한다. (이미 설치가 되어 있다면 생략) go get github.com/go-sql-driver/mysql 예제 코드) DB가 이미 생성되어 있다는 가정하에 진행 package main import ( "database/sql" "fmt"..

Programming/Golang 2023.08.08

Golang http package

http 패키지는 golang에서 HTTP 클라이언트 및 서버를 작성하기 위해 제공되는 표준 패키지다. 이 패키지는 HTTP 요청을 보내고 응답을 받는 클라이언트와, HTTP 요청을 처리하고 응답을 보내는 서버를 구현할 수 있는 기능을 제공한다. http 패키지를 사용하여 간단한 HTTP 클라이언트나 서버를 구현할 수 있으며, 이를 통해 웹 애플리케이션을 만들 수 있다. 그렇다면 http 패키지의 주요 기능을 살펴보자. HTTP 클라이언트(Client): http 패키지는 HTTP 클라이언트를 생성하고, GET, POST, PUT, DELETE 등의 HTTP 요청을 생성하고 보낼 수 있다. 또한, 클라이언트는 응답을 받아서 처리할 수 있다. 클라이언트는 네트워크 요청과 응답을 처리하는데 유용한 기능들을 ..

Programming/Golang 2023.08.08

Python mp3 파일 재생 소리 재생 playsound

파이썬에서 mp3파일을 재생하기 위해서는 다음의 라이브러리를 설치한다. pip install playsound 그 후 준비된 mp3 파일을 실행시켜 본다. 예제) import playsound playsound.playsound('./example.mp3') 참고로 mp3 파일이 재생 중일 때는 코드 실행이 일시 중지된다. 그리고 음악 재생이 끝난 후 코드가 계속 실행된다. playsound는 간단하게 사용하기에 좋다. 하지만 좀 더 복잡하게 사용하려면(예를 들어 게임이라던가) pyaudio, pygame, pyglet 등의 라이브러리를 사용하도록 하자. 만약 라이브러리 설치 과정 중 오류가 발생한다면 다음의 글을 참고하도록 하자. https://zerostarting.tistory.com/55 Pyth..

Programming/Python 2023.07.23

Python pip install playsound error, playsound 설치 오류

Python에서 mp3파일 재생을 위해 playsound 라이브러리를 설치하려고 하는데 다음과 같이 오류가 발생하였다. pip install playsound pip 오류인가 했더니 그건 아니였다. 오류를 해결하기 위해 대충 구글링을 하였다... 결론은 playsound 라이브러리의 버전을 낮추는 것!! (괜찮겠지...?) pip install playsound==1.2.2 라이브러리를 설치하고 코드를 실행하니 문제없이 잘된다.

Programming/Python 2023.07.23

TypeError: 'str' object cannot be interpreted as an integer

TypeError: 'str' object cannot be interpreted as an integer 에러가 발생했다면 `int` 자료형을 사용해야할 곳에 `str` 자료형을 사용해서 발생한 문제이다. 예를들면 다음과 같다.fruits 리스트에서 0번째 인덱스 `apple`을 삭제하려고 한다.fruits = ['apple', 'banana', 'orange']fruits.pop('apple') # `apple`이 아닌 0을 넣어줘야한다...print(fruits)# TypeError: 'str' object cannot be interpreted as an integerindex.pop() 함수의 인자값에는 int 자료형이 들어가야 한다.위의 코드는 str 자료형을 넣었다. 그렇다면 올바른 코..

Programming/Python 2023.07.06

Golang 난수 생성(math/rand)

Go를 사용하여 난수를 발생하기 위해서는 `math/rand` 패키지와 `time` 패키지를 사용한다. `time` 패키지를 사용하는 이유는 `time.Now().UnixNano()` 함수를 사용하여 현재 시간을 기반으로 난수 시드를 생성할 수 있다. 이를 통해서 매번 다른 시드 값으로 난수를 생성할 수 있다. 다음의 예제는 1부터 10까지 숫자 중 난수를 생성하는 예제이다. package main import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) randomNumber := rand.Intn(10) + 1 fmt.Println(randomNumber) } `rand.Seed()` 함수를 사용하여 현재 시간..

Programming/Golang 2023.06.30

TypeError: Can't instantiate abstract class with abstract method

추상 클래스를 상속받은 파생 클래스 내부에서 추상 클래스에서 선언한 추상 메소드를 구현하지 않았을 때 발생하는 오류이다.파생 클래스 내부에 추상 메소드를 구현해주면 해결할 수 있다. 예시오류 코드from abc import ABC, abstractmethodclass Animal(ABC): @abstractmethod def eat(self): passclass Dog(Animal): def __init__(self, name, age): self.name = name self.age = agedoge = Dog("doge", 1) print(doge.name)print(doge.age)# 결과: TypeError: Can't instantiate ..

Programming/Python 2023.06.25

디스코드가 Go 대신 Rust로 전환하는 이유

요약: Go GC 성능 이슈 출처: https://discord.com/blog/why-discord-is-switching-from-go-to-rust Why Discord is switching from Go to Rust discord.com Go gc가 디스코드에서 많은 부하를 유발하는 요소 중 하나인데, gc가 자동으로 메모리를 관리하지만, 디스코드에서는 큰 메모리 할당과 수백만 개의 작은 객체가 동시에 발생하는 경우에 문제가 발생하였음. 이거 때문에 일시적인 렉이나 성능 저하가 발생함. 약 3년전 글이지만(뒷북) `rust가 go보다 더 좋다`는 것은 아니며(언어는 목적과 장점에 따라 선택하는 것이 좋음), 주의 깊게 살펴볼 필요가 있어서 블로그에 글을 작성함.

Programming/Golang 2023.06.14
반응형