「エンコード」を含む日記 RSS

はてなキーワード: エンコードとは

2022-06-20

ダヴィンチゾルヴ使ってみようかな

動画編集ソフトゆっくりムービーメーカーを使っているんだけど、結構使いやすくて重宝してる。

しかGPU対応がなくエンコードが遅い点や、AVIUTILをベースにしていることを知り、

GPU対応があるDavinci Resolveに興味が湧いている。

しか動画編集といっても月に数回あるかどうかといったところで、価格考慮すると悩んでいる。

2022-05-02

anond:20220502093008

APIOSシステムコール、WebAPI、不変なもの

ライブラリ:何かの問題解決に特化してる、動画エンコードデコードとか

フレームワーク:数行でアプリ全体ができてしまいような雛形がある、ライブラリをチョイスして統合してある

呼び出し順として

フレームワーク

ライブラリ

API(WebAPIでも同じ)

みたいなイメージがある

2022-04-15

NFTで管理された動画って、ダウンロードして再エンコードしたらバイト列が変わって、唯一性が保持されなそうだけど、なんでそんなにありがたがられてるの?

画像にしたって、NFTで管理された絵に1x1の透明なピクセルを追加して放流すれば、それはデータとしては異なるけど、「アート」としては同じものなんじゃないの?

アンダーソン・毛利・友常法律事務所外国法共同事業パートナー弁護士長瀬威志氏によると、法律上、NFTを購入したからといってその作品著作権所有権を取得したということにはならないとされています

また、NFTに紐づいているアートなどの作品画像自体は誰でもコピーして問題ありません。金融規制上の位置づけや、法的性質についてNFTはまだ問題点を多く残しています

NFTとは?用語解説ポイント・事例まで徹底解説

https://www.techfirm.co.jp/blog/nft

2022-02-28

anond:20220228213025

配信における、会話の端々から漏れ出る中の人人間性の表出。

その細かいキャラクター性も出来る限り設定にエンコードして、次の演者に受け継げばいい。

ミスで違和が生まれても、上手く解釈してリスナーの中で腹落ちさせてくれるはず。

バーチャルと銘打っているのだから、そのくらいは当然だと思うのだけれど…

最近では12時間に及ぶこともざらな長時間配信演者他人キャラクター性・人間性を演じ続ける事を当然のように求めるのか・・・

いや無理でしょ

anond:20220228133320

どちらかというと動画勢として活動することが多かったキズナアイゲームプロジェクトでさえ中の人を交代や増加させたら大炎上したのだ。だが彼らもたびたび生配信を行い、コミュニケーションを取っていたからこそ受け入れられなかったのだと思う。

しかキズナアイが幼い頃何をしていたとか、好きな漫画が何なのかとか知らないぜ?

キズナアイは終始、デジタルワールドにいる年齢4歳の性別なし AI として生きていて、生配信でそこから外れたことはないと思うんだけれど。

Vtuberファン側の解説レアなので助かるが、しか説明は的を外してると思う。

そこで、中の人が交代してしまうと、たとえ被っている絵やキャラクター設定が同じでも、リスナーが見てきた人格記憶連続性もないものになってしまう。それはすごく気持ちが悪い。何年も追ってきた人が、人格記憶もないまま外見だけ同じになるというのは凄まじい違和感があるわけです。ゾンビを見ているような気分になる。おまけにコラボ配信とかでは他のVからは全くの別人格なのに「同じ人」として扱われてしまうとしたら、想像しただけでホラー映画なのだ

バーチャルなんだから中身の実体人を取り替えてもいいだろう、いっそ本当に AI でもいいだろうと思うVtuberファンの俺からすると、この論は、人格の交代は違和感があってホラーだ、と感情を高ぶらせてるだけに過ぎないように見える。実際に生配信における人格の表出の齟齬を目撃したならともかく、中身が変わったという事実だけでなぜそこまで怖れるのか。

逆に「中の人」はそのvtuber人格記憶を共有しているわけで、それを全く別人とは思えるかと言ったら難しい。もちろんvtuberとして活動している間は綺麗な面だけ見せて演じていることくらいは分かるけど。それでもやっぱり絵や設定よりは人格の方に連続性を見たくなる。

なぜ見たくなるのか? やはりこの部分も説明が欠落しているように思える。

以前、ネクロマンサーの設定を持つ Vtuber が「自分には霊感がない」と配信中に明言した事があって、俺は「えぇ…」と思ったけど、結局スルーされて騒ぎにはならなかった。

霊感がなくてもテクニックだけで死霊術は使えるのだ、みたいな解釈ができなくもないが、話題にならなかった事から考えると、設定の細かな差異も顔の違いと同じように重視しないリスナーが多いのは事実だと思う。しかしなぜ?

配信における、会話の端々から漏れ出る中の人人間性の表出。

その細かいキャラクター性も出来る限り設定にエンコードして、次の演者に受け継げばいい。

ミスで違和が生まれても、上手く解釈してリスナーの中で腹落ちさせてくれるはず。

バーチャルと銘打っているのだから、そのくらいは当然だと思うのだけれど…

なぜ声優だけには当然のようにリアルを求めるのか?

さっぱり分からん

俺はこの問題に、アニメキャラクターが実は処女じゃなくて炎上、と同じくらいの薄気味の悪さを感じるよ。

2021-11-25

anond:20211125112430

スマホしらんけど全部base64エンコードしてhtmlの中に埋め込んどけば表示できるんちゃう

2021-10-04

違いを知りたい男

動画編集ソフト無料クーポンを貰ったので動画をただ繋げるだけをやってる

同じスマホが2台あるので1台ずつ同時エンコードすればいいだろうと思いエンコしているのだが 一方は15時間くらいの動画でもほぼ止まらずにエンコード出来るのにもうひとつはすぐにアプリが落ちてしま

なんの違いがあるのか俺にはわからん いつもなら2台持ちで違いを発見できるのに

しかもメインの高性能スマホの方はなぜかエンコードできない 2台の方がちゃちいのに

2021-08-15

anond:20210815105747

あくまスパイクタンパク部分だけエンコードしてるのがmRNAワクチンからな。肺炎引き起こしたりする機能は無いだろう。リアルコロナに罹って運が悪ければ肺が破壊されて終わりよ。

2021-08-03

はてブコメント時に、自動で最小限のクマを足すブックマークレット

追記

クマが30匹程度では建設的と判定されないことがあるようなので、そんな時は

const MinimumRequiredLength = 30;

の部分を変えてみてください。

その際は、ドラッグし直すのでなく、

追加済みのブックマークレット右クリック→「編集」で、30の部分だけ書き換えればOKです。

 

追記ここまで

 

 

https://anond.hatelabo.jp/20210803012020

に刺激を受けて作りました

 

id:new3 さんのコメント

https://b.hatena.ne.jp/entry/4706344345181168386/comment/new3

で、書き込み時の自動クマ補完について書かれてたので、それを実装しました。

 

インストール方法

以下の文字列選択して、Chromeブックマークバードラッグしてください。

javascript:(function () {
  const MinimumRequiredLength = 30;

  const currentCount = Number(document.querySelectorAll(".js-bookmarkadd-comment-count")[0].innerText);
  if (Math.floor(MinimumRequiredLength / currentCount) !== 0) {
    const elem = document.querySelectorAll(".bookmarkadd-comment-form")[0];
    if (elem.value.slice(-1) !== " ") {
      elem.value += " ";
    }

    const loopNum = Math.ceil((MinimumRequiredLength - currentCount) / 5);
    for (let i = 0; i !== loopNum; i++) {
      elem.value += "ʕ•̫͡•";
    }

    elem.value += "ʔ";
    elem.dispatchEvent(new Event("input"));
  }
})();

「_5)」みたいな変な名前で追加されるので、右クリック→「編集から好きな名前に変えてください。(addBearとか)

 

使い方

はてブコメント書き込み画面でブックマークレットクリックしてください。

30文字を超えるように、自動的にクマで補完されます

 

これで追加したクマを、コメント一覧画面で削除するためのブックマークレットは、

javascript:(function () {
  document.querySelectorAll(".entry-comment-text").forEach(function (e) {
    e.innerText = e.innerText.replace(/[ʕ•̫͡•ʔ]+$/, "");
  });
})();

です。

セットでお使いください。(名前はremoveBear?)

 

解説

 

誰向け?

私はクマで埋めることはしないのですが、埋めたい人もいるでしょうから、道具としてはあればよいと思いました。

 

クマで埋めてる人は、コメント直前に毎回クマコピペして、

最後クマだけ左頬のパーツを変えて……、など10秒くらい掛けてると思うのです。

その間、「ああ……またこんな作業をして……私ったら承認欲求の塊なのかしら、いやらしいわ」と自己嫌悪してたら可哀想なので、

少しでもネガティブ時間が短くなるよう、活用してみてください。

このブックマークレットを使えば、作業を1秒に短縮できます

 

はてブ仕様が元に戻ったり、さらに変化したりするかもしれないので、過渡期の現象として楽しんでます

中国の「上有政策、下有対策」の日本版みたいなものです。

2021-05-19

anond:20210519204622

俺のこれまでの経験からすると、かなり本能に近い脳の低次レイヤーエンコードされた感情がある感じがしてる。

2021-03-22

anond:20210322004214

そうなのかもしれない。

俺の脳がバグってる(そして同じようにバグった脳を持つ人間発達障害と呼ばれたりする)がそれなりに発生する)という可能性はあると思う。

そうだとすれば、正常な脳の持ち主はそのような価値観を生育過程のどこかで獲得するのではなくて生まれときから脳にエンコードされてるってことだよな。

2021-03-12

anond:20210312210940

いかダサいと言うより、古くなることでダサくなるタイプ作品があるんだろう。時代性をエンコードしすぎたものは多分そうなりやすいだろう。あと大多数のライト層にとっては「かっこいい」というのは「今一番ウケてる」という意味であって作品の内容はある意味なんでもいいんだよね。そういう層にとっては定義より古いことはダサいこととなる。

2021-02-23

anond:20210223223309

そのうち8Kエンコードかに目覚めて

ふたたび巨大なフルタワーケースにクソデカクーラーを選ぶ日が来るよ。

2021-02-21

コンピュータソフトで本当に何かを作る効率は良くなってるのか?

ゲームを見てると、年々、携わる人が多くなっている。

動画製作だと、エンコード時間は減っているけど、編集作業効率良くなっているのだろうか?

前に作った物をコピペして使い回すのができるくらい?

2021-02-02

anond:20210202135555

ちゃん女性扱いしてるよ

食事ときとか「こちらへどうぞ、フロイライン」って言って椅子をひきながら

さり気なく下にハンケチを敷いて紳士的にエンコードしてるし

2020-12-04

anond:20201130214610

1についてだけ。

>分かるけれどこれでどうやって動画音楽エンコードをしたり画像処理をしたりするソフトウェアになるのか

エンコードに関してはプログラムエンコード理論に従って作られているだけ。大事なのは研究者の考えた理論

画像処理定型の処理の塊でこれも代替やり方は決まってる。"python 画像処理"とかでググれば多分出てくる

 

>あるいはWordとかExcelとかがどうやってこんなので作られているのかが分からない

まず基本的な、ウィンドウシステムがどのように実現されているかWin32アプリベースでも

よいので理解するべき。ユーザーマウス操作キーボード操作をどのようにプログラム認識し、

処理するかが理解できる。この仕組みは基本的にすべてのアプリ共通と思われ。

 

プログラミング入門書を読んでも、一般的に知られているソフトウェアの作り方みたいな事が書いてない

多くの人が共通的な作り方に挑み敗れているわけで、プログラム10個あれば10通りの作り方がある。

方法は一つではない、目的を達成する手順は無数にあるから

また、クラスレベル抽象化してソフトウェア構造を整理しようとする、オブジェクト指向(最近

クリーンアーキテクチャ昇華させる流れもあり)もあるけれど、オブジェクト指向に向かない

対象領域があったり、なんでもクラス病にかかる等して、銀の弾丸とは言い難い。

また自説だが、順次処理を基本とする、手続き型言語データと処理が入り乱れることになるため、

全てを設定しきることが極めて困難なため、きれいにすべてを設計するのであれば関数型言語を使う必要

あると感じている。

 

>だからそのフレームワークがどういう風になっているのかって説明からして欲しいって思う。

そのフレームワーク内包するベストプラクティスの量を鑑みれば、中身を意識せずに

インターフェイスをしっかり押さえて使うことをお勧めする。

あなた人生はすべてのコードを描けるほど長くない。

 

>つまり言いたいことは、実際に動くアプリケーションというのを作りたいのにも関わらず

プログラミング入門書は、これで判定と繰り返しという基礎ができますと言うだけ。

>これがもう滅茶苦茶イライラする。

天才的な人はコードを書きながら、考えられるけれど、常人はまず詳細設計と言われる

フローチャートを書けるようになったほうがよい。

次に"抽象化"を覚える。"抽象化"を使うことで少なくとも、処理は全体をざっくり設計できる

 

>つまり完成しているプログラムを参考にしようと思っているにも関わらずそれがないのでよく分からない。

githubに山のように転がっている。

ただそれを見て理解できるかは別問題モチベーションを保って継続学習可能な形に

消化できる人間の登場が待たれる

   

2020-12-03

https://anond.hatelabo.jp/20201130214610

「 ①IFでAかBを選択させてどっちかの設定を実行

 ②Whileで決められた回数分繰り返す

 これでやりたいことは分かる。分かるけれどこれでどうやって動画音楽エンコードをしたり

 画像処理をしたりするソフトウェアになるのかというのがよく分からない。」

プログラミングでやることは、その2つだけじゃなくて、もうひとつある。

関数を呼び出すこと

Javascriptなら、console.log("Hello world")。

これは、テキストを出力するという関数を呼び出していて、関数の内部を理解しなくても使える。

オブジェクト指向も、結局はこれと同じこと。あらかじめ用意されている関数メソッドを呼び出せばいい。

もしもゲームを作りたいなら、ゲームエンジンを使うといい。

これは、大きなゲーム作成専用ライブラリで、ゲームを作るための大量のメソッドを持っている。

JSとかPython なら、比較的小さなゲームエンジンライブラリがあるので、いいと思うよ。

2020-12-02

IT(?)に立ち向かうための心構えとか考え方

anond:20201130214610

いろいろ面白かったので、適当に回答する。

> 1.具体的な事が分からない

プログラミングで主にやる事は下記の2つ。

①IFでAかBを選択させてどっちかの設定を実行

②Whileで決められた回数分繰り返す

これでやりたいことは分かる。分かるけれどこれでどうやって動画音楽エンコードをしたり

画像処理をしたりするソフトウェアになるのかというのがよく分からない。

とてつもなく複雑で冗長な処理によって実行されている。

複雑すぎて人間直感理解することは不可能だ。

わかりやすいので画像処理でいうと、数十万から数百万の画素(RGBAの24bitで表される数値)を小さなブロックに分解し、数学的に周波数の重なりとして計算して変換、含まれる頻出パターンテーブルにして圧縮伸張を行なう。みたいなことが瞬間的に行われている。

まさかそんな事できるわけないだろ」というレベルの処理が実際に行われており、これまた直感的でない。

適当リンクを挙げる。

からそれをどう書くんだよ。という答えはコレ。有名なjpeg実装だ。


フレームワークだとかよく分からないものを持ってきて使ってくださいってなっている。

libjpeg というライブラリを書くことはできるだろうか?画像圧縮理論から考え始めることはできるか?

正直無理だ。自分プログラマだがそんなに数学が得意ではなく、頑張ったとしても下手するとコレを作るのがライフワークになってしまい、他のことができなくなる。

例えばブラウザを0から作るとして、jpegの処理以外にも画像だけでpngとかgifとかwebpとか、その他もろもろとてつもない作業必要になる。

「とてつもなくて想像もできないので流石に無理だろう?」

いや、でも、実際動いてるのよ。ここ何十年、コツコツと積み重ねて実現している。

「積み重ね」とはライブラリであったりフレームワークであったりOSであったりする。

からそのフレームワークがどういう風になっているのかって説明からして欲しいって思う。

「どういう風になっているのか」

多くの場合、內部の実装に関しては詳しく知る必要はない。

外部に向けたインターフェイスがどうなっているのかは理解する必要がある。「使う」ために必要からだ。

この2つは分けて考えなければならない。

これでどうやってゲームを作ったり、検索エンジンを作ったりするんだとなってくる。

ちなみに、たとえばChromeのコアであるChromiumはのコードはコレだ。


まり言いたいことは、実際に動くアプリケーションというのを作りたいのにも関わらず

プログラミング入門書は、これで判定と繰り返しという基礎ができますと言うだけ。

これがもう滅茶苦茶イライラする。

「これで判定と繰り返しという基礎ができます」というのが基本的理論定理的なもの)で、その他に必然的だが唯一無二ではないベストプラクティスというものがある(法則的なもの)。

後者をうまく説明する入門書出会っていないんだろうな。という印象。イライラはやめよう。つかれる。

ベストプラクティスはいろいろあるのだが「層の構造にする・レイヤーに分ける」というのは重要アイデアだ。

libjpegというのはjpegの処理を行う「ライブラリ」だ。他のアプリケーション...たとえばブラウザはこのライブラリを「使う」。

ブラウザではjpeg画像圧縮展開というとてつもなく難しい処理を「libjpegの使い方」の理解までで済ませ、過去の蓄積であるlibjpegコードを利用することで真の意味で0から実装しないようにしている。

この場合、libjpegが「低レベル・低レイヤー」の存在であり、中身については「使い方」つまり仕様」の理解までしか行わないことで、実際に作りたいものを作れるようにしているわけだ。

巨人肩に乗る」とよく言われる。

まり完成しているプログラムを参考にしようと思っているにも関わらずそれがないのでよく分からない。

完成しているプログラムは二例ほど挙げたがどうですかね?

複雑なことをする、特にレイヤーコードはとてつもなく難しい。

でも、とりあえずこんな感じのコードなら解るよね?

こういうレベルから理解して、ちょっとずつ難しい処理を学んでいくしかない。

から木材を渡されてこれで家を作れと言われるくらいハードルが高い。

ハードルは高いんですよ。実際。

なので、木材からだと難しいかプレハブのキット的なものを探すとか、ログハウスカタログを読むとか、あるいは100人乗れる物置を買うのがいいかもしれない。そういうところから始める。

それらがフレームワークであったりライブラリであったりする。目的に合うものを探して、自分がやりたいことをどう実現するかとにかく考える。

「テキシコーhttps://www.nhk.or.jp/school/sougou/texico/ で言われる通り、「小さく分けて考える」「手順の組み合わせを考える」「パターンを見つける」「大事ものだけ抜き出して考える」「頭の中で手順をたどる」をひたすら実行する。

ゲーム作りにはそういうアプリを使えば楽だからそれを使えという人もいる。Unity?だっけ。

でもそれはそれ。そうじゃなくてプログラミングでどうやってそれが作られているのかが分からない。

unityコードが公開されているので、本当に読みたいなら。。


なぜそこでオブジェクト指向になるのかが分からない。

オブジェクト指向は内部構造を知らなくても直感的に利用できる素晴らしいものだとは思う。

オブジェクト指向は一旦忘れよう。

オブジェクト指向の「隠蔽」というのは層の構造が持っている重要な要素ではあるけど、「低いレイヤーについて考えない」のが基本的作戦だという理解の方が重要だ。

が、プログラミングでは、その内部構造を作らなきゃいけないのだからそれを知る必要がある。

前述の通り「できる限り作らない」んですよ。「使う」だけ。知るべきことを最小化する。

巨人肩に乗り、車輪の再発明基本的に避ける。

そして本当に作るべきものに関しては、利用する下のレイヤーライブラリなりを探して・仕様理解して、どう組み合わせてfor, if, あるいは計算させれば実現できるのかをひたすら考える。

じゃあ具体的に何を作りたいのかというと、英語フリーソフト言語表示を日本語翻訳するソフト

単に翻訳がしたいのか?表示に割り込む方法を知りたい?日本語翻訳するのは実行時なのか開発時なのか?

要求される表示エリア言語によって異なるために、デザイン調整が必要になる問題をどうするか?

解決したい問題もっと分解したほうがいい。

分解が甘いので何をしたらいいか調べることができないんだと思う。

たまに便利なフリーソフト海外版の時があるんだけれど、日本語化が出来ない事があるので、自分自由

日本語化できるようにできれば凄くストレスが減る。だからやりたいのだけれどそういうのがよく分からない。

ちなみに、アプリ内の文言というのはアプリの外部から変更できないように実装されている事が多いので、利用者が上書きする仕組みはかなり難しい。

AndroidなりiOS仕様にもそのへんに割り込める機能はないはずなので、OSの開発に入っていく必要がある。結構大変だとおもう。

アプリ開発者が、そういう機能を備えた多言語化のためのライブラリを使うようになれば実現可能ではあるので、そっちの方向で頑張るのがおすすめだが、英語圏の開発者には多言語化のモチベーションが低いという基本的問題はあるのよね。

この辺の「できる・できない・むずかしい」の判断は、いろいろな勉強をすると常識としてある程度みえてくる...気がする。

ついでに。ウェブサイトウェブサービス翻訳だとこういうサービスがあったりする。

ブラウザはページの描画処理のなかに割り込む余地が大きく取ってあるので、ブラウザのExtensionとかならできることがいくらかあるかもしれない。

> 2.説明が出来ても説明が出来ない

個人的に気に入らない話はOSアップデートは使いやすくなるからとてもいい事だからすぐにやった方がいいと宣伝されている事。

セキュリティが高まりますというのが宣伝文句だけれど、これで大体老人たちやIT知識に疎い人は躓く。

まあ、半分は嘘だよね。古いものが残っていると先に進めないんだよ...。

現在クライアントOSは、巨大なプラットフォームのパーツの一部として理解したほうが正しくて、古いパーツが残っているとツライんですよ。

そして「サービスを受けるための道具であって、あなたが何でも好きにできる機械ではないです」みたいな世界になりつつあって、ちょっと問題と言われてもいる。

これはかなり困った傾向なんだけど、全体としての流れはあんまり変わりそうにない。

たここでオブジェクト指向が出てくる。

オブジェクト指向好きですな...。ここではオブジェクト指向特に気にしなくていいですよ。

からパソコンはたまに不具合を引き起こすんですという説明が着地点になる。

とてつもなく複雑なことをやっているために、すべてのバグを潰すことはコストが高すぎてできないんですよね。

それよりバグ未来を先取りするコストと考えて、本質的価値のある機能を増やしていくというのが基本的な方向になっている。

からパソコンはたまに不具合を引き起こすんです。しゃーない。

しか中途半端理解している老人などは、そんなことじゃ分からん自分に分かるように説明しろと言い出す。

説明は出来る。しか相手イライラするし理解されない。よって説明をしてはいけないという状況に追い込まれる。

ここでどうすればいいのだと理解不能に陥る。

まあ、説明って得てして難しいよ。しゃーない。

何故なら自分OSアップデート不具合の原因というのが分からいから。

Microsoftが、Appleが、Googleがそうしているんですとしか言えない。

そのとおりです。

プログラムソースコードのどこかにエラーがあるのだろうけれど、どこにあるのかなんて当然知らない。

そもそもソースコードを調べるのは違法なのでやれないし。

オープンソースプロダクトなら原理的には調べられるけどね。Androidとかはオープンになってる。


だけどみんなそんなものを使っているし自分も使っている。正直こんなんでいいのか人類と思う事がある。

それを許容することで先に進んできているという事実は受け入れたほうがいいと思う。

「把握・理解可能範囲」に留めていたら、数十年前のコンピュータ世界から抜け出せなかった。

deep learning世界ではそれがより一層進むかも。この辺は詳しくないけど。

当然仕組みを理解している人はいるし、そんな人にとってみれば当然のことであっても、全ての中身を知っているわけではない。

どれだけ知っていても知らない事があるのがIT理解しがたい。理解が出来ない。

ここでの「理解」についてはそのとおり。これはもう諦めるしかない。

> 3.自分頭が悪い

これが常にある。IT関連は常に新しい情報が出てくるのでそれに送れると無知になってしまう。

なんでこんなことも分からないんだとか言われ放題で、IT系の企業に努めている人は常に新しい知識を入れられる

面倒くさがらない人が向いている。

「面倒くさがり」の方が問題に気づいて「頑張って面倒じゃなくする」ことができるので、プログラマにとっては美徳なんて言われますけどね。

同時にくじけないとか諦めない、しつこいみたいな素養必要かも。

表計算ならいけるんじゃないかと思ったときがあるのだけれど「射影」とかいきなり意味不明な言葉が出てきて、

勉強しろ

それから受験していない。だから持っているのはITパスポートだけ。情けない。

応用まではとろうな。がんばれ。

> 4.最後

USB-TypeCをTypeAに変換してはいけないとか最近まで知らなかった。

このへん自分も知らんですよ。べつに全部知っている必要はない。

面白いからたまに調べたりもするけど。

追記: はてな記法引用すらもさっきまで知らなかったしな!そんなもん)

更にレガシー、すなわち過去遺産なるものについても理解ができない。古い物がずっと使われ続けているIT環境

もう誰もメンテナンスが出来ないものが延々と使われているという事実

層の構造をとっているということと関係があるんですが、仕様が変わると、その上に乗っているものを全部なおさないといけないんですよね。

なので「互換性」というのが非常に重要なのです。

でも革新のために互換性を捨てなければいけないケースも多い。このへんはハードでもソフトでも同じ。

そして、メンテコストが上がっても使い続けたほうがトータルで安上がりという場合は、古いものが残ってしまう。

あるいは「(多少の問題はあっても)動いているものは変えるな」という経験則から意図的に残す場合もある。

西暦2020年にもなって、プログラミング簡単には出来ないし、ハードウェアの規格も完全に統一はされていない。

というかプログラミング言語自体多すぎる。ソフトウェアデファクトスタンダードのモノ程度は知っているが、

いまは原始時代にいると思ってもらって構わないと思いますよ。

ぜんぜん完成していない荒っぽいものを目にしているのだと理解したほうが的確。

それなのに毎日理解のできないパソコンスマートフォンを使っている。

オブジェクト指向のおかげ様だがオブジェクト指向に対して無性に腹が立つ。

自分の全く知らない場所いけしゃあしゃあ演算を行い、そして結果を出す。それも大半が正しい結果で

利便性が抜群だ。些細なミス(バグなど)はあるが圧倒的に利便性が勝っている。

そんな道具に踊らされている自分が滑稽だ。理解できない愚かな自分は正に機械奴隷のようだ。

本当に理解できない。辛い。

勘違いしてはいけないのは、それらはすべて先人の努力の蓄積によって成り立っているということ。

「よくわからないけど存在している道具」ではなくて、信じられないほど複雑だけど、多くの人々の行動によってなんとかかんとか実現した道具なんですよ。

オブジェクト指向のおかげ様」じゃないんです。(もちろんオブジェクト指向というのも大きな発明の一つですが)

そしてブラックボックスとして使うのは多くの場合正しいです。そこは諦めましょう。

でもエンジニアとしての立場からは、その裏に隠れているとてつもない技術思考の蓄積に感動してほしいなと思う。

なので、ちょっとずつがんばって勉強してください。

人類がこんなもん作れたのって、かなりすごいよ?

2020-12-01

anond:20201201171157

追記

まず簡単なのはここに書いてある。

ttps://agk.saloon.jp/how-to-jp-series

結論をいうと対象ソフトが下記を満たすかどうかで難易度がかなり変わる。

1. 表示テキストが外部ファイルになっている or exe内部のリソースファイルから読み取られる ↔ プログラム埋め込み

2. 内部のテキストエンコード方式UTF-8 or 16 or 32 ↔ ASCIIなど

3. フォントシステムにあるのが使われる ↔ 外部ファイルになった画像フォントが使われる

すべてのソースが公開されていない限り、この条件を満たさなもの基本的日本語にできない。

例えば、自分C言語printfだけのHello world!プログラムを作ってみて、それをソース無しで、外からテキストを変更できるかためしてみればいい。

これは1に反するから多分簡単には出来ない。よしんば出来たとしても、Hello world!より文字数が多いテキストに変えるのはそれなりに面倒である

こういう表示をさせるやり方としてはprintfに渡すデータを実行時にすげ替えればいい。具体的にはprintfの直前で別の箇所にジャンプさせて引数レジスタに書き換えたいアドレスを渡して、またprintfまで戻ってくればいい。

これ以上に面倒なのが、2と3が合わさったもので、欧米アルファベットしか使わないため、ソフトの内部コードASCIIやCP12XXだったりする。さらにそのソフトに用意されているフォント文字はその範囲しか存在しない。これらはどう頑張っても普通に日本語を表示することは出来ないので、かなり強引に改造するしか無い。俗に中華パッチと呼ばれているものがそれである

具体的にはソフトのどこかで、表示させるテキスト配列から文字を1文字取得、1文字からコードポイントに変換、フォントファイルからそのコードポイントのグリフデータを取得、グリフデータを画面に表示させる処理があるため、そこに割り込む。1バイト取得している箇所を2,3バイト一気に取得して、それをなんとかしてコードポイントにして、そのコードポイントをグリフ取得の処理に回せばいい。

この方法にしても、技術的に難しい点は存在せず、技巧的であり、Cの本を読めば誰でもできる処理である

これでやりたいことは分かる。分かるけれどこれでどうやって動画音楽エンコードをしたり

画像処理をしたりするソフトウェアになるのかというのがよく分からない。

それは「数学」の知識が足りないからだと思う。

画像や音声を扱うのに純粋数学という学問知識必要ない。

でも、工業数学レベル知識必須である

例えば、サンプリング定理(標本化定理)を知らなければ音声の録音も圧縮理解できないのは当たり前。

から大学情報科、もしくは電子工学機械工学を履修するのは無駄ではない。

日本専門学校だと給与が安い仕事即戦力になるようなカリキュラムになりがちだから

専門学校が扱う職業ラインナップを見ればそれは明らかだと思う

乱暴一言表現するなら、この世のすべてはビット、つまり0と1で表現できてしまう。

少し正確に言うと、2進数ですべて表現できるは嘘で、

例えば小数点以下無限数字が続くような数字は、言い換えれば無限情報必要ということになる。

メモリは有限だし、たった1つのそんな感じの数字記憶するためにどんな巨大なメモリも埋まってしまうのでは意味がない。

からコンピュータ浮動小数点を表現する場合、どこかで足を切らなければならない。

それによって、紙で計算すれば問題ないことが、コンピュータではおかしな結果になることがある。

しかし、これを知っていなければ科学計算はもちろん、銀行のようなお金計算おかしな結果になってしまう。

大学数値計算の授業を取得するのは退屈だが、これを理解してなければ社会に出ても間違ったコードを書いてしまう。

というか、私も大学在籍中に間違ったコードを書いたことが何回かあるw

プログラミング入門書を読んでも、一般的に知られているソフトウェアの作り方みたいな事が

書いてないので、ゴールが見えてこない。だからうんざりしてくる。

その原因は根源的で哲学みたいな話で、

世の中のほとんどの物事には正解がないとか、そういう話にしかならない。

良いテキストはあるわけだけど、それを読むべきタイミングもあるし、万人向けが自分に向いてるとも限らない。

本なら何冊かはドブに捨てるつもりで買うしかない

みんなが良いから読めという本も、なんとなく自分にはこれがいいんじゃないか、も買うしかない

買って家でじっくり読んで、途中でナニコレ?みたいな本だったら後悔するかもしれないけど、世の中そういうもんだから

料理を作ろうと思ったら材料と道具を揃えたけれど、レシピが無いので作れないというものに近い。

自分レシピ通りに作らないでヒントにしかしないタイプなのだけど、

料理プログラミングには似ているけど、化学実験ではない。

焼く、炒める、煮る、蒸す、みたいな方法だけ理解していれば味付けなんて適当でいいのだ。

なんらかの魚があったとして、それは食べられる魚だと分かっているが調理方法はまったく知らなかったとする。

本とかネットとか調べる環境がなかったとする。

どうするか?

とりあえず、まず口に入れられるサイズに切るべきだろう。

口に入れられないと食事にならんのだから、魚を切って骨を取る。

さばき方もググれない状況なのだから、もう適当に切断していくしかない。

鱗も大味で取るしかない。

ググらないと、とんでもないほど非効率的なさばき方をしている可能性があるが、とにかく食えればいいのだ。

腐らせては意味がない。

日本刺身みたいな生で食べる文化イヌイットではないが、漁師が船の上で食べることとも関係しているように思う。

何が言いたいかというと、生食現代文明ロジスティクスは保存技術の成せるわざであって、料理の基本は何でも熱を通すべきなのだ

毒になる菌で食中毒では意味がない。

切った魚を、焼く、炒める、煮る、蒸す、みたいな方法で熱を通せば料理は終わりだ。

レシピなんかなくてもこれで十分なのだ

あとはその魚に味を付けるため、味ぽんなり味噌なりトマトなり使えばいいだけなのだ

anond:20201201170825

アナログテレビ放送は絵がそのまま電波になったみたいなのを飛ばしてたんで

原理だけならわりと簡単理解できたんだけど、

デジタルテレビ放送動画エンコードデコード原理理解せんといかんので無理

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