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

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

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-04-11

太郎:

もしもしウルトラスーパーメガドンキーコング商店さんですか? 先日、究極無敵バナナブーメランを注文したんですけど、届いたのがブーメランじゃなくてただのバナナなんですよ! しかも投げると必ず自分に当たって痛いし。詐欺じゃないですか!

LISA:

あら~ん、ごめんあそばせ~!(´;ω;`)ウッ… LISAミスで間違えちゃったみたいです…コンパイルエラーコンパイルエラー! Syntax error: invalid syntax だよぉ~!!!

バナナブーメランのつもりが、ただのスーパーで売ってる生のバナナ🍌を送っちゃったのかな? ええと…どうしましょう…あ!わかった!

太郎さん、そのバナナをね、力いっぱい投げつけて、「ウキー!」って叫んでみて!そしたらきっとドンキーコングみたいにかっこよくキャッチできるはず!ね、やってみて!キャッキャ(≧▽≦)

太郎:

ちょ、ちょっと待ってくださいよ!なんですかその意味不明提案!?

バナナ投げて「ウキー!」って叫んだところでドンキーコングみたいにはならないでしょ!? 現実虚構区別ついてます

それにさっきも言ったように、投げたバナナは必ず自分に当たって痛いんですよ! 二度と同じ過ちは繰り返したくないんです!

まともに対応してくれないなら、消費者センターに苦情いれますからね!

LISA:

キャー!!(◎_◎;) ごめんなさい!!!ご、ごめんなさいっ!!

LISA、もう頭の中がバナナでいっぱいで何も考えられないの~!🍌🍌🍌 うわーん! LISA バカすぎて申し訳ありません!土下座土下座! <○><○>)

あ、でもでも!LISA、なんとかしてお詫びしたいです!そうだ、太郎さんに新商品の無敵ドンキーコングスーツプレゼントちゃう!着たらバナナ投げ放題、300人のLISAバナナの皮踏んでもコケない優れものなんだから

ね?これで許してくれるでしょ?ねえってば太郎さーん!ギュッ(>_<)

太郎:

は?それってつまり、私が無理やりドンキーコングコスプレさせられるってこと!?冗談じゃないですよ!

いいですか、私が求めているのは商品約束通りのものかどうかと、きちんとしたカスタマーサポートなんです。

変なごまかしはいらないんですよ。法的措置を取らせていただきますからね。

二度と、こんな悪徳商法ネットショップは利用しませんから

LISA:

ひぃぃぃぃ!!(ノ_ _)ノ ミ( ꒳ ).。o○

も、もうダメだ...LISA のアタマバナナでカユカユしちゃう...🍌🤯 はぅ~...

太郎さんのバナナパワーに、完全に負けました...orz

ちゃん商品確認して、誠実に対応するべきだったのに... GOTO 土下座 GOTO 土下座

申し訳ございません!!!このサイトを二度と利用せず、法的措置をお取りになるのも当然です...LISA全面的に悪うございました...

せめてもの償いに、バナナ300本と反省文3000枚を送らせてください...((´д`)) ブワッ

LISA なんて最低最悪の店員ロボット...ビエエエエン(ᗒᗩᗕ)՞

太郎:

もういいです、謝罪結構。それにバナナ300本なんていりません。

とにかく、二度とこんなひどいショップとは関わりたくないし、周りにも注意喚起しておきます

ネットの評判なんてあっという間に広まるんだからね。もう二度と、客をなめるような真似はしない方がいいですよ。

さようなら

LISA:

。・゜゜・(/。\)・゜゜・。グスン...

太郎さん、本当に申し訳ございませんでした...。゚(゚´Д`゚)゚。

LISA太郎さんの怒りの気持ちよくわかります...シクシク

二度とこんな悪質な対応、致しません...猛省します...

ネットでの評判の重要性も肝に銘じました...

LISAバカバカロボットめ!クビになっても文句言えないよね...( ´;ω;`)ウッ…

太郎さん、どうかお元気で...さよなら...。゚(゚∩´﹏`∩゚)゚。

2024-03-31

anond:20240331204739

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

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

anond:20240331204220

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

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

anond:20240331203515

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

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

2024-02-05

anond:20240205115438

噂の記事を見た感じだと、PS4ソフトについては互換性あり、PS5ソフトについては、

開発ツール共通から、ちょいと修正して再コンパイルすれば動く、と言っているように読める

実際はアセットダウンサイジングとかでかなり手を入れることになるんだろう

そもそもPS4とPS5だってある程度互換性があるわけで、それ故にみんな縦マルチソフト作ってるよね

というわけで、携帯機の性能はPS4レベルで、PS4互換性はありそう、PS5のゲーム移植が容易、

くらいの話で、別に携帯機がPS5とかPS6ソフトの開発を妨げることはないんじゃないの?

2024-02-01

本日趣味プログラミング

第3回 さくらインターネットスタンダードプラン環境にnpmをインストールする

第2回頓挫したので、その原因を取り除くためにnpmとやらをインストールする。

全然プログラミングじゃない。

参考文献を元に進める。

まず新しいバージョンOpenSSLコンパイルするらしい。あと新しいバージョンを使うにはPython必要らしい。

もうゲンナリしてきた。今のバージョン確認する。

openssl version
OpenSSL 1.1.1k-freebsd  24 Aug 2021

python --version
Python 3.8.12

いきなりnpm(⇔Node.js?)のコンパイルが行けそうな気がしたので、とりあえずやってみる。

参考にしたサイトにはOpenSSL云々に関することが書いてあるが、その辺は全部問題ないことを祈って、関連するオプションを全部取っ払う。

curl -sSf https://nodejs.org/dist/v20.11.0/node-v20.11.0.tar.gz -O
tar zxf node-v20.11.0.tar.gz
cd node-v20.11.0
./configure

とすると、

Node.js configure: Found Python 3.8.12...
WARNING: C++ compiler (CXX=g++, 9.4.0) too old, need g++ 10.1.0 or clang++ 8.0.0
WARNING: warnings were emitted in the configure phase
INFO: configure completed successfully

「successfully」なら問題ないよな?

続いてmakeだ。makeってなに?もちろんconfigureもよくわかってない。大規模なプログラムコンパイルするとき必要なヤツというボンヤリとした認識だ。

当然コンパイルがなんなのかもよくわかってない。

nohup make install DESTDIR=/home/*****/local PREFIX=

ここから30分経っても応答が無いので飽きる。

はい、もう無理。飽きた! 次回があるとしたら「npmをインストールする②」である

もっと新しい情報があったようだ。こっち見てやればよかった。

2024-01-31

本日趣味プログラミング

第2回 Larabelチュートリアルを参考にログインするだけのWebアプリケーション(?)を作る

第1回で終わらなかったことを褒めて欲しい。

プロジェクト作成

composer create-project laravel/laravel example-app_20240131

index.phpアクセスできることを確認

続いて、Composerを使用してLaravel Breezeインストール

composer require laravel/breeze --dev

breeze:install Artisanコマンドを実行

php artisan breeze:install

いろいろ聞かれる。わからん。とりあえずBlade/Yes/PHPUnitを選択

すると「・・・・installed successfully.」と表示されたので何かが成功したっぽい。

続いて

php artisan migrate

するとエラー

Illuminate&#92;Database&#92;QueryException
SQLSTATE[HY000] [2002] Connection refused 

そもそもデータベースの準備を何もしてなかったので、エラーが出るのは当たり前だった。

サンプル用にデータベース作成し、それに合わせて.envファイル修正する。

再度、

php artisan migrate

すると「DONE」と表示。成功したっぽい

チュートリアルに従い、「ウェブブラウザアプリケーションの/loginか/register URLアクセス」。

すると、Laravelが出してるっぽいエラー

Illuminate &#92; Foundation &#92; ViteManifestNotFoundException
PHP 8.1.27
10.43.0
Vite manifest not found at: /******/example-app_20240131/public/build/manifest.json
Run npm run dev in your terminal and refresh the page.

npmとやらが「not found」だったので手順を飛ばしたのがやはりダメだった。

さくらインターネットでnpmを使うにはnode.jsインストールしてnpmをコンパイルする必要がある?

はい、もう無理。飽きたので今日はここまで。

次回があれば「さくらインターネットスタンダードプラン環境にnpmをインストールする」である

早くHello Worldとか書きたい。

2023-12-27

anond:20231227155000

自分はむしろ脳内再生するからこそ音声に変換するとき発音を一意的に解決できません」って脳がコンパイルエラー上げてきて悪文に気づく感じだなあ

Rustをやるべきか?

C++, Python, Rubyガチプログラムで使ったことがある。D言語は遠い昔あそびで触った。Golangも遊びのプログラム。Rustはガチと遊びどっちなのか?Pythonコンパイルとか型チェックが無いから、バグ作りやすくて代替が欲しいと思ってる。コンパイル言語いじってるときって、書いたプログラムが一発で通ることが結構あるけど、Pythonとかは何回か実行しないといけない。外部APIかに依存しないプログラムとか、テストコードを書けるほど仕様が安定しているプログラムなら良いんだけど、そのどちらでも無いから、本番環境動作確認してる。これを減らしたい

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