「コンパイル」を含む日記 RSS

はてなキーワード: コンパイルとは

2024-11-12

https://b.hatena.ne.jp/entry/s/www.phper.ninja/entry/2024/11/12/042137

静的型チェックが完璧に出来るなら、コンパイルで実行時の動的型チェックを外し、速度も爆速になって欲しいと思うところ。php-go

PHPユーザー程度だからこういう勘違いをするのかもしれないが、GoやらJavaやらは実行時型チェックしてるぞ

使ったことなさそうだから知らないと思うが、そいつらは実行時にキャストエラーが出る

2024-10-27

パズルゲーム史上最も重要テトリス10

いろいろ忙しくて乗り遅れたのですが余裕ができたので書いてみる。

発明初期のライセンスの諸々は省略で、あくまプロダクトとしての10選とします。

元ネタはこの辺。

https://anond.hatelabo.jp/20241012181121

Tetris1988年/アーケードゲーム/セガ

通称セガテトリス

現在テトリスの基礎となる設置移動と緩急をつけて上昇する難易度絶妙であり、

初心者からスコアカウンターストップを目指す上級者まで楽しめる形となっている。

アーケードゲーム流行と併せ、当時の日本テトリスブームはここから始まることとなった。

テトリス(1989年/ゲームボーイ/任天堂)

当時のゲームボーイにおける通信対戦機能を広めることになったエポックメイキング作品

横井軍平氏がプロデューサーを務め、通信対戦モードの導入はもちろんのこと、

当時のコンシューマテトリス作品の中では非常に快適な操作性であったこともあり大ヒットを記録した。

ハートレベルは令和の現代でも通用する高難易度現在Switchでの移植により遊ぶことができる。

Tetris1989年/NES/任天堂

海外版ファミコンであるNES(Nintendo Entertainment System)のテトリス

ファミコン版はBPSから出ているが、こちらは任天堂から発売しており、ファミコン版とは操作性を含め全く別物となっている。

ゲームボーイ版に近い快適な操作性であり、またレベルアップについてもゲームボーイテトリスと同様に難易度上昇は非常に高速。

スコアカウンターストップについては超高難易度であり、MAXOUTと呼ばれ多くのプレーヤーの最終目標となっていた。

10年ほど前からこのゲーム世界大会が開催されており、テトリス権利元の協力もあり毎年の大きなイベントとなっている。

通常では人力では操作できないスピードに到達するためプレイ限界があるのだが、近年操作方法を工夫することにより超高速状態でもプレイをする方法発明され、現在世界大会レベルが年々上昇している。

2024年1月に通常プレイを約1時間続けることによりクラッシュすることに成功したこと世界的なニュースになる等、テトリス史の中で最も重要テトリスの一つであることは間違いないだろう。

ミニテトリス(1996年~/おもちゃ/BPS(ヒロ)、他)

キーホルダーサイズの小型の液晶おもちゃテトリスを中心としたブロックゲームで遊ぶことができる。

入手性の高さ、そして小型のガジェットの手軽さから学生を中心に一大ブームとなった。

訴訟問題となった「テトリン55」を始めとしてほとんどが非ライセンス品であった。

その後ライセンス品としてはテトリスJr.という名前で発売された。

この時のキーホルダーゲームブームはその後1997年たまごっちに受け継がれていった。

Tetris: The Grand Master(1998年/アーケード/アリカ)

通称TGM。上級者向けテトリスとして発売されたテトリス

競技向けに最適化された高難易度テトリスで、近代では一般的となった「出現後即接着(20G)」のシステムを初めて本格的に組み込んだ作品である

続編であるTetris: The Absolute – The Grand Master 2(とアップデート版のPLUS)」、「Tetris: The Grand Master 3 – Terror Instinct」とともに

難易度テトリス金字塔として今も語り継がれる存在である

長い時を経てようやく初代TGMとTAP移植が行われ、今はSwitchで遊ぶことができる。

最新作である4については何度か発表と中止を繰り返しているが、2024年テトリスライセンスの取得をしたことアリカが発表しており期待が高まっている。

携帯アプリテトリス2002年~/携帯電話/ジー・モード

携帯電話のアプリとして公開されたテトリスアプリ買い切りが基本のため、十数種類の異なるバージョン存在していた。

日本ではジー・モードライセンス取得し開発を行った。

当時は物理キー十字キーの中心に決定ボタンがある携帯電話がほとんどであり、その操作方法最適化されたテトリスとなっている。

シリーズを通しておそらく遊んだことのある延べ人数としては日本最大なのではないかと考えている。

そのうちの一つであるTETRIS DIAMONDSwitch移植されたため遊ぶことが可能

テトリスDS(2006年/ニンテンドーDS/任天堂)

近代におけるテトリスの基礎を築いた作品

ワールドルールというテトリスの新仕様(ここにはT-Spinも含まれる)を盛り込んだ作品の中で一番普及に貢献したソフトであると思われる。

各種任天堂ゲームキャラクターを活かしたステージモードであることに加え、

システム上も新しい概念であるワールドルールをうまく昇華させたゲームバランスは見事というほかない。

そして世界中の人々と対戦が出来るネット対戦や、相手ソフト未所持でも最大10人まで対戦できるワイヤレス機能など、

3800円とは思えないボリュームがすばらしかった。宇多田ヒカル氏がエンドレスカンストまで遊んだという逸話も。

特にネット対戦においては、近年の対戦テトリスにおける戦法はこのゲームで開発されてきたものであり、

テトリスの対戦を普及させた作品としては歴史もっと重要作品であると考えている。

ぷよぷよテトリス(2014年/マルチプラットフォーム/セガ)

セガテトリスライセンスを取得し、ぷよぷよとの2in1として発表された作品

ぷよぷよテトリスの異種間対戦が売りであったが、対戦のバランスは初級者戦~中上級者戦に至るまで基本的テトリス有利なバランスとなっていた。

理由としては、セガコンパイル開発時代を含めぷよぷよルールとしては長年の研究を経て高度化された対戦が繰り広げられていた一方、

相対してテトリスの対戦に関する知見に乏しかったのではないかと推測される。

次回作ぷよぷよテトリス2も含め、長期間わたり日本コンシューマテトリスデファクトスタンダードとして運用されてきたソフトであるため、

良くも悪くも有名な作品であることには間違いないだろう。

テトリスエフェクト(2018年/マルチプラットフォーム/Enhance)

ゲームクリエイターとして有名な水口哲也氏がプロデューサーを務めた新時代テトリス

音楽映像ゲームの融合が特徴の水口氏の作品の例に漏れず、このテトリスステージ毎のビジュアルサウンドの没入感が素晴らしく、各所から高い評価を受けている。特にVR機器との親和性が高く、VRでのプレイを推す人も数多い。

没入感を重視するためゲームとしては難易度を低く設定されており、文字通り誰でも遊ぶことが可能な作りになっているが、

それ以外の需要に応えていないわけではなく、各種対戦や高難易度モードも用意されている。

特に難易度モードについては近代テトリスの中で1、2を争うほどの難しさであり、完全クリア者は数えるほどしか存在しない。

続編であるテトリスエフェクトコネテッドでは、先に述べたNESテトリス再現したモードが追加しており、日本テトリスプレーヤーにとって最も容易なNESテトリス練習方法であった。

(なお、今年末日本SwitchオンラインでもNESテトリスが遊べるようになる模様)

テトリス99(2019年/Switch/任天堂)

テトリスバトロワ系の要素を盛り込んだ作品。単純に既存の対戦テトリスシステムを99人戦に拡張したのではなく、

独自システムを数多く盛り込む事で実力差がある人同士での対戦でも簡単にはやられないようになっている。

これによりバトロワ系のゲームを知らない初心者でも十分楽しめる作品となっている。

任天堂のサブスクシステム登録している人にとっては実質無料で遊べることが大きく、テトリス単体でのソロプレイ機能も含めて非常に大きな人気を博した。

既にリリースから5年が経過しているが、現在もなお遊ばれている作品であり、2024年におけるテトリス代表的作品であることは間違いないであろう。

2024-09-28

昔Cの入門書で#include <stdio.h>をおまじないだと思ってくださいとか書いてる入門書がよく叩かれてた。

ちゃん説明しろとか。

でもhello worldの段階でいきなり、stdio.hにはマクロプロトタイプ宣言があって、マクロとはーとか、プロトタイプ宣言がなぜ必要かと言うと分割コンパイルというのがあって、みたいな説明をすんのかって思ってた。

2024-09-19

プロンプトエンジニア」と「古典的プログラマー」の違いってなんだ?

プログラマーも結局は「読み方も分からない0と1の羅列に変えてくれるコンパイル機能を持った高級言語」を使ってるだけだろ?

お前の普段向き合ってる文字の羅列は、結局はお前にとってのブラックボックスに送られ、そしてお前はそれが最終的にどうやって動作しているのかを分かってない。

パンチカード時代パソコンはクソデケー電気仕掛けのそろばんだった。

電卓」ではない。

何故ならあれを置ける卓はないから。

嘘だと言うなら科博にでも行ってこい。

それでもなお「でもよお、俺はイギリスアーサー王が使ってたという100人用の円卓を見たが、アレぐらいなら乗るぜ?」と返すならもう俺は何も言わない。

電卓の化け物だった頃のパソコン相手原始時代言語で「ウホウホ!1+110!俺!0を発見!(BGMレクイエム』より、第2楽章キリエ」)」してた頃は、パソコンブラックボックスではなかった。

だが、その時代はとうに過ぎ去った。

その昔はパンチカード目視で読める人間バーコードリーダーみたいなことをしてる奴らもいたが、今はもう宴会芸にしかならない。

プログラミングとは高級言語を用いてやるものであり、コンパイルしたあとの機械語とは「人間が目で読むことを想定していない精霊界の言語」だ。

プロンプトエンジニアリング」はよく呪霊操術や精霊魔術にたとえられる。

よく分からんけど召喚獣魔法を使わせ、召喚獣がどうやって魔法を打ってるのかは知らないという世界だ。

だが待ってほしい。

それと対比して語られる「古典的プログミング」も結局は「途中の過程はよく分からんけど最終的に機械がなんとかする」で同じではないのか?

ニューラルネットワーク構成する離散的なモザイクと、コンパイルされた機械語解読不能な01の羅列、それらにどれほどの違いがあるんだ?

どう違うんだ。

教えてくれ。

GPTは俺に架空書籍名前しか教えてくれない。

2024-09-01

型が無い言語バグが多いとか言ってる人がいる

型があったところで型が一致するか、変数存在するかくらいしかチェックはされないぞ

間違った変数を渡して、それが同じ型だったらコンパイルは通る

結果、実行したら予期しない値が帰ってきたり実行時にエラーが起きたりする

型があるからコンパイル通れば大丈夫なんてことはない

 

コンパイル通ってればだいたいは動くし、作ったとき動作確認もしてるから大丈夫、というなら動的型付けの言語でも動作確認はしてるから大丈夫だろ

動的型付け言語の方が得意だと言ってるくらいに使い慣れてる人なら実行時エラーもそんな多くない

その程度のゆるさでエラーが起きたら対応すればいいやくらいのところなら別に静的型付け言語である必要もない

 

ちゃんテストコードを書く環境で、テスト通してるからという場合でも、それも動的言語だってテストして通ってるわけで同じこと

結局型の有無はプロダクション環境バグの多さに関係ないし、どっちが好きかって話でしか無い

 

システムが優秀で実行時エラーがほぼ発生しないのを売りにしてるくらいの言語なら多少利点はあるけど、TypeScriptみたいな無理やり型をつけた中途半端で実行時エラー簡単に起こせるような言語ではメリットもほぼない

2024-08-23

底辺IT企業あるある

IT企業というかSES企業あるある

こんなレベル会社でも倒産しないのでSESは本当にすごい

2024-08-21

anond:20240820124516

UnityもUnrealEngineも本格開発するなら大差はないんですけどね。

どのみちカスタマイズしないといけないというだけで、より短縮できるエンジン選択しただけの内容ですよ。

大まかにゲームエンジン特性

  1. クロスコンパイルと各実行環境への最適化精度
  2. 計算処理郡(ライブラリ自体の速度やCPU負荷、GPU負荷分散の精度や、メモリスレッド考慮した精度
  3. 最低必要な処理郡(IKとかそういうやつ)のレベルの高さと不必要な処理の削減のしやすさ、選択のしやす
  4. グラフィックエンジン能力、各プラットフォームの描画API最適化や、最新の描画技術統合GI等)
  5. GUIでの操作のしやすさ、非エンジニアとの連携のしやすさ、コンフリクトの起こしにくさ

評価ポイントになりますが、ゲームによって不必要ものは削除したり先鋭化したりしますが、大元開発者UnityEpic Games)との連携が不可欠になってしまます

大体の場合海外レスポンス非常に悪いので、自社でやれるなら自社でやったほうがカスタマイズやすいし、何なら最新の描画処理なんていらない、ってなるんです。

もちろんUnity最高HDRPいいよね、とかはちょっと……となりますが、エンジン性質を知ってる人であれば別にUnityだろうとUnrealEngineだろうと大差ないです。

スタンダード状態での品質はもちろん大型タイトル作るならUnityは論外ですが、小規模〜中規模で制作するならUEだとBP管理がクソ面倒なので、Unityの方が良いです。

2024-08-19

anond:20240818145106

フリーランスゲームエンジン担当したり調整したりの仕事を今でもやってます

ITがつまらなくなった」「ゲーム制作がつまらなくなった」のは違う角度の話も入ります同意です。

物を創るよりコードを書くことが好きだった

おそらく現在40歳あたり以降の人たちは「めちゃくちゃコード書けた時代」の人たちだったと思います

私もめちゃくちゃコード書いてましたし、他人コード修正してたし(それでキレられたり1日中討論したりも)、何より車輪の再発明がすごく楽しかった。

ナレッジとしての答えが無かった時代ですね。

Game Programming Gemsが唯一の経験者のナレッジの詰め合わせで、貪るように読んでましたね。懐かしい。

楽しいを優先する人が多かった時代でもあると思います

というよりそうでないと生き残れなかった。

何よりもコードを書くのが楽しい、起きてる間は全てコーディングアーキテクト、新技術調査時間を充てるような生き方しか出来ない人たち。

生産性?それよりもテンプレートプログラミング面白くね?意味あるか分からんけど。そういやこのコンパイラいいよね、メモリの使い方上手くてさあ。

プログラミング全般技術力は、正しい知識を身に着けているか重要なんですが、それよりも重要なのはライブラリ仕様を覚えるくらい何度も何度もアウトプットすることなんですよね。

DirectXOpenGL仕様を追えばだいたい効率的計算方法や描画手法は身についちゃうので。

技術体系に紐づくものだったり、デザパタとかある程度知っておくものもあるにはありますが、何なら自分で見つけたくらいの方が遥かに理解度が高い。

頭で創るより、実際に書いてコンパイラ通して目で確認するほうが何倍も重要

時代が良かったと言えるなと思います

初代のバイオハザード

3Dゲームの知見がまだまだ日本に足りていない時代ドラマチックな演出を行おうとしたら別の技術必要になった。

それは演出カメラワークです。

今の時代では、ただFPS/TPSにすりゃええって回答になっていますが、模範解答として映画しかモデルが無かったんですよね。

しか日本の画作りは時間を使った画作りより、止め画、見栄を軸とした画が多くて、海外センスとはジャンルが違う。

最先端技術生業にしていた大手ゲームパブリッシャーデベロッパーは頭を抱えていました。

なにせ、個人技術で戦ってきてしまっていた日本では太刀打ちできないことがわかったからです。

すでに海外では映画映像最先端技術者やクリエイターをかき集め、サイエンスとしてナレッジ化を進めていました。

物理学者を集めまくってたのもそのときだったのを覚えています

結果的に、大手は各社最高のグラフィックエンジンクロスコンパイルエンジンを自社開発しようとして、(ほぼ)全て断念していますね。

……ただフォローのつもりで言いたいのですが、失敗ではあったと思いますが、そこで得た技術は非常に重要ものでして

日本は失敗を許容しない組織が多く、初めるのが遅く、辞めるのも遅い、それでいて二度と挑戦させない文化なので育つ土壌が無いんだと思います

今の仕事は……

だいたい誰かが俺仕様で作ったクソみたいなコード修正して、高速化したりメモリリーク改善したりがメインです。

「またコレか…」のパターン多すぎる。これがつまらなくなった所以です。

GC仕様くらい考えたらなんでスパイクが起こるかわかるやろ……なんで調べんのなんて思うこともあります

ただ出来ない人が多い、才能の無い人がビジネスだけでゲーム作ってる時代でもあるので、そのおかげでおまんま食べられてるんだよなって考えてます

プロジェクト破綻してることも多くて、その大部分はエンジニアがクソすぎるってのが多いですね。

体制問題もあるにはあるんですが、ゲームにこだわることもなく、ただ稼げるで来ちゃった人たち。

からそんな人達に何か伝えても響くことも無いし、生き方も違うので何も言わない。

ゲーム自体もどこかで見た何か。なので正解が存在するのでアーキテクトや制作に頭をひねる必要も無い。

感謝されるのでやりがいはあるんですが、当時激論を交わしていたような人たちはゲーム業界から離れ超ホワイト外資系大手ぬくぬくやってます

幸いなことにソーシャルゲームバブルが起こり、その波に乗れた人たちです。

たまたま私の周りはコミュニケーション能力問題解決能力、分解能力が高かったのでちゃん地位を築き、ちゃん生活しています

まらなくなった理由

  1. 議論できる程度の技術者が皆無。ほぼ開発環境の使い方やルール言語仕様程度
  2. だいたいの問題に正解とされるパターン存在している
  3. やれることをやってるだけなので、単に飽きた
  4. だいたい同じもの作ってるから楽しくない

2024-06-29

anond:20240629085310

Akira場合

Akira Ransomwareは、近年特に注目されているランサムウェアの一つで、その動作は高度で多様な手法を取り入れています。以下に、Akiraランサムウェア動作について詳しく説明します。

動作概要

侵入経路

Akiraは主にフィッシングメールリモートデスクトッププロトコル(RDP)の悪用、既知の脆弱性悪用などを通じてシステム侵入します。特に、未修正ソフトウェアシステム脆弱性を狙うことが多いです。

初期感染と展開

システム侵入すると、Akiraネットワーク内で横移動を試みます。これは、ネットワーク内の他のデバイスにも感染を広げるためです。横移動には、認証情報の窃取や利用可能ネットワーク共有の探索が含まれます

暗号化プロセス

ファイル暗号化の前に、Akiraターゲットシステム特定ディレクトリスキャンし、暗号化対象ファイルリストアップします。次に、強力な暗号化アルゴリズム(通常はAESRSAの組み合わせ)を使用して、ファイル暗号化します。

最近バージョンでは、部分的暗号化手法インターミッテント暗号化)を採用することで、暗号化速度を上げつつ、検出を回避する手法確認されています​ (Bitdefender)​。

データの窃取

暗号化に加えて、Akira重要データを盗み出し、そのデータを公開することで二重に脅迫することがあります。これにより、被害者に対する身代金要求圧力を強化します。

身代金要求

暗号化完了すると、被害者デスクトップ身代金要求メッセージが表示されます。このメッセージには、データを復号化するための手順と支払い方法記載されています。通常、暗号通貨ビットコインなど)での支払いが求められます

特徴的な技術

RustとC++の利用

Akiraの一部バージョンはRustというプログラミング言語で書かれており、これによりコード安全性が向上し、セキュリティ研究者による逆コンパイルが難しくなっています。また、C++で書かれたバージョン存在し、多様な環境での実行が可能です​ (CISA)​。

VMware ESXiの標的化

Akira特にVMware ESXi仮想マシンを標的とすることが多く、これにより企業仮想環境全体に影響を与えることができます

多層的な攻撃手法

Akiraは単純なファイル暗号化にとどまらず、データ窃取やネットワーク内での横移動、他のマルウェアの導入など、多層的な攻撃手法を組み合わせています。これにより、攻撃成功率を高め、被害者に対するプレッシャーを強化します。

2024-06-28

ウェブの開発めんどくさい

特に入力制限がいっぱいある系

画面上でできなくしてもサーバーに直接リクエスト送ってくるからって同じことをサーバーでも実装しないといけなくてすごくめんどくさい

言語同じかつ単純な規則共通化できたりするけど実際はそうじゃないものが多いし

画面での操作禁止とそれらを無視して編集後のデータだけ送ってくるのだとチェックの仕方も違う

追加できないなら追加ボタンさないだけで済むが、サーバー側だと送られてきた件数だけじゃなくてもともとあったものと一致してるかもチェックが必要とかそういうの

 

ウェブのほうが楽だからデスクトップアプリからウェブに移すがここ数年は多かったが本当に楽か?って思う

画面の柔軟性はあるが、そのせいであれこれ細かい注文がついたりしてそれも面倒が増える原因だし

 

ウェブだとそれが当たり前だからってサーバー側もデータのチェックしてるけどデスクトップアプリじゃそんなことしてなかった

それのリプレースなんだし、別にしなくていいんじゃないかと思う

デスクトップアプリだってサーバー通信してるんだから直接リクエスト投げれるわけだし

ウェブなら便利な開発者ツールがあるから今送ったものの中身を見てちょっとか書き換えて送るが楽なだけ

デスクトップアプリだってパケットキャプチャしたり、逆コンパイルしてソースコード見ればできるわけだし

クライアント証明書があるから~とかい意見いたことあるけど、ローカルにあるファイルなんだから、直リクエストするときだってそれ使えるよね

 

他のウェブの面倒なところでURLがあるのもひとつ

直接編集画面を開けてしま

デスクトップアプリだと起動後のホーム画面から順番にボタンを押さないと画面を開けない

から一覧画面で編集ボタンを出さなければその項目の編集画面は開けない

でもウェブURLで直接行ける

そのせいで一覧画面で編集ボタンを出さないのに加えて編集画面で自分編集可能かのチェックまで必要になる

めんどくさい

 

考えてみればURLで直接開けることは要件にあるわけじゃないんだし、URLマッピングしないメモリ内でのルーティングでもいい気はする

リロードすれば毎回トップページに戻るけど普段使う上でリロードなんかしないし別に問題ないと思う

思い返せば意外とそういうのは社内システムかにはあった

ドキュメント等でもないアプリケーションなのにウェブからって無理にURLの直接アクセスなんてサポートしなくていいか

2024-06-26

anond:20240625191650

プロとやらはよくわからないけど(すごい強そうな略称だね、競プロ

雑誌寄稿するようなJavaエキスパートを雇って業務プロジェクト参加してもらったら、一度もコンパイルとおらないまま退職した伝説は聞いたことがある。

2024-05-08

anond:20240507213947

割とクソどうでもいい記事だった。

日本語英語で述語・目的語の並び順がちがうけど英語の順番の方が性に合ってるよね、てな具合の話。

 

最終的にコンパイルしてSQLに変換するって事は、

じゃあ検索効率も出来る事も事実上向上する可能性は全く無い。

一方で生のSQLが見えなくなるから調整もできなくなって

そうやって得るものが "ちょっと文法上の語順が変って(僕にとっては)わかりやすくなったよ" だけというのは閉口するな

2024-04-14

anond:20240413150809

あとNaNマイルでundefined会員

目指す目的地はどこにあるの?

データの海を彷徨いながら

意味を探し求める旅の途中

エラーメッセージに立ち向かい

定義変数に立ち向かう

バグだらけのコード修正

デバッグの道を進んでいく

null値に囲まれ世界

真実の値を見つけ出したい

関数呼び出しのループの中

再帰的に答えを探し求める

あとNaNマイルでundefined会員

たどり着く先はまだ見えない

でもコンパイルエラーに負けず

プログラミングの旅は続いてゆく

質問文:「あとNaNマイルでundefined会員」から始まる詞を考えてください。

回答:CLAUDE 3 OPUS

2024-03-31

anond:20240331204739

横だけど、その話だとPerlは動的型付けであって静的言語なの?

Perlコンパイルはあるよね。でも型は基本ない訳だけど。

anond:20240331204220

今の時代名前が上がってくる静的言語ってC++じゃあるまいし

コンパイルがつらいとかも少ないでしょって思う

anond:20240331203515

静的言語へのコンプレックスが滲み出ている

コンパイル通らなくて発狂してるんだろうなあ

ログイン ユーザー登録
ようこそ ゲスト さん