「f.s」を含む日記 RSS

はてなキーワード: f.sとは

2023-12-17

プログラミング初心者です。以下のコードの誤りはなんですか

僕はプログラミング歴2週間の初心者です。キーと値を入力できるデータベースを作っています

以下のコードを実行してデータを追加し続けると、一定サイズを超えるとエラーが出てしまうみたいです。

理想は、データが追加された後にサイズが足りなくなったら動的に自動拡大されることです。

もし詳しい人がいたらご教示お願い致します。

import sys
import os
import mmap
import hashlib

def h(x):
    return int(hashlib.sha512(x.encode()).hexdigest(), 16)

def create_db(filename):
    with open(filename, 'wb') as f:
        f.write(b'\0' * 1024 * 1024)  # 1MBの空ファイル作成

def set_key(filename, key, value):
    with open(filename, 'r+b') as f:
        mm = mmap.mmap(f.fileno(), 0)
        pos = h(key) % mm.size()
        while mm[pos:pos+1] != b'\0':
            pos = (pos + 1) % mm.size()
            if pos == h(key) % mm.size():
                f.seek(0, os.SEEK_END)
                f.write(b'\0' * mm.size())  # ファイルサイズを2倍にする
                mm = mmap.mmap(f.fileno(), f.tell())  # ファイルサイズを反映させる
                pos = h(key) % mm.size()  # ハッシュ値を再計算する
        data = key + '\0' + value + '\0'
        data = data.encode()
        mm[pos:pos+len(data)] = data
        mm.close()  # mmapオブジェクトを閉じる

def get_key(filename, key):
    with open(filename, 'r+b') as f:
        mm = mmap.mmap(f.fileno(), 0)
        pos = h(key) % mm.size()
        while mm[pos:pos+1] != b'\0':
            end = mm.find(b'\0', pos, mm.size())  # 第2引数と第3引数指定する
            if end == -1:
                end = mm.size()
            if mm[pos:end].decode() == key:
                pos = end + 1
                end = mm.find(b'\0', pos, mm.size())  # 第2引数と第3引数指定する
                if end == -1:
                    end = mm.size()
                value = mm[pos:end].decode()
                mm.close()  # mmapオブジェクトを閉じる
                return value
            pos = (pos + 1) % mm.size()
            if pos == h(key) % mm.size():
                break
        mm.close()  # mmapオブジェクトを閉じる
        return None

def main():
    cmd = sys.argv[1]
    if cmd == 'create':
        create_db(sys.argv[2])
    elif cmd == 'set':
        set_key(sys.argv[2], sys.argv[3], sys.argv[4])
    elif cmd == 'get':
        print(get_key(sys.argv[2], sys.argv[3]))

if __name__ == '__main__':
    main()
 

2022-01-24

反戦平和主義者は今回のウクライナの緊張をどう見ているのか

いつも自衛隊米軍基地に反対する人はウクライナ戦争に対しては反対しているのかなと思ったら、

しかに反対はしているけどアメリカイギリスが画策して戦争を仕掛けているという世界観のようである

大日本帝国反省からスタートしたはずの反戦平和主義が「鬼畜米英」に帰着するのはなんとも皮肉というか…

2019-11-16

東北きりたんが邪魔をしてWinndows10 20H1のインストールをさせてくれない

VOICEROIDで採用されてるジェムアルトDRMのHASP sentinelってのだと思う多分。

aksdf.sysってドライバーがPAGE_FAULT_IN_NONPAGED_AREAを吐いてWindows10アップデートに失敗して毎日インストール再起動かましてくれちゃってやっぱりDRM絶滅しろって気分になってる。

2019-09-06

エラーメッセージの読めない人間がいる」ってよく嘲笑対象にされるけど

例えば以下の文章メッセージで出力されてた時にエラー根本原因が即わかる奴っているのかよ…

[ts]

型 '{ inputs: SymbolicTensor; outputs: (SymbolicTensor | Tensor<Rank> | Tensor<Rank> | SymbolicTensor)[]; }' の引数を型 'ContainerArgs' のパラメーターに割り当てることはできません。

プロパティ 'outputs' の型に互換性がありません。

型 '(SymbolicTensor | Tensor<Rank> | Tensor<Rank> | SymbolicTensor)' を型 'SymbolicTensor | SymbolicTensor' に割り当てることはできません。

型 '(SymbolicTensor | Tensor<Rank> | Tensor<Rank> | SymbolicTensor)' を型 'SymbolicTensor' に割り当てることはできません。

型 'SymbolicTensor | Tensor<Rank> | Tensor<Rank> | SymbolicTensor' を型 'SymbolicTensor' に割り当てることはできません。

型 'Tensor<Rank>' を型 'SymbolicTensor' に割り当てることはできません。

型 'Tensor<Rank>' にプロパティ 'sourceLayer' がありません。

const image: tf.SymbolicTensor

2018-11-28

7年軟禁したNTが脱走しました

E.F.S.F.やZ.I.O.N.などが流行していますが、A.E.U.G.へ転職したようです

2018-06-29

from typing import Sequence


class ReverseSequence(object):
    def __init__(self, sequence: Sequence):
        self.sequence = sequence  # reference to container
        self.index = len(sequence)  # current index

    # Step 1. define __iter__ method whitch returns self.
    def __iter__(self):
        return self

    # Step 2. define __next__ method
    #             rasing StopIteration at the end of iteration.
    def __next__(self):
        if self.index > 0:
            self.index = self.index - 1  # next index
            return self.sequence[self.index]
        else:
            raise StopIteration


class ReverseSequenceGenerator(object):
    def __init__(self, sequence: Sequence):
        self.sequence = sequence
        self.index = len(sequence)

    def __iter__(self):
        while self.index > 0:
            self.index = self.index - 1
            yield self.sequence[self.index]
        raise StopIteration


assert list.__eq__(
    [element for element in ReverseSequence('spam')],
    [element for element in ReverseSequenceGenerator('spam')]
)

class Reverse:
    def __init__(self, data):
        self.data = data
        self.index = len(data)

    def __iter__(self):
        return self

    def __next__(self):
        if self.index == 0:
            raise StopIteration
        self.index = self.index - 1
        return self.data[self.index]


class ReverseGenerator:
    def __init__(self, data):
        self.data = data
        self.index = len(data)

    def __iter__(self):
        while True:
            if self.index == 0:
                raise StopIteration
            self.index = self.index - 1
            yield self.data[self.index]


assert [s for s in Reverse('spam')] == [s for s in ReverseGenerator('spam')]

2017-10-09

第5回

DEMETERグラディウスIV -復活-
オープニングテーマ七ツ風の島物語
ケチャビアン豪血寺一族2
防衛圏(1Stage Demo)~踏み込め!(1Stage BGM1)NAMCO×CAPCOM
赤壁の戦い・呉ステージ真・三國無双6
YOU GETゼロウィング
THE LAST JUDGMENT第3次スーパーロボット大戦
Capteain Falcon's ThemeF-ZERO GX
錬金術人間テーマステラデウス
Quick Masterpop'n music
Synthetic Lifeリッジレーサーズ
最終ステージBraid
Battle Train真魂斗羅
Purple Townボーダーダウン
ラストバトル(ウッ…ハ!)超兄貴~究極無敵銀河最強男~
異冠の女剣士ワールドヒーローズ2
ドイツ第三帝国ワールドアドバンスド大戦略鋼鉄の戦風~
ウェインのテーマドラゴンフォース
F.S.R花と太陽と雨と
hypersonicゼロ・ディバイド
The Genesisペルソナ4
Rock is SpongeRez
フィールドキングオブキングス
Get The Sky -With Your Dream-リアルバウト餓狼伝説2
Revoltオウガバトル64
ラスボス最終形態Hard Corps:Uprising
MIZOGUCHI'S THEMEファイターズヒストリー
ポルナレフジョジョの奇妙な冒険 黄金の旋風
味方1アラングリッサーFX
Philistineノーモアヒーローズ2
Rough And Ladyガーディアンヒーローズ
The Reverse Willサイレントヒル2
タイトルソルスティ三次元迷宮の狂獣
ミラの加護とともに(セリカマップ1)大乱闘スマッシュブラザーズX
G ~Blast ver.~(Fallen Colony)鉄拳6 BLOODLINE REBELLION
地上ステージSION2
Battleship -stage 2 & 8-グラディウスV
電力供給ビルブレスオブファイアV ドラゴンクォーター
活撃、そして活撃!レガイア デュエルサーガ
Oops!ビブリボン
METAL GEAR SOLID MAIN THEMEメタルギアソリッド
UFO Endサイレントヒル

2017-04-17

情報処理安全確保支援士_20170416午後解答メモ

受けてきた。

覚えているうちにメモ

午後Ⅰ

<問2>

設問1

  L氏の確認内容 :退会処理完了までのログイン回数と日時

  ログイン記録から:退会処理完了までのログイン時刻

……ユーザは正確な時刻は覚えていないものなので「日時」にしてみた。

  担当者は、この時点では、XSRFでなく不正ログインを疑っている。

設問2

(1)a.クロスサイトリクエストフォージェリ

(2)b.3

(3)c.現在パスワード d.知りえない

(4)e.confirm f.submit

設問3

(1)イ、ウ

……適当。onmouseoverとかでもイケるらしい。ダメだこれは。

(2)g.セッションハイジャック

(3)h.スクリプト実行を禁止する。

……ありがちな答え。あとで考えると、サニタイズする、かも。

<問3>

設問1

 接続IPアドレスがF社のIPアドレス以外のもの

……『F社のプロキシサーバIP』まで書いてもよかった。

設問2

(1)a.ウ b.エ c.ア d.イ

(2)e.1 f.3

(3)g.オ

……ここは、ウ(クエリラメタ)が正しそう。

(4)h.IdP i.改ざん

(5)事前にIdPとSP間で情報共有し、信頼関係を構築しているから。

……『レスポンスを中継しているから』とか思ったけど、

  ここだけ設問に『具体的に述べよ』って書いてないので、。

  抽象的なやつかなと思ってこれに。

設問3

 交通費精算サービス:3

 社外から社内IdPへの通信は、ファイアウォール禁止されているか

 グループウェアサービス:1

 接続IPアドレス制限する機能によって、社外からアクセスできないか

……地味にFWという略語はでてきていないので、ファイアウォール記載

  ここの説明はすごく問題に出そうだったので、ぐりぐりとマークしていたからすぐに気づいた。



午後Ⅱ

<問2>

設問1

(1)a.SMTP over TLS

(2)b.ウ d.ア

(3)c.内部メールサーバ

設問2

(1)e.プロキシサーバ  f.URLがC&Cサーバである通信

(2)g.外部メールサーバ h.外部サーバ転送成功している通信

(3)外部DNS: 内部DNSサーバから再帰問合わせを許可しない

  内部DNS: 外部DNSDNS問合せしない

……内部のは間違っていそう。同じ内容だしかぶってるし。

(4)i.TXTレコードに対する問合せ

……よく分からないけど、TXTレコードってSE作業とか以外で問い合わせあるの?

  と思ったので、これを問い合わせるのはマルウェアYかなと。

設問3

(1)ファイル暗号化しないこと

(2)ウィルススキャンで異常が検出された場合に、システム部が即時検知できること

……「調査及び着手の早期化」の機能要件システム部が迅速検知できる、かな。

  A社の問題点として、セキュリティパッチ適用の遅さ(どこの会社でもあるよね~)も

  あるけど、今回、社員PCのフルスキャン毎日12:00。これは頻度高い。)から

  連絡受けてシステム部が検知する13:10まで時間かかっているのも問題かなと。

設問4

 j.PC-LAN

設問5

業務LANサーバ通信は、日次データ転送で用いるプロトコルのみを許可する

……『日次でデータ転送』もぐりぐりマークしていたので使ってみた。

以上

2014-11-07

st-hatena.comは危険だ!」→Google Safe Browsingの見方が間違ってるのでは?

http://anond.hatelabo.jp/20141106161928

はてブにも書いたのだけど、一応増田にもメモしておく。

st-hatena.com の結果は a.st-hatena.com の結果と一致する

http://www.google.com/safebrowsing/diagnostic?site=st-hatena.com

st-hatena.com の現在の状況

    現在のところ、このサイトは疑わしくないと認識されていますGoogle がこのサイト巡回したときの状況

    このサイト過去 90 日間に Googleテストした 2542 ページのうち 122 ページで、ユーザー同意なしに不正ソフトウェアダウンロードされ、インストールされていたことが判明しました。Google最後にこのサイト巡回したのは 2014-11-06 で、このサイトで不審なコンテンツ最後に検出されたのは 2014-11-06 です。

    不正ソフトウェアには 110 scripting exploit(s), 19 exploit(s), 6 trojan(s) などがあります感染先のコンピュータで平均 3 個のプロセスが新たに発生しています不正ソフトウェアは 40 個のドメイン(fn84.fr/, wkdjfgka.ddns.me.uk/, javaterm.com/ など)でホストされています。

    15 個のドメイン(muramoto.net/, meomore.com/, fn84.fr/ など)がこのサイト訪問ユーザー不正ソフトウェアを配布する媒体となっていたようです。

    このサイトは 29 個のネットワーク(AS9370 (SAKURA-B), AS701 (UUNET), AS209 (QWEST) など)でホストされていたことが判明しました。

不正ソフト感染を広げる媒介をしていたかどうか

    st-hatena.com は、過去 90 日間に 59 個のサイト(vip2ch.com/, blog.goo.ne.jp/nakazato-hitoshi/, netouyomilitary.com/ など)への感染媒体となっていた形跡がありますサイト不正ソフトウェアホストしていたかどうか

    いいえ、このサイトでは過去 90 日間に不正ソフトウェアホスティングは検出されていません。

これは、a.st-hatena.com のカウントと一致する。

http://www.google.com/safebrowsing/diagnostic?site=a.st-hatena.com

a.st-hatena.com の現在の状況

    現在のところ、このサイトは疑わしくないと認識されていますGoogle がこのサイト巡回したときの状況

    このサイト過去 90 日間に Googleテストした 247 ページのうち 122 ページで、ユーザー同意なしに不正ソフトウェアダウンロードされ、インストールされていたことが判明しました。Google最後にこのサイト巡回したのは 2014-11-06 で、このサイトで不審なコンテンツ最後に検出されたのは 2014-11-06 です。

    不正ソフトウェアには 110 scripting exploit(s), 19 exploit(s), 6 trojan(s) などがあります感染先のコンピュータで平均 3 個のプロセスが新たに発生しています不正ソフトウェアは 40 個のドメイン(fn84.fr/, wkdjfgka.ddns.me.uk/, javaterm.com/ など)でホストされています。

    15 個のドメイン(muramoto.net/, meomore.com/, fn84.fr/ など)がこのサイト訪問ユーザー不正ソフトウェアを配布する媒体となっていたようです。

    このサイトは 1 個のネットワーク(AS9370 (SAKURA-B) など)でホストされていたことが判明しました。

不正ソフト感染を広げる媒介をしていたかどうか

    過去 90 日間に a.st-hatena.com が他サイトへの感染媒体となっていた形跡はありません。

サイト不正ソフトウェアホストしていたかどうか

    いいえ、このサイトでは過去 90 日間に不正ソフトウェアホスティングは検出されていません。

a.st-hatena.com っていったい何?

a.st-hatena.com はリダイレクト用のドメイン

例えば http://a.st-hatena.com/go?http://anond.hatelabo.jp/アクセスすると http://anond.hatelabo.jp/ に飛ぶ。

はてなアンテナリンクするときにクッションページの役割を担ってる。

a.st-hatena.com は「危険サイト」なの?

なにかおかしいな、と思って goo.gl ドメインの結果も見てみたら似たような感じだった(後述)。

おそらくリダイレクト先が危険サイトだった場合リダイレクト元のドメインgoo.glとかbit.ly、t.coなど)もカウントされるような仕組みになっているんじゃないだろうか?

なんで a.st-hatena.com と st-hatena.com の結果はリンクしてるの?

たぶんGoogle Safe Browsingの仕様

a.st-hatena.com + b.st-hatena.com + d.st-hatena.com + f.st-hatena.com + ... とすべて足し合わせたものst-hatena.com の結果になるようだ。

まり危険なの? 安全なの?

特に危険はない。

はてなアンテナリンク先(はてな関係ないサイト)に危険サイトがいくつかある、というだけ。

結論

st-hatena.com は現状でウィルスを配信してはいないし被害を被ることもない。

・・・と断定していいだろう。

参考: goo.gl ドメインの結果

http://www.google.com/safebrowsing/diagnostic?site=goo.gl

goo.gl現在の状況

    現在のところ、このサイトは疑わしくないと認識されています過去 90 日間に、このサイトの一部で不審な動きが 1 回検出されていますGoogle がこのサイト巡回したときの状況

    このサイト過去 90 日間に Googleテストした 5488513 ページのうち 2753 ページで、ユーザー同意なしに不正ソフトウェアダウンロードされ、インストールされていたことが判明しました。Google最後にこのサイト巡回したのは 2014-11-06 で、このサイトで不審なコンテンツ最後に検出されたのは 2014-11-06 です。

    不正ソフトウェアには 1174 exploit(s), 708 trojan(s), 200 scripting exploit(s) などがあります感染先のコンピュータで平均 2 個のプロセスが新たに発生しています不正ソフトウェアは 594 個のドメイン(shop-corp24.com/, mt.co.kr/, jvvupdate.com/ など)でホストされています。

    157 個のドメインfeedburner.com/, finanstek.net/, padsdel.com/ など)がこのサイト訪問ユーザー不正ソフトウェアを配布する媒体となっていたようです。

    このサイトは 1 個のネットワーク(AS15169 (GOOGLE) など)でホストされていたことが判明しました。

不正ソフト感染を広げる媒介をしていたかどうか

    goo.gl は、過去 90 日間に 990 個のサイト(nudevista.tv/, vporn.com/, acervoamador.com/ など)への感染媒体となっていた形跡がありますサイト不正ソフトウェアホストしていたかどうか

    いいえ、このサイトでは過去 90 日間に不正ソフトウェアホスティングは検出されていません。

このサイト過去 90 日間に Googleテストした 5488513 ページのうち 2753 ページで、ユーザー同意なしに不正ソフトウェアダウンロードされ、インストールされていたことが判明しました。Google最後にこのサイト巡回したのは 2014-11-06 で、このサイトで不審なコンテンツ最後に検出されたのは 2014-11-06 です。

a.st-hatena.com の結果とよく似ている。

もしも「st-hatena.com がウィルスをばら撒いている」と考えた場合Googleもまた現在進行形ウィルスをばら撒いているということになる。

参考2:bit.ly と t.co

引用するのが面倒なのでリンクだけ。

どちらも似たような結果になっている。

http://www.google.com/safebrowsing/diagnostic?site=bit.ly

http://www.google.com/safebrowsing/diagnostic?site=t.co

編集履歴

11/7 16時くらい: 初版

11/7 16:35:見出しを使うように修正

11/7 17:25:タイトルを変更、説明を追加

2010-07-10

HT-03A froyo

dwang厨が無謀にもfroyoを入れてみる記録のページ。

名前リンクされると嫌なのでここに書いてみる。

結局CM6-RC1+yay-gapps で落着きそうな雰囲気。

まとめ (20100711 18:30 完了)

メモ
  • voldn + poweron → fastboot
  • home + poweron → recoverymode
初期状態

dwang-1.17.1

手順

eMonster用に使ってた sandisk 2GB (メモ)

確認されているROM

7/9 にリリースされているもの

  • defcon CM6 FroYo (Test9)
  • CM6-DS-Nightly (0709)
  • SPF Connection (2.7)

ext partition 要対応? とおもったら仏語じゃねーか

Wifi NG

  • Xtreme Froyo v1.9.5

@kenmood

Wifi OK

  • http://androidspin.com/2010/07/06/rom-kenmood-e-xtreme-froyo-v1-9-4-with-working-wifi-camera-bluetooth-3dgallery-for-t-mobile-g1mt3g/
1.5に戻す

どっかから落した20090801-docomo-ht-03a.rar のうち、boot, cache, data, system のみをnandroidで復旧してみる。nandroid.md5復元も忘れずに。

Xtreme Froyo v1.9.5 try
  • 日本語fontは後でupdate.zip で入れることとする (autosignとかしらないけど、あとで調べりゃなんとかなんだろ)
  • SPL 1.33.2005 ← 入ってた。
  • Latest Radio highly recommended (どうしたものか → だめなら後で考える)

手順

  1. done: ROM落せ http://tinyurl.com/extreme-froyo-1-9-5
  2. nope: (ステップ番号予約)
  3. done: black theme 落せ http://tinyurl.com/froyo-blacktheme-v2
  4. done: sdにコピれ
  5. done: full wipe
  6. done: flash rom → ついでに root.zip (以下参照) もここで焼いてしまう。suが入ってるだけだし。
  7. skip: flash a2sd + cc patch → 2ch "root13":770 によると既に適用済みらしい
  8. skip: flash froyo blacktheme → blackは面倒そうなのでやめる
  9. reboot → すげー時間かかるんですけど、ダメか。
以後実行せず
  1. ADWの設定をこうしろ → どうでもいいがな
  2. sparepartsの設定をこうしろ (launcher in memory)
  3. show clockとかいろいろ (blacktheme場合は時刻の色)
  4. notification colorの設定 (black theme場合)
  5. google mapをmarketからdownload
  6. reboot
  7. 警告: 他のkernelとかgappsをinstallすることのないように → kernelはまだしも、gappsはなんでだろ
  8. and ENJOY!

追加手順:

  1. root permissionの修正はこれを焼く: http://www.mrcellphoneunlocker.com/android/root.zip
メモ
  • rebootに必要なのは「信じる心」?
  • boot animation が重くなったり止まったりするのは何故なんだぜ
  • 最終的に、boot できずあきらめてみる。
他のromを試す
  • CM5.0.8 (Eclair) → ok (ちゃんと焼けるか念のためテストした)
  • SPF Connection 2.8 → bootはするけどfontが豆腐、あと突然死

http://www.androidinforum.fr/htc-dream-android/froyo-french-connection-100-t1742.html#p6156

partition: swap 160M, ext 500M, 残り vfat がおすすめとな。

何度か丹念に「目標をwipeしてreboot」を繰り返してたら安定した気がする。

豆腐をfont入れ、localeをlibicudata.so の入れ替えで対処 (できるかなreboot中)

→ libicudata.so は入れかえちゃダメ。起動しなくなる。recoveryで起動して/systemをマウントしてことなきを得る。

SPF Connection 2.8

2010-07-11 追記

2chでも報告されているとおり、wlanが使えない。あと細かい話だけど、live wallpaperが使えない気がする。メモリが足りないだけかもしれないけど。

marketが死にまくる (acoreが死ぬ)。ほかにも死にまくるけど、何故かはよくわからない。とりあえず体験はできるけど、まだ常用には至らないかも。

(安定している、と言っている人もいる)

SPF Connection 2.8.1

2010-07-11 追記

zip落してきて上書きinstallしてみた。なんか日本語fontが消されたんだけど(ぶー!)

ちなみに日本語fontはM+を利用してます。

時間つかった限りでは、他人にお勧めできるほどじゃないけど何とか使いものになるかも。dwang環境はnandroidでしかバックアップしていないので、手作業でアプリなどは手作業で復帰する予定。

CM6-RC1

(2010-07-11 午後5時追記)

どうもSPF Connectionが安定しないのと、ベースがCM6ということで、まずはベースに近いほうが良いだろうと

CM6-RC1を焼いてみる(この項続く)

http://www.cyanogenmod.com/home/cyanogenmod-6-0-0-rc1

Marketが極めて不安定な模様。エラー

E/AndroidRuntime( 2000): FATAL EXCEPTION: UpdateCheckinDatabaseService

E/AndroidRuntime( 2000): java.lang.SecurityException: Permission Denial: writing com.google.android.gsf.settings.GoogleSettingsProvider uri content://com.google.settings/partner from pid=2000, uid=10036 requires com.google.android.providers.settings.permission.WRITE_GSETTINGS

すぐ直りそうではあるけど。

Market落ち対策:
  • yay-gapps を普通のgappsの上から焼いた時はMarket落ち頻発

(エラー内容から察するに、installされたapkの記録をgoogle accountに書き込めない)

  • まっさらの1.5からCM6-RC1, yay-gapps を焼いた状態ではMarket落ち発生せず

c.f. http://forum.xda-developers.com/showpost.php?p=7139560&postcount=109

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