2022년 4월 12일 화요일

Ubuntu 20.04에 미디어위키(mediawiki) 설치

  1. 시스템 업데이트 & Apache2, DB, PHP 설치
    1. sudo apt-get update && sudo apt-get upgrade
    2. sudo apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-mbstring
    3. sudo apt-get install php-apcu php-intl imagemagick inkscape php-gd php-cli php-curl php-bcmath git
  2. MediaWiki 저장 폴더 생성
    1. mkdir tmp
    2. cd tmp
  3. MediaWiki 다운로드
    1. wget https://releases.wikimedia.org/mediawiki/1.37/mediawiki-1.37.2.tar.gz
  4. 압축해제 & 웹 서버로 이동
    1. tar -xvzf mediawiki-*.tar.gz
    2. sudo ln -s ~/tmp/mediawiki-1.37.2 /var/www/html/mediawiki
      1. 링크를 만들지 않고 복사 또는 이동해도 됨.
  5. mysql 시작
    1. sudo service mysql restart
  6. mysql 설정
    1. sudo mysql -u root -p
    2. CREATE USER 'wiki_admin'@'localhost' IDENTIFIED BY 'asdf1234!@';
    3. CREATE DATABASE my_wiki;
    4. GRANT ALL ON my_wiki.* TO 'wiki_admin'@'localhost';
    5. quit;
  7. 서버 시작
    1. sudo service apache2 restart
  8. 설치
    1. http://localhost/mediawiki 접속
      1. set up the wiki 클릭
    2. 설치 중 DB 이름은 5. 에서 생성한 my_wiki
    3. 설치 중 DB 계정은 5. 에서 설정한 wiki_admin/asdf1234!@
    4. 설치 중 확장기능 모두 선택
    5. 설치가 완료되면 LocalSettings.php 파일은 다운받아서 MediaWiki 폴더로 저장
      1. /var/www/html/mediawiki/LocalSettings.php
      2. visual editor 설정
        1. wfLoadExtension( 'Parsoid', 'vendor/wikimedia/parsoid/extension.json' );
  9. 테스트
    1. /var/www/html/mediawiki

2021년 9월 29일 수요일

excel에 첨부된 이미지 추출.

# -*-coding:utf-8-*-

from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader


def main():
filepath = './excel/sample.xlsx'
load_wb = load_workbook(filepath, data_only=True)
for sheet_name in load_wb.sheetnames:
sheet = load_wb[sheet_name]

image_loader = SheetImageLoader(sheet)
# image = image_loader.get('C3')
# image.show()
print(sheet.max_row, sheet.max_column)
for column in range(sheet.max_column):
column = chr(ord('A') + column)
for row in range(sheet.max_row):
cell_id = '{0}{1}'.format(column, row)
print(cell_id)
if image_loader.image_in(cell_id):
print(cell_id, '->', image_loader.image_in(cell_id))


if __name__ == '__main__':
main()

2020년 2월 6일 목요일

Ubuntu 에 python3 설치

sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.7
sudo apt install python3-pip
sudo apt install python3-venv
sudo apt install python3-dev

sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.7
sudo apt install python3-pip
sudo apt install python3-venv
sudo apt install python3-dev



pip3 install --upgrade tensorflow requests


python3

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))


mkdir tensorflow
cd tensorflow
git clone https://github.com/tensorflow/models.git
export PYTHONPATH="$PYTHONPATH:$(pwd)/models"
cd models/official/r1/mnist
python3 mnist.py

pip3 show tensorflow
Name: tensorflow
Version: 1.14.0
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: packages@tensorflow.org
License: Apache 2.0
Location: /home/xxx/.local/lib/python3.6/site-packages
Requires: astor, protobuf, termcolor, gast, numpy, google-pasta, absl-py, six, tensorflow-estimator, tensorboard, keras-applications, wrapt, wheel, grpcio, keras-preprocessing

cd /home/xxx/.local/lib/python3.6/site-packages/tensorboard


python3 main.py --logdir=/tmp/log_file

ufw allow 6006

http://x.x.x.x:6006

2020년 2월 3일 월요일

[C#] 압축 해제

class Program
{
    static void Main(String[] args)
    {
        string zipPath = "...";
        string extractPath = Path.GetFullPath("...");

        System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
        System.Text.Encoding euckr = System.Text.Encoding.GetEncoding(949);

        ZipFile.ExtractToDirectory(zipPath, extractPath, euckr);
    }
}

2019년 12월 19일 목요일

[PyQt5] QTableWidget 에서 row 구하기

for model_index in self.tableWidget.selectionModel().selectedRows():
row = model_index.row()

2019년 10월 28일 월요일

[Python] python 으로 프로그램 목록 구하기

import win32com.client 
strComputer = "." 
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator") 
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2") 
colItems = objSWbemServices.ExecQuery("Select * from Win32_Product"for objItem in colItems: 
    print "Caption: ", objItem.Caption 
    print "Description: ", objItem.Description 
    print "Identifying Number: ", objItem.IdentifyingNumber 
    print "Install Date: ", objItem.InstallDate 
    print "Install Date 2: ", objItem.InstallDate2 
    print "Install Location: ", objItem.InstallLocation 
    print "Install State: ", objItem.InstallState 
    print "Name: ", objItem.Name 
    print "Package Cache: ", objItem.PackageCache 
    print "SKU Number: ", objItem.SKUNumber 
    print "Vendor: ", objItem.Vendor 
    print "Version: ", objItem.Version 

[Python] 관리자 모드인지 확인

>>> import ctypes
>>> ctypes.windll.shell32.IsUserAnAdmin()

docker redmine 설치

docker-composer.yml version: '3.1' services:      redmine:           image: redmine           restart: always           container_na...