投稿

2月, 2022の投稿を表示しています

ハローワークAPIで求人情報検索

ハローワークAPIを調査している時の覚書。 環境: API v2.0、API仕様書第1.3版 利用には職業紹介事業免許が必要。 ハローワークインターネットサービス - ハローワーク求人・求職情報提供サービスをご利用の方 利用できるようになるまでの経緯 「事業所・求人申込み(仮登録)」から手続き開始。 データの種類でCSVとAPIが選べるのでAPIを選択。 入力内容の申請書PDFをダウンロード、署名、担当労働省へ郵送(2/10郵送)。 当日に労働局からメールが来ていたけど内容の意味が分からなくてスルーしてた。 労働局から再度確認メールが来て「差し戻し」になった。 電話して理由を聞くと、 紹介実績が1件以上ないと求職情報(職を探している人の情報)を参照することはできない 。 情報提供を求人情報提供(求人を出している企業情報)のみに変更して、署名→スキャン→メール添付送信(2/15) 利用開始時期通知のメールが届いて利用できるようになった(2/18) ログインするとメニュー → 求人情報 → API利用からAPI利用手順書が閲覧できるようになる。 利用時の注意点 レスポンスデータはXML形式 毎日メンテナンスで繋がらない時間帯がある。 毎日0時~6時まで 月の末日21時30分~翌日6時まで 1日1回毎日21時30分時点のデータで更新 利用規約 をよく読む - 職業紹介と関係がない目的で利用しないこと。 - 求人対象団体および求職者以外の不特定多数の者への提供は行わないこと。 - 求人内容は正確に引用し、内容を改変しないこと。 等、重要なことが記載してある。規約違反は利用停止処分。 ハローワークAPIを利用したサービス SHIRAHA WORK|ハローワーク求人票から採用サイトがつくれる かなり強気の価格設定。求人番号入れてもデモサイト作れないし、導入事例のホームページを見てもサービスが使われている形跡がないのが心配。 …と思ったら身売りしてた。 参考:  大分発HRテック企業「HAB&Co.」の株式取得のお知らせ 行政や自治体によるGovTechモデルで地方強化と業界DXを推進|トライトグループのプレスリリース 身売り先が医療介護の会社なので競合になるかもしれない。楽しみ。 【関連記事】 Pythonで外部APIからXMLデータ取得して確認 e-StatのAPIを

Pythonで外部APIからXMLデータ取得して確認

Pythonで外部APIからXMLデータを取得して処理している時の覚書。 環境: Python 3.10.2, requests 2.27.1 API叩くのはRequestsを使い。XMLをパースするのはxml.etree.ElementTreeを使う。 Requests: HTTP for Humans™ — Requests 2.27.1 documentation xml.etree.ElementTree — The ElementTree XML API — Python 3.10.2 documentation プログラム例 import requests import xml.etree.ElementTree as ET token_get_url = 'https://sample.url/api/2.0/auth/getToken' auth = {     'id': 'login',     'pass': 'password', } response = requests.post(token_get_url, params=auth) if response.status_code != 200:     print('取得に失敗しました。') root = ET.fromstring(response.text); #print(response.text) ET.dump(root) elem = root.find('token') print(elem.text) VS Code+Pythonプラグインでブレイクポイントを設定して途中で止めれるので、変数やオブジェクトの構造を確認するのに便利。 Get Started Tutorial for Python in Visual Studio Code 【関連記事】 Pythonのコーディング規約

Pythonのコーディング規約

機械学習のためにPythonを勉強し直しているときの覚書。 コーディング規約は公式サイトのPEP8を参照 PEP 8 -- Style Guide for Python Code | Python.org はじめに — pep8-ja 1.0 ドキュメント 【Pythonコーディング規約】PEP 8 vs Google Style - Qiita 初回は日本語訳ドキュメントで理解して、確認するときは公式英語版を参照する。 自分用まとめ UTF-8(BOMなし)= UTF-8N インデントはスペース4つ 一行は79文字まで 改行する場合は演算子の前で トップレベルの関数間は2行空ける。クラス内のメソッド間は1行空ける。 引用符に規定なし。単語はシングルクォーテーション、文章はダブルクォーテーションにすることにした。 参考:  coding style - Single quotes vs. double quotes in Python - Stack Overflow 関数名と変数名は小文字のsnake_case クラス名はPascalCase(UpperCamelCase)。メソッド名は関数と同じsnake_case。privateな場合は先頭にアンダースコアを付ける PHPとJavaScriptをやっているとメソッド名はcamelCaseにしたくなる… 参考:  Pythonのloggingライブラリは、なぜcamelCaseなのか? - Qiita 定数は全大文字のアンダースコア区切り VS CodeにPythonプラグインをインストールすればPEPに準拠してくれる。 下記マイクロソフトのサイトはHello WorldからVS Code上でデバッグするやり方をチュートリアル形式で細かく解説してくれていて分かりやすい。 Get Started Tutorial for Python in Visual Studio Code 【関連記事】 PHP Standards Recommendations:PHPコーディング規約 Closure LinterをInstallしてCoding規約に従っているかCheck GAE/Pythonのコーディングメモ

情報処理支援機関認定制度「スマートSMEサポーター」

中小企業庁のページで認定情報処理支援機関というのがあるのを知って調査したときの覚書。 参考サイト 中小企業庁 / The Small and Medium Enterprise Agency トップページ | 認定情報処理支援機関(スマートSMEサポーター)制度 認定情報処理支援機関とは 2018年施行の「中小企業等経営強化法」による経済産業省が認定する情報処理支援機関。 中小企業を支援するITベンダーが対象。 愛称: スマートSMEサポーター SME: Small and Medium-sized Enterprise 取得要件 3年以上のソフトウェア又はクラウドサービスの提供実績、または10者以上の中小企業への提供実績を有していること。 法人だけでなく個人事業主でも申請可能 3年ごとに更新申請が必要 認定取得方法 GビズIDが未取得の場合は作成する。 法人の場合は印鑑証明書の提出が必要なため取得するまで1週間ぐらい掛かる。 GビズID | Home 申請受付期間があるので注意 申請・手続き | 認定情報処理支援機関(スマートSMEサポーター)制度 申請手順 公式ページ の「情報処理支援機関 新規登録」からGビズIDでログイン 画面に従いの内容を入力していく 自社サービス登録を複数登録することができる。登録番号が割り当てられる。 「登録情報の確認」で申請内容を確認できる。 印刷してPDF保存しておく。 締切後45日以内に審査 「セキュリティ対策」の項目を見ておくだけでも、どんな体制を準備すればいいか分かるので事前に確認しておくといい。 情報セキュリティ基本方針は下記ページにサンプルがある。 中小企業の情報セキュリティ対策ガイドライン:IPA 独立行政法人 情報処理推進機構 情報処理支援機関検索 から認定された企業一覧を検索できる。 問合せフォームがあるにもかかわらずSSL導入してない企業も多数。 審査自体は厳しくないのかもしれない。 広報するときは PRTIMES で「スマートSMEサポーター」と検索すると、いい文章が見つかるので参考にするとよい。 【関連記事】 有料職業紹介事業(人材紹介業)の免許取得手順 会社登記の金額を半額に。市の制度を利用する

e-StatのAPIを利用してデータ分析【API利用準備編】

e-Stat統計情報APIでサービス作っているときの覚書。 公式サイト 政府統計の総合窓口(e-Stat)−API機能へようこそ | 政府統計の総合窓口(e-Stat)−API機能 APIまとめ メールアドレスがあれば誰でも利用可能 クレジット表示が必要 参考:  クレジット表示 | 政府統計の総合窓口(e-Stat)−API機能 利用手順 上記公式サイトのAPI機能からe-Statユーザ登録を行う マイページのAPI機能(アプリケーションID発行)から名称とURLを登録して発行。 開発用としては例えば下記のように登録。 名称: 開発 URL: http://dev.localhost/ 公式API仕様書を見ながらリクエストを送る データが膨大なので、まずは統計分野の分類コードで絞り込んで取得する。 参考:  統計分野 | 政府統計の総合窓口(e-Stat)−API機能 Python+XML形式で取得してPostgreSQLに流し込んでデータ分析に使う予定。 このデータの塊をどうビジネスに応用するのかが面白いところ。 【関連記事】 JavaScriptグラフ描画ライブラリ「Chart.js」 2022年4月施行の改正個人情報保護法とCookieとGoogle Analytics

JavaScriptグラフ描画ライブラリ「Chart.js」

Google Analyticsみたいに管理画面のダッシュボードで統計情報をグラフ表示したいとJavaScriptライブラリを探しているときの覚書。 オープンソースのChart.jsで十分。 Chart.js | Chart.js GitHub | chartjs/Chart.js: Simple HTML5 Charts using the <canvas> tag Chart.js v3.7.1 主な特徴 オープンソース。商用利用可能。MITライセンス HTML5 canvasで多くのグラフを表示させても高速描画ができる。 下記マイクロソフトのサイトでcanvasとSVGの比較グラフが分かりやすい。 参考:  SVG vs canvas: how to choose (Windows) | Microsoft Docs 参考:  canvas の最適化 - Web API | MDN CDNあり 開発が活発。ドキュメントがしっかりしてる。 プラグインの機能があるので拡張しやすそう。 参考: GitHub | chartjs/awesome: A curated list of awesome Chart.js resources and libraries より多彩なデータの見せ方をしたい場合はD3.jsが良さそう D3.js - Data-Driven Documents 【関連記事】 GoogleのAPIを使って日本地図を表示するためには

プログラミング言語Rustのまとめと将来性

最近よく聞くRustというプログラミング言語を調査している時の覚書。 参考サイト Rust (プログラミング言語) - Wikipedia Rust Programming Language コラム - AI活用時代にPythonで見る夢 | 第19回 Rustに入門した話|CTC教育サービス 研修/トレーニング Rustまとめ 2010年に発表。2015年にRust 1.0リリース。2022年1月時点でv1.58.1 下位レイヤー開発にC/C++の代替を目指した言語 Mozillaが主導しオープンソースで開発されている ガベージコレクションなし でメモリ安全性を達成 しかも C言語と同程度の速度 LinuxカーネルやAndroid Platformでも積極的に使われるようになっている。 参考:  Google Online Security Blog: Rust/C++ interop in the Android Platform 将来性 メモリ安全で最速という衝撃のため、C/C++はだんだんとRustに置き換わっていく可能性大。 速度と安定性が必要なミドルウェアもRustが有力候補になりそう ただ難易度が高いらしい。 参考:  Rust なのか Go なのか | 民主主義に乾杯 Rust + WebAssemblyで高速なWebアプリを作れるかもしれない。 参考:  WebAssembly - Wikipedia 参考:  Use Cases - WebAssembly Rustを使ったウェブフレームワークはいくつかある。 参考:  flosse/rust-web-framework-comparison: A comparison of some web frameworks and libs written in Rust 機械学習の分野でもRustが使われるようになっているらしい。

CentOS9の仮想マシンをインストールして初期設定

VMware FusionにCentOS Stream 9の仮想マシンを作成したときの覚書。 この仮想マシンは主にウェブサービスの開発用。 CentOS公式ページ からCentOS Stream 9のISOファイルをダウンロードしておく。 環境: Mac mini(2018), VMware Fusion 11.5.7 VMware Fusionで仮想マシン作成 Other Linux 5.x or later kernel 64-bit Legacy BIOS 仮想マシンの設定 Sharing: OFF CPU: 4 cores Memory: 4096GB Network Adapter: Bridged Networking - Autodetect Hard Disk: 40GB - SCSI CD/DVD: (ダウンロードしたISOファイル) Sound Card: OFF USB & Bluetooth: OFF Printer: OFF 仮想マシン起動 OSインストール時の設定 Language: English(United States) Software Selection: Server Time & Date: Asia/Tokyo Root Password: Allow root SSH login with password 最初Software Selectionを「Minimal Install」にしたら再起動後にウィザード形式になってrootでログインできなかったので「Server」にした。 再起動後にrootでログイン。 IPアドレス確認 # ip a Teratermを使ってSSH経由でログインする。 アップデート確認 # dnf update ホスト名変更 # hostnamectl set-hostname vm-dev6.webrec.co.jp # hostnamectl status どんなデーモンが起動しているか確認 # systemctl list-unit-files -t service 気になっていたOpenSSLのバージョン確認 # openssl version OpenSSL 3.0.1 14 Dec 2021 (Library: OpenSSL 3.0.1 14 Dec 2021)

2022年4月施行の改正個人情報保護法とCookieとGoogle Analytics

ウェブサイトのアクセスをデータ分析する際にGoogle Analytics、Cookieを用いてどこまでが個人情報として扱われるか調査している時の覚書。 2022年4月施行の改正個人情報保護法によってデータ分析も念頭に置いた改正が行われた。 最近、ウェブサイト訪問時にCookieによる情報取得を同意するポップアップが表示されるサイトが多くなったが、こんなユーザビリティ悪いことはしたくない。 参考サイト 個人情報保護委員会 - PPC |個人情報保護委員会 個人情報とは 個人情報保護法で最低限理解すべき言葉の定義。 個人情報 … 生存する個人を識別できる情報。 例)名前、住所、メールアドレス、 電話番号 +年齢+出身地 参考:  【個人情報に該当する事例】個人情報の保護に関する法律についてのガイドライン(通則編) |個人情報保護委員会 匿名加工情報 … 個人情報を個人を識別できないように加工した情報(要復元不可)。 例)名前の匿名化、年齢の年代化(20代、30代)、出身地のエリア化(関東、関西) 仮名加工情報 … 匿名加工のように抽象化するのではなく、別の数字や記号に置き換えて、他の情報と照合しない限り特定の個人を識別しないように加工した情報。 例)名前をID化、性別をAかBに、Cookieに書き込まれたランダムなID ※ データ分析者に渡す際、個人情報を伏せたまま高品質の解析結果を得るため。 個人関連情報 … 個人情報、匿名加工情報、仮名加工情報のいずれでもない全ての情報 例)IPアドレス、端末情報、Cookieに書き込まれたログインID 組織であれば従業員の氏名および住所を管理しているため、全ての組織は個人情報取扱事業者に該当する。 参考:  従業者に関する個人情報データベース等しか保有していない場合であっても、個人情報取扱事業者に該当しますか。 |個人情報保護委員会 個人情報の取得と本人の同意 個人情報を取得するのに本人の同意と利用目的の通知(または公表)が必要。 ホームページ上のボタンのクリックでも 同意したとみなす ことができる。 参考:  2-16 「本人の同意」 取得の状況からみて 利用目的が明らかな場合は通知不要 。 参考:  2-14 「本人に通知」 、 3-3-5 利用目的の通知等をしなくてよい場合(法第21条第4項関係) 要配慮個人情報は

企業型確定拠出年金制度の背景

確定拠出年金制度の資料を作っているときの覚書。 参考サイト 確定拠出年金 - Wikipedia 主要各国の年金制度の概要|日本年金機構 確定拠出年金制度の発端 人口減少と高齢化 銀行預金神話の崩壊 高度経済成長期の賦課方式(ふかほうしき:現役者の保険料で高齢者の年金を賄う)では年金制度では支えられない。 政府への批判を避け、企業または個人へ責任を移行させていきたい。 その燻っていた火種が金融庁の2019年報告書で老後2000万円問題として炎上した。 確定拠出年金制度は米国の401kを参考にしている 参考サイト 401k - Wikipedia 日米の確定拠出年金制度の位置づけ比較 - コンサルタントコラム 791 | マーサージャパン 米国の401kは1980年から開始。日本は2001年から開始。 (法401条k項に定めているため401kと呼ばれる) 年間19,500ドル(約220万円)が非課税。日本は年間66万円が非課税。 米国では人生設計の主役は従業員本人。 会社はそれを支援するという意識。 日本では会社主体という意識。 特にマッチング拠出の主体が米国と日本で逆。 自動移管者問題 企業型確定拠出年金は退職や転職した場合に本人が移管手続きを行わなければならない。 しかし、これを怠ると国民年金基金連合会に自動移管され手数料だけ引かれる形となる。 これが年々増加傾向 確定拠出年金制度|厚生労働省 従業員は国や会社がよろしくやってくれる感を持っているので、説明の工夫が必要だと思う。 【関連記事】 企業型確定拠出年金制度(企業型DC)

有料職業紹介事業(人材紹介業)の免許取得手順

有料職業紹介事業(人材紹介業)の免許を取得したときの覚書。 環境: 株式会社、一人社長、e-Taxで納税申告(税務署の受付印がない) 11月26日に労働局へ書類提出して1月末に認可完了(許可年月日:2月1日)。 1. 職業紹介責任者講習 まずは職業紹介責任者講習を受ける。 受講の最後に理解度確認試験があり(簡単)、合格すると受講証明書をもらえる。 職業紹介責任者講習とは | 全国民営職業紹介事業協会 この講習テキスト(職業紹介事業制度の手引)に免許取得手続きの説明と必要書類が記載されているので、これが一番分かりやすい。 2. 提出書類準備 申請の流れと申請書(様式)は厚生労働省のサイトからダウンロード可能。 労働者派遣事業・職業紹介事業等 |厚生労働省 職業紹介事業パンフレット―許可・更新等マニュアル― |厚生労働省 ※ 下記はあくまでも自社用メモ。 法人関連書類 定款 会社設立時に作成したもの。 登記事項全部証明書 代表の住民票 代表の履歴書 「厚労省 履歴書 excel」で検索してダウンロード編集。直筆の署名必須。 職業紹介責任者講習会の受講証明書 決算書(貸借対照表、損益計算書、株主資本等変動計算書) 全力法人税でPDF出力したもの 法人税の納税申告書 税務署の受付印がある別表1が手元にないのでメール詳細をPDF保存&印刷。 e-Tax(WEB版)の送信結果・お知らせ  → メッセージボックス一覧  → 「内国法人の確定申告(青色)」  → 電子申請等証明書の交付請求  → ダウンロード xmlファイルが電子申請等証明書。 ※ メッセージボックスの「内国法人の確定申告(青色)」を開いた画面を印刷したものが税務署の受付印代わりになるとのこと。 納税証明書 e-Tax(WEB版)で納税証明書の交付請求  → 電子ファイルで受け取る  → PDF形式+ご自身の納税証明書  → 「納付すべき税額、納付した税額及未納税額の証明(その1)」  → 事業年度を選択(法定納期限等、源泉徴収税額はチェックしない)  → 登録申請(更新) 申請後30分したらメッセージが届いた。 インターネットバンキングで370円を納付。 ※ 職業紹介事業免許の場合は「法人税の所得金額の証明(その2)」が必要。郵送で再申請した。 事業所の契約書(弊社の場合はレンタルオフィス) 会議室の位置が分かる

repo 'appstream': Cannot prepare internal mirrorlist

開発サーバーで下記エラーが表示された時の覚書。 Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist CentOS Linux 8のリポジトリからCentOS Stream 8のリポジトリへ変更する必要があるらしい。 前の記事 で切り替えたと思っていたけど忘れてたみたい。 CentOS 8: Failed to download metadata for repo 'appstream' - CentOS 記載のコマンドを実行 # dnf --disablerepo '*' --enablerepo=extras swap centos-linux-repos centos-stream-repos # dnf distro-sync rpmsaveを削除 # cd /etc/yum.repos.d/ # ls # rm *.rpmsave PHPが更新されたので権限変更 # chown nginx.www -R /var/lib/php/* 再起動 # reboot 【関連記事】 CentOS Stream 8 + Nginx + PHP + MariaDB + Postfixの環境を構築(2021年版) CentOS8からCentOS Streamへ