技術的な知見や日々の記録、日常の些細な変化などを綴る雑記ブログです。専門的な技術解説から日記のようなライトな話題まで、特定のジャンルに縛られず、気になったことや面白いと感じた出来事を幅広く発信しています。筆者の視点で切り取った多様なコンテンツが楽しめる、自由な雑記空間を目指しています。
ChatGPTで学習させたい
webサイトでjsonをformatしたいのだけど。
現代のシステム開発において、システム間の通信を支えるJSONは必要不可欠な存在となりました。REST APIのレスポンスや設定ファイル、ログデータなど、エンジニアがこのデータ形式に触れない日はありません。しかし、機械が読みやすいように最適化された一行のデータは、人間がその構造を直感的に把握することを困難にします。
多くのエンジニアは、この読みづらいデータを整えるために検索エンジンで見つけたオンラインツールを利用しがちです。しかし、そこには見過ごせないリスクが潜んでいます。入力したデータが外部サーバーに送信されてログに残る懸念や、通信経路での傍受、あるいは運営者によるデータの二次利用を完全に否定することはできません。顧客の個人情報や認証トークン、秘匿性の高いビジネスロジックを含むデータを外部に預ける行為は、重大なセキュリティリスクに直結します。また、会社が許可していないツールを使い続けることは、企業のコンプライアンスを揺るがす問題にもなり得ます。
こうした背景から、外部への通信を一切発生させない仕組みが求められます。ブラウザ上で動作するJavaScriptは、利用者のPC内だけで処理を完結させることが可能です。テキストボックスに入力されたデータを整形し、インデントを挿入して出力する工程において、サーバーへ送信する必要は本来ありません。
今回公開したツールの核心は、ブラウザ標準の機能を活用したシンプルな実装にあります。外部ライブラリに頼らず、誰もがコードの内容を検証できる透明性を確保しました。バックエンドへの送信処理が含まれていないことを容易に確認できるため、安全性が担保されます。
ツールとしての利便性も追求し、機能を絞り込むことで迷いのない操作感を実現しました。貼り付けた瞬間の整形はもちろん、構文エラーの即座な検知、そして無駄を削ぎ落としたことによる軽快な動作が特徴です。顧客情報が含まれる本番ログの調査や、複雑な構造を持つAPIのデバッグ、仕様書に載せるためのサンプル作成など、ビジネスの現場で直面する多様なシーンで活用できます。
便利なツールが溢れる現代だからこそ、エンジニアには道具の仕組みを把握する責任があります。利便性だけを優先して中身のわからないブラックボックスを使うのではなく、仕組みが明快で検証可能な手段を選ぶ姿勢が、堅牢なシステム運用を支える一歩となります。日々の業務を安全に進めるための標準的な道具として、この整形ツールを役立ててください。
セキュリティと実用性を両立したJSON整形ツール
【Bard】Golangは将来性はあるか?
Golangは、Googleが開発したオープンソースのプログラミング言語です。2009年にリリースされて以来、急速に人気が高まり、現在では世界中で多くの企業で採用されています。
Golangの将来性が期待される理由は、以下の3つが挙げられます。
パフォーマンスが優れている
Golangは、並列処理やメモリ管理に優れているため、高速かつ安定したアプリケーションを開発することができます。
学習コストが低い
Golangは、シンプルな文法と構文を採用しているため、他のプログラミング言語を習得している人であれば、比較的簡単に学習することができます。
幅広い用途に対応している
Golangは、Webアプリケーションやサーバーサイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーションなど、さまざまな用途に使用することができます。
特に、今後ますます需要が高まると予想される、クラウドコンピューティングやIoTなどの分野で、Golangの需要は高まっていくと考えられます。
もちろん、Golangにも欠点はあります。例えば、オブジェクト指向の概念が弱い、例外処理がないなどの点が挙げられます。しかし、これらの欠点は、Golangのメリットを大きく上回るとは考えにくいでしょう。
以上のことから、Golangは今後も多くの企業で採用され、エンジニアの需要が高まっていくと予想されます。
具体的には、以下の分野でGolangの需要が高まっていくと考えられます。
クラウドコンピューティング
クラウドコンピューティングは、今後ますます普及していくと予想される分野です。Golangは、クラウドコンピューティングの基盤となるサーバーの開発に適した言語です。
IoT
IoTは、さまざまなデバイスをネットワークで接続する技術です。Golangは、IoTデバイスの開発に適した言語です。
機械学習
機械学習は、人工知能の分野で重要な技術です。Golangは、機械学習のフレームワークと組み合わせて使用することで、効率的に機械学習モデルを開発することができます。
このように、Golangはさまざまな分野で活躍できる言語であり、将来性も十分にあると言えます。
【Bird】エラーコード「2153-0321」が表示された場合の対処方法
- 電源を切って、ACアダプターやケーブルを再接続する。
- 本体を再起動する。
- データを初期化する。
- Nintendoサポートに問い合わせて、本体の修理を依頼する。
Apple iPhone 15発表会
Apple iPhone 15発表会
今回は4種類
- iPhone 15 Pro Max
- iPhone 15 Pro
- iPhone 15 Plus
- iPhone 15
みたいなのがなくなってる気がします。
確かに性能は上がっていますが、既定路線過ぎて驚く要素があまりない。
最初の頃は、夜中リアルタイムで発表会を観ていたけど、
ここ何年かは、普通に朝まとめサイトみてるだけになっている。
自分の情熱が減っただけなのかな。
皆さんはどうでしょうか?
【SwiftUI】@Stateとか@Bindingとかなんなのさ。
SwiftUIでは、アプリケーションの状態管理やデータバインディングなどの機能を提供するために、いくつかのプロパティラッパーが用意されています。
`@State`と`@Binding`はそのうちの2つの重要なプロパティラッパーです。
`@State`は、プロパティを変更可能な状態(State)として宣言するために使用します。
SwiftUIビュー内のプロパティを`@State`で宣言すると、そのプロパティの変更がビューに影響を与え、ビューが自動的に再描画されるようになります。
@State`は、ビュー内で単一の値の状態を管理するために使用されます。
struct ContentView: View {
@State private var count = 0
var body: some View {
Text("Count: \(count)")
Button("Increment") {
count += 1 // @Stateプロパティの変更
}
}
}
2. `@Binding`:`@Binding`は、プロパティを他のビューから参照し、変更できるようにするために使用されます。
`@Binding`を使用すると、値を保持するビューとその値を表示または変更する別のビュー間でデータを共有できます。
struct DetailView: View {
@Binding var count: Int
var body: some View {
Text("Count in Detail: \(count)")
}
}
これらのプロパティラッパーは、SwiftUIアプリケーション内でデータの管理と共有を効果的に行うために使用されます。
`@State`はローカルな状態の管理に適しており、`@Binding`は異なるビュー間でデータを双方向に共有するのに適しています。
Sample of reading XML file with python
import xml.etree.ElementTree as ET
# Load the XML file
tree = ET.parse('data.xml')
root = tree.getroot()
# Iterate through 'person' elements and extract data
for person in root.findall('person'):
name = person.find('name').text
age = person.find('age').text
print(f"Name: {name}, Age: {age}")
Sample of reading CSV file with python
Name,Age Alice,25 Bob,30 Charlie,22
import csv
def read_csv_file(file_path):
try:
with open(file_path, 'r', newline='') as csvfile:
csv_reader = csv.DictReader(csvfile)
# 各行のデータを利用
for row in csv_reader:
name = row['Name']
age = int(row['Age'])
print(f"{name} is {age} years old.")
except FileNotFoundError:
print("File not found.")
except Exception as e:
print("Error:", e)
if __name__ == "__main__":
csv_file_path = "example.csv" # CSVファイルのパスを指定してください
read_csv_file(csv_file_path)