intellista

engineer's notes about application development, data analysis, and so on

アプリケーションエンジニア

PythonでPandasを使ってCSVをサクッと整形する方法とは?

こんにちは!Pythonを使ったデータ分析やアプリケーション開発において、CSVファイルを扱う機会はよくあります。 CSVの読み書き、整形をPythonで行うなら、Pandasを使うのがとても簡単です。 コード量も少なく可読性もいいので、メンテナンス性も確保できま…

Pythonのスレッドで発生した例外は親スレッドでキャッチできない

こんにちは!Pythonのスレッドで発生した例外を親スレッドでキャッチできないことを知ったので、記事に致します。何を言っているのでしょうか?プログラムで「例外」といえば、何もしないか、ちゃんとthrowすれば、発生した例外が上位の処理に伝搬していきま…

Pythonでシングルトン (Singleton) を実装する方法と注意点!

こんにちは!今回はPythonでシングルトン(Singleton) を実装する方法と注意点をご紹介します。仕事で必要になったのですが、インターネットで調査するといろいろな方法が紹介されています。 Javaのような方法からPythonらしい方法、独自で作りこむ方法など・…

【図解】認定スクラムマスターのデジタルバッジの取得方法とは?

こんにちは!デジタルバッジをご存じですか?デジタルバッジとは、自分が保持する認定資格(主にIT系)をオンラインで公開できる仕組みです。 ブロックチェーンの技術により偽造や改ざんが困難な形式で、個人の一意なURLで認定済の資格をロゴなどとともにSNS…

Pythonの内包表記やmap関数で、低速で冗長なfor文から解放されよう!

こんにちは! 今回はPythonの内包表記やmap関数についてお話したいです。Pythonの内包表記やmap関数を使っていますか? もし使っていなかったら、本当にもったいないことです。 自分も周囲も本当にラクになるので、ぜひ使い倒しましょう!今回は例を挙げてPy…

三項演算子で条件分岐の代入・返却をシンプルに!

こんにちは! 三項演算子を使っていますか?三項演算子といえば、単純な条件分岐をシンプルに書けるメリットがある一方、頭ごなしに「わかりにくい」といった批判されることもある、賛否両論の構文です。三項演算子は、きちんとメリットを理解すれば、効果的…

Pandasで複数のカラムが一致する行/一致しない行を抽出したい

こんにちは! 今回はPandasの話です。データフレームが2つあるとき、一致する行(または一致しない行)を抽出したいことはありませんか? このとき、一致するかしないかは、特定のカラムをキーにして比較します。キーが1つであればisin()関数を使えば簡単にで…

Pandasで次のレコードとの差を計算する方法とは?

こんにちは!IoTがらみで監視機器のデータや工場設備のデータなどを扱っていると、時刻が記録されたカラムから「時間」を求めたくなるシーンがよくあります。 具体的には、あるレコードと次のレコードの時刻のカラム値の差をとってレコード間の「時間」を求…

Pandasのデータフレームの値を2つのインデックス参照で変更するときは、真偽値の条件を後にする!

Pandasを使っていて、つまずいた点をメモします。 その点とは、インデックス参照でデータフレームの値を変更するときは、真偽値の条件を後にする!という点です。 わかるまで地味に時間がかかりました.. 概要 具体例 補足 まとめ 概要 データフレームの値を…

Visual Studio CodeでのJavaの開発に関するMeetupをチェックしました!

Visual Studio CodeでJavaの開発ができるのでしょうか? そんな疑問にうってつけのMeetupがあったのでライブ視聴させて頂きました。結論からすると、まだ実務では機能面やJDKバージョンなどの面でEclipseのほうが安心な気がしましたが、Visual Studio Codeの…

PukiWikiをDockerで見る手順は、たったの3ステップ!

こんにちは! 今回は「PukiWiki」を「Docker」で見る手順をご紹介します。 きっかけ この記事の前提環境 Dockerについて PukiWikiについて Dockerを使ってPukiWikiを簡単に見られるようにする方法 フォルダ構成 手順は3ステップだけ! (1) 定義ファイルの作…

JavaScriptでデスクトップアプリを作れる「Electron.js」

とある機会に「Electron.js」でツール開発した事例を知りました。 「Electron.js」とは、Web技術でアプリを作れる仕掛けのひとつで、JavaScriptによりデスクトップアプリを作れるフレームワークです。 www.electronjs.org「Visual Studio Code」や「Slack」…

Visual Studio Code を120%活用してプログラムもドキュメントも書くための初心者のコツ

「VS Code Meetup」を視聴しました。 高機能な割に軽量な「Visual Studio Code」は2年ほど使っていますが、拡張機能についてはあまり知りません。 今回、初心者向けに「VS Code Meetup #11 - 入門編2021」と銘打って、拡張機能を中心としたオンライン勉強会…

Websocketを簡単に実装できる「socket.io」を知る

JavaScriptでWebsocketを実装するオンライン勉強会に参加しました。 私にはやや易しかったのですが、目玉の「socket.io」は初見の技術だったので面白かったです。 socket.io によるWebsocketの実装 socket.io の競合ライブラリは? ws によるWebsocketの実装 …

アプリケーション開発におけるフロントエンド技術の勉強会「Front-End Study」

Front-End Study という勉強会を聴講しました。 www.youtube.comアプリケーション開発におけるフロントエンド技術に関する勉強会です。 個人的には、基調講演の2020年代のフロントエンド技術(React推し)が、色々総括されていて面白かったです。Youtube Live…

Tabulator

JavaScriptベースでフロントエンドを担当しているエンジニアの方には、是非検討してもらいたいライブラリがあります。 表を簡単、かつ柔軟に導入できるライブラリ「Tabulator」です。 tabulator.infoAPIドキュメントも充実しており、サクサク入れ込めました…

Vuetify

半年ほどVuetifyを使ったSPAをアジャイル開発したことがあります。 Vue.js向けにUIを簡単かつきれいに作るフレームワークです。 当初、Vuetifyは初めて知ったのですが、公式ドキュメントといくつかの情報でスムーズに習得できました。はじめに、次のサイトで…

デザイン思考

お昼に「デザイン思考」のセミナーをチェックしました。 ユーザが本当は何をしたがっているのか、ということを、ちゃんとユーザに聞こう、というメッセージを受け取りました。 本当に共感できます。組織が大きい場合、ユーザとの距離が遠くてなかなか拾えな…

POチーム

昨日、2日目の Developer Summit 2021 もいくつかチェックしました。 アジャイル開発のセッションに「POチーム」なるものが登場し、とても新鮮でした。「POチーム」の役割はアジャイル開発におけるスクラムチームの「PO」(プロダクト・オーナー)で構成され…

NoCode開発、LowCode開発

昨日、Developer Summit 2021のとある公募講演で、NoCode開発、LowCode開発の潮流を感じました。観光業でシステムやアプリを自社開発している話でした。業務のわかる現場の方々が開発・保守できれば、もう最強だと思います。発表者の方々の真摯で前向きな姿…

Firebase

今日、Firebase に関するオンラインのハンズオンに参加しました。 connpass という IT系エンジニアのための勉強会プラットフォームからの参加です。 Firebase単体については今年度、Vue.jsやVuetify.jsを使った開発の調査目的で個人的に簡易利用したことはあ…

GitLab

仕事でGitLabを使うケースがよくある影響で、個人でも使ってみています。 仕事のはオンプレミス、個人のはGitLabがホストするSaaSのものです。 当たり前なのかもですが、使用感は同じで、馴染んでいるためか使いやすいと思っています。 変更履歴が差分内容と…