Skip to content

Instantly share code, notes, and snippets.

View nakagami's full-sized avatar

Hajime Nakagami nakagami

View GitHub Profile

Profile

  • Hajime Nakagami <nakagami@gmail.com>
  • Born in Japan on August 11, 1967
  • Live in Funabashi city, Chiba prefecture, Japan

Talks

@nakagami
nakagami / etree_example.py
Last active March 13, 2024 06:26
XML manipuration example
import xml.etree.ElementTree as ET
xml_data = '''<?xml version="1.0" encoding="utf-8"?>
<root>
<person id="1">
<name>John Doe</name>
<age>30</age>
<city>Tokyo</city>
</person>
<person id="2">
@nakagami
nakagami / create_and_extract_zip.py
Last active February 28, 2024 06:56
Create and Extract zip file example
import io
import zipfile
# Create and extract zip file example
# to file
with zipfile.ZipFile("test.zip", 'w') as z:
z.writestr('aaa/bbb/1.txt', b'aaa')
z.writestr('aaa/ccc/2.txt', b'ccc')
z.writestr('aaa/ccc/3.bin', b'\x00\x01\x02')
@nakagami
nakagami / pg_scram_sha_256.py
Created September 24, 2018 22:01
PostgreSQL SCRAM-SHA-256 authentication
import hashlib
import hmac
import base64
import binascii
password = 'foobar'
client_nonce = '9IZ2O01zb9IgiIZ1WJ/zgpJB'
server = {
'r': '9IZ2O01zb9IgiIZ1WJ/zgpJBjx/oIRLs02gGSHcw1KEty3eY',
's': 'fs3IXBy7U7+IvVjZ',

MeCab 辞書を使用した形態素解析器 awabi

Hajime Nakagami <nakagami@gmail.com> 2020-10-10 最終更新

awabi とは

awabi は、 MeCab の辞書データを使い形態素解析をする形態素解析器です。

MySQL 8.0 の認証 plugin について

MySQL は、mysql.user テーブルにユーザー情報を持っていて、その中に、パスワードを なんらかの手順で ハッシュ化した値を保存している。

何らかの手順 は、プラグイン方式なっていて「認証プラグイン名」として認識されている。

  • mysql_native_password → MySQL 5.7 までのデフォルトの認証プラグイン
  • caching_sha2_password → MySQL 8.0 のデフォルトの認証プラグイン
@nakagami
nakagami / PyConJP2016.rst
Last active December 13, 2023 04:23
How to write python database driver (PyCon JP 2016 talk)
@nakagami
nakagami / tktwisted.py
Last active November 17, 2023 09:27
Python3 version of twisted tkinter support example tkinterdemo.py https://github.com/racker/python-twisted-core/blob/master/doc/examples/tkinterdemo.py
#!/usr/bin/env python
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
An example of using Twisted with Tkinter.
Displays a frame with buttons that responds to mouse clicks.
@nakagami
nakagami / tkcanvas.py
Last active November 4, 2023 01:48
Example tkinter event and draw canvas
import tkinter
root = tkinter.Tk()
root.geometry("600x400")
canvas = tkinter.Canvas(root, width=600, height=400, bg="white")
canvas.pack()
def event_handler(event):
print(event)
if event.type == tkinter.EventType.ButtonRelease:
@nakagami
nakagami / app.py
Last active October 9, 2023 03:40 — forked from terasakisatoshi/app.py
Data visualization tool using Streamlit
import pathlib
from typing import List
from PIL import Image
import streamlit as st
from tensorflow import keras
@st.cache_data
def download() -> str: