'Tip > Android' 카테고리의 다른 글
Galaxy(갤럭시) 에서 한자 입력하기 (0) | 2024.10.09 |
---|---|
Hexa Game 개인 정보 처리 방침 / Hexa Game Application Privacy Policy (0) | 2023.08.30 |
직각 삼각형 대각선 길이 구하기 앱 개인 정보 처리 방침 / Triangle Application Privacy Policy (0) | 2023.08.30 |
Galaxy(갤럭시) 에서 한자 입력하기 (0) | 2024.10.09 |
---|---|
Hexa Game 개인 정보 처리 방침 / Hexa Game Application Privacy Policy (0) | 2023.08.30 |
직각 삼각형 대각선 길이 구하기 앱 개인 정보 처리 방침 / Triangle Application Privacy Policy (0) | 2023.08.30 |
Galaxy(갤럭시) 에서 키보드 번역 기능 사용하기 (6) | 2024.10.09 |
---|---|
Hexa Game 개인 정보 처리 방침 / Hexa Game Application Privacy Policy (0) | 2023.08.30 |
직각 삼각형 대각선 길이 구하기 앱 개인 정보 처리 방침 / Triangle Application Privacy Policy (0) | 2023.08.30 |
코딩을 처음 배울 때, 문법만 배우면서 무엇을 해야 할지 막막 할 때가 많다.
이럴 때, 다음과 같은 프로그램을 만들어 보면 도움이 된다.
1. 텍스트 파일의 문자 개수, 단어 개수, 라인 수를 알려주는 프로그램
2. 텍스트 파일의 숫자의 개수를 히스토 그램을 그려주는 프로그램
3. Binary Search
4. Bloom filter
5.테트리스
6. 소코반 게임
6. 유전 알고리즘으로 2차 방정식 풀기
7. 2인용 테트리스
8. 1:1 온라인 테트리스
9: 2:2 온라인 테트리스
10. 간단한 DNN
내 맘대로 추천 도서 ( IT ) - 2022년 버전 (0) | 2022.04.18 |
---|---|
내 맘대로 추천 도서 ( IT ) - 2021년 버전 (0) | 2021.09.01 |
지금까지 모은 스타벅스 머그 (0) | 2013.01.05 |
// 한번에 원하는 위치로 이동하기
ebookListView.setSelection(loadCurrentPosition())
// 현재 보이는 첫 번째 줄 위치 가져오기
ebookListView.firstVisiblePosition
[Intellij] JShell 콘솔 기능 (0) | 2024.03.08 |
---|---|
Freecell solitare 카드 게임 개인 정보 처리 방침 / Freecell solitare Card Game Privacy Policy (0) | 2023.08.29 |
Classic Block Game V2 개인 정보 처리 방침 / Classic Block Game V2 Privacy Policy (0) | 2023.05.10 |
구글과 바이두에서 100 + 20% 를 계산하면 아래와 같이 차이가 발생한다.
이는 한국은 미국식을 따르고 중국은 중국식 계산을 따르기 때문이라고 한다.
이렇게 우리가 생각하지 못한 작은 부분에서도 나라별로 차이가 발생한다.
Intellij 미세 팁 모음 (0) | 2023.09.19 |
---|---|
[ChatGPT에게 묻다] 좋은 DBA가 되는 방법 (0) | 2023.03.13 |
[ChatGPT에게 묻다] 수첩을 잘 사용하는 법 (0) | 2023.03.08 |
1. Tab : 자동 완성
2. Shift + Tab : 함수의 설명을 보여준다 (Docstring)
3. ESC (명령어 모드) 에서 Shfit + L : 줄번호를 보여준다
4. ESC (명령어 모드) 에서 D, D : 해당 셀을 삭제 한다
5. ESC (명령어 모드) 에서 A : 해당 셀 아래에 새로운 행을 추가한다
6. Ctrl + Enter : 해당 셀을 실행한다
7. Alt + Enter : 해당 셀을 실행하고 아래에 새로운 셀을 추가한다
8. Shift + Enter : 해당 셀을 실행하고 아래 셀로 이동한다. 만약 아래 셀이 없으면 새로운 셀을 추가한다.
[SQL] BEGIN TRANSACTION (0) | 2024.03.07 |
---|---|
Cardioid 그리기 (0) | 2024.02.17 |
[Python] PNG to ICO 변환 하기 (0) | 2024.01.04 |
https://www.yes24.com/Product/Goods/125448242
https://www.yes24.com/Product/Goods/59517143
https://www.yes24.com/Product/Goods/22701724
https://www.yes24.com/Product/Goods/102819659
https://www.yes24.com/Product/Goods/79633189
https://www.yes24.com/Product/Goods/47245387
[ChatGPT에게 묻다] IT 추천 도서 (0) | 2023.03.09 |
---|---|
[2023] 내 맘대로 추천 도서 (신입 사원 편) (0) | 2023.03.09 |
[2023] 설 연휴에 읽은 도서 정리 (0) | 2023.01.24 |
IntelliJ에 있는 유용한 기능 중 하나가 JShell 콘솔이다.
아래와 같이 입력 후, 실행을 하면
결과를 실행 창에서 볼 수 있다.
[Android] ListView 현재 위치 기억 하기 (0) | 2024.06.25 |
---|---|
Freecell solitare 카드 게임 개인 정보 처리 방침 / Freecell solitare Card Game Privacy Policy (0) | 2023.08.29 |
Classic Block Game V2 개인 정보 처리 방침 / Classic Block Game V2 Privacy Policy (0) | 2023.05.10 |
Python으로 작성한 SQL문에서 대량의 insert를 수행시 느려지는 문제가 있어서,
DB전문가에게 문의를 하니, 간단히 답을 알려 주셨다.
해결책은 "BEGIN TRANSACTION"을 사용하면 되는 것이었다.
이 한줄을 넣고 나니, 10배 이상 속도가 빨라졌다;;
[기존코드]
def insert(self, data):
insert_memo_sql = '''INSERT INTO minim(title, memo) VALUES(?, ?);'''
try:
cur = self.db_conn.cursor()
cur.execute(insert_memo_sql, (data[0], data[1]))
self.db_conn.commit()
print(cur.lastrowid)
return cur.lastrowid
except sqlite3.Error as e:
print(e)
return -1
[개선코드]
def insert_bigdata(self, big_data):
insert_memo_sql = '''INSERT INTO minim(title, memo) VALUES(?, ?);'''
try:
cur = self.db_conn.cursor()
cur.execute("BEGIN TRANSACTION")
for data in big_data:
cur.execute(insert_memo_sql, (data[0], data[1]))
self.db_conn.commit()
print(cur.lastrowid)
return cur.lastrowid
except sqlite3.Error as e:
print(e)
self.db_conn.rollback() # rollback the transaction if there's any error
return -1
[Python] Jupyter notebook 팁 (0) | 2024.05.11 |
---|---|
Cardioid 그리기 (0) | 2024.02.17 |
[Python] PNG to ICO 변환 하기 (0) | 2024.01.04 |
import math
import pygame
def init_game():
pygame.init()
pygame.key.set_repeat(0)
canvas = pygame.display.set_mode((800, 600))
fps_clock = pygame.time.Clock()
return canvas, fps_clock
def main():
canvas, fps_clock = init_game()
title = 'Cardioid'
pygame.display.set_caption(title)
max_dots = 300
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
return
draw_cardioid(canvas, max_dots)
pygame.display.update()
fps_clock.tick(30)
def draw_cardioid(canvas, max_dots):
canvas.fill((0, 0, 0))
start_x = canvas.get_width() // 2
start_y = canvas.get_height() // 2
radius = 250
for i in range(max_dots):
radian = (math.pi / 180) * (360 / max_dots) * i
sx = start_x + int(math.cos(radian) * radius)
sy = start_y + int(math.sin(radian) * radius)
ex = start_x + int(math.cos(radian * 2) * radius)
ey = start_y + int(math.sin(radian * 2) * radius)
pygame.draw.line(canvas, (0, 255, 0), (sx, sy), (ex, ey))
if __name__ == '__main__':
main()
[SQL] BEGIN TRANSACTION (0) | 2024.03.07 |
---|---|
[Python] PNG to ICO 변환 하기 (0) | 2024.01.04 |
[Python] 프랙탈 나무 만들기 (0) | 2023.09.15 |