Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ alias:
tags/モバイルアプリ: categories/Mobile/ # Mobileカテゴリの新設対応
tags/フロントエンド: categories/Frontend/ # Frontendカテゴリの新設対応
tags/VR: categories/VR/ # VRカテゴリと重複排除
tags/データエンジニアリング: categories/DataEngineering/ # DataEngineeringカテゴリの新設対応

# カテゴリの変更
categories/Design: tags/UI-UX/

Expand Down
129 changes: 129 additions & 0 deletions categorize_data_engineering.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
import os

# --- 設定 ---
POSTS_DIRECTORY = 'source/_posts'
# このタグが含まれていたら対象となる
TARGET_TAG = 'データエンジニアリング'
# 上書きする新しいカテゴリ
NEW_CATEGORY = 'DataEngineering'
# --- 設定ここまで ---

def replace_category_for_tag(file_path):
"""
ファイルのfront matterをチェックし、ターゲットタグが含まれていれば
カテゴリを指定したものに置換し、元のタグを削除する。
他の行のフォーマットは保持する。
"""
try:
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines()

# --- ステップ1: まず対象ファイルか判定する ---
in_front_matter = False
in_tags_list = False
has_target_tag = False
for line in lines:
if line.strip() == '---':
if in_front_matter: break
else:
in_front_matter = True
continue
if in_front_matter:
stripped_line = line.strip()
if not line.startswith((' ', '\t')):
in_tags_list = stripped_line.startswith(('tag:', 'tags:'))
if in_tags_list and stripped_line.startswith('-'):
tag_value = stripped_line[1:].strip().strip('\'"')
if tag_value == TARGET_TAG:
has_target_tag = True
break

if not has_target_tag:
return False, "対象外"

# --- ステップ2: 対象ファイルだった場合、内容を書き換える ---
new_lines = []
in_front_matter = False
in_tags_list = False
in_category_list = False
was_modified = False

for line in lines:
if line.strip() == '---':
if in_front_matter:
in_front_matter = False
in_tags_list = False
in_category_list = False
else:
in_front_matter = True
new_lines.append(line)
continue

if in_front_matter:
stripped_line = line.strip()

if not line.startswith((' ', '\t')):
if stripped_line.startswith(('tag:', 'tags:')):
in_tags_list = True
in_category_list = False
elif stripped_line.startswith(('category:', 'categories:')):
new_lines.append(f'category:\n - {NEW_CATEGORY}\n')
in_category_list = True
in_tags_list = False
was_modified = True
continue
else:
in_tags_list = False
in_category_list = False
new_lines.append(line)
continue

if in_category_list and stripped_line.startswith('-'):
was_modified = True
continue

if in_tags_list and stripped_line.startswith('-'):
tag_value = stripped_line[1:].strip().strip('\'"')
if tag_value == TARGET_TAG:
was_modified = True
continue

new_lines.append(line)
else:
new_lines.append(line)

if was_modified:
with open(file_path, 'w', encoding='utf-8') as f:
f.writelines(new_lines)
return True, "カテゴリとタグを変換しました"
else:
return False, "対象タグが見つかりませんでした"

except Exception as e:
return False, f"エラー: {e}"

def main():
"""メイン処理"""
if not os.path.isdir(POSTS_DIRECTORY):
print(f"エラー: '{POSTS_DIRECTORY}' が見つかりません。")
return

print(f"「{TARGET_TAG}」タグを持つ記事のカテゴリを「{NEW_CATEGORY}」に置換します...")
updated_files_count = 0

for root, _, files in os.walk(POSTS_DIRECTORY):
for file in files:
if file.endswith('.md'):
file_path = os.path.join(root, file)
was_updated, message = replace_category_for_tag(file_path)
if was_updated:
updated_files_count += 1
print(f"✅ {message}: {file_path}")

if updated_files_count > 0:
print(f"\n完了しました。合計 {updated_files_count} 個のファイルを修正しました。")
else:
print(f"\n完了しました。修正対象のファイルは見つかりませんでした。")

if __name__ == '__main__':
main()
6 changes: 3 additions & 3 deletions categorize_mobile_posts.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
POSTS_DIRECTORY = 'source/_posts'
# 上記リストから、実際に移行したいタグをここに列挙します
TARGET_TAGS = [
'Airflow'
]
'Glue'
]
# 上書きする新しいカテゴリ
NEW_CATEGORY = 'Infrastructure'
NEW_CATEGORY = 'DataEngineering'
# --- 設定ここまで ---

def replace_category_for_mobile_tags(file_path):
Expand Down
3 changes: 1 addition & 2 deletions source/_posts/2018/20180828-gluw.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ tag:
- AWS
- データレイク
- Glue
- データエンジニアリング
- ETL
category:
- Infrastructure
- DataEngineering
author: 澤田周吾
lede: "業務で用いたAWS Glueの概要・開発Tips・ハマったところについて共有します"
---
Expand Down
2 changes: 1 addition & 1 deletion source/_posts/2018/20181205-glue-performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tag:
- Glue
- 性能検証
category:
- Infrastructure
- DataEngineering
author: 千葉駿
lede: "大量データをさばくために、Glueの性能についてあれやこれややった検証結果の一部を公開します"
---
Expand Down
2 changes: 1 addition & 1 deletion source/_posts/2019/20190702-aws-handson.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tag:
- データレイク
- ハンズオン
category:
- Infrastructure
- DataEngineering
author: 柳澤隆太郎
lede: "あるプロジェクトでデータ分析基盤を開発することになり、データレイクを中心としたソリューションについて学ぶためにAWS Datalake Hands-onに参加してきました"
---
Expand Down
1 change: 1 addition & 0 deletions source/_posts/2019/20190708-gcp-iam.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ tag:
- GoogleCloud
- IAM
- 失敗談
- トラブルシュート
category:
- Infrastructure
author: 村田靖拓
Expand Down
2 changes: 1 addition & 1 deletion source/_posts/2019/20191101-aws.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tag:
- AWS
- Glue
category:
- Infrastructure
- DataEngineering
author: 村瀬善則
lede: "AWS Glue利用していますか?ETL処理をする上で大変便利ですよね。しかしながら開発に必要不可欠な開発エンドポイントが少々お高く、もう少し安価に利用できればなーと思っていたところ、さすがAWSさん素敵なリリースをしてくれました。"
---
Expand Down
2 changes: 1 addition & 1 deletion source/_posts/2019/20191206-glue.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ tag:
- 環境構築
- テスト
category:
- DevOps
- DataEngineering
author: 多賀聡一朗
lede: "当記事では、AWS Glue をローカル環境で単体テストするための環境構築方法についてまとめました。"
---
Expand Down
3 changes: 2 additions & 1 deletion source/_posts/2020/20200207-gcp-cloudrun.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ tag:
- サーバーレス
- CloudRun
- go-chi
- 管理画面
category:
- Programming
- Frontend
author: 澁川喜規
lede: "Go + Vue + Cloud Runでかんたんな管理画面を作ろうと思います。ストレージ側にもサーバーレスがあります。MySQLやPostgreSQLのクラウドサービス(Cloud SQLとかRDS)は、サーバーマシンを可動させて、その上にDBMSが稼働しますので、起動している時間だけお金がかかってしまします。一方、FirestoreやDynamoDBの場合は容量と通信(と、キャパシティユニット)にしかお金がかからないモデルになっており、サーバーレスです。今回はかんたん化のためにストレージは扱いません。"
---
Expand Down
4 changes: 2 additions & 2 deletions source/_posts/2020/20200618-春祭り14-ssl.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "暗号通信入門 "
title: "暗号通信入門"
date: 2020/06/18 09:33:37
postid: ""
tag:
Expand All @@ -8,7 +8,7 @@ tag:
- 初心者向け
- Network
category:
- Infrastructure
- Security
thumbnail: /images/2020/20200618/thumbnail.png
author: 竹中陽平
lede: "新型コロナ肺炎の感染拡大に伴い、多くの方がインターネット通販をいつも以上に利用したのでは無いでしょうか?その際、クレジットカード番号など漏洩したら困る個人情報が多く含まれますので、どのような通信が行われているか分からないと気が気ではありませんね。もちろんやり取りには暗号通信が利用されています。私自身、「仕組みは知っているけど検証はしたことがなかったな」と思い、HTTP通信とHTTPS通信の通信内容を確認しつつ、暗号通信入門記事としていきます。本記事では、入門記事として簡単な解説と検証内容を記載し、詳細な仕組みなど後記する参考文献などで調べて頂くことを想定しています。"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ tag:
- React
- TypeScript
- Firebase
- フロントエンド
- 入門
- 管理画面
category:
- Frontend
thumbnail: /images/2020/20200819/thumbnail.png
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tag:
- ライセンス
- AGPL
category:
- Infrastructure
- Culture
thumbnail: /images/2020/20200821/thumbnail.jpg
author: 武田大輝
lede: "システム開発にてオープンソースのライブラリやフレームワークを利用することは、もはや当たり前となっています。みなさんはOSSのライセンスについてどの程度理解していますでしょうか。OSSだから無条件に利用可能だと思っていませんか?"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ postid: ""
tag:
- 設計
- UI/UX
- フロントエンド
- GlyphFeeds
- Tips
ategory:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ tag:
- 登壇レポート
- TechNight
category:
- Programming
- DataEngineering
thumbnail: /images/2020/20201228/thumbnail.png
author: 多賀聡一朗
lede: "こんにちは、TIGの山田、町田、多賀です。先日2020/11/25にオンラインにてFuture Tech Nightという社外勉強会を開催しました。今回は第5弾としてAWS&DataPlatform を活用した、MaaSビジネスの最新事例を紹介しました"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ postid: ""
tag:
- Azure
- Java
- Event Hubs
category:
- Programming
- Infrastructure
thumbnail: /images/2021/20210129/thumbnail.png
author: 多賀聡一朗
lede: "Azure が提供されている Event Hubs の Consumer 処理実装の EventProcessorClient について調査する機会があったため、整理した内容を公開いたします。EventHubs_logo.png> Azure アーキテクチャ アイコン"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ tag:
- 入門
- トラブルシュート
category:
- Infrastructure
- Culture
thumbnail: /images/2021/20210202/thumbnail.png
author: 大関寛博
lede: "冬の寒い夜、シャワーからお湯が出なくなったり、雪の降った朝、車のエンジンが掛からなかったり、列車を待っていたら運転見合わせとなり、いつ帰れるのかわからなくなったり、普段の生活の中でも障害は突然発生します。システムも同じで.."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tag:
- Java
- 入門
category:
- Infrastructure
- Programming
thumbnail: /images/2021/20210217/thumbnail.jpg
author: 山田優輝
lede: "こんにちは!英語大好き優輝です。今回はカナダの大学でコンピュータ・サイエンスを学んだ経験から、英語でIT会話をする基礎を書こうと思います。プログラミングやIT表現を練習をしましょう!"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ tag:
- BigQuery
- データマネジメント
category:
- Infrastructure
- DataEngineering
thumbnail: /images/2021/20210224/thumbnail.png
author: 中神孝士
lede: "GCPで構築するサーバーレスデータレイクの連載第1弾の記事となります。GCPでデータレイクを構築する場合のポイントについて連載形式でご紹介していければと思います。"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ tag:
- スケジュール
- 勉強会
category:
- Infrastructure
- Culture
thumbnail: /images/2021/20210314/thumbnail.png
author: 真野隼記
lede: "この記事ではフューチャーのIT技術系の勉強会についてご紹介します。2021年にFuture Tech Nightという勉強会を15回開催する予定で..."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ tag:
- DockerCompose
- エミュレータ
category:
- Infrastructure
- DB
thumbnail: /images/2021/20210323/thumbnail.png
author: 齋場俊太朗
lede: "Cloud Spannerのローカル開発環境をdocker-composeでサクッと立ち上げる手順を紹介します。Cloud Spannerを用いた開発を行う方、また興味あるから少し触ってみたいという方にもおすすめです。簡単にCloud Spanner について紹介させていただきます。"
Expand Down
1 change: 1 addition & 0 deletions source/_posts/2021/20210330_CSVと親しくなるAWK術.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ postid: ""
tag:
- ShellScript
- AWK
- CSV
category:
- Infrastructure
thumbnail: /images/2021/20210330/thumbnail.jpg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tag:
- ShellScript
- zenity
category:
- Infrastructure
- Frontend
thumbnail: /images/2021/20210402/thumbnail.png
author: 澁川喜規
lede: "僕が大学に入ったときに買ったパソコンは、Celeron 300AMHzというやつで、300MHzのパッケージ違いの2モデル目みたいな今見ると変なモデル名のやつでした。ちょっといじると450MHzで動くいいやつでした。BeOS 4.0が付属しているショップブランドの自作PCでした。BeOSはPOSIX対応のOSではあるものの、カーネルからGUIから大部分がオリジナルで楽しいOSでした。いくつか独自コマンドがインストールされていて、その中にダイアログを出すコマンドがありました。"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tag:
- AWS
- SQL
category:
- DB
- DataEngineering
thumbnail: /images/2021/20210403/thumbnail.png
author: 棚井龍之介
lede: "DynamoDBを頻繁に利用しており、連日DynamoDBコンソール画面と睨めっこをしています。DynamoDBのコンソール画面は特定のデータをピンポイントで探すには優秀ですが、データ集計には全く向いていません。"
Expand Down
2 changes: 1 addition & 1 deletion source/_posts/2021/20210510b_Dart入門.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tag:
- Dart
- 入門
category:
- Programming
- Mobile
thumbnail: /images/2021/20210510b/thumbnail.png
author: 伊藤真彦
lede: "この記事はDart/Flutter連載の1記事目です。TIGの伊藤真彦です。Dart/Flutter入門に参加します、DartといえばFlutterの話が必ずついてくるものですが、今回は連載1記事目として、敢えてプログラミング言語としてのDartに焦点を絞った記事にします。"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ tag:
- ケンオール
- SPA
- flutter_web
- 管理画面
category:
- Mobile
- Frontend
thumbnail: /images/2021/20210512a/thumbnail.png
author: 澁川喜規
lede: "Flutter連載の3本目はFlutter Webを紹介します。Flutter 2になって、Web向けに出力する機能もStableになりました。Flutter for Webは標準のHTMLにするHTMLレンダラーと、CanvasKitレンダラーと2種類あります。後者はSkiaという2DグラフィックスのライブラリをWebAssembly化したものを使います。Skiaは..."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ tag:
- JupyterNotebook
- 環境構築
category:
- Infrastructure
- DataEngineering
thumbnail: /images/2021/20210521a/thumbnail.gif
author: 山田勇一
lede: "Glueの環境構築は以前の記事([AWS Glueの単体テスト環境の構築手順、AWS Glueの開発エンドポイントがそこそこお高いのでローカル開発環境を用意しました)にあるのですが、公式のDocker imageが案内されているので改めて、構築してみます。なお、Glueの公式イメージでもJupyter Notebookは利用できるのですが、使い勝手を考慮し、Jupyterlabに差し替えています。"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tag:
- データガバナンス
- データマネジメント
category:
- Management
- DataEngineering
thumbnail: /images/2021/20210902a/thumbnail.png
author: 西田好孝
lede: "フューチャー夏休みの自由研究連載2021の9回目です。業務で `GCP` のインフラの設計/構築/運用を担当しております。私が感じている『GCP の特徴』というと、Gartner の Magic Quadrant などでも毎回紹介されているデータ分析領域だと思っています。今回はGoogle社が買収したLookerという技術の簡単な紹介とそして、それを使うとなった場合、何が必要になるか?という事を考察してみようと思います。"
Expand Down
Loading
Loading