とりあえず、メモ
display: flex;
ーーーー
<html>
<style>
.flex {
display: flex;
}
</style>
<body>
<div class="flex">
<p>社長</p>
<p>部長</p>
<p>課長</p>
</div>
</body>
</html>
技術的な知見や日々の記録、日常の些細な変化などを綴る雑記ブログです。専門的な技術解説から日記のようなライトな話題まで、特定のジャンルに縛られず、気になったことや面白いと感じた出来事を幅広く発信しています。筆者の視点で切り取った多様なコンテンツが楽しめる、自由な雑記空間を目指しています。
とりあえず、メモ
display: flex;
ーーーー
<html>
<style>
.flex {
display: flex;
}
</style>
<body>
<div class="flex">
<p>社長</p>
<p>部長</p>
<p>課長</p>
</div>
</body>
</html>
HTMLでコーディングしていて、動画の上に別のタグを重ねるデザインを実装したところ、Safariでの表示に問題が発生しました。他のブラウザでは正常に表示されるのに、Safariだけ動画の裏側に要素が表示されてしまい、困っていました。
原因として、z-indexの問題か、Safariのレンダリング順序の問題かと考え、調べてみました。
その結果、以下のCSSを追加することで、重ねて表示できるようになりました。
transform: translateZ(1px); /* 回避手段 */
この方法で、Safariでも動画の上に要素を正しく重ねて表示できるようになりました。
リジェクトされた、しかもスパム扱い
これどうしたらよいだろうか・・・・
クライアントにこのアプリ作ってって言われて作成しただけなのに
We noticed your app shares a similar binary, metadata, and/or concept as apps submitted to the App Store by other developers, with only minor differences.
Submitting similar or repackaged apps is a form of spam that creates clutter and makes it difficult for users to discover new apps.
Next Steps
Since we do not accept spam apps on the App Store, we encourage you to review your app concept and submit a unique app with distinct content and functionality.
----
ガイドライン4.3(a) - デザイン - スパム
あなたのアプリは、他の開発者がApp Storeに提出したアプリと、バイナリ、メタデータ、および/またはコンセプトが類似しており、わずかな違いしかありません。類似したアプリやリパッケージされたアプリの提出は、乱雑さを生み出し、ユーザーが新しいアプリを発見することを困難にするスパムの一形態です。
次のステップ
App Storeではスパムアプリを受け付けておりませんので、アプリのコンセプトを見直し、明確なコンテンツと機能を備えたユニークなアプリをご提出ください。
C#でuser32.dllを使用してマウスカーソルを消すには、
P/Invoke(Platform Invocation Services)を利用してWindows APIを呼び出します。
以下の手順で、マウスカーソルを非表示にする方法を説明します。
user32.dllのインポート:user32.dllのShowCursor関数を呼び出すために、P/Invokeを使います。
ShowCursor関数の呼び出し:ShowCursor関数は、カーソルの表示状態を変更するために使います。
関数の引数にfalseを渡すことでカーソルを非表示にできます。
以下に、C#コードの例を示します。
using System;
using System.Runtime.InteropServices;
class Program
{
// user32.dllのShowCursor関数をインポート
[DllImport("user32.dll")]
private static extern int ShowCursor(bool bShow);
static void Main(string[] args)
{
// カーソルを非表示にする
ShowCursor(false);
Console.WriteLine("Press any key to show cursor again...");
Console.ReadKey();
// カーソルを表示する
ShowCursor(true);
}
}
マウスカーソルを非表示にすることで、特定のアプリケーション(ゲーム、全画面表示のアプリケーションなど)の操作性を向上させたり、より没入感のある体験を提供したりすることができます。C#では、P/Invoke(Platfrom Invocation Services)を利用してWindows APIのShowCursor関数を呼び出すことで、マウスカーソルを簡単に非表示にすることができます。
P/Invokeは、マネージドコード(C#など)からアンマネージドコード(C++で記述されたDLLなど)を呼び出すための仕組みです。これにより、C#からWindows APIなどの既存の機能を再利用することができます。
ShowCursor関数の利用ShowCursor関数は、Windows APIの一部であり、マウスカーソルの表示/非表示を制御するために使用されます。この関数を呼び出すことで、アプリケーションの動作に合わせてマウスカーソルを動的に制御することができます。
user32.dllのインポート: DllImport属性を使用して、user32.dllのShowCursor関数をC#コードにインポートします。ShowCursor関数の呼び出し: ShowCursor関数を呼び出し、引数にfalseを渡すことでマウスカーソルを非表示にできます。trueを渡すと、マウスカーソルが再び表示されます。以下に、マウスカーソルを非表示にするC#コードの例を示します。
using System;
using System.Runtime.InteropServices;
class Program
{
// user32.dllのShowCursor関数をインポート
[DllImport("user32.dll")]
private static extern int ShowCursor(bool bShow);
static void Main(string[] args)
{
// カーソルを非表示にする
ShowCursor(false);
Console.WriteLine("マウスカーソルを非表示にしました。");
Console.WriteLine("何かキーを押すとマウスカーソルを再表示します...");
Console.ReadKey();
// カーソルを表示する
ShowCursor(true);
Console.WriteLine("マウスカーソルを再表示しました。");
}
}
コード解説:
[DllImport("user32.dll")]: user32.dllをインポートし、ShowCursor関数をC#から呼び出せるようにします。private static extern int ShowCursor(bool bShow);: ShowCursor関数のシグネチャを定義します。bool bShowは、カーソルを表示するか非表示にするかを指定する引数です。ShowCursor(false);: カーソルを非表示にします。ShowCursor(true);: カーソルを表示します。P/Invokeを利用することで、C#からWindows APIのShowCursor関数を呼び出し、マウスカーソルを簡単に非表示にすることができます。この機能は、特定のアプリケーションの操作性を向上させたり、より没入感のある体験を提供したりするのに役立ちます。ただし、ユーザーエクスペリエンスに配慮し、適切な状況でのみ使用するように注意してください。
| 機種 |
|---|
| iPhone 15 |
| iPhone 15 Plus |
| iPhone 15 Pro |
| iPhone 15 Pro Max |
| iPhone 14 |
| iPhone 14 Plus |
| iPhone 14 Pro |
| iPhone 14 Pro Max |
| iPhone 13 |
| iPhone 13 mini |
| iPhone 13 Pro |
| iPhone 13 Pro Max |
| iPhone 12 |
| iPhone 12 mini |
| iPhone 12 Pro |
| iPhone 12 Pro Max |
| iPhone 11 |
| iPhone 11 Pro |
| iPhone 11 Pro Max |
| iPhone XS |
| iPhone XS Max |
| iPhone XR |
| iPhone SE(第2世代) |
| iPhone SE(第3世代) |
android のOSのバージョンの分布が気になったので確認してみました。
新規に作成する人は10以上で作成を行えばよいのでは?と思います。
ちなみに、android studioで確認が可能です。
ソースコードレビューしていて、ふと気になった点があります。条件分岐の書き方について、どちらのスタイルが多いのか、あるいはどちらが読みやすいと感じるか、といったことです。
私は後者の書き方が好きで、ソースコードの最初に「ダメな条件」を記述し、最後に「問題ない時の処理」を記述するのが好みです。これは、コードの意図が明確になり、可読性が向上すると思ってます。
-------------
if (aaaaaa == 1) {
// 問題ない時の処理
} else {
print("エラーだよ");
}
------or-------
if (aaaaaa != 1) {
print("エラーだよ");
return;
}
// 問題ない時の処理
-------------
上記2つのコードは、どちらも同じ処理を行います。しかし、書き方によってコードの理解しやすさが変わってきます。前者では、条件が真の場合と偽の場合の両方を記述する必要があり、コードが少し長くなる可能性があります。一方、後者では、エラー条件を最初にチェックし、エラーの場合はすぐに処理を中断するため、コードが簡潔になり、可読性が向上します。この「エラー条件を最初にチェックする」という書き方は、「早期リターン」と呼ばれ、多くのプログラミングコミュニティで推奨されています。
早期リターンを採用することで、ネストされた条件分岐を減らすことができ、コードの複雑さを軽減できます。また、エラー処理が明確になり、デバッグが容易になります。もちろん、どちらの書き方が正解というわけではありません。チームのコーディング規約や個人の好みに合わせて選択することが重要です。しかし、早期リターンは、可読性、保守性、デバッグの容易性を向上させるための有効な手段の一つと言えるでしょう。
このガイドでは、X( 旧 Twitter) センシティブの設定を解除する方法を説明します。
プライバシーオプションを選択します。センシティブ コンテンツの項目を見つけます。上記の手順に従えば、x センシティブの設定を解除できます。
最近、テレビでYouTubeを見る機会が増えていませんか?多くのの人が、好きなYouTuberの動画やライブ配信を楽しんでいることと思います。ライブ配信では、コメントだけでなくチャット機能を使って、演者とリアルタイムなやり取りが可能です。
しかし、テレビでYouTubeを見ると、チャットが画面の右半分ほどを占めてしまい、動画を全画面で楽しむことができません。チャット部分を別画面で表示できないだろうか、と疑問に思う方も多いでしょう。
実は、チャット部分を別画面で表示する簡単な方法があるのです。以下のURLに、配信中のビデオIDを「v=」の後に追加するだけで、チャット部分を別画面で表示することができます。
チャット別画面表示URL: https://www.youtube.com/live_chat?v=配信ID
テレビでYouTubeチャット別画面表示機能を使えば、動画を全画面で楽しむと同時に、チャットも快適に閲覧することができます。ぜひ試してみてください!
ブログ「一生ヘタレプログラマ」では、iOSやAndroidの最新情報、プログラミングのヒント、個人的な経験談を紹介しています。最近の記事では、iOS 17.5の更新、Android 15のベータ版、Rocky Linux 9のインストール手順について触れています。また、SwiftのUIViewControllerライフサイクルの詳細な説明や、技術業界での体験談も共有されています。
ーー
とのこと。
Rocky Linux 9を最小構成でインストールした場合、よく忘れがちな初期設定手順をメモとして記載します。
# dnf -y update
まず、最新の状態に更新します。
# nmtui
IPアドレスを固定化する場合は設定してください。(すでに設定済みの場合 は不要です。)
# shutdown -rf now
アップデート内容を反映させるために再起動します。
# ip addr
再起動後、IPアドレスが正しく設定されているか確認します。
上記コマンドで、自分のIPアドレスを確認してください。
補足:
# はroot権限でコマンドを実行することを意味します。nmtui はテキストベースのネットワーク設定ツールです。GUI環境がない場合でも利用できます。2024年4月29日以降、
App Store Connectにアップロードするアプリは
iOS 17、iPadOS 17、tvOS 17、
またはwatchOS 10向けにXcode 15 でビルドする必要があります。
----
過去に書いていたのですが、意外と観ていただいている人がいたので、更新版です
忘れやすいですよね
もう少し、細かいイベントを追加しました
import UIKit
class ViewController: UIViewController {
override func awakeFromNib() {
super.awakeFromNib()
print("awakeFromNib")
}
override func loadView() {
super.loadView()
print("loadView")
}
override func viewDidLoad() {
super.viewDidLoad()
print("viewDidLoad")
}
override func loadViewIfNeeded() {
super.loadViewIfNeeded()
print("loadViewIfNeeded")
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
print("viewWillAppear")
}
override func viewLayoutMarginsDidChange() {
super.viewLayoutMarginsDidChange()
print("viewLayoutMarginsDidChange")
}
override func viewSafeAreaInsetsDidChange() {
super.viewSafeAreaInsetsDidChange()
print("viewSafeAreaInsetsDidChange")
}
override func updateViewConstraints() {
super.updateViewConstraints()
print("updateViewConstraints")
}
override func viewIsAppearing(_ animated: Bool) {
super.viewIsAppearing(animated)
print("viewIsAppearing")
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
print("viewDidAppear")
}
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
print("viewWillLayoutSubviews")
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
print("viewDidLayoutSubviews")
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
print("viewWillDisappear")
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
print("viewDidDisappear")
}
}
2024年2月1日、東京・品川区のオフィス街。
28歳のプログラマ、佐藤は、いつものようにオフィスで仕事をしていた。
佐藤は、新しく開発中のゲームのプログラムを担当していた。
ゲームは、プレイヤーが巨大なモンスターと戦うアクションゲームだった。
佐藤は、ゲームのグラフィックやサウンドも担当していた。
佐藤は、ゲームの完成に向けて、日々懸命に取り組んでいた。
しかし、その日、佐藤はいつもと違う違和感を感じていた。
頭がぼんやりするし、体がだるい。
「風邪かな?」
佐藤は、心配になって、体温を測ってみた。
37.5度。
「やっぱり風邪だ。」
佐藤は、残念そうにため息をついた。
佐藤は、風邪をひくと、いつも仕事に支障をきたす。
頭がぼんやりして、集中力が続かない。
そのため、いつもより多くのミスをしてしまう。
「今日は、早めに帰ろう。」
佐藤は、上司に報告して、会社を後にした。
家に帰ると、すぐに布団に潜り込んだ。
「早く治れよ。」
佐藤は、そう呟いて、目を閉じた。
翌日、佐藤は、さらに体調が悪くなった。
頭痛がひどくなり、熱も38度を超えていた。
佐藤は、仕事を休んで、寝込むことにした。
3日後、佐藤の体調は少しずつ回復し始めた。
しかし、まだ頭痛や倦怠感は残っていた。
佐藤は、仕事に復帰するかどうか迷っていた。
「早く仕事に戻らないと、プロジェクトが遅れる。」
佐藤は、そう考えて、仕事に戻ることにした。
しかし、佐藤の体調は、まだ完全には回復していなかった。
仕事に集中できず、ミスを連発した。
上司は、佐藤の様子を見て、心配そうに言った。
「佐藤、まだ無理をしないほうがいいよ。」
しかし、佐藤は、仕事にこだわりすぎていた。
「大丈夫です。もう大丈夫です。」
佐藤は、そう言って、仕事を続けた。
しかし、佐藤の体調は、さらに悪化した。
頭痛がひどくなり、熱も39度を超えた。
佐藤は、とうとう倒れてしまった。
佐藤は、病院に運ばれ、入院した。
佐藤は、入院して2週間、ようやく退院することができた。
しかし、佐藤は、まだ完全には回復していなかった。
佐藤は、仕事に復帰することを断念した。
佐藤は、自分の過ちを反省した。
「もう、仕事に無理をしない。」
佐藤は、そう心に誓った。
佐藤は、しばらくの間、ゆっくりと休養をとることにした。
そして、体調が完全に回復したら、もう一度、仕事に挑戦することを決意した。
佐藤の物語は、仕事に熱心すぎるあまり、自分の体を壊してしまうことの危険性を警告する物語です。
仕事は大切ですが、健康も大切です。
仕事と健康のバランスをうまく保つことが、大切なのではないでしょうか。
2024年1月18日、神奈川県横浜市にある一小学校で、担任教師の田中由紀は、いつものように授業を行っていた。由紀は、3年生の担任を務め、生徒たちから慕われていた。
授業が終わり、生徒たちが下校していくと、由紀は息を切らせながら机に座った。最近、少し体調がすぐれない気がしていた。
「やっぱり、風邪ひいちゃったかな」
由紀は、自分の額に手を当てた。熱は、まだそれほど高くはない。
「でも、明日も授業があるし、なんとか乗り切らないと」
由紀は、無理をしながらも、翌日の授業に備えて準備を始めた。
翌日、由紀は、いつも通りに学校に向かった。しかし、授業が始まると、頭痛や倦怠感、鼻水などの症状がひどくなってきた。
「もう、無理だ」
由紀は、担任主任に連絡し、休ませてもらうことにした。
由紀は、自宅で療養することにした。しかし、熱はどんどん上昇し、咳や鼻水もひどくなった。
「これは、マズイ」
由紀は、病院に行くことにした。
病院で診察を受けた由紀は、肺炎と診断された。
「肺炎って、重症になることもあるんですよね?」
由紀は、不安でいっぱいだった。
「心配はいりません。早めに治療すれば、大丈夫ですよ」
医師の言葉に、由紀は少し安心した。
由紀は、入院して治療を受けることとなった。
入院中、由紀は、生徒たちのことを心配していた。
「早く退院して、みんなに会いたい」
由紀は、退院の日を待ちわびた。
そして、2週間後、由紀は退院することができた。
退院した由紀は、すぐに学校に向かった。
「先生、おかえりなさい!」
生徒たちは、由紀の帰りを心待ちにしていた。
14日後に風邪をひく小学校教師由紀は、生徒たちと再会し、嬉し涙を流した。
「先生、お大事にしてください」
生徒たちは、由紀を気遣って声をかけてくれた。
由紀は、生徒たちとの再会に、心から安堵した。
由紀は、改めて、教師という仕事の大切さを実感した。
「これからも、生徒たちのために、頑張ろう」
由紀は、そう心に誓った。
13日後に風邪をひく3DCGデザイナー
2024年1月18日、神奈川県横浜市に住む30歳の3DCGデザイナー、佐藤は、いつものように仕事に励んでいた。
佐藤は、大手ゲーム会社に勤務するベテランデザイナーで、これまでに数々のヒットゲームの3DCG制作に携わってきた。彼は、仕事に熱心で、常に完璧な作品を目指して努力していた。
しかし、佐藤にはひとつだけ、悩みがあった。それは、なぜか13日ごとに必ず風邪をひいてしまうことだった。
佐藤は、最初は単なる偶然だと思っていた。しかし、13日ごとに風邪をひくという現象は、何度繰り返しても変わらなかった。
佐藤は、風邪をひくと、仕事に支障をきたすこともあった。また、体調が悪いと、いつものパフォーマンスを発揮することができず、ストレスも溜まっていた。
佐藤は、風邪をひかないように、いろいろな対策を試してみた。しかし、どれも効果はなかった。
ある日、佐藤は、風邪をひく理由を占ってもらうことにした。占い師は、佐藤の守護霊から、次のようなメッセージを受け取った。
「佐藤さん、あなたは、13日ごとに、自分の人生を振り返る機会を与えられています。それは、あなたが、これまでの人生で、何か大切なことを忘れていないか、確認するための機会です。もし、何か大切なことを忘れていたら、それを思い出し、人生をより良いものにするために、行動を起こしてください。」
占い師の言葉を聞いた佐藤は、自分の人生を振り返ってみることにした。
そして、佐藤は、あることに気づいた。それは、彼が、仕事にばかり没頭していて、家族や友人と過ごす時間を、大切にできていなかったということだった。
佐藤は、占い師の言葉を心に留め、家族や友人と過ごす時間を、もっと大切にしようと決意した。
そして、13日後に風邪をひくという現象は、その後、起こらなくなった。
佐藤は、自分の人生をより良いものにするために、大切なことを思い出すことができた。そして、風邪をひくことで、彼は、人生の大切さを学んだのだった。