はてなキーワード: txtとは
例えば、
https://github.com/timdetering/Wintellect.PowerCollections/tree/master
License.txt
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
要約すると裁判でここの作者が損害賠償を命じられそうになった場合、商用ソフトの提供元は裁判に協力しないといけないし、求償請求にも応じないといけないとある。
ある会社が2つの製品(XとY)を2台の機械(AとB)を使って製造しています。Xの1単位を生産するには、機械Aで50分、機械Bで30分の処理時間が必要です。Yの1単位を生産するには、機械Aで24分、機械Bで33分の処理時間が必要です。
今週の始めの時点で、在庫にはX製品が30単位、Y製品が90単位あります。今週の機械Aの利用可能な処理時間は40時間、機械Bは35時間と予測されています。
今週のX製品の需要は75単位、Y製品の需要は95単位と予測されています。会社の方針は、週末時点でのXとY製品の在庫単位数の合計を最大化することです。
1: 今週、各製品をどれだけ製造するかを決定する問題を線形計画問題として定式化してください。
2: この線形計画問題をglpkを用いて解いてください。
決定変数:
最大化 Z = (x + 30 - 75) + (y + 90 - 95) = x + y - 50
制約条件:
1. 機械Aの処理時間制約: 50x + 24y ≤ 2400 (40時間 = 2400分)
2. 機械Bの処理時間制約: 30x + 33y ≤ 2100 (35時間 = 2100分)
3. X製品の需要制約: x ≥ 45 (需要75 - 在庫30 = 45)
4. Y製品の需要制約: y ≥ 5 (需要95 - 在庫90 = 5)
5. 非負制約: x ≥ 0, y ≥ 0
GLPKで解くために、以下のようなモデルファイル(例:model.mod)を作成します:
/* 決定変数 */ var x >= 45; var y >= 5; /* 目的関数 */ maximize Z: x + y - 50; /* 制約条件 */ s.t. machine_A: 50*x + 24*y <= 2400; s.t. machine_B: 30*x + 33*y <= 2100; end;
このモデルファイルを使用して、コマンドラインで以下のコマンドを実行します:
glpsol --model model.mod -o solution.txt
GLPKが問題を解いた結果は以下です。
Problem: model Rows: 3 Columns: 2 Non-zeros: 6 Status: OPTIMAL Objective: Z = 1.25 (MAXimum) No. Row name St Activity Lower bound Upper bound Marginal ------ ------------ -- ------------- ------------- ------------- ------------- 1 Z B 51.25 2 machine_A NU 2400 2400 0.0416667 3 machine_B B 1556.25 2100 No. Column name St Activity Lower bound Upper bound Marginal ------ ------------ -- ------------- ------------- ------------- ------------- 1 x NL 45 45 -1.08333 2 y B 6.25 5 Karush-Kuhn-Tucker optimality conditions: KKT.PE: max.abs.err = 4.55e-13 on row 2 max.rel.err = 9.47e-17 on row 2 High quality KKT.PB: max.abs.err = 0.00e+00 on row 0 max.rel.err = 0.00e+00 on row 0 High quality KKT.DE: max.abs.err = 0.00e+00 on column 0 max.rel.err = 0.00e+00 on column 0 High quality KKT.DB: max.abs.err = 0.00e+00 on row 0 max.rel.err = 0.00e+00 on row 0 High quality End of output
以下のような最適解が得られます:
Z = 1.25 (週末時点での余剰在庫数)
この結果から、会社は今週、X製品を45単位、Y製品を6.25単位製造するべきであることがわかります。これにより、週末時点での余剰在庫数は1.25単位となり、最大化されます。
こういう疑問こそ、生成AIに回答を作ってもらうのが良いと思うよ。
Perplexity PROに聞いてみたよ。
「大学の入学定員のアファーマティブアクションとして女子枠が設定されているのは日本だけですか?海外で女子枠が一般的にある国を列挙してください。特にEU諸国での考え方が気になっています」
大学入学定員における女子枠の設定は、日本に限らず世界の多くの国で実施されています。ただし、その形態や規模は国によって異なります。以下に、女子枠が比較的一般的な国々を列挙し、特にEU諸国の状況について説明します。
1. インド
2. パキスタン
3. バングラデシュ
4. マレーシア
5. 韓国
EUでは、高等教育における性別による直接的な割当制(クオータ制)は一般的ではありません。しかし、ジェンダー平等を促進するための様々な取り組みが行われています[1][6]。
1. 法的枠組み:EUの基本条約では、男女平等の促進が重要な価値として位置づけられています[28]。
2. ポジティブ・アクション:EUは、形式的な平等だけでなく、実質的な平等の実現を目指しています。これには、一時的な特別措置(ポジティブ・アクション)の実施も含まれます[6][31]。
3. 分野別アプローチ:特に理工系(STEM分野)における女性の参画を促進するための取り組みが行われています[28]。
1. ソフトロー:法的拘束力のない指針や勧告を通じて、ジェンダー平等を推進しています[11]。
2. 財政的支援:女性の参画を促進するためのプログラムに資金を提供しています[11]。
3. データ収集と分析:European Institute for Gender Equalityなどの機関を通じて、ジェンダー平等の進捗状況を継続的に監視しています[28]。
4. 企業の取締役会におけるクオータ制:一部のEU加盟国(フランス、ドイツ、イタリアなど)では、上場企業の取締役会における女性比率の目標を設定しています[10]。
日本の大学入試における「女子枠」の設定は、EUの一般的なアプローチとは異なります。日本の取り組みは、特定の分野(主に理工系)における女性の参画を直接的に促進することを目的としています[15][18]。
一方、EUでは、教育システム全体を通じてジェンダー平等を促進する包括的なアプローチを採用しています。これには、早期教育からのステレオタイプの排除、キャリア指導の改善、ロールモデルの提示などが含まれます[28]。
結論として、大学入学定員における明示的な「女子枠」の設定は、日本を含むアジアの一部の国々でより一般的であり、EUでは直接的なクオータ制よりも、包括的かつ長期的なアプローチが採用されていると言えます。
[1] spaceshipearth.jp/affirmative-action/
[2] univ-journal.jp/column/2024249156/
[3] feminist.org/news/european-court-of-justice-strikes-down-affirmative-action-law/
[4] mainichi.jp/univ/articles/20240925/ddm/010/100/018000c
[5] note.com/yourchoice_ycp/n/n644ad1296281
[6] www.jil.go.jp/institute/zassi/backnumber/2014/07/pdf/060-069.pdf
[7] eur-lex.europa.eu/legal-content/EN/TXT/?uri=legissum%3Ac10935
[8] jbpress.ismedia.jp/articles/-/80117
[9] www.kaonavi.jp/dictionary/affirmative-action/
[10] ja.wikipedia.org/wiki/%E3%82%A2%E3%83%95%E3%82%A1%E3%83%BC%E3%83%9E%E3%83%86%E3%82%A3%E3%83%96%E3%83%BB%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3
[11] ehne.fr/en/encyclopedia/themes/gender-and-europe/gender-citizenship-in-europe/european-union-gender-equality-policies-1957
[12] www.keinet.ne.jp/teacher/media/guideline/backnumber/23/0203/shiten3.pdf
[13] www.gender.go.jp/kaigi/kento/positive/siryo/pdf/po02-2.pdf
[14] revistaidees.cat/en/la-unio-europea-a-lavantguarda-de-les-politiques-digualtat/?pdf=12310
[15] www.yomiuri.co.jp/kyoiku/kyoiku/daigakunyushi/20240308-OYT1T50053/
[16] waseda.repo.nii.ac.jp/record/10032/files/Honbun-7017.pdf
[17] www.nytimes.com/1997/11/12/world/european-union-court-upholds-affirmative-action-for-women.html
[18] www.nikkei.com/article/DGXZQOCD17DER0X10C24A7000000/
[19] journals.sagepub.com/doi/10.1177/00016993231163416?icid=int.sj-abstract.citing-articles.34
[20] news.tv-asahi.co.jp/news_society/articles/000341947.html
[21] www.eigo-net.jp/easy_readings/easy_readings-3403
[22] note.com/wakari_te/n/n8e298c2e524c
[23] eic.obunsha.co.jp/file/exam_info/2024/1108.pdf
[25] www.gender.go.jp/policy/positive_act/pdf/positive_action_011.pdf
[26] www.gender.go.jp/research/kenkyu/ishiki/kekka53.html
[27] corp.miidas.jp/assessment/10794/
[28] commission.europa.eu/document/download/965ed6c9-3983-4299-8581-046bf0735702_en
[29] mainichi.jp/articles/20240426/k00/00m/040/090000c
[30] www.hosei.ac.jp/diversity/publication/newsletter/vol3-1/?auth=9abbb458a78210eb174f4bdd385bcf54
[31] www.era-comm.eu/oldoku/SNLLaw/04_Positive_action/116DV06_Selanec_EN.pdf
[32] admissions.titech.ac.jp/admissions/admission/admission/international
アメリカの大学における女子枠の状況は、日本とは大きく異なります。
アメリカでは、1972年の平等機会法(Equal Opportunities Act)以降、人種間の不平等是正を目的としたアファーマティブ・アクションが実施されてきました[4]。しかし、近年では性別に基づく優遇措置に対して批判が高まっています。
1. 法的問題:性別に基づく入学枠の設定は、教育改正法第9編(タイトル・ナイン)に違反する可能性があるとして、多くの苦情が申し立てられています[3]。
2. 男性への不利益:現在の大学では、むしろ男性が不利な状況にあるという主張があります[3]。
3. 違憲判断:2023年6月、最高裁判所がハーバード大学とノースカロライナ大学のアファーマティブ・アクションを違憲と判断しました[5]。
多くの大学が、性別に基づく優遇措置を廃止する動きを見せています:
アメリカの大学、特にトップスクールでは、男女比がほぼ半々になっています。例えば、スタンフォード大学のコンピュータサイエンス専攻では、3人に1人が女子学生です[2]。
このように、アメリカでは明示的な「女子枠」ではなく、長期的かつ包括的なアプローチによってジェンダーバランスの改善を図ってきた結果、現在の状況に至っています。
[1] note.com/wakari_te/n/n8e298c2e524c
[3] forbesjapan.com/articles/detail/47454
[4] ipdi.w3.kanazawa-u.ac.jp/cdl/houkoku/doc/090317ppt.pdf
[5] x.com/LazyWorkz/status/1816616538717454751
[6] www.jstage.jst.go.jp/article/kyoiku/89/4/89_683/_pdf/-char/ja
適切なBepInExBEをexeのある階層にぶっ込み、F95zoneで頒布されてるSW_Decensorプラグインを入れる、exeまでのパスに2バイト文字厳禁
DLsiteとかで出てる3Dゲームの多くはUnityで作られてる
それらの中にはゲームエンジンによるリアルタイムのモザイクエフェクト処理のみで検閲が行われているものがあり、除去できる場合がある
そうしたUnityゲームに対しインジェクションを行えるツールとしてBepInExがある
モザ除去の場合は安定版よりBleeding Edgeというベータ版みたいなものを使う方が良いことが多い
最新の#数字を展開したときにUnityゲーム向けパッケージがMonoとIL2CPPで分かれてて悩むはずだが
これはUnityのゲームエンジンの種類で、どちらかを使って作られてるはず
exeのある階層にMonoBleedingEdgeってフォルダがあったり、"ゲーム名_Data"フォルダ内に"Managed"フォルダがあればMono
"ゲーム名_Data"内に"il2cpp_data"ってフォルダがあればIL2CPP
正しい方を選んでexeのある階層に中身をまるごと入れればOK、厳密にはChangelog.txtは不要
出来てればゲームexe実行後、最初にコマンドプロンプトが立ち上がり、解析のため初回起動時は少し時間がかかってからゲーム餓鬼道する
この時点でFatal Errorという赤い文字が出てたら、大抵の場合、ゲームまでのパスに日本語が使われてるせい
exeが入ってるフォルダ名を適当な英数字に変え、そこまでのパス上でも日本語を使ってるなら英数字だけのシンプルなパスにゲームを配置する(例: D:\Game\iSekaiju)
なお、exeファイル名自体に日本語が使われてても問題はなく、exe手前までのパス(フォルダ名)に2バイト文字があるとダメみたいだ
無事コマンドプロンプトつきでゲームが起動したら、「これでこのゲームはなんぼでも改造できますよ」状態になったということ
ちなみにdoorstop_config.iniの最初の項目をfalseに書き換えると、わざわざBepInExを削除しなくても無改造状態で起動できる
ここから目的の処理、今回はモザイク除去のためのプラグインを入れていく必要がある
この同人エロゲー改造分野で一番すすんでる場所はF95zoneっていう海外のフォーラムで、そのための成果物もそこで公開されてる
英語だからとっつき辛いかもしれないが個人的には会員登録して閲覧やDLできるようにしたほうがいいと思う
以前はUniversalUnityDemosaicsというのがよく使われていたが、より対応力の高いSW_Decensorというのがkumarin氏によって開発・公開されてる
のでSW_Decensorでググれば配布スレッドにたどり着けるだろう
一応いま調べた感じ再配布してる日本語サイトもあるようだが、安全性を保証できないのでフォーラムからを推奨する
そのzip中の_BE6.dll(Mono用)か_il2cpp.dllの適切な方をさきほど展開したBepInEx\pluginsフォルダ内に入れてゲームを再起動する
運がよければそれだけで解除されている
解除されない場合は大抵、そもそもテクスチャ自体にモザイク模様が書き込まれているパターン(baked)か
もしくはアダルトシーンが3Dのリアルタイムレンダではなくよく見ると動画ファイル流してるパターンで、この場合諦めるしかないが
テクスチャの場合は、フォーラムを漁れば有志の神が除去済みのテクスチャを含むアセットファイルをアップしてくれている場合もある(Live2Dゲームなど)
うまくいかない場合の報告なども投稿されており、「How To Uncensor (Almost) Any Unity Game」というスレの最新レス付近を見れば
https://www.geonames.org から取れる、人口500人以上の都市の名前に限定すると、
Santa Maria Magdalena Cahuacan
import logging import tempfile import zipfile from collections import Counter import httpx FILE_NAME_BASE = 'cities500' GEONAME_FIELDS = ( 'geoname_id', 'name', 'ascii_name', 'alternate_names', 'latitude', 'longitude', 'feature_class', 'feature_code', 'country_code', 'cc2', 'admin1_code', 'admin2_code', 'admin3_code', 'admin4_code', 'population', 'elevation', 'dem', 'timezone', 'modification_date', ) def retrieve_cities(): """Retrieve city names from a remote server.""" response = httpx.get(f'https://download.geonames.org/export/dump/{FILE_NAME_BASE}.zip') response.raise_for_status() tmpdir = tempfile.TemporaryDirectory() with open(tmpdir.name + f'/{FILE_NAME_BASE}.zip', 'wb') as f: f.write(response.content) with zipfile.ZipFile(tmpdir.name + f'/{FILE_NAME_BASE}.zip', 'r') as z: z.extractall(tmpdir.name) with open(tmpdir.name + f'/{FILE_NAME_BASE}.txt', 'r') as f: for line in f: yield line.split('\t') def count_characters(to_check='ascii_name', filter_func=lambda _: True): """Count characters in city names.""" cities = {} for city_fields in retrieve_cities(): city = dict(zip(GEONAME_FIELDS, city_fields)) if not filter_func(city): continue counter = Counter() for c in city[to_check]: counter[c] += 1 cities[city['geoname_id']] = {'characters': counter, 'city': city} return cities def count_chars_of_city_names(cities, char=None): """Find the city with the most occurrences of a given character.""" cities_by_char_count = {} max_count = 0 max_count_char = None for city_id, data in cities.items(): if 'characters' not in data or not data['characters']: logging.debug(f'No characters found for city {city_id}', data) continue count = 0 if char and char in data['characters']: count = data['characters'][char] cities_by_char_count.setdefault(count, []).append(data) elif char is None: most_common = data['characters'].most_common(1)[0] char, count = most_common cities_by_char_count.setdefault(count, []).append(data) if count > max_count: max_count = count max_count_char = char cities_by_char_count.setdefault(count, []).append(data) return cities_by_char_count.get(max_count, []), max_count_char def not_contain_invalid_chars(city): return ( '(' not in city.get('ascii_name', '') and '/' not in city.get('ascii_name', '') ) def main(): cities = count_characters(filter_func=not_contain_invalid_chars) for char in 'abcdefghijklmnopqrstuvwxyz': cities_counted, char = count_chars_of_city_names(cities, char) max_count = cities_counted[0]['characters'][char] print(f'The character "{char}" appears the most ({max_count} times) in the following cities:') for city in cities_counted: print("\t", city['city']['ascii_name']) if __name__ == "__main__": main()
サブスクがいつの間にか増えていたので、断捨離のための整理をかねて...
Google Photo で半分ほどの容量を占めているが残りは、GmailとDriveが10GBずつ程度。
50GBで月額130円。
iPhoneのバックアップが主な理由。写真のシンクはしていない。
無償分がはみ出るリソースで、円安前は110円で済んでいたんだけどな。
ほぼ Route 53 のゾーン利用料。
20ドルかぁー、20ドルなぁーって思いながら使っている。Notionはちょっとダメだったので、これはまあ、イイかと思っている。
大学時代からAtokを使い続けているので惰性のようなものだが、買い切りからサブスクに切り替えてからもう何年経ったのだろうか?
家族がネット広告に曝されることでネトウヨ化したり、エセ科学を真に受けたりするのを避けるには、しょーががない支出ととらえている。
有料で有益なコンテンツを得るためというよりは、害になるコンテンツ避けの為にお金を払っているという感覚がある。
国際政治チャンネルを放置したままにしている...、まぁ、お布施みたいなものだが。
非公開魚拓を保存出来るのと、robot.txtで拒否しているものの収集も出来るが、面倒なので外に置いておくという使い方かな?
今年で契約が切れるので更新が必要になる。どーしよっかなぁー、1Passwordで継続するか、Dashlaneに戻すか悩むなぁー。
プライベート(家庭)ではない、仕事用のアカウントのパスワードマネージャーとして。
世界情勢が物騒になってしまって、空の状況や要人の動きなどをウォッチするに便利なのでついつい契約してしまう。
銀行口座は連携せずクレジットカードと電子マネーの使用履歴を管理している。
支出の記録はバラバラになってしまうので、マネーフォワードでまとめている。
ココヘリか、YAMAPか悩む所だが、"登山"にはほとんど行かないので行動履歴を重視してYAMAPに課金している。
最近はヒザが気になりだして、山歩きをしていない。
少額でも送料が無料になるのだが、欲しいものは一通り揃ったので買うものは無いから次回更新は無しかな。
クルマに乗らないしなぁー、遭うかどうかわからんトラブルに備えて4,000円払うのはムダかなのぉー。
自分が遭いそうなトラブルについては、既に車載しているしなぁー、でもレッカー代って高いしなぁー。自動車保険付帯に変えようかなぁー。
無償アカウントで登録だけしておくと値下げする時期にお知らせがあるので、セールスしているタイミングで有償契約をする。
以降は、自動更新にしておかなければ更新時に値下げオファーが届くので、セール価格で更新する。
朝日新聞は購読料の選択肢が複数あって、読者としては良心的な方だと思う。読売や産経、毎日はちょと高くて手を出しづらい。
(<追記:2024/08/19 15:31>ブコメに教えてもらった。毎日新聞スタンダードなら年払いだと9,240円(770円/月)で本紙ウェブ版とWSJ日本版を読めるそうだ</追記>)
エモ記事に関しても、あれは「新聞」というよりは、「朝日新聞」という読み物を求めている読者に向けたコンテンツなのだろうなと思う。
そういう意味で、朝日新聞はポッドキャストも含めて「朝日新聞」というコンテンツを売り物にしようと舵を切ったのだろう。
昨年はサブスクで年額28ドルくらいだったような気がする、更新時期のタイミングで自分で自分に購読ギフト25ドルを贈って切り替えた。
セールのタイミングで129ドル、通常で250ドルなので、セール時期に更新したいところだ。
左右問わない論説だが基本はアトランティック主義である。そのスタンダードをウォッチする用。
Business Insiderの方が質・量ともに良い。"ジャパン"は解約して更新はしない。
党派性が強いわけではないがリベラル、アトランティック主義のど真ん中を。
日経新聞より安いし、アジアのニュースであればこちらの方が拾いやすい。
初年はセール時に年額29ドルだったが、更新時のセールオファーを使って次年は年額20ドルになった。
中国、東南アジアのニュースをウォッチする用と思って購読したが、CNAの方が良いかなと思っている。
上記の「朝日新聞」のところにある毎日新聞に Wall Street Jornal も付帯するため。
https://mainichi.jp/info/wsj/ にあるように日本版に限らずWSJ本紙が購読出来る。
特に理由無くサブスクを始めたが、月単位なので、イマイチだったら解約する。
ドル円 155円換算で、年額223,487円 (18,624円/月)
services | ドル | 円 |
---|---|---|
Google Drive | ¥3,000 | |
iCloud | ¥1,560 | |
Google Cloud | ¥2,000 | |
AWS | ¥3,500 | |
ChatGPT Plus | $240.00 | ¥37,200 |
Atokパスポート | ¥3,960 | |
Youtubeプレミアムファミリー | ¥27,360 | |
ニコニコチャンネル | ¥7,920 | |
megalodon.jp | ¥3,780 | |
1Password 3年版ファミリー 5人用 | ¥4,166 | |
Dashlane Premium | $39.99 | ¥6,198 |
Flightradar24ゴールド | ¥2,700 | |
マネーフォワード | ¥5,300 | |
YAMAP | ¥5,700 | |
モンベル会員 | ¥1,500 | |
JAF会員 | ¥4,000 | |
朝日新聞デジタル | ¥11,760 | |
New York Times | $25.00 | ¥3,875 |
Bloomberg | $129.00 | ¥19,995 |
Foreign Affairs | $39.95 | ¥6,192 |
Business Insiderジャパン | ¥6,600 | |
New Yorker | $49.44 | ¥7,663 |
Atlantic | $109.99 | ¥17,048 |
Nikkei Asia | $119.00 | ¥18,445 |
文藝春秋 電子版 | ¥5,400 | |
Washington Post | $20.00 | ¥3,100 |
South China Morning Post | $96.00 | ¥14,880 |
毎日新聞 | ¥9,240 | |
The Times | £12 | ¥2,364 |
¥246,407 | ||
¥20,534/月額 |
こうして並べてみると ChatGPT Plus が高い。
今はまだ、長い文章の要約をさせたり、理解が難しい話を読む時に対話的に質問したりして容易に概略化するのに使っている程度で、あんまり創造的に使いこなせていない。
昔からゲームはやらないし、あとは10年くらい前からアニメ、アイドルなども追わなくなってしまったので、この程度をコンテンツに費やすのは苦とは感じないです。
import os
# ファイルが存在するか確認し、存在しない場合は初期値を設定
if not os.path.exists(file_path):
with open(file_path, 'w') as file:
# 現在の年数を読み込み
with open(file_path, 'r') as file:
year_count = int(file.read())
# メッセージを表示
print(f"{year_count}年間で最も暑い夏")
with open(file_path, 'w') as file:
file.write(str(year_count + 1))
インデントつけれね
主に英→日の翻訳で頼ってるんだけど小学生くらい手間がかかる。放置できない。
「こちらの指示がなくても止まらずに連続で投稿し続けて」という指示が通じない。
油断していると、途中から存在しない英文を捏造して和訳しだす。こちらが気づいてストップかけない限り延々と捏造→翻訳を続けている。
「①ところどころ単語を省略したり変更したりしていて、音声に忠実でないところがちょいちょいあるSRT
②実際の音声に忠実だけどタイムテーブルの情報がないtxt形式のスクリプト」
「タイムテーブルはSRTから、スクリプトはtxtから引用して新しいSRTファイルを生成してダウンロードリンク貼る」
個人的には
信用してダウンロードしたファイル開くと今までと全く変わってないゴミであること、
ダウンロードする前に成果物の冒頭を見せるよう指示し、それを見ると修正がきちんとされていたので今度こそ安心してダウンロードして展開すると中身は前のゴミとそっくりそのまま変わらず。
というのが一番しんどかった。まともに信用してああでもないこうでもないと理解してもらうよう格闘していると平気で6時間くらい無駄にする。
氷河期の「ゴミおじ」の証明に2chだった頃の専ブラの書き込み.txt提出で審査とか、Twitterのアカウントの過去の呟きから国が救わなければどうしようもないゴミおじなのか、ゴミ度測定をきっちりやってほしいよね
拡張子については、例えば Excel の拡張子が変わったとき一括対応できる、とか?
あとは普通に".txt" で取り扱ってるファイルはどれだ、って時にその定数の参照箇所を見ればもれなく分かるとか、
取り扱うファイルの種別を段階的に変えようってときも、どのファイルは変え終わっててどのファイルはまだ、とかも同じように分かる
あとはあれだ、どのスコープにおける分類なんだって話を明確にする事も出来るだろうな。
とか。
パラメータについては、複数の選択肢から選ぶ奴は enum にしろよ、とは思うが、
文字コードも大体同じような話か。
.txt と .TXT で挙動を変えていた話しがあったやん?
プログラム全体で、TxtFileExt が一カ所でしか使われてないなら、変数にする必要はほぼないけど、
2か所、3カ所になったら、.txt を .TXT に変えるだけでもミスする人でてくる。
.txt を .debug.txt とか .masuda.txt に気分次第で変える時も楽やん
const 〇〇ParamIntMax = 25;
もプログラム全体で、一カ所しか使われてなければ変更ミスは生じないけど、
何カ所にも別れたら、変更時に見落とすやん。
いろんなアプリケーションのメンテ(バグ取りとか細かい機能追加とか)を何度か経験してきた。
主にテキストファイルとかCSVファイルとかExcelファイルとかを入出力するものばかりだったんだが、その大半がファイルの拡張子をグローバル変数化していた。
こんな感じ
const TxtFileExt = ".txt"; const CsvFileExt = ".csv"; const ExelFileExt = ".xlsx";
outFileName = 〇〇 + ×× + "ABCDEFG" + TxtFileExt;
みたいな指定をしなきゃならない。
あと、プログラム言語の標準的なメソッドのあらゆる引数も全部変数で定義されてて、そのまま渡すのは禁止、みたいな規約になってる。
たとえば引数が三種類(true、false(未指定時のデフォルト値)、任意の数値(ただし当該プログラムでは0、10、25以外指定不可))しかないやつはこんな感じ。
const 〇〇ParamTrue = true; const 〇〇ParamFalse = false; const 〇〇ParamIntMin = 0; const 〇〇ParamIntMid = 10; const 〇〇ParamIntMax = 25;
const charCodeSJIS = "Shift_JIS"; const charCodeUtf8 = "UTF-8";
以前関わった改修内容に「××の処理は開始時と終了時にそれぞれUTF-8(BOMなし)形式でログを出力する」みたいなのがあって、普通に文字コード指定する部分に「UTF-8」で直に書いたら、規約に従ってないからとコードレビューで指摘されて差し戻されたんだけど、そもそもこういう規約って何の意味があるの?
複合機(MFP、いわゆるコピー機)では、IPAの「デジタル複合機のセキュリティに関する調査報告書」にて、「PJLコマンドを悪用した攻撃(ディレクトリ・トラバーサル)」の具体例が示されている。 手順としては極めて簡素なもので、PJLコマンドでファイル名「passwd.txt」を探し、これをダウンロードするというものである。 対策としては、このような印刷以外の機能についてはプリンターや複合機がPJLのどの命令に対応しているかといった情報は探しても見つかりにくい為、複合機に対してジョブデータを投入できるホストを特定のプリントスプールサーバやスキャンとファクスのゲートウェイサーバなどに限定する方法が示されているにすぎないが、インターネットから誰もがアクセス可能な状態にしてしまっている複合機があり、2010年の調査ではこのような複合機を位置マッピングした結果、日本、台湾、アメリカ、ヨーロッパなどで国土の全域に渡って設置されていたので、使用者の根本的なセキュリティーに対する認識の甘さにも原因がある。 また、関連してPostScriptも攻撃に利用可能であり、開発者は注意が必要とされている。