def insert(self, file_id, file_path):
img = Image.open(file_path)
w = int(img.width / 2)
h = int(img.height / 2)
img_resize = img.resize((w, h))
img_resize.save('./temp.png')
with open('./temp.png', 'rb') as fh:
bindata = fh.read()
buf = '0x' + binascii.hexlify(bindata).decode('ascii')
query = f"INSERT INTO {self.tablename}(FILE_ID, FILE_DATA) VALUES ({file_id}, {buf})"
self.cursor.execute(query)
self.conn.commit()
2022년 7월 26일 화요일
mssql insert image
2022년 5월 16일 월요일
docker mysql 설치
docker pull mysql
docker images
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=abcd -d -p 3306:3306 mysql:latest
docker ps
docker exec -it mysql-container bash
mysql -u root -p
mysql> create database tutorial;
mysql> create user [id]@'%' identified by 'abcd';
mysql> create user [id]@localhost identified by 'abcd';
mysql> grant all privileges on tutorial.* to [id]@'%';
mysql> grant all privileges on tutorial.* to [id]@localhost;
mysql> alter user thlee@'%' identified with mysql_native_password by 'abcd';
mysql> grant all privileges on tutorial.& to [id]@172.17.0.1 with grant option;
allowPublicKeyRetrival=true
select @@datadir;
docker volume
$ docker volume create my-vol
my-vol
$ docker volume ls
DRIVER VOLUME NAME
local my-vol
$ docker volume inspect my-vol
[
{
"CreatedAt": "2022-05-11T12:02:14Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my-vol/_data",
"Name": "my-vol",
"Options": {},
"Scope": "local"
}
]
2022년 5월 11일 수요일
javax.servlet.ServletException: java.lang.IllegalAccessError: class NiceID.Check.CPClient
2022년 5월 9일 월요일
2022년 5월 2일 월요일
java decompile
wget http://www.benf.org/other/cfr/cfr_0_115.jar
java -jar cfr_0_115.jar javaclasstodecompiles.class > javaclasstodecompiles.java
2022년 4월 28일 목요일
Image to base64, base64 to image
PIL.UnidentifiedImageError: cannot identify image file
import base64
import io
from io import BytesIO
from PIL import Image
byteImgIO = io.BytesIO()
byteImg = Image.open('./images/img_small.png')
byteImg.save(byteImgIO, "PNG")
byteImgIO.seek(0)
byteImg = byteImgIO.read()
v2 = base64.b64encode(byteImg)
v3 = base64.b64decode(v2)
# i = Image.open(BytesIO(v3))
# i = i.convert('L')
i = BytesIO(v3)
i.seek(0)
i = Image.open(i)
i.save('./images/a.png')
print('finish')
Docker 에 postgres 설치
docker pull postgres
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD="<mypwd>" --name PostgreSQL postgres
sudo docker exec --user="root" -it PostgreSQL "bash"
2022년 4월 26일 화요일
Python 으로 엑셀 셀 배경색 넣기.
color = 'ffffff'
bc = PatternFill(fgColor=Color(color, tint=0.5), bgColor=Color(color, tint=0.5), fill_type='gray125')
2022년 4월 25일 월요일
docker 로 kafka 설치, 실행
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
docker-compose.yml 생성
version: '2' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: build: . ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 KAFKA_CREATE_TOPICS: "test:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock
docker-compose.yml 파일이 있는 위치에서
docker-compose -f docker-compose.yml up -d
producer
max_request_size = 1048576
consumer
fetch_max_bytes = 52428800 max_partition_fetch_bytes: 1 * 1024 * 1024
이 파일은 파일 확인 절차를 통과하지 않았습니다.
빈 파일은 올라가지 않음.
vim /etc/php/7.4/apache2/php.ini
file_uploads = On
upload_max_filesize = 2048M
cd /var/www/html/mediawiki
sudo chown -R www-data:www-data images/
sudo chmod -R 755 images
vim LocalSettings.php
$wgFileBlacklist = [
'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl',
];
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc',
'xls', 'mpp', 'pdf', 'ppt', 'tiff', 'bmp', 'docx', 'xlsx',
'pptx', 'ps', 'odt', 'ods', 'odp', 'odg', 'zip', 'gz'
);
$wgStrictFileExtensions = false;
$wgTrustedMediaFormats[] = 'application/zip';
$wgAllowJavaUploads = true;
cd images
sudo vim .htaccess
<IfModule rewrite_module>
RewriteEngine On
RewriteOptions inherit
RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
RewriteRule . - [forbidden]
# Fix for bug T64289
Options +FollowSymLinks
</IfModule>
2022년 4월 19일 화요일
2022년 4월 18일 월요일
docker 로 django 서비스
- Dockerfile 파일 생성
FROM python:3.8.10
RUN apt -y update
WORKDIR /mysite
COPY . .
RUN pip install django==4.0.4
CMD ["python3", "manage.py", "runserver", "0:8000"]
EXPOSE 8000
- docker build -t django-test .
- docker run -p 8000:8000 -tid django-test
2022년 4월 13일 수요일
NetBeans 한글 출력
C:\Program Files\NetBeans-13\netbeans\etc 폴더에서
netbeans.conf 파일 수정
netbeans_default_options 가장 뒤에 추가
netbeans_default_options="............. -J-locale=UTF-8 -J-Dfile.encoding=UTF-8"
2022년 4월 12일 화요일
Python 에서 .ui 파일 불러오기 (PyQt5)
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QMainWindow, QApplication
form_class = uic.loadUiType('./window_main.ui')[0]
class MyWindow(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
if __name__ == "__main__":
app = QApplication(sys.argv)
myApp = MyWindow()
myApp.show()
app.exec_()
미디어위키(MediaWiki) 파일 업로드 설정
sudo apt install vim
- php 파일 업로드 설정 확인
- sudo vim /etc/php/7.4/apache2/php.ini
- file_uploads = On
- upload_max_filesize = 20M
- MediaWiki 파일 저장 폴더 소유자 & 권한 변경
- cd /var/www/html/mediawiki
- sudo chown -R www-data:www-data images/
- sudo chmod -R 755 images
- MediaWiki LocalSettings.php 설정
- vim LocalSettings.php
- $wgEnableUploads = true;
- $wgStrictFileExtensions = false;
- 블랙리스트에 등록된 확장자를 제외하고 허용
- 블랙리스트 등록
- $wgFileBlacklist = [
'exe', 'msi'
]; - apache2 재시작
- sudo service apache2 restart
Ubuntu 20.04에 미디어위키(mediawiki) 설치
- 시스템 업데이트 & Apache2, DB, PHP 설치
- sudo apt-get update && sudo apt-get upgrade
- sudo apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-mbstring
- sudo apt-get install php-apcu php-intl imagemagick inkscape php-gd php-cli php-curl php-bcmath git
- MediaWiki 저장 폴더 생성
- mkdir tmp
- cd tmp
- MediaWiki 다운로드
- 압축해제 & 웹 서버로 이동
- tar -xvzf mediawiki-*.tar.gz
- sudo ln -s ~/tmp/mediawiki-1.37.2 /var/www/html/mediawiki
- 링크를 만들지 않고 복사 또는 이동해도 됨.
- mysql 시작
- sudo service mysql restart
- mysql 설정
- sudo mysql -u root -p
- CREATE USER 'wiki_admin'@'localhost' IDENTIFIED BY 'asdf1234!@';
- CREATE DATABASE my_wiki;
- GRANT ALL ON my_wiki.* TO 'wiki_admin'@'localhost';
- quit;
- 서버 시작
- sudo service apache2 restart
- 설치
- http://localhost/mediawiki 접속
- set up the wiki 클릭
- 설치 중 DB 이름은 5. 에서 생성한 my_wiki
- 설치 중 DB 계정은 5. 에서 설정한 wiki_admin/asdf1234!@
- 설치 중 확장기능 모두 선택
- 설치가 완료되면 LocalSettings.php 파일은 다운받아서 MediaWiki 폴더로 저장
- /var/www/html/mediawiki/LocalSettings.php
- visual editor 설정
- wfLoadExtension( 'Parsoid', 'vendor/wikimedia/parsoid/extension.json' );
- 테스트
- /var/www/html/mediawiki
docker redmine 설치
docker-composer.yml version: '3.1' services: redmine: image: redmine restart: always container_na...
-
용량이 큰 파일 업로드 시 net::ERR_CONNECTION_RESET 오류 발생할 경우. http_server = tornado.httpserver.HTTPServer(app, max_buffer_size=10485760000) upload_for...
-
docker-composer.yml version: '3.1' services: redmine: image: redmine restart: always container_na...
-
# !-*- coding:utf-8 -*- import os import sys from PyQt5 import uic from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QDialog , QAppl...