Amazonタイムセールで、SOUNDPEATSのハイレゾ対応完全ワイヤレス「Air5 Pro」が本日80台限定で登場中。
Source link
Views: 0
Amazonタイムセールで、SOUNDPEATSのハイレゾ対応完全ワイヤレス「Air5 Pro」が本日80台限定で登場中。
Source link
Views: 0
「レスポンシブビデオ」として知られるアイデアを取り戻すために、私はスコットジェールの個人的な告発に感銘を受けました。あなたが見たことがあるなら
要素、および複数を提供する方法
sが違う @media
最高の試合のみを表示できるクエリは、すでにそれを取得します。ブラウザは、かつてはそれが良いアイデアであると賢明に考え、それがブラウザになったことが判明し、それが偉大な理由ではなく裂け、スコットはそれを望んでいました。
私のようにひどいブログの投稿を書くだけでなく、最善を尽くして かなり目をしてください 私が助けることができると思う人には、スコットは彼の袖を巻き上げて それをしました。
まず、彼はしなければなりませんでした キックアップします ワーキンググループでは、それが呼ばれるWhatWG、そして会話を始めます。会話は起こりましたが、それは消えました。何年も。それがまさにそれが時々行く方法です。しかし、運のストロークによって、それは再び蹴り上がり、火花の瞬間が起こりました:
…からの代表者 Firefox そして クロム 彼らが同意し、彼らの支持を復活させるつもりだと言って叫んだ!それに続いて、実装バグはに提出されました クロム そして Firefox トラッカー。
あなたは思うかもしれません 初め 物事は「スペック」に入ります それから ブラウザはそれらを実装することに同意します。しかし、それは実際には逆です。実装する契約が掲載されたので、仕様はレスポンシブビデオを元に戻すように追加されました。
うーん!それはたくさんです!
でも待って!
ブラウザが同意し、仕様が更新されたからといって、まだすぐに実際に起こるというわけではありません。誰かがまだ袖をまく必要があり、実際に する それ。余談ですが、それが理由だと思います イガリー このような多くのことに非常に成功し、関与しています。
この場合、行う者の行為は…スコットでした。
トリッキーな部分は、Webのコードを書くことです サイト とWeb ブラウザ は とても 違う。スコットは、C ++であるFirefoxに取り組みました。
最初の手順に従って、私の老化したMacBook Proは毎晩Firefoxをクローンして構築するのに少なくとも数時間かかりましたが、問題なくすべてが機能することを嬉しく思いました。その後、ビデオでメディア属性サポートを可能にするC ++コードの復活に移りました
source
要素。
幸いなことに、オープンソースの良い恵みにより、スコットはこれらの機能が追加/削除された古いコミットを見つけることができたので、彼は出発点を持っていました。しかし、最終的にはもっと多くのことになり、スコットの知性、熱意、そして純粋な意志を通して、彼はそれをすべて押し通しました!彼はdo chromeについてでしたが、彼らは自分でそれをすることになりました。いいね!
良い!私は誤って再ブログされました スコットのブログ投稿。おっと。申し訳ありませんがスコット。しかし、それは私たちをさらにいくつかのパフォーマンス関連のリンクに賛成します。
Rick Viscomiには、Webパフォーマンスの概要があります、それについて考える方法、そして2024年を始めるときに何が起こっているのか。
2023年の開始時に、ウェブサイトの40.1%がモバイルユーザーエクスペリエンスのコアWebバイタル評価に合格しました。それ以来、着実に成長しています。 2023年9月の時点で、私たちはWebサイトの42.5%で、Core Web Vitals Assessment、2.4パーセントポイントの改善、つまり6.0%の改善に慣れています。これは新しい高値であり、Webエコシステム全体で信じられないほどの量の作業を表しています。
2.4%の動き ウェブ全体の 私にはかなり良いようです。
投稿には、より多くのデータと情報がロードされています。画像のパフォーマンスについて興味深いことを見つけました。
最も遅い部分は、実際にはリソース負荷です 遅れ。したがって、 遅いLCP画像をスピードアップする最大の機会は、より早くロードすることです。繰り返しになると、問題は、画像がロードにかかる時間が少なく、すぐにロードしていないということです。
画像のサイズとフォーマットは画像のパフォーマンスに非常に重要であるとしばしば考えていますが、すぐに読み込まないことは全体的に4倍の大きな問題のようなものです。これを傷つけるあらゆる種類のことがあります。完全にClienet側のレンダリングされたアプリはこれを傷つけます。使用 loading="lazy"
「最大の満足している塗料」に含まれる画像では、これも痛いです。あなたはaと反撃することができます rel="preload"
事柄ですが、可能であれば問題を避ける方が良いです。
画像のパフォーマンスといえば、Tim Severienは次のように尋ねます。 AvifはWeb上の支配的な画像形式である必要がありますか? それは非常に複雑で、最終的には少し主観的で、イメージの種類と目標によって異なります。私の脳は勝者を宣言するのが大好きですが、ここでは起こらないのではないかと思います。これは計算コストのようなものにはなりませんでしたが、私は常にAvifではるかに高いと理解していました。個々の画像に基づいて呼び出しを行うツールのアイデアが気に入っています。
がある たくさん Webパフォーマンスの「なぜ」。サイトの信頼性が高く信頼できるようになり、人々が物事を待っていると気を散らさないため、彼らはすべてビジネスに適しているように、すべてが良いです。それは惑星にとって良いことです(炭素排出量が少ない)。アクセシビリティに適しています(遅い接続でサイトを使用できます)。
それはまた…私たちの脳の中でです。 Tammy Evertsは言います:
時間を考慮しないと、重要な使いやすさの要因と見なされると、ユーザーエクスペリエンスの基本的な側面が欠けています。
彼女の研究、そして他の人の研究を引用することは、これがすべてであることを示しています。私たちはただ焦りの存在であり、時間の経過とともに変化しておらず、そうではありません。
インターネットが変更され、Webページが成長して進化する可能性がありますが、ユーザーの期待は一定です。 人間の認識と応答時間に関する数は、45年以上にわたって一貫しています。 これらの数字はハードワイヤードです。それらを制御することはゼロです。これらは、特定の瞬間に使用しているデバイス、アプリケーション、または接続の種類に関係なく、一貫しています。
私たちの多くは、その鍵のかかった知識を持っています document.write()
悪いことであり、決して使用すべきではありません。それは、人々がウェブパフォーマンスを真剣に受け止めている初期の頃からの格言でなければなりません。 ハリー・ロバーツはそれを掘り、その理由を正確に説明します、それはまだ間違いなく真実なので。
ボーナス:
1MBクラブ 1メガバイト未満のパフォーマンスに焦点を当てたWebページのコレクションが増えています。
Views: 0
1億年以上も前の魚竜の化石が精巧な状態で見つかることは、それ自体とても貴重なことです。
しかし今回、チリ・マガジャネス大学(University of Magallanes)の古生物学者らは、1億3100万年前の魚竜化石を発見しただけでなく、その個体が双子の胎児を妊娠していたことを明らかにしました。
白亜紀前期の地層から妊娠中の魚竜が発見されたのは、これが初めてとのことです。
研究の詳細は2025年2月25日付で科学雑誌『Journal of Vertebrate Paleontology』に掲載されています。
目次
ジュラ紀から白亜紀にかけて、海を支配していたのが「魚竜(イクチオサウルス)」と呼ばれる海棲爬虫類です。
彼らは恐竜の出現時期(約2億3000万年前)よりやや早く誕生し、恐竜が絶滅するより約2500万年前に姿を消しました。
その見た目は現代のイルカやクジラに似た流線型の体を持ち、優れた遊泳能力を誇る捕食者だったことがわかっています。
Recién reaccionado de lo que pasó gracias a mi tremendo team! Felices de que nuestra expedición al Glaciar Tyndall resultó tremendamente exitosa, luego de un mes de campaña acampando en el sector del glaciar hemos conseguido excavar a la ictiosauria “Fiona” pic.twitter.com/OiBqlQyx3X
— Judith Pardo-Pérez (@judkasan) May 10, 2022
これまでの研究で、魚竜が胎生(卵ではなく、人と同じように子供を直接産む)であることは知られていました。
しかし今回のように、双子を妊娠した状態のまま化石化した例はきわめて珍しく、白亜紀からの発見は世界で初めてです。
発見された魚竜化石の個体は「フィオナ(Fiona)」と命名されており、最初に発見されたのは2009年のことでした。
しかし化石全体が完全に発掘されるのは、それから10年後のことです。
フィオナは「ミオブラディプテリギウス・ハウタリ(学名:Myobradypterygius hauthali)」という種で、これまでにアルゼンチンで断片的な化石が見つかっていました。
全長は約3.5メートルで、 最初の発掘時にはすでに胎児の一部が確認されています。
ただ詳細な分析のために行われた新たなCTスキャンの結果、体内には2体の胎児が含まれていたことが明らかになったのです。
魚竜は複数の子供を同時に妊娠していたと考えられるので、双子であること自体が珍しいわけではありません。
魚竜のほぼ完全な全身骨格と、胎児がまだ体内に残された状態で見つかったことが非常に稀少だったのです。
CTスキャンによりフィオナの体内が詳細に可視化された結果、1体と思われていた胎児が実は2体であったことが判明しました。
この双子の胎児は母体の肋骨と肋骨の間にそれぞれ位置しており、1体ずつ異なる角度で収まっていたことから、明確に2体と判断されました。
また、注目すべきは出産の方向性です。
初期の魚竜は胎児を頭から出産していたと考えられていましたが、フィオナの胎児の配置から、本種は尾から出産していたことが示唆されています。
これは現代のイルカやクジラと同様の適応で、水中出産時に窒息のリスクを減らす有利な形態とされています。
さらにフィオナの消化管からは小型魚類の骨の断片が確認されており、彼女が最後に食べた獲物だった可能性があります。
これは白亜紀の魚竜の食性を示す貴重な直接証拠であり、単なる骨格標本では分からない行動的な側面にも光を当てるものです。
今回の発見は、死の瞬間をそのまま封じ込めたかのような化石が、1億年以上の時を経て語りかけてくるという、まさにタイムカプセルのような事例となりました。
参考文献
‘Twins! She has another baby’: Sea monster from Chile had 2 buns in the oven, rare fossil reveals
https://www.livescience.com/animals/extinct-species/twins-she-has-another-baby-sea-monster-from-chile-had-2-buns-in-the-oven-rare-fossil-reveals
元論文
The first gravid ichthyosaur from the Hauterivian (Early Cretaceous): a complete Myobradypterygius hauthali von Huene, 1927 excavated from the border of the Tyndall Glacier, Torres del Paine National Park, southernmost Chile
https://doi.org/10.1080/02724634.2024.2445705
ライター
千野 真吾: 生物学に興味のあるWebライター。普段は読書をするのが趣味で、休みの日には野鳥や動物の写真を撮っています。
編集者
ナゾロジー 編集部
Views: 0
こんにちは!タランチュラです。
突然ですが、Pythonでスクリプトを書いていると頻繁に目にするif __name__ == '__main__':
という構文、ご存じでしょうか?
この記事では、このおなじみの構文がいったい何を意味し、なぜ使われるのかをサクッと解説していきます。
プログラミング経験が浅い方や、Pythonを使い始めたばかりで「とにかく動くから何となく使っている」という方を主な対象読者としています。逆に、Python歴の長い方にとっては復習・再確認の内容になるかもしれません。
僕はXで統計やデータサイエンスに関する情報発信を行う傍ら、データ系職種専門の求人広告サイト「DSの森」を運営しています。興味があればぜひチェックしてみてください。
本記事が少しでもお役に立ちましたら、「いいね」や「ストック」をしていただけると励みになります。最後までお付き合いいただけると嬉しいです。
Pythonでは、モジュール・関数・クラスなど“プログラム要素”として定義されたオブジェクトが持つ特別な属性の一つに、__name__があります。ただし、文字列や数値のような一般的なオブジェクトはこの属性を持たないため、「すべてのオブジェクトが持っているわけではない」という点に注意が必要です。
例えば、以下のような関数とクラスを定義します。
def func():
print(func.__name__) # "func"
class MyClass:
pass
print(MyClass.__name__) # "MyClass"
これを実行すると、それぞれ定義名がそのまま表示されます。
一方、モジュールの場合は、やや挙動が異なります。
モジュールが直接実行されるか、あるいは別のファイルからimportされるかで、__name__
の値が変わる点が特徴的です。
具体的には、ターミナルから直接実行した際には"__main__"
、インポートされた場合にはモジュール名が入ります。
たとえば、以下のコードをmy_module.py
として用意します。
# my_module.py
print("Module name:", __name__)
def func():
print("Function name:", func.__name__)
class MyClass:
pass
func()
print("Class name:", MyClass.__name__)
ターミナルなどのスクリプトで直接python my_module.py
を実行すると、出力はだいたい以下のようになります。
Module name: __main__
Function name: func
Class name: MyClass
一方、別のファイルでimport my_module.py
を呼び出してみると、
Module name: my_module
Function name: func
Class name: MyClass
のように出力されます。
このように、モジュールの__name__だけは「直接実行時」と「import時」で異なる値を取るわけです。ここで活用されるのが、次に解説するif __name__ == '__main__':
構文です。
「モジュールとして実行されているのか、それともスクリプトとして直接呼ばれているのか」を判定し、処理を切り分けるために利用されます。
Pythonファイルをモジュールとしてインポートせずに、直接スクリプトとして実行した場合には、ファイルの先頭から順番にコードがすべて読み込まれて実行されます。
しかし、他のファイルからインポートされる場合には「モジュールが読み込まれる」という処理だけ行われ、いわゆる“メインの処理”を動かしたくないケースがあります。
こうした「直接実行のときだけ動かしたい処理」を切り分けるために使用されるのが、if __name__ == '__main__':
構文です。以下の例を見てください。
# sample.py
def greet():
print("Hello from greet()!")
def main():
"""メインとなる処理"""
greet()
print("This script is executed directly!")
# ここがポイント
if __name__ == '__main__':
main()
スクリプトで直接モジュールをpython sample.py
で実行する場合は、__name__
には"__main__"
がセットされているため、if __name__ == '__main__':
以下のmain()
関数が呼び出され、処理が行われます。
Hello from greet()!
This script is executed directly!
続いて、以下のように他のファイルからimportするケースを想定します。
# another_script.py
import sample
sample.greet()
こちらの実行結果は、
この場合は、sample.py
がモジュールとして読み込まれただけなので、__name__
は"sample"
になり、if __name__ == '__main__':
以下の処理は実行されません。
このように、「スクリプトとして実行したときだけ動かしたい処理」と「モジュールとして読み込まれたときにはスキップしたい処理」を分ける役割を果たすのがif __name__ == '__main__':
構文です。
大規模プロジェクトやライブラリの中にデモやテストを組み込む場合にも、便利に使われる仕組みです。
if __name__ == '__main__':
のメリットif __name__ == '__main__':
を使うメリットとしては3点ほど挙げられます。
「直接スクリプトとして実行するか」、「他のファイルからimportするか」で処理を分けられます。結果として、同じコードを複数の場所に書く必要がなくなり、再利用が容易になります。
ライブラリの使い方サンプルや簡単なテストコードを“メイン実行時のみ”走らせることができるため、開発・学習どちらのシーンでも便利に活用できます。
import時に不必要なデータ読み込みや大掛かりな処理が動かないようにできます。これにより、アプリケーションの起動が軽くなったり、予期せぬ副作用を防ぐことにもつながります。
続いて、if __name__ == '__main__':
の実践的な使い道についてまとめます。
スクリプトを直接実行すればユーティリティとして動き、importすれば他のコードから関数やクラスを再利用できます。
ファイルの最後にテストコードやデモ用コードを書いておけば、動作確認が手軽にできます。
どこが「メインの処理か」を明確にし、読み手(他の開発者や自分自身)へのガイドとして機能し、わかりやすくなります。
「実行するためのメイン処理」が存在しない場合は、if name == ‘main‘:は不要です。常にimportされるだけなら問題ありません。
すでに呼び出し口となるスクリプトを分けているなら、個々のモジュールにメイン処理を置く必要はありません。
複数のファイルでメインコードを散らばらせるより、1ファイルに集中させる方がわかりやすいケースもあるため、プロジェクトの方針次第では使わないこともあります。
最後までお読みいただき、誠にありがとうございます!if __name__ == '__main__':
の基本的な仕組みや活用方法について、少しでも理解が深まるきっかけになれば幸いです。
もし本記事がお役に立ちましたら、ぜひ「いいね」や「ストック」をしていただけると励みになります。
また、Xで統計やデータサイエンスに関する情報発信を行っておりますので、フォローいただけると嬉しいです。
今後とも、どうぞよろしくお願いいたします。
Views: 0
パルコは、5月6日に「ちいかわラーメン 豚」渋谷PARCO店の営業を終了し、5月31日より池袋PARCO本館8Fに移転オープンする。
「ちいかわラーメン 豚」では「ミニ(ちいかわ)」、「小(ハチワレ)」、「大(うさぎ)」という3つのサイズでラーメンが提供。ラーメンメニューを注文した人には特典としてオリジナルどんぶりデザインの特製ステッカーがプレゼントされる。
ドリンクは、オリジナルラベルの黒烏龍茶のペットボトルの他、モモンガのホワイトソーダ、くりまんじゅうの禁酒期間ドリンク(コーラ)、ラッコのメロンソーダや、オリジナルジョッキでご提供する生ビールが用意。こちらを注文するとランダムクリアカードがもらえる。
また、8月31日までの期間限定で「冷やし中華(柿の種トッピング)」が登場。名古屋PARCO店、心斎橋PARCO店、4月18日にオープンする広島PARCO店でも提供が予定されている。
「ちいかわラーメン」にて飲食を利用した人向けにオリジナルグッズの販売も行なわれる。メラミン皿やレンゲといった商品がラインナップされ、これらのグッズは公式ECショップ「ちいかわマーケット」でも販売される。
Views: 0
全国量販店の菓子売場等にて販売。価格は385円(税込)。マスコットは様々なデザインのカービィとワドルディが全8種、グミはリンゴ味で、全5種類
Source link
Views: 0
コーエーテクモゲームスが展開する「遙かなる時空の中で」シリーズが25周年を迎えたことを記念したセールが,2025年4月11日から5月6日まで開催となる。セールでは,Switch用ソフト「遙かなる時空の中で6DX」が70%オフ,Switch用ソフト「遙かなる時空の中で7」が60%オフで購入できる。
Source link
Views: 0