スキップしてメイン コンテンツに移動

投稿

2024の投稿を表示しています

2024年のITトレンド

最新のITトレンド 2024年のIT業界では、以下のようなトレンドが注目されています。 1. ジェネレーティブAIとクラウドインフラ ジェネレーティブAIは引き続き急速に発展しており、多くの企業がその活用を進めています。クラウドプロバイダが主要なコンピューティングリソースを提供し続けており、新しい技術やリソースの導入により、モデルの最適化と小型化が進んでいます。これにより、より小規模な企業や個人でも高度なAI技術を活用しやすくなっています。 2. スペーシャルコンピューティング スペーシャルコンピューティング(空間コンピューティング)は、デジタルツインや仮想トレーニングシナリオなど、複雑な情報を動的かつ没入型で伝えるための新たな手段として注目されています。物理的な空間をデジタルで拡張することで、企業は柔軟な空間設計やトレーニングの効率化が期待されています。 3. 新しいウェアラブルデバイス スマートリングや神経技術を組み込んだヘッドフォンなどの新しいウェアラブルデバイスが登場し、従来のスマートウォッチやヘッドフォンの概念を拡張しています。これにより、健康管理やデバイス制御の新たな方法が提供されると期待されています。 4. パスワードレス認証 セキュリティの分野では、パスワードレス認証が広まりつつあります。これは、セキュリティの向上とユーザーエクスペリエンスの改善を目指した技術で、多くの企業がこの新しい認証方法を採用し始めています。 5. 新素材のチップレット 半導体業界では、チップレットと呼ばれる新素材の小型チップが注目を集めています。これにより、従来のチップの限界を超えた性能向上が期待されており、特に計算性能と効率の向上が見込まれています。

Pythonの基本(Part 7)

31. JSONデータの操作 JSON(JavaScript Object Notation)は、データのやり取りによく使用されるフォーマットです。Pythonでは、 json モジュールを使用してJSONデータを扱うことができます。 import json # JSON文字列をPythonオブジェクトに変換 json_data = '{"name": "John", "age": 30, "city": "New York"}' python_obj = json.loads(json_data) print(python_obj) # {'name': 'John', 'age': 30, 'city': 'New York'} # PythonオブジェクトをJSON文字列に変換 python_obj = {'name': 'Alice', 'age': 25, 'city': 'Tokyo'} json_data = json.dumps(python_obj) print(json_data) # {"name": "Alice", "age": 25, "city": "Tokyo"} 32. JSONファイルの読み書き Pythonを使用して、JSONファイルを読み書きすることもできます。これにより、構造化されたデータを永続的に保存し、他のプログラムと共有することができます。 # JSONファイルの読み込み with open('data.json', 'r') as file: data = json.load(file) print(data) # JSONファイルへの書き込み data = {'name': 'Bob', 'age': 35, 'c...

Pythonの基本(Part 6)

Pythonの基本(Part 6) 26. 文字列操作 Pythonでは、文字列の操作が非常に便利です。文字列を結合したり、分割したり、置換したりすることができます。 text = "Hello, world!" # 文字列の結合 new_text = text + " Have a nice day!" print(new_text) # "Hello, world! Have a nice day!"を出力します # 文字列の分割 words = text.split(", ") print(words) # ["Hello", "world!"]を出力します # 文字列の置換 new_text = text.replace("world", "Python") print(new_text) # "Hello, Python!"を出力します 27. 日付と時刻の操作 Pythonの datetime モジュールを使用すると、日付と時刻を操作することができます。 import datetime # 現在の日付と時刻を取得 now = datetime.datetime.now() print(now) # 日付のフォーマットを変更 formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") print(formatted_date) 28. ファイル操作の発展 Pythonの os モジュールや shutil モジュールを使用すると、ファイルやディレクトリを操作することができます。 import os # ファイルの存在を確認 if os.path.exists("example.txt"): print("ファイルが存在します。") # ファイルを移動 os.rename("example.txt", "new_example.txt") 29. 外部ライブラリの使用 ...

Pythonの基本(Part 5)

Pythonの基本(Part 5) 21. コーディング規約 PythonにはPEP8と呼ばれるコーディング規約があります。これは、コードの可読性を向上させるためのガイドラインです。 例えば、変数や関数の命名規則、インデントのスペース数、行の長さなどが含まれます。 22. 例外処理とエラーハンドリング Pythonでは、例外処理を使用してエラーを処理することができます。 try: # 何らかの処理 result = 10 / 0 except ZeroDivisionError: print("ゼロで割ることはできません!") else: print("エラーは発生しませんでした。") finally: print("処理が完了しました。") 23. モジュールのパッケージングと配布 Pythonのプロジェクトを他の人と共有するためには、パッケージングと配布が必要です。 たとえば、 setup.py ファイルを作成し、 setuptools ライブラリを使用してパッケージを定義し、 pip を使用して配布できます。 24. コマンドライン引数の処理 Pythonスクリプトは、コマンドライン引数を受け取ることができます。これにより、スクリプトの動作を柔軟にカスタマイズすることができます。 import sys args = sys.argv print(args) 25. Pythonのバージョン管理 Pythonのプロジェクトを開発する際には、適切なバージョンのPythonを使用することが重要です。 一般的には、 pyenv や conda などのツールを使用して、プロジェクトごとにPythonのバージョンを管理します。 これで、Pythonの基本(Part 5)についての解説が完了しました。Pythonの世界は広大で、さまざまな可能性があります。楽しんで学んでください!

Pythonの基本(Part 4)

Pythonの基本(Part 4) 16. モジュールの作成と利用 Pythonでは、自分自身でモジュールを作成して再利用することができます。 例えば、以下のような関数を持つ my_module.py というファイルを作成し、別のスクリプトでそのモジュールを利用できます。 # my_module.py def add(a, b): return a + b # 別のスクリプト import my_module print(my_module.add(3, 5)) # 8を出力します 17. テストとデバッグ Pythonでは、 unittest や pytest などのライブラリを使用してテストを作成することができます。また、 print() 文やデバッガを使用してデバッグを行うこともできます。 # test_example.py import unittest from my_module import add class TestAddFunction(unittest.TestCase): def test_add(self): self.assertEqual(add(3, 5), 8) if __name__ == '__main__': unittest.main() # テストを実行する # $ python test_example.py 18. パッケージの作成 複数のモジュールを含むパッケージを作成することもできます。パッケージは、複数の関連する機能をひとまとめにするために使用されます。 my_package/ │ __init__.py │ ├── module1.py └── module2.py 19. 仮想環境の使用 Pythonプロジェクトごとに独立した環境を作成することができます。これにより、プロジェクトごとに異なるライブラリのバージョンを使用することができます。 # 仮想環境の作成 # $ python -m venv myenv # 仮想環境の有効化 # Windows # $ myenv\Scripts\activate # macOS/Linux # $ source myenv/bin/activ...

Pythonの基本(Part 3)

Pythonの基本(Part 3) 11. ファイルとモジュールの作成 Pythonでは、独自のモジュールやパッケージを作成して再利用することができます。また、スクリプトをファイルとして保存して実行することもできます。 例えば、次のような関数を持つ utils.py というモジュールを作成して、別のスクリプトで使用することができます。 # utils.py def greet(name): return "Hello, " + name + "!" # main.py import utils print(utils.greet("Alice")) # "Hello, Alice!"を出力します 12. リスト内包表記 Pythonでは、リスト内包表記を使用して簡潔なコードを書くことができます。 numbers = [1, 2, 3, 4, 5] squared_numbers = [x ** 2 for x in numbers] print(squared_numbers) # [1, 4, 9, 16, 25]を出力します 13. ジェネレータ ジェネレータは、イテレータを作成するための強力なツールです。リストを生成するのではなく、必要に応じて値を生成することができます。 def countdown(n): while n > 0: yield n n -= 1 for i in countdown(5): print(i) # 5, 4, 3, 2, 1 を出力します 14. デコレータ デコレータは、既存の関数に機能を追加するための手段です。 def my_decorator(func): def wrapper(): print("事前処理") func() print("事後処理") return wrapper @my_decorator def say_hello(): print("Hello!") say...

Pythonの基本(Part 2)

Pythonの基本(Part 2) 7. モジュールの使用 Pythonでは、標準ライブラリやサードパーティのライブラリから様々な機能を利用するために、 import 文を使用します。 import math print(math.sqrt(25)) # 平方根を計算して出力します。結果は5です。 8. ファイル操作 Pythonを使用してファイルを読み書きすることができます。 例えば、テキストファイルを読み込んでその内容を表示する場合は次のようにします。 with open("example.txt", "r") as file: print(file.read()) また、ファイルに新しい内容を書き込むには次のようにします。 with open("example.txt", "w") as file: file.write("Hello, world!") 9. エラー処理 Pythonでは、 try 、 except 、 finally などのキーワードを使用してエラー処理を行うことができます。 try: # 何らかの処理 result = 10 / 0 except ZeroDivisionError: print("ゼロで割ることはできません!") finally: print("処理が完了しました。") このようにすることで、例外が発生してもプログラムがクラッシュするのを防ぐことができます。 10. クラスとオブジェクト指向プログラミング Pythonはオブジェクト指向プログラミングをサポートしており、クラスを使用してオブジェクトを定義することができます。 class Dog: def __init__(self, name): self.name = name def bark(self): return "わんわん" my_dog = Dog("ボブ") print(my_dog.name) # ...

Pythonの基本(Part 1)

Pythonの基本(Part 1) Pythonを初めて学ぶ人々のために、Pythonの基礎について解説します。ここでは、Pythonの基本的な構文やデータ型、そして基本的な操作について説明します。さあ、Pythonの世界への第一歩を踏み出しましょう! 1. Pythonとは Pythonは、高水準のプログラミング言語で、読みやすく、シンプルな構文を持っています。Pythonは広く使われており、Web開発、データ分析、人工知能など、さまざまな分野で利用されています。 2. Pythonのインストール Pythonを使うには、まずPythonをインストールする必要があります。公式サイト( https://www.python.org/downloads/ )から、最新バージョンのPythonをダウンロードしてインストールしてください。 3. Pythonの基本構文 Pythonの基本的な構文は非常にシンプルです。 # コメントは「#」で始めます print("Hello, world!") # 文字列を出力します # 変数の定義と使用 x = 5 y = 3 z = x + y print(z) # 8を出力します # 条件分岐 if x > y: print("xはyより大きいです") else: print("xはy以下です") # ループ for i in range(5): print(i) # 0から4までの数を順に出力します # 関数の定義と呼び出し def greet(name): print("Hello, " + name + "!") greet("Alice") # "Hello, Alice!" を出力します 4. データ型と演算子 Pythonにはいくつかの基本的なデータ型があります。その中でも最もよく使われるのは整数、浮動小数点数、文字列、リスト、タプル、辞書です。 整数: int 型。例: x = 5 浮動小数点数: float 型。例: y = 3.14 文字列: str...

JavaScript入門 - パート5

JavaScript入門 - パート5 パート5では、JavaScriptの非同期プログラミング、Promise、そしてFetch APIについて学びます。 非同期プログラミング JavaScriptでは、非同期処理を実行することができます。これにより、ウェブページのレスポンス性を向上させることができます。 1. コールバック関数 setTimeout(function() { console.log("3秒後に実行されました。"); }, 3000); 2. Promise let promise = new Promise(function(resolve, reject) { setTimeout(function() { resolve("成功しました!"); }, 2000); }); promise.then(function(result) { console.log(result); // "成功しました!" }); Fetch API Fetch APIは、ウェブサーバーからリソースを取得するためのJavaScriptのAPIです。 3. GETリクエストの送信 fetch('https://jsonplaceholder.typicode.com/posts') .then(response => response.json()) .then(data => console.log(data)); 4. POSTリクエストの送信 fetch('https://jsonplaceholder.typicode.com/posts', { method: 'POST', body: JSON.stringify({ title: 'foo', body: 'bar',...

JavaScript入門 - パート4

JavaScript入門 - パート4 パート4では、JavaScriptの高度なトピックについて学びます。これには、関数の応用、クロージャ、そしてDOM操作が含まれます。 関数の応用 1. コールバック関数 コールバック関数は、他の関数の引数として渡され、後で実行される関数です。 function greet(name, callback) { console.log("こんにちは、" + name + "!"); callback(); } function sayGoodbye() { console.log("さようなら!"); } greet("太郎", sayGoodbye); 2. 高階関数 高階関数は、他の関数を引数として受け取るか、関数を返す関数です。 function multiplyByTwo(x) { return x * 2; } function operateOnArray(arr, func) { let result = []; for (let i = 0; i クロージャ クロージャは、外部関数から内部関数を返す関数であり、内部関数は外部関数の変数やパラメータにアクセスできます。 function counter() { let count = 0; return function() { count++; console.log(count); }; } let increment = counter(); increment(); // 1 increment(); // 2 increment(); // 3 DOM操作 DOM(Document Object Model)は、HTML文書の構造化された表現であり、JavaScriptを使って操作することができます。 3. 要素の取得 le...

JavaScript入門 - パート3

JavaScript入門 - パート3 パート3では、JavaScriptのオブジェクトと配列について説明します。 オブジェクト 1. オブジェクトとは オブジェクトは、関連するデータや機能をまとめるための構造です。プロパティ(データ)とメソッド(関数)を持つことができます。 let person = { name: "太郎", age: 30, greet: function() { console.log("こんにちは、" + this.name + "です。"); } }; console.log(person.name); // "太郎" console.log(person.age); // 30 person.greet(); // "こんにちは、太郎です。" 2. オブジェクトのプロパティにアクセスする オブジェクトのプロパティにはドット記法やブラケット記法でアクセスできます。 let car = { brand: "トヨタ", model: "カローラ", year: 2020 }; // ドット記法 console.log(car.brand); // "トヨタ" // ブラケット記法 console.log(car["model"]); // "カローラ" 3. プロパティの追加と削除 オブジェクトにプロパティを追加したり、削除したりできます。 let book = { title: "JavaScript入門", author: "山田太郎" }; // プロパティの追加 book.year = 2021; console.log(book.year); // 2021 // プロパティの削除 delete book.auth...

JavaScript入門 - パート2

JavaScript入門 - パート2 パート2では、JavaScriptの条件分岐、ループ、関数について説明します。 条件分岐 1. if文 if 文を使うと、特定の条件が満たされた場合にだけコードを実行することができます。 let age = 20; if (age >= 18) { console.log("あなたは成人です。"); } else { console.log("あなたは未成年です。"); } 2. else if文 else if を使うと、複数の条件を順に評価して、最初に満たされた条件のコードを実行します。 let score = 85; if (score >= 90) { console.log("優秀"); } else if (score >= 70) { console.log("良好"); } else if (score >= 50) { console.log("可"); } else { console.log("不可"); } 3. switch文 switch 文は、特定の値に基づいて複数のケースから選択する場合に使います。 let fruit = "りんご"; switch (fruit) { case "りんご": console.log("りんごです"); break; case "バナナ": console.log("バナナです"); break; case "オレンジ": console.log("オレンジです"); break; default: console.log(...

JavaScript入門 - パート1

JavaScript入門 - パート1 JavaScriptは、ウェブ開発で広く使われているプログラミング言語です。初心者でも理解しやすいように、基本的な概念と使い方を説明します。 JavaScriptの基本 1. JavaScriptとは JavaScriptは、ウェブページを動的にするためのプログラミング言語です。HTMLやCSSと共に使われ、ユーザーの操作に応じて内容を変更したり、アニメーションを追加したりすることができます。 2. JavaScriptの使い方 JavaScriptは、HTMLファイル内に直接書くか、外部ファイルとして読み込むことができます。基本的な使い方を見てみましょう。 HTMLファイル内に直接書く方法: <!DOCTYPE html> <html> <head> <title>JavaScript入門</title> </head> <body> <h1>こんにちは、JavaScript!</h1> <script> // ここにJavaScriptのコードを書きます alert('ページが読み込まれました!'); </script> </body> </html> 外部ファイルとして書く方法: 外部ファイルを作成します(例: script.js )。 // script.js alert('ページが読み込まれました!'); HTMLファイルで外部ファイルを読み込みます。 <!DOCTYPE html> <html> <head> <title>JavaScript入門</title> </head> <body> <h1>こんにち...

C#でPC間の通信をAIにサンプル書いてもらいました。

C#でPC間の通信をAIにサンプル書いてもらいました。 実際に動作は確認してないですが、参考になれば。 PC側のFirewallだとか、 IPアドレス固定とか、 そういったものはちゃんと考えた方が良いです。 サーバー側 using System; using System.Text; using System.Net; using System.Net.Sockets; using System.Text.RegularExpressions; namespace con1 { // ソケット通信(サーバー側) class server1 { static void Main() { IPAddress host1 = IPAddress.Parse("127.0.0.1"); int port1 = 8765; IPEndPoint ipe1 = new IPEndPoint(host1, port1); TcpListener server = null; string recvline, sendline = null; int num, i = 0; Boolean outflg = false; byte[] buf = new byte[1024]; Regex reg = new Regex("\0"); try { server = new TcpListener(ipe1); Console.WriteLine("クライアントからの入力待ち状態"); server.Start(); while (true) { using (var client = server...

javascriptの「use strict」ついて(AIにまとめてもらいました)

はじめに 近年、JavaScript開発において「use strict」というキーワードが頻繁に目に留まるようになりました。しかし、その役割や具体的な使い方は意外と知らない方も多いのではないでしょうか? 本記事では、「use strict」の概要から具体的な書き方、メリット、注意点までを初心者向けにわかりやすく解説します。 1. 「use strict」とは? 「use strict」は、JavaScriptのコード実行モードを厳格モードに切り替えるためのディレクティブです。厳格モードでは、従来の動作とは異なる厳しいエラーチェックが行われ、潜在的なバグや問題を早期に発見することができます。 2. 具体的な書き方 「use strict」は、スクリプトの先頭に1行のみ記述します。 ---- "use strict"; ---- 3. メリット 「use strict」を使用する主なメリットは以下の3つです。 潜在的なバグや問題の早期発見: 従来ではエラーにならなかったような曖昧な記述も、厳格モードではエラーとして検出されます。 コードの品質向上: 厳格なエラーチェックにより、より安全で信頼性の高いコードを開発することができます。 モダンなJavaScriptの標準: 近年のJavaScriptでは、多くのライブラリやフレームワークが「use strict」を前提とした動作になっています。 4. 注意点 「use strict」を使用する際の注意点としては、以下の点が挙げられます。 従来のコードとの互換性: 従来のJavaScriptコードと混在させると、エラーが発生する可能性があります。 スコープ: 「use strict」の効果は、宣言されたスコープ内のみ有効です。 すべてのエラーが検出されるわけではない: すべての潜在的なバグや問題が検出されるわけではなく、一部のエラーは依然として検出されない可能性があります。

Power CMSX(まとめ)

  Power CMSX(まとめ) 最近blogを書き始めましたが、案件が一区切りついたので感想含めて記載します。 初めてPower CMSXを触りました 全体的 ・悪い印象 開発環境のセットアップに手間がかかる ライセンス問題(有料 + 利用方法) 無料で利用できる範囲をもう少しひろげられないか?  →ローカルでdocker等で構築して開発する場合は、それぞれ開発者アカウント必要では? プラグインが少ない(自作する必要あり) 調べても情報少なく公式しかない サンプルがすくない ・良い印象 テンプレートはMovable Typeなので、知っていれば何でも記載できる 困った時に問い合わせ可能(●●みたいなことはできる? とか聞いてもOK) スペースの概念は良いと思う 動的出力と静的出力を選べる(ここ重要)どうでも良いページは静的にしてなど設定できる ・第一段階(導入初期) サーバーセットアップ apacheとPHP(もろもろ)いれるDBセットアップ 取りあえずサクッと動いた CMSの管理画面でTheme設定したら、Viewとかいっぱい出てきた なにも考えず、デフォ3種をポチポチしたら、テンプレートがいっぱい Theme変更しても、消えずのこったまま。 スペース、モデル、ビュー( テンプレート)の概念把握 ・第二段階(導入中期) 動的に記事データを取ってきたり、一覧表示したりは理解 条件つけて一覧表示したり <mt:> 使って 条件分岐 URLマップの概念、Assets関連などの理解 テンプレートもパーツ化して再利用 管理画面のカスタムの仕方 意外とハマった .htaccess 、一度、設定失敗して管理画面含めてアクセスできなくなりましたw ・第三段階(導入後期) PCMSのプラグイン開発やTinyプラグインの開発まで範囲を広げる どうしても、要件を実現したく力技で実装したが、件数が多いとすごく遅い箇所の改善 プラグイン(PHP) を作成して、DBで一括で取得してPHPで整形してHTML返すとか。 あと入力関連でTinyを利用するので、デザインされたCSSを反映させる為、 カスタマイズやTinyのプラグインを開発 現在に至る ・その他 開発環境を用意したとして、本番環境にデブロイする手法はなにが最適なのか? プラグイン関連はファイルのアップロードで良...

【PowerCMS X】リレーションの値でフィルタリング(検索)をおこないたい

 リレーションの値でフィルタリング(検索) 記事にタグが紐付いてますが、 例えば「blog」のタグがついた記事一覧を取得したい時 ドキュメントをみると やり方は下記の事だとおもいますが --- (relation name[s]) : リレーション先のオブジェクトのプライマリカラムの値もしくは階層付きモデルの場合「Path/To/オブジェクト名」でフィルタリングする --- ぱっと、わかりませんでした。 下記のようなイメージで書けます。 <mt:entries tags="blog"> </mt:entries>  複数指定の場合 OR <mt:entries tags="blog OR piyo"> </mt:entries>  両方指定の場合 AND <mt:entries tags="blog AND piyo"> </mt:entries>  ーーー また、entry→ 大カテゴリ(main_category) → 小カテゴリ(sub_category) のように連続してリレーションをしている場合は下記で取れる <mt:entries main_category="大カテゴリ名/小カテゴリ名"> </mt:entries>  ーーー 理解して使えるようになれば、なるほどと思います。 個人的には、  「テンプレート・タグリファレンス」にサンプルをコードを付けてほしいです

【PowerCMS X】単純な計算 increment と decrement

  X(旧ツイッター)で教えて頂いたので 単純な計算なら、increment と decrementを使うほうが簡単で早いらしいので早速 -- <mt:var name="a" value="10" /> <mt:var name="b" value="1" /> b + a = <mt:var name="b" increment="$a" /> b ++ = <mt:var name="b" increment /> b = <mt:var name="b" /> -- b + a = 11 b ++ = 2 -- setver使って出力しないで変数に値を格納する場合 <mt:var name="b" increment="$a" setvar="b" /> <mt:var name="b" increment setvar="b" /> b = <mt:var name="b" /> -- b =  12 -- ちなみに、incrementの初期値は1です。 = 付けて指定すれば好きな値を入れることが可能 decrement も同じように利用可能な様子です。 ぜひ単純な計算に利用してみてください。

【PowerCMS X】四則演算 引き算(もっと良いのがあれば教えてほしい)

    四則演算の例です。実際に使ってみたので、参考程度ににてください 引き算 (例) a = 10 b = 1 b =  b - a ーーー 変数宣言<br /> <mt:var name="a" value="10"  /> <mt:var name="b" value="1"  /> 演算<br /> b = b - a <mt:var name="b" op="-" value="$a"  /><br /> 演算結果<br /> b = <mt:var name="b"  /><br /> ーーー ( 表示) 変数宣言 演算 b = b - a 演算結果 b = -9

【PowerCMS X】TinyMCEプラグインについて

 TinyMCEプラグインについて 高度な設定 この画像のinitの中の設定をカンマ区切りで設定する事ができる。 PowerCMS Xのdefault + 自分で個別に設定したい場合に利用 基本的には、ここの設定を変更したりすれば一通りの事は何でもできると思います。 高度な設定(setup) ここには、javascriptが記載でき、より高度なセットアップが可能です。 ーーー 内容薄い・・・・

【PowerCMS X】if , else 比較

条件分岐の例です 等しい(=)のサンプルです。 if   if (a == 10)  <mt:setvar name="a" value="10" />     <mt:if name="a" eq="10">     a=<mt:var name="a"  />だよ </mt:if> if ($)  if (a == b)   <mt:setvar name="a" value="10" /> <mt:setvar name="b" value="10" />     <mt:if name="a" eq="$b">     a=<mt:var name="b"  />だよ </mt:if>    if else  if (c == 10 ){ }else{ }  <mt:setvar name="c" value="20" />     <mt:if name="c" eq="10">     ここには当てはまらない <mt:else>     10じゃなくて<mt:var name="c"  />だよ     </mt:if> else if if (c == 10 ){ }else if (c == 20){ }  <mt:setvar name="c" value="20" />     <mt:if name="c" eq="10">     ここには当てはまらない <mt:elseif name="c" eq="20">     10じゃなくて<mt:var name="c"...

【PowerCMS X】四則演算 足し算(もっと良いのがあれば教えてほしい)

   四則演算の例です。実際に使ってみたので、参考程度ににてください 足し算 (例) a = 10 b = 1 b =  b + a ーーー 変数宣言<br /> <mt:var name="a" value="10"  /> <mt:var name="b" value="1"  /> 演算<br /> b = b + a <mt:var name="b" op="+" value="$a"  /><br /> 演算結果<br /> b = <mt:var name="b"  /><br /> ーーー ( 表示) 変数宣言 演算 b = b + a 演算結果 b = 11

【PowerCMS X】includeの使い方(引数を渡したい)

  includeの使い方(引数) 実際に使ってみたので、参考程度ににてください 引数はhogehogeに記事のタイトルを渡します。 ーーー    <mt:include module="view param" hogehoge="<mt:entrytitle />"> ーーー ーーーview paramの中では <p>  <mt:var name="hogehoge"> </p> ーーー こんな感じでテンプレートのViewの中に引数を追加できます。

【PowerCMS X】numifyの使い方(3桁ごとにカンマをつけたい)

  numifyの使い方(3桁ごとにカンマをつけたい) 実際に使ってみたので、参考程度ににてください ーーー     <mt:setvar  name="num"  value="1234567890" />     <mt:var name="num"/>     <mt:var name="num" numify /> ーーー とすると、 1,234,567,890 みたいに整形されます。

【PowerCMS X】mb_instrとinstrの使い方

mb_instrとinstrの使い方 どこにもサンプルが転がってない。(探せない) 実際に使ってみたので、参考程度ににてください 例えば記事のタイトルで <mt:entrytitle /> ってタグがあります "タイトル" の場所を調べたい時 "aタイトル"みたいなタイトルの場合 <mt:entrytitle instr="タイトル"/> とすると、見つかったら番号が返ってきます 1って値が返ってきます だから何だと言われたらそれまでですが…

【PowerCMS X】 モデルをループさせて一覧を表示する

Movable Typeのループ処理:最初と最後の記事を特別扱いする Movable Typeで記事一覧を作成する際、ループ処理の中で first と last 変数がデフォルトで定義されています。これらの変数を利用することで、最初と最後の記事に対して特別な処理を行うことができます。 例えば、最初と最後の記事にだけ特別な装飾を加えたり、区切り線を表示したりすることができます。 以下は、その基本的なコード例です。 <mt:entries> <mt:if name="first"> <ul> <li>     最初に一回目 </li> <mt:else> <li> 2回目移行 </li> </mt:if> <mt:if name="last"> </ul> </mt:if> </mt:entries> このコードでは、 first 変数が true の場合、 <ul> タグでリストを開始し、最初の記事を表示します。 first 変数が false の場合、2回目以降の記事を表示します。 last 変数が true の場合、 </ul> タグでリストを閉じます。 このように、 first と last 変数を活用することで、記事一覧の表示をより柔軟に制御することができます。

「8発目」 神奈川県立の出願システムのドメインmail.shutsugankanagawa.jp をdigコマンドで色々と確認してみた。

今、話題となってる、高校受験する為にネットで登録する時にgmail が届かない件  2024/01/17 16時 頃 digコマンドを利用して確認してみました。さて、どこが悪いんでしょうね。 まずはこれから % dig mail.shutsugankanagawa.jp ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 122 IN A 13.113.157.93 mail.shutsugankanagawa.jp. 122 IN A 52.193.62.66 mail.shutsugankanagawa.jp. 122 IN A 52.194.140.218 今度は、txt をつけて % dig mail.shutsugankanagawa.jp txt ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 300 IN TXT "v=spf1 include:amazonses.com ~all" mail.shutsugankanagawa.jp. 300 IN TXT "google-site-verification=eBRf3ipFa5PReqemKRG2zePZUOEfBc6NO5GuPisqN5A" 次はMXをつけて % dig mail.shutsugankanagawa.jp mx ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-52-193-62-66.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-52-194-140-218.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-13-113-157-93.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 20 feedback-s...

公立高校の受験でgmailが来ない件について(updateあり)

ネットでの状況を整理していると、 最初はgmailでも受信できていたと報告している人がいるようです。 少し経過すると、 gmailが受信できない人がチラホラ見えるようです。 SPF(Sender Policy Framework) DKIM(DomainKeys Identified Mail) DMARC(Domain-based Message Authentication, Reporting, and Conformance) このあたりが原因じゃないかと。 おそらく、上記のいずれかに不備があり、 最初は許可していたがgmail側のセキュリティ要件に引っかかりしています スパム扱い → 受信拒否 扱いにされてしまったのでは? と推察します。 gmailは有名だけど、セキュリティ要件がどんどんアップしていき、 厳しくなっていると思います。 そうそう、 TLS(Transport Layer Security) これも必須になってますよね。暗号化して送信するやつ。 メールサーバーを建てる場合は、まとまってる技術本も少なく、 ネット上に転がっている情報を整理、まとめて対応する事が多く。 大変かと思います 本でもあると良いのだけど・・・。 話はそれましたが、 この件だけじゃなく、皆さんの加入しているサービスや作成したサービスは 大丈夫ですか? ぜひ、この機会に確認をおすすめします。 「DMARC SPF チェックサイト」みたいに検索すると、 チェックサイトが複数見つかるので、ぜひ確認してみてください。 2024年2月からはgmailは5000件以上、送る所は、DMARCやら必須なので注意です。 以上です。 2024/01/17  続報です。 色々な方が調べている様子で、MXレコードの設定も怪しいとの事 具体的には、MXレコードの右側にIPアドレスが指定してあり、 ドメイン名ではなかったとの事。 証明、セキュリティ関連とDNS関連が完了すれば、そろそろ、来るようになるかもです。 どこかで、原因と修正内容がわかるような。 メールの設定はこれ設定して! みたいな、メールの技術本みたいなのを早く出してくれる人いたりしないかな? 以上です。

【PowerCMS X】 時間のフォーマット指定 (メモ)

Power CMS Xで時間を表示する時によく、フォーマットを忘れる 毎回探したり、どうだっけか?とかなにか特殊な書き方が必要だったか?いっつも確認しているので。 タグのリファレンス見ても、「日付のフォーマット」としか書いてないのよね。 2024年01月12日 20時29分36秒 <mt:date format="Y年m月d日 H時i分s秒"/> 2024/01/12 20:29:36 <mt:date format="Y/m/d H:i:s"/> ISO 8601(2024-01-12T20:29:36+09:00) <mt:date format="c"/>

shell メモ

主にshell メモ自分用のメモとなります。 よく忘れるんだよな。 今後はここに追記していきます。 おまじない #!/bin/sh 自分自身のディレクトリに移動 cd `dirname $0`

golang time.Time型で時間の判定は不便

タイトルの通りですが、 AfterやらBeforeの判定はわかりにくい メモがてらコードを記載 します もうね。覚えられないよ。 func main() { now := time.Now() deadline := time.Date(2024, 1, 10, 0, 0, 0, 0, time.Local) // deadline 以降の時刻が到来したか if now.After(deadline) { fmt.Println("deadline 以降の時刻が到来しました") } else { fmt.Println("deadline 以降の時刻が到来していません") } // deadline 以前の時刻が到来したか if now.Before(deadline) { fmt.Println("deadline 以前の時刻が到来しました") } else { fmt.Println("deadline 以前の時刻が到来していません") } }

久々にSSHでアクセスしようとしたらerrorが出た・

タイトルの通りで久々にログインしようとしたら下記errorが出た。 主に自分のメモ用です。 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss -oHostKeyAlgorithms=+ssh-rsa を追加したらログインできるようになった ssh -oHostKeyAlgorithms=+ssh-rsa homepage@192.168.100.1 自分の環境はMacです、同じ人がいて、解決できたのなら嬉しいです。

【PowerCMS X】 の記事が少ない件についてとドキュメンが不便

ドキュメントが不便 別に文句を言いたいわけじゃないけど。 ドキュメントが少し不便と思ってしまうのは私だけだろうか? やりたい事が載ってない、サンプルも少ない。 サポートに直接聞いてください。  がデフォルトなのか? そう思う今日このごろですが。 案件としてやった事があるので気になった事を紹介していければと思います。 ググっても情報少ない 正しく、検索しても公式にサイトにヒットするが、サンプルが無いのできびしい・・・。 初心者には優しくないですね。 以上です。