- 1. Qiita CLIを始めてみた
- 2. 【Python入門】openpyxlを使ってみる
- 3. 【Python入門】Pythonの基礎を学ぶ
- 4. 乗換案内を自然言語で問い合わせ出来るBedockエージェント
- 5. Cisco XDR – ドラッグ&ドロップだけで本格的セキュリティ調査プレイブックを作る(改良版:Ver2.0)
- 6. Cloudflareのbot検知を回避したい
- 7. AWS Lambdaでpython-gnupgを使用可能にする実装方法
- 8. オウム返しbot作ってみた話
- 9. 誰でも無料でGoogle Colaboratoryのコード生成AIが使えるようになった、やばい
- 10. Cisco SD-WAN OCN MAP-E証明書の一括インストール
- 11. 画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲームやーる
- 12. 自動開発ツール、GPT Engineer の入門記3。生成ルールを自分色に染める。
- 13. Transformer-VQの探求:効率と複雑度の新しいバランス
- 14. Python初学者がToDoリストリマインダーbotを作ってみた
- 15. ChatGPTとPythonで学ぶ 離散粒子群最適化
- 16. 【日本人エンジニア必見】英語圏の優良学習コンテンツまとめ
- 17. Holiday counter~休みたい私による祝日未来予想図
- 18. 【Python】streamlit で TODO アプリ
- 19. 損失関数について
- 20. 妻の雑務を最適化したい(Streamlit+PuLPでグループ分け最適化アプリ)
Qiita CLIを始めてみた
今更感はありますが、Qiita CLIがリリースされたということだったので、もう何年も記事などまったく投稿していないというのになぜか使ってみようと思い立ちました。
少し検索してみればいろいろな方が関連する記事を上げてくれているのでインストール自体は問題なく完了。早速記事を書いてみようかと思って、記事作成のコマンドを確認するとこんな感じ。
“`bash
npx qiita new 記事のファイルのベース名
“`「こんな時、記事のファイルのベース名とかって考えるの面倒くさいよな」などとふと考えてベース名を作るスクリプトを作ることにしました。
といっても非常に簡単な作りで、実行時のシステム日付を取得してそこからMD5ハッシュを求めればいいかなと安易に考えたのが次のスクリプトです。ベース名を考えるだけではなくサブプロセスで記事作成コマンドも実行します。
“`python
import hashlib
import datetime
import subprocessdef newid():
now = datetime.datetime.now()
t
【Python入門】openpyxlを使ってみる
Body:この記事は、[【完走したい】楽しくいろいろやる Advent Calendar 2023](https://qiita.com/advent-calendar/2023/notbeginner)の12日目です。
PythonでExcelを作れると聞いたので、自分でも試してみます。
googleにColaboratoryとかいうのがあって、無料でpythonを学習できたのでこれを使います。https://colab.research.google.com/?hl=ja#scrollTo=5fCEDCU_qrC0
# Excelを動かす
Excelをpythonで動かせます。同じ作業を繰り返すときなどに便利です。
Pythonのopenpyxlを使ってExcelファイルを作ると、作成者がopenpyxlになります。
![スクリーンショット 2023-12-19 192829.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/ff28f26f-8b58-6526-2165-ffae
【Python入門】Pythonの基礎を学ぶ
この記事は、[【完走したい】楽しくいろいろやる Advent Calendar 2023](https://qiita.com/advent-calendar/2023/notbeginner)11日目です。
Google Colaboratoryを使って勉強します。
間違ってたらごめんなさい。
# pythonとは
よく使われる言語のひとつです。
# 使いかた
### import
最初にimportするものを宣言します。
例えば、「numpy」を使う場合
“`
import numpy as np
# import 名前 as 略称(別名)
“`
とか書きます。
asの後に書いた名前でその後呼ぶことになります。たいていのものはすでに決められています。
### def
define(定義)の略です。書いたプログラムをまとめることができます。書き方は、
“`
def A():
ここに内容を書く
A()
“`
といった感じに、
“`
def 任意の名前():
“`
ではじめます。
“`
任意の名前()
“`
で終割ることもありますが、省略できます。
↓こんな時に便利です
乗換案内を自然言語で問い合わせ出来るBedockエージェント
Agents for Amazon Bedrockに対して自然言語で乗換案内を問い合わせ出来るようにします。
内部的には、あるLambda関数(Action group)の実行結果を次のLambda関数(Action group)に引き継いで処理を行っています。Cisco XDR – ドラッグ&ドロップだけで本格的セキュリティ調査プレイブックを作る(改良版:Ver2.0)
![スクリーンショット 2023-12-20 6.50.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311200/0a58c0ec-9f5e-048e-c821-b73062692a27.png)
Cisco Advent Calendar 2023年版: : https://qiita.com/advent-calendar/2023/cisco# はじめに
シスコの同志による今年の Advent Calender “Cisco Systems Japan Advent Calendar 2023” の
Cloudflareのbot検知を回避したい
## はじめに
この記事では、Cloudflareのbot検知を回避してスクレイピングを行う方法について紹介します。## CloudflareのBot検知とは
CloudflareにはBotを検知する機能があります。Botだと検知されると、確認画面が表示され、永遠にループすることがあります。![cloudflare-bot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/849608/86e741de-6d6b-88c1-8312-2cd72cfd4855.png)
## 従来の回避方法
以前は、下記の`undetected-chromedriver`ライブラリを用いることで回避できましたが、2023年12月20日現在では効果がありません。
https://github.com/ultrafunkamsterdam/undetected-chromedriver
## DrissionPage
このundetected-chromedriverのissueでも取り上げられている、bot検
AWS Lambdaでpython-gnupgを使用可能にする実装方法
# はじめに
PGP暗号化をLambdaで実装する際に、layerにLambdaのバージョンに対応するライブラリ(python-gnupg)を設定するだけではエラーが発生し使用できなかった。
どうやらライブラリが不足しているようなエラー内容だった。
その際にどういう手順で実装したかを記述する。# 前提
– Lambdaのランタイムはpython3.9
– Lambdaのバージョンに対応するlayer(python-gnupg)は作成済みであること。
(今回はpython3.9に対応するライブラリpython-gnupg0.5.2をpipでinstallし、zipファイル固めてLambdaのlayerにアップロードした。)
– EC2インスタンスはAmazon Linux2
– { }でくくられている部分は変数名なので適宜変更すること。# 今回使用するAWSサービス
– Lambda
– S3
– EC2# 実装手順
## 1. EC2インスタンスを起動しログインをする
① EC2インスタンスでLambdaをパッケージ(zip)化した上でLambdaに反映させ
オウム返しbot作ってみた話
# LINEbotを作ってみた!!
`ubuntu` `Linux` `AWS` `MessageAPI`
最終更新日 2023年12月19日 投稿日2023年12月19日
### はじめに今回私は、LINEbotを作成し、オウム返しをするプログラムと、天気予報を取得するプログラムを作成し、LINEbotでメールを送り返すことにチャレンジ
***
### 目次
1.APIとは
2.環境開発
3.公式LINE作成方法
4.aws無料アカウント作成
5.オウム返しチャットボット### 1.APIとは
APIとは、Application Programming Interfaceの略で、別々のアプリケーションがお互いに情報をやりとりする際の接点となる窓口です。本来APIとは、広い意味を持つ言葉だが、今回のMessage APIとは、REST APIのことである。REST APIとはルールのようなものに従って出来ている。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621704/
誰でも無料でGoogle Colaboratoryのコード生成AIが使えるようになった、やばい
2023年12月19日にGoogle Colaboratoryで「Colab AI」というコーディングアシストAIが全ユーザーが無料で利用できるようになりました!!!
これまでは、有料プランに入っているユーザーしか使えませんでしたが、現在は全ユーザーが無料で使えるようになっています。
https://blog.google/technology/ai/democratizing-access-to-ai-enabled-coding-with-colab/
## Colab AIとは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3356814/f462cf25-963a-3988-2ef8-459415e73cf2.png)
「Colab AI」はGoogle Colab上で、GIthub CopilotのようにAIからコーディングのサポートを受けることができるペアプログラミング機能です。
![generate-cropped (1).gif](https://qiita
Cisco SD-WAN OCN MAP-E証明書の一括インストール
# はじめに
この記事は2023年CiscoSystems合同会社 社員有志 による Advent Calendar の記事の一つです。
残念ながらカレンダーに空きがなかったので個別に投稿しています。https://qiita.com/advent-calendar/2023/cisco
# この記事の目的
[OCN MAP-E設定](https://qiita.com/KoheiYamashita1/items/8e6a8e5c774c0a65be88)
上記サイトはCiscoSD-WANのMAP-E機能を使ってSD-WANルータをIPoE環境で構築する基本設定を紹介しています。この設定のうち、MAP-EのAddressサーバとのHTTPSアクセスのためのRoot証明書をルータにインストールする手順を簡素化するためのスクリプトを作成しました。![スクリーンショット 2022-12-07 11.41.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲームやーる
# はじめに
[がちもとさんアドベントカレンダー](https://qiita.com/advent-calendar/2023/gachimoto3)20日目の記事です。今日は、11日目に公開した[画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム](https://qiita.com/SatoshiGachiFujimoto/items/fddf546164dc54bcc876)を、エンジニアの輪@福岡で実際に行ってきたのでその記録になります。
当日の登壇資料はこちらです。
# 開発環境
– Windows 11 PC
– Python 3.11# ゲームの流れ
1.お題の画像を用意する
2.画像を見てプロンプトを考える
3.DALLE3で画像生成する
4.お題の画像と生成
自動開発ツール、GPT Engineer の入門記3。生成ルールを自分色に染める。
この記事はLLMアドベントカレンダーの8日目です。過去日が空いていたので、頂きました 🙏
https://qiita.com/advent-calendar/2023/llm
LLM アドベントカレンダーは LLM そのものや評価に関して書かれる方が多いですが、LLM を適用したアプリケーションを研究するという文脈で投稿させて頂いています。🙏
また、こちらの記事に関しては続きものです。以下も適宜ご参照ください。
https://qiita.com/nassy20/items/963cd41e968f5840d7d9
https://qiita.com/nassy20/items/257c831aed10bdbeba09
# はじめに
GPT Engineer は、ほとんどのコード生成ルールをカスタマイズ可能な仕組みを備えています。ほとんどケースではこのカスタマイズの仕組みを使わずとも、生成の起点となる`prompt` ファイルに生成のルールを詳細に記述することで、生成を制御できます。しかし、パッケージマネージャーの情報に関しては制御できないという問題がありました。`pro
Transformer-VQの探求:効率と複雑度の新しいバランス
## はじめに
こんにちは!私はGxPの張です。
この記事は、2023年のGrowth Experts Partners Advent Calendarの22日目のために用意されたものです。最近、会社のプロジェクトでOCRモデルのトレーニングが必要になりました。トレーニングの効率を上げて計算負担を減らすため、計算の複雑さを軽減する方法を探求しました。その過程で、Transformerモデルの計算複雑度を下げる新しい方法について述べた論文に出会いました。特に、[Transformer-VQ](
https://doi.org/10.48550/arXiv.2309.16354)技術です。この方法をプロジェクトに適用したところ、驚くほどの成果を得ました。この経験を踏まえて、より多くの人にTransformer-VQのメリットを共有したいと思います。## Efficient Transformerのアプローチ
Efficient Transformerの主な目的は、Transformerの計算複雑度[^1]を削減することです。当初は、attentionメカニズムの改善に焦点を合わせ
Python初学者がToDoリストリマインダーbotを作ってみた
みなさんこんにちは! @ometora_sateyan と申します。
本記事は [富士通クラウドテクノロジーズ Advent Calendar 2023](https://qiita.com/advent-calendar/2023/fjct) 20 日目の記事です。
昨日は @sameshima_alt さんの、[UbuntuでDAW環境を構築するためにN100ミニPCを買った話](https://sameshima-fjct.hatenablog.com/entry/2023/12/19/ubuntu_n100pc_daw)でした!
実際に機器を購入して、趣味の音楽のための環境構築、、、
憧れますし、1つのロマンですね。
今回構築された環境で作られる音楽作品もこれから楽しみですね!さて本日はPythonを使ってSlack botとしてToDoリマインダーを作ってみたお話です。
## 経緯
個人的なお話で恐縮です。
現在社会人(エンジニア)歴5年目であり、情報工学を専攻していた大学時代を含めると初めてプログラミングに触れてから10年以上経っているのですが、今となってはかなりメ
ChatGPTとPythonで学ぶ 離散粒子群最適化
皆さんこんにちは。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ 離散粒子群最適化」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。
—
### **assistant**:
はい、よろしくお願いします。離散粒子群最適化(Discrete Particle Swarm Optimization、DPSO)について解説します。
PSOは粒子群最適化のことで、一般的な最適化問題を解くための計算機アルゴリズムの1つです。それは多数の候補解(粒子)を持ち、それらが最高の解を見つけるために共同で探索します。各粒子は解空間を飛び回り、自身の飛行経路と専門的な最小値を利用して改善します。複数の粒子は情報を共有し、全体として最適解に収束します。
しかし、従来のPSOアルゴリズムは連続的な最適化問題に対して用いられ、离散的な最適化問題には適用できません。ここで登場するのが、离散粒子群最適化(DPSO)です。
DPSOは、粒子が離散空間内を移動するように調整された派生版のPSOです。これにより、組合せ最適化問題な
【日本人エンジニア必見】英語圏の優良学習コンテンツまとめ
この記事は[Nuco Advent Calendar 2023](https://qiita.com/advent-calendar/2023/nuco)の20日目の記事です。
:::note info
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、[こちら](https://www.recruit.nuco.co.jp/?qiita_item_id=94bd9e5d5dfd665ad044)まで。
:::# はじめに
エンジニアリングの分野では、技術の進化が日々進んでおり、エンジニアにとって継続的な学習が不可欠です。新しい技術の習得やスキルの向上に有効な学習手段が重要です。日本では日本語のコンテンツはもちろんありますが、最先端の技術を取得するには、英語圏のコンテンツは切りたくても切り離せないことです。本記事は、日本人エンジニアが自身のスキルを向上させ、最新の技術に追いつくための優れた英語コンテンツをご紹介します。
Holiday counter~休みたい私による祝日未来予想図
## はじめに
はじめまして、物理工学専攻修士1年のあるみと申します。
早速ですが質問です。皆さんは祝日は好きですか?
私は大好きです。
午前様しても良し。
昼まで寝まくって、睡眠負債を全力返納しても良し。
早起きして朝活に邁進してもよし。
そう休日とはフリーダム!!
でも毎日休日・祝日を望んでいるのかと言われてみると
ちょっと違う。
後半になってくるとダレてくる小学時代の夏休みや、
最初は勢いありながらも次第に飽きてくる食べ放題のように。休日・祝日とはなかなかやって来ないからこそ思いが募り、
特別感のある存在となるものなのです。
休日・祝日のために平日を頑張る、まさにモチベーションのような存在である休日。
しかし祝日を抹消しにかかる存在が、そう。
土曜日。
土曜日と重なった祝日は振り替えられず、
消される運命にあるのです。
例えば来年2024年のゴールデンウィークはみどりの日が
土曜日と重なったために、4連休となっています。
この辛い現実に対しては、X(Twitter)でも悲し
【Python】streamlit で TODO アプリ
チャット AI のインターフェイスが手軽に作れるとかで話題の streamlit ですが、簡単に UI が作れるので実は WEB アプリ開発もできるのかもしれません。
そういうわけで TODO アプリを作ってみました。
# 見た目
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509303/3da60b28-e780-34a4-511f-fadf2dd209d8.png)シンプルな markdown アプリみたいな見た目になりました。
# コード
“`main.py
import streamlit as st
import pandas as pdclass TodoPage:
def setup(self):
if “todos” not in st.session_state:
st.session_state.todos = pd.DataFrame([])
def add_todo():
st.session_state
損失関数について
ニュートラルネットワークの「学習」において重要な関数は「損失関数」である。
この関数は、人間でいう「幸せの指標」のようなデータの一つの基準になるものである。
人間は幸せの指標を元に人生を構築しようとするのと同じく、機械はこの損失関数を元に、適切なモデルを生成しようとする。損失関数には様々あるが、一般的には「2乗和誤差」や「交差エントロピー誤差」が用いられる。
## 2乗和誤差
“`math
E = \frac{1}{2}\sum_{k}{(y_k – t_k)^2} \label{a}\tag{1}
“`y : ニュートラルネットワークの出力
t : 教師データ(訓練データ)
k : データの次元
を表す。仮に、ある画像を「0 ~ 9」のどれかを判定するケースを考えるとする。
1つの画像に対して、ニュートラルネットワークは下記のように出力したとする。
y = [0.1, 0.05, 0.6, 0.0, 0.05, 0.1, 0.0, 0.1, 0.0, 0.0]
t = [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]上記の「y」はソフトマックス関数
妻の雑務を最適化したい(Streamlit+PuLPでグループ分け最適化アプリ)
# はじめに
こんにちは!
私は業務で、数理最適化を活用したシステム開発、および導入支援に従事しています。本記事は、私の妻が担当した **雑務(部署の懇親会のグループ分け)** を題材として、それを**数理最適化問題**に落とし込み、条件を満たすようなグループ分けを求める簡易的なアプリをPythonで実装してみました。
「とりあえず動くものを作る」という意識で取り組んだため、もし特に数理最適化周りについて、より効率的なアプローチをご存じの方、また思いついた方は、ぜひご指摘いただけると幸いです。
# 具体的に・・・
「部署の懇親会のグループ分け」の背景や概要は以下の通りとのことでした。
– 部署全体の人数は **100人程度**、またその部署内に**いくつかのチーム**が存在する。
– この部署には、特に若手について、**別チームの社員との親交が薄い**という課題があった。
– そこで、**別チームの若手同士や、若手と年次が上の社員の親睦を深める**ために懇親会が開催されることとなった(以下、年次が上の社員を「ベテラン」と呼びます)。
– 懇親会は全員参加の予定であるた