2023/12/27

Power CMS X 記事を公開日でソートする

Power CMS X 公開日でソートする

 
  • exclude_idsは除外したいID
  • sort_byはソート条件
  • sort_orderは降順、昇順
 
  <mt:entries exclude_ids="1,2,3" sort_by="published_on" sort_order="descend">
    <mt:entrytitle />
  </mt:entries>
  

2023/12/25

Power CMS XのAPIでトークンをどこにつけるのさ! (X-PCMSX-Authorization)

X-PCMSX-Authorization これをheaderに入れて値はAPI Tokenを入れればOKだった。 

ドキュメント見てもほとんど記載がなくて探すのに苦労した・・・

「認証付きリクエスト」って記載はあるけど、ドキュメント載ってないよね?

下記がインサートサンプル
----
curl --location 'http://hogehoge.co.jp/api/v1/1/entry/insert' \
--header 'X-PCMSX-Authorization: tokentokentokentokentokentokentoken' \
--header 'Content-Type: application/json' \
--data '{
    "title": "Welcome!",
    "text": "本文本文本文本文本文本文本文本文",
    "text_format": "richtext",
    "assets": [
        {
            "id": 26
        }
    ],
    "excerpt": "Our StoryLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
    "categories": [
        {
            "id": 1
        }
    ],
    "tags": [
        {
            "id": 6
        }
    ],
    "basename": "powercmsx",
    "status": 4,
    "has_deadline": 0,
    "published_on": "2021-09-01 12:47:46",
    "allow_comment": 0
}'
----

#Power CMS X
#API
#Token
#Key
#Authorization

2023/12/21

SonomaにアップデートするとXcode 14以前が起動できなかった・・・

絶望しました・・・。

でも、回避する方法がありまして、

.appの中にある、実行ファイルをターミナルから起動するだけで良いのです。

2023/12/20

Macで隠しファイルや隠しフォルダーを表示する

terminal

有効にしたい時

% defaults write com.apple.finder AppleShowAllFiles TRUE
% killall Finder

無効にしたい時

% defaults write com.apple.finder AppleShowAllFiles FALSE
% killall Finder

2023/11/21

githubは日本語化できるのか?

ヘルプページは日本語化しているのは見かけるが、

自分のプロフィール画面や設定画面は日本語化されてない。 

設定画面を眺めたが、

言語設定が無いのが正しいかと思う。 

巨大なサービスは、多言語化するのも良いが 

翻訳する手間を考えたらサービスに注力し維持をしていってほしい。

本当にわからない場合は、

一時的にChrome等に実装している翻訳機能を利用すればよいかな。

(これくらいの英語は覚えろみたいなのはなしで)



2023/11/14

【claude】ChatGPTって何?話題の大規模言語モデルを解説

ChatGPTって何?話題の大規模言語モデルを解説

ChatGPTはOpenAIが開発した大規模言語モデルで、自然な会話ができるAIとして最近注目を集めています。

ChatGPTの概要

ChatGPTはGPT(Generative Pre-trained Transformer)アーキテクチャに基づいており、パラメータ数は175 billionもある巨大モデルです。インターネット上の膨大なテキストデータでトレーニングされています。

ChatGPTの特徴

特徴説明
会話能力が高い自然な会話ができる
人間らしい回答人のような回答を生成できる
わかりやすい回答質問内容に合わせた平易な回答

活用事例

ChatGPTは自然言語処理、コンテンツ作成支援、カスタマーサポートなどに活用できます。

注意点

事実誤認や偏見を含む可能性があるため、回答の内容を確認する必要があります。

ChatGPTは会話能力の高さから今後の発展が期待されるモデルです。

【ChatGPT】ChatGPTについてのブログ記事

ChatGPTについてのブログ記事
自然言語処理の分野において、ChatGPTはその卓越した性能と柔軟性により注目を集めているモデルの一つです。本記事では、ChatGPTの特徴、利用事例、そして未来展望に焦点を当てていきます。

ChatGPTの特徴
ChatGPTは、GPT(Generative Pre-trained Transformer)アーキテクチャを採用しており、その特徴的な点は以下の通りです。

大規模なデータセット
ChatGPTは、数多くの会話データや文章を使用してトレーニングされています。これにより、豊富な言語データに基づいて高度な理解と生成が可能です。

対話型の学習
ユーザーとの対話を通じて学習することで、ChatGPTはより自然な応答を生成することができます。これにより、対話型アプリケーションやチャットボットの開発において優れたパフォーマンスを発揮します。

使用例
ChatGPTは多岐にわたる分野で活用されています。以下はその一部の使用例です。

会話型のチャットボット開発: ChatGPTを利用して、ユーザーとの自然な対話を可能にするチャットボットを構築できます。

テキスト生成タスクにおける文章作成: 記事、小説、広告コピーなど、様々なテキスト生成タスクにChatGPTを応用することができます。

質問応答システムの構築: ChatGPTをベースにした質問応答システムは、情報検索やカスタマーサポートなどで有用です。

これらの使用例からも分かるように、ChatGPTは多岐にわたるタスクにおいて革新的なソリューションを提供しています。

未来展望
ChatGPTは今後も進化し続けることが期待されています。更なる大規模なデータセットの利用や、モデルのアーキテクチャの改良により、より高度な自然言語理解と生成が可能になるでしょう。また、エチカルな側面やバイアスの問題への対処も進められ、より信頼性の高い応答が期待されます。

ChatGPTの未来は明るく、その応用範囲はますます広がることでしょう。

【Bard】ChatGPTとは?

ChatGPTとは? ChatGPTは、OpenAIが開発した大規模な言語モデルです。テキストやコードの膨大なデータセットで学習されており、テキストの生成、言語の翻訳、さまざまな種類のクリエイティブ コンテンツの作成、有益な方法で質問に答えることができます。
機能 メリット
テキストの生成 文章、コード、脚本、音楽、メール、手紙など、さまざまな種類のテキストを生成できる
言語の翻訳 日本語、英語、フランス語、ドイツ語など、さまざまな言語を翻訳できる
クリエイティブ コンテンツの作成 詩、コード、スクリプト、音楽作品、電子メール、手紙など、さまざまな種類のクリエイティブ コンテンツを作成できる
質問への回答 有益な方法で質問に答えることができる
ChatGPTの活用事例 ChatGPTは、さまざまな分野で活用されています。 ブログやWebサイトのコンテンツ作成 マーケティングや広告の企画 翻訳や通訳 創作活動
分野 活用例
ブログやWebサイトのコンテンツ作成 ブログ記事やWebサイトのコンテンツを自動生成する
マーケティングや広告の企画 ターゲット層に訴求するクリエイティブなコンテンツを作成
翻訳や通訳 外国語のコンテンツを翻訳したり、通訳したりする
創作活動 詩、小説、音楽、絵画など、さまざまな創作活動に活用
ChatGPTの使い方 ChatGPTを使うには、OpenAIのサイトにアクセスし、アカウントを作成する必要があります。アカウントを作成したら、ChatGPTのWeb インターフェイスまたはAPIを使用して、テキストの生成、言語の翻訳、さまざまな種類のクリエイティブ コンテンツの作成、有益な方法で質問に答えることができます。
方法 詳細
Web インターフェイス OpenAIのサイトにアクセスし、Web インターフェイスでChatGPTを操作する
API ChatGPTのAPIを使用して、自分のアプリケーションやWeb サービスに組み込む
まとめ ChatGPTは、テキストの生成、言語の翻訳、さまざまな種類のクリエイティブ コンテンツの作成、有益な方法で質問に答えることができる、大規模な言語モデルです。まだ開発中のため、誤った情報を生成する可能性があることに注意が必要ですが、さまざまな分野で活用されています。

このブログ記事では、ChatGPTについて、その概要、メリット、デメリット、活用事例、使い方などを説明しました。ChatGPTは、さまざまな分野で活用できる可能性を秘めた、強力なツールです。今後の更なる発展に期待したいと思います。

2023/11/06

【PHP】いまさらComposer

PHPライブラリを管理するツール


iOSで例えるなら。cocoapods やCarthageみたいなやつ。


Ruby で例えるなら、bundlerみたいなやつ。

ChatGPTで学習させたい

OpenAI APIのFine-tuningがあるので、ベースモデルを選択してトレーニングする。

学習内容は、
質問+回答結果を覚えさせる。言い回しなどを変えて複数パターン学習すれば、精度があがっていくとの事

2023/10/12

2023/10/05

webサイトでjsonをformatしたいのだけど。

現代のシステム開発において、システム間の通信を支えるJSONは必要不可欠な存在となりました。REST APIのレスポンスや設定ファイル、ログデータなど、エンジニアがこのデータ形式に触れない日はありません。しかし、機械が読みやすいように最適化された一行のデータは、人間がその構造を直感的に把握することを困難にします。

多くのエンジニアは、この読みづらいデータを整えるために検索エンジンで見つけたオンラインツールを利用しがちです。しかし、そこには見過ごせないリスクが潜んでいます。入力したデータが外部サーバーに送信されてログに残る懸念や、通信経路での傍受、あるいは運営者によるデータの二次利用を完全に否定することはできません。顧客の個人情報や認証トークン、秘匿性の高いビジネスロジックを含むデータを外部に預ける行為は、重大なセキュリティリスクに直結します。また、会社が許可していないツールを使い続けることは、企業のコンプライアンスを揺るがす問題にもなり得ます。

こうした背景から、外部への通信を一切発生させない仕組みが求められます。ブラウザ上で動作するJavaScriptは、利用者のPC内だけで処理を完結させることが可能です。テキストボックスに入力されたデータを整形し、インデントを挿入して出力する工程において、サーバーへ送信する必要は本来ありません。

今回公開したツールの核心は、ブラウザ標準の機能を活用したシンプルな実装にあります。外部ライブラリに頼らず、誰もがコードの内容を検証できる透明性を確保しました。バックエンドへの送信処理が含まれていないことを容易に確認できるため、安全性が担保されます。

ツールとしての利便性も追求し、機能を絞り込むことで迷いのない操作感を実現しました。貼り付けた瞬間の整形はもちろん、構文エラーの即座な検知、そして無駄を削ぎ落としたことによる軽快な動作が特徴です。顧客情報が含まれる本番ログの調査や、複雑な構造を持つAPIのデバッグ、仕様書に載せるためのサンプル作成など、ビジネスの現場で直面する多様なシーンで活用できます。

便利なツールが溢れる現代だからこそ、エンジニアには道具の仕組みを把握する責任があります。利便性だけを優先して中身のわからないブラックボックスを使うのではなく、仕組みが明快で検証可能な手段を選ぶ姿勢が、堅牢なシステム運用を支える一歩となります。日々の業務を安全に進めるための標準的な道具として、この整形ツールを役立ててください。

セキュリティと実用性を両立したJSON整形ツール

https://www.kixking.xyz/p/json-format.html

2023/10/04

Google、「Android 14」を10月4日に正式リリース?

2023/10/04 23:00(日本時間)に発表会があるので、そこで正式に発表するらしい。

2023/09/19

【Bard】Golangは将来性はあるか?

 Golangは、Googleが開発したオープンソースのプログラミング言語です。2009年にリリースされて以来、急速に人気が高まり、現在では世界中で多くの企業で採用されています。


Golangの将来性が期待される理由は、以下の3つが挙げられます。


パフォーマンスが優れている

Golangは、並列処理やメモリ管理に優れているため、高速かつ安定したアプリケーションを開発することができます。


学習コストが低い

Golangは、シンプルな文法と構文を採用しているため、他のプログラミング言語を習得している人であれば、比較的簡単に学習することができます。


幅広い用途に対応している

Golangは、Webアプリケーションやサーバーサイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーションなど、さまざまな用途に使用することができます。


特に、今後ますます需要が高まると予想される、クラウドコンピューティングやIoTなどの分野で、Golangの需要は高まっていくと考えられます。


もちろん、Golangにも欠点はあります。例えば、オブジェクト指向の概念が弱い、例外処理がないなどの点が挙げられます。しかし、これらの欠点は、Golangのメリットを大きく上回るとは考えにくいでしょう。


以上のことから、Golangは今後も多くの企業で採用され、エンジニアの需要が高まっていくと予想されます。


具体的には、以下の分野でGolangの需要が高まっていくと考えられます。


クラウドコンピューティング

クラウドコンピューティングは、今後ますます普及していくと予想される分野です。Golangは、クラウドコンピューティングの基盤となるサーバーの開発に適した言語です。


IoT

IoTは、さまざまなデバイスをネットワークで接続する技術です。Golangは、IoTデバイスの開発に適した言語です。


機械学習

機械学習は、人工知能の分野で重要な技術です。Golangは、機械学習のフレームワークと組み合わせて使用することで、効率的に機械学習モデルを開発することができます。


このように、Golangはさまざまな分野で活躍できる言語であり、将来性も十分にあると言えます。

2023/09/15

【Bird】エラーコード「2153-0321」が表示された場合の対処方法

エラーコード「2153-0321」は、

Nintendo Switch本体の故障が疑われるエラーコードです。

具体的には、オーディオチップの不具合が原因と考えられています。 

このエラーコードが表示された場合は、以下の対処方法を試してみてください。 

電源を切って、ACアダプターやケーブルを再接続する。

本体を再起動する。 データを初期化する。 

それでも改善しない場合は、Nintendoサポートに問い合わせて、

本体の修理を依頼してください。 

なお、データの初期化を行うと、本体に保存されているデータがすべて消去されますので、

事前にバックアップを取っておくことをおすすめします。 

以下に、エラーコード「2153-0321」が表示された場合の対処方法をまとめます。 

  • 電源を切って、ACアダプターやケーブルを再接続する。 
  • 本体を再起動する。
  • データを初期化する。 
  • Nintendoサポートに問い合わせて、本体の修理を依頼する。

なお、データの初期化を行う場合は、
事前にバックアップを取っておくことをおすすめします。

※AIによって生成した文章となります。

2023/09/14

Apple iPhone 15発表会

 Apple iPhone 15発表会

今回は4種類

  • iPhone 15 Pro Max
  • iPhone 15 Pro
  • iPhone 15 Plus
  • iPhone 15
最近思うのだけど、おお! すごい!

みたいなのがなくなってる気がします。

確かに性能は上がっていますが、既定路線過ぎて驚く要素があまりない。

最初の頃は、夜中リアルタイムで発表会を観ていたけど、

ここ何年かは、普通に朝まとめサイトみてるだけになっている。

自分の情熱が減っただけなのかな。

皆さんはどうでしょうか?

2023/09/05

【SwiftUI】@Stateとか@Bindingとかなんなのさ。

SwiftUIは、iOSおよびmacOSアプリケーションを構築するためのモダンなユーザーインターフェースフレームワークです。
SwiftUIでは、アプリケーションの状態管理やデータバインディングなどの機能を提供するために、いくつかのプロパティラッパーが用意されています。
`@State`と`@Binding`はそのうちの2つの重要なプロパティラッパーです。
1. `@State`:
`@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)")
       }
   }
メインビューから`DetailView`に`@Binding`で渡された`count`プロパティは、`DetailView`内で表示および変更できます。変更はメインビューにも反映されます。
これらのプロパティラッパーは、SwiftUIアプリケーション内でデータの管理と共有を効果的に行うために使用されます。
`@State`はローカルな状態の管理に適しており、`@Binding`は異なるビュー間でデータを双方向に共有するのに適しています。

2023/08/31

Sample of reading XML file with python

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}")


2023/07/25

Sample of reading CSV file with python

CSVサンプル
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)

python で authorization header bearer token 方式のサンプル

import requests

def main():
    # 送信先のURL
    url = "https://example.com/api/endpoint"

    # Bearerトークン
    bearer_token = "your_bearer_token_here"

    # 送信するJSONデータ
    data = {
        "key1": "value1",
        "key2": "value2"
    }

    # POSTリクエストを送信
    response = requests.post(url, json=data, headers={"Authorization": "Bearer " + bearer_token})

    # レスポンスの内容を表示
    if response.status_code == 200:
        print("Success!")
        print("Response:", response.json())
    else:
        print("Error:", response.status_code, response.text)

if __name__ == "__main__":
    main()