
Source link
Views: 0
Views: 0
Views: 0
Views: 0
労働の危険について話す準備はできていますか?コミュニティの強さはどうですか?わかりました、でも私たちが実際にゲームについて話していると言ったらどうでしょうか?うん、今週のゲームの時間です!自由時間をどうするかについての推奨事項をお読みください!
現在のシステムでは、上司から盗まれた労働の価値を避けることは避けていますが、それを本当に理解しているゲームを見るのはめったにありません。 Time Banditは、資本主義の機械内での労働の不安定性を本当に理解しているこれらの珍しい宝石の1つです。
あなたの実際の時間と天気をゲームに結びつけるいくつかの珍しいデザインで、Time Banditは(ほとんど)2つの異なる部分のゲームです。ゲームがあなたがシフトしていることを決定するとき(実際の時間によって決定されます)、そしてあなたがそうでないとき。シフト中にゲーム内の現場に参加することは許可されていますが、タスクを実行することが期待されています。もちろん、これらのタスクにはリアルタイムに時間がかかります。箱を動かす必要がありますか?それには30分かかる可能性があります。なぜそんなに時間がかかるのですか?たぶん、それはあなたが生産している時間結晶と関係があるのかもしれません。
あなたがシフトにいないとき、あなたはステルスゲームをプレイしていて、あまり腐敗することなく、あなたはあなたの労働の成果を盗むことができます。これはより迅速な進行方法ですが、リスクは大幅に高くなっています。
あなたは何をしますか、日光の中で生産手段や平和的に労働の手段をつかみますか?
労働についての話はすべてかなり気になりませんでしたよね?さて、かわいいアヒルでもあった労働者を演じることができたらどうでしょうか?
この郵便アーケードゲームでは、安全に必要なパッケージを取得しようとして左右にパッケージをチャックしながら、可能な限り効率的にレベルを通過しようとしています。当然のことながら、これは、ボタンを繰り返しバルーンフライトスタイル(または私よりも若い場合はゆるい鳥)を繰り返しバルーンでタップすることで、アヒルを高く保つことによって行われます。もちろん、これはトリックショットに報いるスコアリングシステムとは対照的です。うん、ヘリコプターバックパックを備えたアヒルについてのかわいいゲームは、コンボ、トリックなどを備えたスコア攻撃プレーヤーの夢です。
ゲームを初めて起動したときにこのすべてを知っていましたが、掘り始めたとき、私はまだ驚きました。このゲームのデザインには、あなたが望むように親切または汗をかいていると同時にそれをデザインすることができます。それだけでは不十分な場合、ゲームにはアクセシビリティツールの巨大なスイートもあります。
ダッキーの配達サービスにいくつかのパッケージを配信してください!
居心地の良い世界を構築したい場合も、コミュニティを構築したい場合もあります。コミュニケーションは、すべてが一緒に行われる構築可能な世界です。確かに、このトップダウンの世界でさまざまな装飾の構築を開始できますが、それを終える唯一の方法は、他の誰かが進歩を貢献した場合です。これは、紙の上であなたが創造的なエリアを構築していることを意味しますが、実際には共同庭園を維持するようなものです。
コミュニケーションにログインすると、ポップアップが表示されます。それはどういう意味ですか?つまり、貢献が最も役立つ場所にすぐに行くことができます。これは、あなたが貢献するために他のプレイヤーによって課せられた計画をすぐに見ることができることを意味します。
今、あなたは私がコミュニケーションの仕組みについて本当に話すことを避けたことに気づいたかもしれません、そしてそれは正当な理由です。 Communititeは、それをプレイしないことでほとんどプレイされるゲームです。スタミナシステムを使用すると、いつでも参加できる構造が限られています。これは制限のように思えるかもしれませんが、それはあなたがログアウトして戻ってくることを意味し、あなたが外出中にあなたのコミュニティが何を構築したかを見ることができます。実際には、これは本当に集団の小さな部分であるという感覚を本当に駆り立てます。
Communiteは、時間を過ごす最もリラックスした方法の1つです。美しい世界を構築するのに皆様に参加することをお勧めします!
何をプレイしていますか?以下のコメントでお知らせください!
Views: 0
Views: 0
3月26日、ついにneovim 0.11 が来ました。このリリースでは LSP関連機能が大幅に強化されました。 これで、いよいよプラグインなしで本格的に使えるようになりました。
今回はネイティブAPIだけでどこまでできるようになったのか紹介します。
0.11 で追加されたLSP関連の機能はこちらです。
まだまだあるので、詳しくはリリースノートをご覧ください。 News-0.11
これらのAPIのおかげで、language server自体のインストール以外はほぼなんでもできるようになりました。
まずは0.11までほぼ必須だったLSPプラグインたちをおさらいしていきます。知っていたら次の章まで飛ばしてよいです。
0.11以前でlanguage serverの自動インストールとセットアップをする設定はこのようになります。
require 'mason'.setup()
local mason_lspconfig = require 'mason-lspconfig'
mason_lspconfig.setup {
automatic_installation = true,
ensure_installed = {'ts_ls', 'lua_ls'},
}
local lspconfig = require 'lspconfig'
mason_lspconfig.setup_handlers {
function(server_name)
lspconfig[server_name].setup {}
end,
lua_ls = function()
lspconfig.lua_ls.setup {
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
},
}
},
}
end
}
同じことをする0.11以降の設定はこちらです。なお、nvim-lspconfigはこのPRのものを使う必要があります。
require 'mason'.setup()
local ensure_installed = {'ts_ls', 'lua_ls'}
require 'mason-lspconfig'.setup {
automatic_installation = true,
ensure_installed = ensure_installed,
}
vim.lsp.config('lua_ls', {
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
},
}
},
})
vim.lsp.enable(ensure_installed)
違うのは最後のlanguage serverを設定する部分です。nvim-lspconfigはコンフィグ集としてだけ使われるようになり、 neovimのAPIだけで設定できるようになりました。
このように、masonを使ったlanguage serverのインストール以外は ほとんどneovimのAPIだけで完結するようになりました。
0.11では LSPを使った補完もできるようになりました。 オムニ補完(
)だけでなく、キー入力中の補完も使えます。 autotriggerをtrueに設定するだけで出来ます。
vim.cmd[[set completeopt+=menuone,noselect,popup]]
vim.lsp.start({
name = 'ts_ls',
cmd = …,
on_attach = function(client, bufnr)
vim.lsp.completion.enable(true, client.id, bufnr, {
autotrigger = true,
convert = function(item)
return { abbr = item.label:gsub('%b()', '') }
end,
})
end,
})
参考: Lua module: vim.lsp.completion
autotriggerを有効にすると、挿入モード中にLSPを使った補完が出てきます。
結構ちゃんと動くので、補完系プラグインも無くしてもよいかもしれません。
0.11で入った機能により、実に様々なことができるようになりました。
language serverのインストールには対応してないので、まだmasonはあったほうが便利です。しかし、nvim-lspconfigはほぼコンフィグ集として使えるようになりました。かなり嬉しいですね。
不要になったプラグインも増えたので、この機会にdotfilesを見直してみてはいかがでしょうか。
Views: 1
今週はCSSのことをしましょう。なぜそうしないのですか – ちょっと私のこと。
アルバロ・モントロを知っていましたか サイト全体があります CSSのテーマに関する漫画の?がある たくさんの風刺 そこに、私は本当に楽しんでいます。
だから彼ら CSSが少し巣を作った。その使用は十分に低かったので、このような出荷されたプラットフォーム機能をいじって快適に感じられる力があると感じる閾値の下にあると聞きました。 (そのしきい値は何なのだろうか?)。
あなた おそらく 気付かない。主に、パーサーがルールを再配置し、ネストされたルールを表す方法に関係しています。整然とした正気な人のように、ブロックの底にネストされたものを置くと、あなたはクールです。あなたが次のようなことをするカオスのエージェントなら:
.card {
color: white;
@media (width
それから神はあなたを助けてくれます。 (しかし、実際にはこれは間違いなく論理的な取り扱いの改善であり、CSSワーキンググループがこのことについて考えてくれてうれしいです。)
を参照してください インタラクティブな遊び場 より深い(視覚的な)説明のために。
それはあなたとは言われています Realllllly CSSセレクターのパフォーマンスについて心配する必要はありません。超重いDOMの状況を除いて、考えたり作業したりする価値のある最適化ではありません。 Trys Mudfordはそれを証明しています もう一度。
ミシェル・バーカーの底に埋葬されました ああ、オーバーフロー! は オーバーフローを「エスケープ」するサイドバーメニューツールチップのデモ。アイデアは次のとおりです できません オーバーフローを非常に簡単に逃がします(除く できるとき)、だから気にしないで、オーバーフロー要素の外側にツールチップを配置して、賢く表示するだけです :has()
使用法。ポジショニングは少しバギーですが、すぐに実行可能なアンカーポジショニングにより、これが完全に使用可能になります。
ミリアム・スザンヌのズームへのダイビングは本当に素晴らしいです: ズーム、ズーム、ズーム。あなたはおそらくそれのいくつかを直感的に理解しており、それほど他の部分ではありません。たとえば、コマンドをするとき – +、Stuff、uhhhh、ズーム。テキスト、およびページ上の他のすべてが大きくなります。しかし、ビューポートの幅は同じままであるため、より大きなものに対応するためにページが再表示されます。これは、好みを読んで維持するのに適しているため、非常に便利です。次に、トラックパッドにピンチズームがあります。これは、再レイアウトがない実際の虫眼鏡のように振る舞います。ビューポートを含めてすべてが大きくなります。これはまったく異なる動作ですが、気分が良くて期待されているので、ユーザーはそれを手に入れて必要に応じて両方を使用すると思います。
しかし、その後、CSSレベルで実行できるズームがあります。私たちは持っています transform: scale()
(ただ scale
今あなたがクールな場合)そして、非常に未知のものとして zoom
財産。
私は今までにあまり注意を払ったことがないと思います
zoom
CSSの執筆20年の財産。
同じ。私はそれがそこにあることを知っていましたが、それを使用するのに適切な時期は決してないようです。 scale
。しかし、それは違います!
例えば
transform: scale(0.6)
で使用されますhtml
またはbody
その後、要素はページ全体をサイズ変更し、その周りに巨大な白い縁があるマニファイ付きページを表示しますが、zoom: 0.6
ページ上の要素をスケーリングしますが、要素が描画されるページ自体ではありません。
やるべきです * { min-width: 0; }
?アイデアが得られます。何もありません 許可 本質的なサイズよりも小さくなる要素は、Occationalのようなものを手に入れます グリッドブローアウトs例
.grid {
/* auto minimum width, causing problem */
grid-template-columns: 1fr 300px;
/* fix: minimum width of 0 */
grid-template-columns: minmax(0, 1fr) 300px;
}
私は今それをしていますが、要素に min-width
すでに0の(または inline-size
あなたがかっこいいなら)。 ケビンのビデオ 必ずしもあなたが望むものではない状況に入るので、リセットすることをためらいます。
Views: 0
ショート動画共有SNSのTikTokが、EUのユーザーデータを中国へ違法に送信したとして、アイルランドデータ保護委員会から5億ユーロ(約810億円)超の罰金が科される見込みだと経済紙のBloombergが報じました。
TikTok Faces Fine Over €500 Million for EU Data Sent to China – Bloomberg
https://www.bloomberg.com/news/articles/2025-04-03/tiktok-faces-fine-over-500-million-for-eu-data-sent-to-china
TikTok reportedly faces a €500 million fine for sending private user data to China
https://www.engadget.com/big-tech/tiktok-reportedly-faces-a-€500-million-fine-for-sending-private-user-data-to-china-162214079.html
Ireland to target TikTok with €500m fine for sending users’ data to China
https://www.telegraph.co.uk/business/2025/04/03/ireland-target-tiktok-500m-fine-sending-user-data-china/
中国のテクノロジー企業・ByteDanceが運営するTikTokは世界中の若年層を中心に絶大な人気を集めていますが、「子どものメンタルヘルスに害を与える」「未成年者保護施策が不十分」などと指摘されているほか、ユーザーデータを中国に送信していたことも問題視されています。
2021年2月にはEUの消費者保護団体である欧州消費者機構(BEUC)が、「誤解を招くデータ収集ポリシーで消費者の権利を侵害し、子どもたちを巧妙に隠された広告や不適切なコンテンツにさらしている」とTikTokに苦情を申し立てました。
こうした動きを受けて、ByteDanceがヨーロッパ事業の拠点を置くアイルランドのデータ保護委員会は、EU一般データ保護規則(GDPR)違反でTikTokの調査に乗り出しました。当時アイルランドのデータ保護委員会で委員を務めていたヘレン・ディクソン氏は、「TikTokはEUのデータがアメリカに転送され、中国には転送されないと言っています。しかし、中国の保守エンジニアやAIエンジニアが、データにアクセスしている可能性があると理解しています」とコメントしています。
その後2022年11月に、TikTokはヨーロッパのユーザー向けのプライバシーポリシーを更新。その中で「業務遂行に必要な場合、一連の強固なセキュリティコントロールと承認プロトコルに従った上で、EU一般データ保護規則(GDPR)で認められた方法でブラジル、カナダ、中国、イスラエル、日本、マレーシア、フィリピン、シンガポール、韓国、アメリカにある当社の企業グループの特定の従業員に、TikTokヨーロッパのユーザーデータへのリモートアクセスを許可します」と記しており、TikTokは中国のスタッフがEUのユーザーデータにアクセス可能だったことを認めています。
TikTokが「中国人スタッフがユーザーデータを閲覧可能」と認める、ヨーロッパでのプライバシーポリシー更新で – GIGAZINE
そして2025年4月3日、Bloombergは「アイルランドデータ保護委員会はTikTokがEUユーザーのデータを違法に中国へ送ったとして、5億ユーロ以上のプライバシー罰金を科すことになった」と報じました。
Bloombergに証言した匿名の関係者によると、約4年間にわたるTikTokのデータ処理慣行に関する調査の結果、中国にユーザーデータを送信する際にGDPRに違反していることが判明したとのこと。アイルランドデータ保護委員会は4月末までに罰金を科す見込みですが、罰金の正確な額や決定のタイミングは変更される可能性があるそうです。
Bloombergのコメント要請に対して、記事作成時点でTikTokは回答しておらず、アイルランドデータ保護委員会はコメントを拒否しました。TikTokは今回の決定に対し、アイルランドの裁判所に上訴することが可能です。
なお、TikTokはアメリカでサービスを停止するか事業を売却するかの判断を迫られており、4月5日の期限を前にOracleやMicrosoft、Amazonなども買収に名乗りを上げていると報じられています。
AmazonもTikTok買収に名乗り、ただし本気ではないとの指摘あり – GIGAZINE
この記事のタイトルとURLをコピーする
Views: 0
Pythonで手軽にフロントエンドを作れるライブラリ「Streamlit」を、久しぶりに触れてみました。その中で特に気になった新機能があったので、いくつかピックアップしてご紹介します。
記事執筆時点(4/5)の最新バージョンはv1.44.0
のようでした。
https://docs.streamlit.io/develop/quick-reference/release-notes/2025
今回は1.44.0のアップデートを2つ、1.43.0のアップデート(2025/3/4)を1つ取り上げてみたいと思います。
前提 実行環境はuvを使っています。uvがインストールされていることを前提に以下記載しています。詳しくは公式ページをご覧ください。
st.chat_input
がファイル入力を受け付けるようになった(v1.43.0)📁 Announcing the option to accept files with st.chat_input!
従来、ファイルアップロードをできるUIを作るには、st.file_uploader
を使う必要がありましたが、st.chat_input
において、accept_file
をTrueにすることで、ファイルアップロード用のUIを表示できるようになりました。(以下参照)file_type
を指定することで、アップロードすることのできる拡張子を指定することができます。
このアップデートで、マルチモーダルなチャットUIの構築がさらに手軽になった印象です。
prompt = st.chat_input(
"メッセージとファイルを入力してください",
accept_file=True,
file_type=["jpg", "jpeg", "png"]
)
とても雑な作りですがこんなAIとマルチーモーダルに対話するUIが簡単に作れました。詳細なコードの解説はここでは割愛しますが、入力されたプロンプトから質問のtextとアップロードされたfileを抽出し、それをAmazon BedrockのConverseAPIに渡す形で作っています。(作成にあたっては一部こちらを参照しました)
(イメージ)
if prompt:
question = prompt["text"]
files = prompt["files"]
if files:
uploaded_file = files[0]
.....
# bedrockのAPIを呼び出す処理(question,uploaded_fileを引数で渡してあげる)
chat_inputを使って入力されたpromptの中身をターミナルに出力して確認してみると、以下のような形式になっています。
ChatInputValue(text="説明して", files=[UploadedFile(file_id='XXXX', name="0000096860.pdf", type="application/pdf", size=2031020, _file_urls=file_id: "XXXXX"
upload_url: "XXXXXXXXXX"
delete_url: "XXXXXXXXX"
)])
🤖 st.exception includes links to open Google or ChatGPT with the contents of the exception. This includes uncaught exceptions displayed in the app.
エラー内容を、ChatGPTやGoogleで検索できるようになりました。
簡単な例ではありますが、Pythonコードを書きエラーを発生させてみます。
import streamlit as st
st.title("📌 Streamlit v1.44.0新機能")
try:
x = 1 / 0 # わざとゼロ除算してみる
except Exception as e:
st.exception(e)
でローカル(localhost:8501
)でアプリをstreamlitで立ち上げ、ブラウザを確認してみます。
ゼロ除算をしているのでこのコードは当然エラーになります。
エラー画面に注目すると、Ask Google
Ask ChatGPT
というリンクが表示されています。
実際に各リンクを押してみると、Ask Google
の方はエラー内容を自動的に検索ボックスに入れて検索、Ask ChatGPT
の方ではエラー内容自動的にチャットに入力し、ChatGPT内で質問が走るようになっていました。
開発をしていてエラーに直面した際、エラー内容をいちいちペタペタ貼って検索するのは面倒ではあるので、その手間を省いてくれる点で役立ちそうです。
Ask ChatGPTの方に関しては、エラー内容がそのままチャットに入力→送信されるので、プロジェクト固有の情報が入っているソースコードなどで利用する際は、安全性はしっかりと確認した上で利用した方がいいかもしれません。
🗺️ You can access the user’s locale through st.context (#10563).
st.context provides a read-only interface to access headers and cookies for the current user session.
st.context
を使うことで、ユーザーのlocale(言語設定)を取得できるようになりました。これにより、アプリ側で表示言語を切り替えるといった多言語対応がより実現しやすくなりそうです。
こちらも簡単なコードではありますが試してみます。
import streamlit as st
context = st.context
locale = context.locale
st.write(locale)
if locale == "ja":
st.write("こんにちは")
else:
st.write("Hello!")
ユーザーのロケールを正しく取得していることがわかりました。
簡単ではありましたが、今回はstreamlitの機能をいくつかピックアップして紹介してみました。
最近ではOIDCによるユーザー認証が追加されたり(v1.42.0〜)と、開発者にとって便利な機能が続々と追加されているStreamlitですが、今回取り上げた機能は「劇的な変化」ではないものの、あると嬉しい便利機能がしっかりと詰まっていると感じました。今後のアップデートも引き続き追っていきたいと思います。
Streamlitを使ったLLMチャットアプリの作り方が解説されている公式チュートリアルです。興味がある方はこちらもぜひチェックしてみてください。
Views: 0