"save your time" MakeSense Inc.

自動化で
時間を創り出そう

時間は最も貴重なリソースです。
雑務は自動化して本当に取り組みたいことをやりませんか?
プロジェクトを円滑に進めることは、真のエンジニアには難しいことではありません。
現実を見て、理にかなった選択を行うだけです。

まずは私たちのオープンソースをご覧ください。

Python

YAML DataClass Config

Test Test Coverage Maintainability Code Climate technical debt Updates PyPI - Python Version PyPI - Downloads Twitter URL

YAML によって定義された設定ファイルを
Python のデータクラスにインポートして
コード内で呼び出すことができるようになります。

データクラスとして利用することで
タイプセーフに扱えるようになります。

また、コード内で扱いやすいよう、グローバルに定義でき、
単体テストのワークフローも考慮した設計となっています。

pytest-resource-path

Test Test Coverage Maintainability Code Climate technical debt Updates Python versions PyPI - Downloads Twitter URL

pytest で、テストで利用するファイルなどのリソースを
テストコードから隔離したディレクトリーに配置できる、
テストリソース呼び出し用 Fixture です。

テストリソースを使用するテストは
それほど多くありません。

テストリソースを
テストコードと一緒のディレクトリーに配置すると、
これらのリソースは
エクスプローラーの表示領域を埋めます。

ほとんどのテストに関連しない
ファイルやディレクトリーは、
普段表示されない方がより効率的ではないでしょうか?

God Slayer

Test Test Coverage Maintainability Code Climate technical debt Updates Python versions Twitter URL

神 CSV のレコードを文字列のリストとして読み取る処理を
シンプルに実装できます。

神 CSV を
Python 標準の CSV モジュールで読み取ろうとすると
Python コードの繰り返しブロック内に
条件分岐のブロックの入れ子が発生し、
実装コードは煩雑になります。

God Slayer を使うと
繰り返しブロックは
最小限のシンプルな実装が実現できます。

Pandas を使わず、最小限のメモリーで動作します。

Cookiecutter PyPackage (forked)

Test

Python パッケージプロジェクトを新規作成します。

Python パッケージに必要なテストや Linter の設定、
CI・CD パイプラインの設定などを
手順化したことはありますか?

プロジェクトの最初から考慮しておくべき設定だけでも
20 ステップ近い作業が発生し、
多くの Python プロジェクトは
CI・CD の設定に漏れが発生しています。

cookiecutter-pypackage の質問に
対話的に答えていくだけで、
Python パッケージプロジェクトで
プロジェクトの最初から考慮しておくべき設定を
すべて実装したプロジェクトテンプレートを
作成することができます。

オリジナルリポジトリーから生成されるプロジェクトは
レガシーになっているので、
フォークを行い、最新の CI・CD 設定に更新しています。

PHP

PHPUnit Environment for WordPress Plugin

docker build automated? docker build passing? image size and number of layers Twitter URL

構築が面倒な WordPress プラグイン開発のための
PHPUnit 実行環境が一瞬で構築できます。

GitHub Actions Deploy WordPress plugin

Test Docker Cloud Automated build Docker Cloud Build Status image size and number of layers Twitter URL

GitHub リポジトリーでホストしている
WordPress プラグインを
WordPress.ORG の SubVersion にデプロイするための
GitHub Actions です。

この GitHub Actions を使うと、
Git から SubVersion への変換や
WordPress プラグインの複雑なバージョニング設定などを
意識する必要がなくなります

内部は Ansible で動作しており、
pytest で安全性を担保しています。

StaticPress2019 (forked)

Test Build Status WordPress Plugin Version WordPress Plugin: Tested WP Version PHP from Travis config WordPress Plugin: Required WP Version WordPress Plugin Active Installs WordPress Plugin Downloads Twitter URL

WordPress 5.3 以降で動作しなくなった
StaticPress を復旧させ、
バグを修正し、リファクタリングを行い
StaticPress2019 として公開しています。

Docker

Docker Dump MySQL

docker build automated? docker build passing? image size and number of layers

MySQL から
システムデータベース以外のデータベースだけを
dump するための Docker イメージです。

MySQL のバージョンアップ時のデータ移行では
システムデータベース以外のデータベースだけを dump して
新しい MySQL にインポートする必要があります。

Docker SSL Certificate

docker build automated? docker build passing? image size and number of layers

自己証明書を作成するための Docker イメージです。
Web サービスの開発環境で
SSL 設定を行いたい場合に便利です。

Service

サービスはお客様の課題から始まります
システム開発の課題についてお気軽にご相談ください
次は提供可能なサービスの一例です:

システム設計・開発・導入のサポート

私たちがプロジェクトに参加することで、
開発を通じてプロジェクトメンバーに
次のような影響が期待できます:

  • 各プログラミング言語のベストプラクティスに基づいた
    コーディング方法の習得
  • 開発初期段階からソフトウェアの価値を提供する
    開発方式の実現
    • システム全体の完成を待ちません
    • 一部完成した業務自動化・効率化の機能から
      順次リリース
Expand Detail

ソフトウェア設計・開発

予算や期間の確保を最小限にするため、
ソフトウェア自体も最小限で開発を行い、
必要に応じて拡張を行います。

開発規模を最小限にすることで
次のようなメリットがあります:

  • 見積の正確性が上がります
  • ソフトウェアの価値を早期に享受することができます
Expand Detail

既存システム保守開発・保守開発見積

既存システムの保守開発とその見積を承ります。
見積を行うと直近 1 ~ 3 ヶ月程度の開発計画の予定を
見通しやすくなります。

Expand Detail

コンサルティング・教育

システム開発の生産性を向上させるためのトレーニングを提供します。

このトレーニングはエンジニア以外にも提供可能なものもあります。 例えば、Git や Docker のトレーニングを デザイン業務担当者や QA 担当者に実施することによって 次のような効果が期待できます:

  • 成果物の履歴と経緯の記録
  • エンジニアとの共同作業の効率化
  • マイクロチーム方式への組織構造変更
Expand Detail