大福好きの甘党ソフトウェアエンジニア(主に業務システム系)である『テクノ大福』のブログです。面白そうな技術、影響を受けた本や音楽などを共有したいと思っています。
![Vision API OCR事始め(2):検出されたテキストの階層構造(fullTextAnnotation)](https://cdn-ak-scissors.b.st-hatena.com/image/square/71060f3612cab942c9c8916cbd8b5c695df2a210/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEjzwDuSpCGZzPG3Ndcjd9FiFGMlalFtr6yH6o6nipkoL24rNe3M-iKeXU1VRR3UIB6NXMZWZcgl_qJQ-YFa0Bn7ftGct8mTJE5cjOHpNH5V3RW229lHRlLmL1-7nLfKNoZ7DP1WrhEl9Fw%2Fw1200-h630-p-k-no-nu%2Fresponse_data-TextAnnotation.png)
毎度、自ブログからの転載です。 つい最近、自作のWordPressカスタムデータベース管理プラグイン「Custom DataBase Tables」への問い合わせで bit型フィールド についてデフォルト値を指定するとテーブル作成がコケるという不具合報告があって、 MySQLのbit型フィールド について詳しく調べることになった。その結果、色々と新たにわかったことがあったので、その備忘録も兼ねて記事を書いておこうかと。 もともと私は、MySQLのbit型はboolean(bool)型と同様に tinyint(1)のシノニム(フィールド形式のエイリアスみたいなもの) と理解していたので、フィールドの仕様もtinyint(1)と同じだと認識していたんだが、実際は違っていたんだなこれが。 各フィールドの仕様は下記のようになってた(ちなみにMySQLのバージョンは5.6.16)。 フィールド型 表
FlashText’s documentation!¶ This module can be used to replace keywords in sentences or extract keywords from sentences. It is based on the FlashText algorithm. >>> from flashtext import KeywordProcessor >>> keyword_processor = KeywordProcessor() >>> # keyword_processor.add_keyword(<unclean name>, <standardised name>) >>> keyword_processor.add_keyword('Big Apple', 'New York') >>> keyword_processor
データ分析に関しては、FlashTextは検索や置換を行うためのより高速で信頼性の高いツールです。 本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。 テキストやデータの分析を行ったことがある方は、すでに正規表現 (RegEx) に精通しているかもしれません。RegExは、テキスト編集を実行するために必要なツールとして進化してきました。もしあなたがまだテキスト処理の処理に RegEx を使っているのであれば、対処すべき問題があるかもしれません。それはなぜでしょうか?大きなサイズのテキストの場合、RegExの効率が低いためにデータ分析に許容できないほどの時間がかかってしまうことがあるからです。 この記事では、RegExの100倍の速度でデータ解析を行うことができるPythonライブ
2022年9月24日 CSS, JavaScript ページやコンテンツの読込中、何も表示されない真っ白な画面が延々と続くと、なんだか不安になりますよね。本当にこのページであってるのか…今何を待ってたんだっけ…なんて。ユーザーを不安にさせないためにも、読込中だと認識できるローディングアニメーションを取り入れてみるといいですね。 ↑私が10年以上利用している会計ソフト! ローディングアニメーションの設置手順 こんな感じで、最初にローディングアニメーションを表示させ、ページを読み込んだらコンテンツを表示させるページを作ってみましょう。よく「CSSだけで実装できる!」なんてうたわれている場面もありますが、多くの場合アニメーション部分のみのおはなしで、実際にページの読み込みを認識させるには簡単なJavaScriptも必要です。 1. ローディング画面の用意 まずはコンテンツを用意しましょう。上部に
.load1 .loader, .load1 .loader:before, .load1 .loader:after { background: #ffffff; -webkit-animation: load1 1s infinite ease-in-out; animation: load1 1s infinite ease-in-out; width: 1em; height: 4em; } .load1 .loader { color: #ffffff; text-indent: -9999em; margin: 88px auto; position: relative; font-size: 11px; -webkit-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0
見栄えからアニメーションまで基本的にCSS(一部SVGも使用)を使って作成されているユニークなローディングアニメーションを、CodePenで公開されている中から紹介します。 ローディングはそんなに長い時間表示させることは少ないですし、自分の場合はサクっと汎用的なシンプルなデザインのものを実装することがほとんどですが、こういった部分まで拘りたいとかちょっと面白いアニメーション付けたいってときに参考になるものやインスピレーションもらえそうです。 Loading Idea HTMLとCSSで作成した三角形を並べ、それらをタイミングずらしてopacityを使うことで見栄えを実装しています。 このデモはすべて同じカラーですが、カラーをバランス良く異なるものに設定するのも良さそうです。
Windows での Python 3.6.8 のインストール,インストール後の設定,Python の各種パッケージのインストール,性能確認の手順をスクリーンショット等で説明する. 【目次】 Windows 用の Python のダウンロードとインストール Python に関しての情報取得 Python のインストール後の設定 【関連する外部ページ】https://docs.python.org/ja/3/using/windows.html ● 実演ビデオ(YouTube)「Python 3.6 のインストール(Windows 上)」 動画リンク https://www.youtube.com/watch?v=vRpDte-PlL0 【Python のインストールでの注意点】 Windows Installer (64-bit) を使用する. Windows で,ユーザ名が日本語のときの
背景dockerでpythonのコンテナを利用する際に、関連するライブラリが増える度にpip install実行のためにコンテナをビルドし直さなくても良い方法を探していました。 ビルドせずともpip installの実行でライブラリを更新する仕組みを作れたので、備忘録を兼ねて設定方法を共有します。 使ったものdocker docker-compose version: '3.8' services: app: image: python:3.8-alpine working_dir: /app volumes: - [ソースコードを管理するフォルダ]:/app - [ライブラリを管理するフォルダ]:/pip-lib environment: PYTHONUSERBASE: /pip-lib imageとworking_dirを指定 image: python:3.8-alpine work
はじめに この記事はCakePHP Advent Calendar 2018の9日目の記事です。 Web未経験の新卒バックエンドエンジニアがCakePHPで検索機能の実装した際を振り返ってみたお話です。Advent Calendarに載せるほどのテクニカルな記事は書いておりませんが、自分と同じような境遇に陥った人のヒントとなるようなことを記してみます。 CakePHPで検索機能を実装したい まず、タイトルにもありますが、CakePHP3で検索機能を実装することが目的です。実装の仕方は色々あると思いますが、システムの要件として「フォームに入力されたものをキーワードとして検索し、ページ遷移なしで画面に表示する」を満たすものを実装します。 CakePHPはPHPのウェブ開発フレームワークです。PHPだけでも様々なことが実現できますが、今の時代PHPだけでウェブアプリケーションの開発を行うことは少
CakePHP2の時は save でバリデーションが実行されてましたね。 もちろんCakePHP3でも save でバリデーションが実行されますが、 2種類のバリデーション実行タイミングがあります。 どこで実行されるの? 1個目が以下のように newEntity と patchEntity にPOST値等のデータを与えて Entity を作ったタイミングでバリデーションが実行されます。 $entity = $table->newEntity($data); $patchEntity = $table->patchEntity($entity, $data); // src/Model/Table/HogeTable.php // ここにEntity作成時のバリデーションを記述します。 public function validationDefault(Validator $validato
今回は、DockerのコンテナでPHPを実行している際に、 VSCode側でデバッグ実行できる様にするための設定メモとなります。 尚、Docker for Desktop(win/mac)を利用している想定で、 yamlやiniファイルの内容を指定しています。 Docker for Desktopを利用していない場合、 Dockerのコンテナから、ホストOS上のプロセスと通信する為の指定を、 調整する必要がありますのでご注意ください。 環境 ・OS:mac OS Catalina 10.15.6 ・VSCode:1.44.2 Microsoft Visual Studio Code ・Docker for Desktop:3.2.1(61626) ・Docker : 20.10.5, build 55c4c88 ・docker-compose version 1.28.5, build
カスタムバリデーションクラス作成 src/ModelにValidationフォルダを作成し、その中にCustomValidation.phpを作ります。 <?php namespace App\Model\Validation; use Cake\Validation\Validation; class CustomValidation extends Validation { public static function imageSize($check, $width, $height) { $size = getimagesize($check['tmp_name']); return ($size[0] == $width) && ($size[1] == $height); } } public function validationDefault(Validator $vali
こんにちは。id:shallow1729です。先日はredo logを中心にストレージエンジンについて解説を行いましたが、今回は同時実行制御、特にMySQLなど多くのデータベースで採用されているMultiversion Concurrency Control(MVCC)という技術にフォーカスしようと思います。 今回の記事ではまず前半でMVCCというものがどういうものかについて解説をして、次にMVCCの実装方法についてInnoDBの実装を参考にしながら見ていこうと思います。前提知識はあまりいらないと思いますが、リレーショナルデータベースの操作経験はあったほうがいいかなと思います。また、前回のストレージエンジンの解説で述べた内容はあまり説明しないので、軽く目を通してもらえると頭に入りやすいかなと思います。 shallow1729.hatenablog.com トランザクションの原子性 まずトラ
MVCCとは MultiVersion Concurrency Controllの略で,RDBのisolation levelがREAD COMMITTEDやREPEATBLE READなんかの時のために採用しているシステムのことです. 簡単に言うと「テーブルの過去の情報を持っておく」です. isolation level DBでは同時に複数トランザクションが一つのテーブルを操作したりします. 例えばあるトランザクションがテーブルAを参照中に,Aの内容を書き換えるような別のトランザクションが存在すると,取ってきたデータに不整合が生じます. この不整合をどの程度許容するかがisolation levelです.通常4種類あります. READ UNCOMMITTED ... COMMITされていないトランザクションAの変更をトランザクションBが参照できます READ COMMITTED ...
こちらのエントリを見て思い出しました。 アプリケーションエンジニアが知っておくべきMySQLのロック MySQL(InnoDB)のデフォルトトランザクション分離レベルは表題の通りREPEATABLE READですが、その場合でも、UPDATEとDELETEはREAD COMMITTED相当の動作になります。 実験 以下のようなアプリケーションがあったとします。 入会申請の都度、テーブルにレコードがINSERTされる。 受付処理を行うときに、当該レコードをUPDATEして処理済みにする。 ※説明を簡単にするために、入会申請(entry)テーブルには、通し番号(entry_no)・名前(name)・処理フラグ(proc_flag)の3つのカラムしか持たないものとします。 処理前に、こんな感じでレコードが入っているとします。 mysql> SELECT * FROM iso_level_test
これは インフラ勉強会 Advent Calendar 2018 19 日目の記事です。 書いているうちに日付が変わってしまいました。 同カレンダーの 17 日目に、 「MySQL8.0 で起こる謎のデッドロックの条件を調べてみた」を data_locks・data_lock_waits テーブルで確かめてみた という記事を書きましたが、そもそも MySQL(InnoDB)のロックについて何も解説していないので、おそらく MySQL 初心者には全く意味の分からない記事になってしまったと思います(すみません)。 というわけで、すでに語りつくされている内容ですが、先の記事を理解するのに最低限必要になりそうなことを補足していきます。 ※MySQL に慣れている人にはいまさら解説不要な内容です。 MySQL(InnoDB)とトランザクション分離レベル 細かいことは説明しませんが、MySQL を含む
Xdeubgのインストールにとてつもなく膨大な時間を費やした。 環境 mac OS Big Sur バージョン 11.3.1
開発において、コードをモジュール化することはとても大切です。 ・開発の効率化 - モジュールにすれば、必要なときに呼び出すだけ。 - 問題を一意に解決出来る。 ・運用しやすい - モジュール部分の変更で全箇所のアップデートが出来る。 ・コードの質向上 - 冗長をなくせるので、コードの質が上がります。 …etc というわけで、CakePHPにおけるモジュールの扱い方をまとめたいと思います。 1.Controllerにおけるモジュール 2.Modelにおけるモジュール 3.Viewにおけるモジュール 4.Controller、Model、Viewに共通する処理のモジュール 1.Controllerにおけるモジュール /app/Controller/Component/ ディレクトリにモジュールにしたいファイルを入れていく。
はじめに どこでも使える共通関数を作ってCakePHP3で使いたい! どうしたらいいの?ってな時の使い方を紹介します。 ModelでもControllerでもViewでも使いたい、しかも楽に使いたいときの方法です。 手順 CakePHP3のroot配下にsrc/Utilsディレクトリを作成 /root /bin /config /logs /plugins /src/Utils <-ココ /tests /tmp /vendor /webroot .editorconfig .gitignore .htaccess .travis.yml composer.json index.php phpunit.xml.dist README.md
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く