Вход | Регистрация

Проекти

  • Никакъв. Но ако искаш да ни направиш щастливи, можеш да си избереш някакъв, какъвто не сме дали.

    19.06.2010
  • Имам въпрос: "В ядрото на системата трябва да има три типа обекти: бележка, TODO.", само аз ли виждам два типа обекти или не съм доразбрал нещо от следващите изречения? И другото което искам да питам - ние ли трябва да си реализираме конзолния интерфейс или може да си ползваме готова библиотека. И още едно въпросче: конзолен интерфейс какво ще рече? Просто да въвеждаш нещо като във конзола и да ти изкарва резултат или трябва да има разни менюта скролбари и тн. ?

    20.06.2010 (променeно 20.06.2010)
  • @Атанас

    Аз си го представям нещо като http://pythondialog.sourceforge.net/ ,където да можеш да избереш например:

    1.търсене

    2.TODO -> 2.1 добавяне 2.2 изтриване ...

    3.Note -> 3.1 добавяне 3.2 изтриване ...

    3...

    ,но нека някой каже какво точно се очаква. А и при добавяне на нов тип обект, като ''предмет'', ще трябва динамично да се промяня интерфейса ?

    20.06.2010 (променeно 20.06.2010)
  • @Атанас:

    There are only two hard things in Computer Science: cache invalidation and naming things.

    Или по-точно:

    There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.

    20.06.2010
  • И все пак ще получа ли отговор или не?

    20.06.2010
  • Здравейте, някой може ли да каже някакъв по-"свестен" източник относно lossless алгоритми за компресиране примерно LZ77.Понеже търсих но все не ми харесва как са обяснени и няма хубави примери.Мерси предварително!

    20.06.2010
  • @Атанас: Стори ми се, че получи отговор. Ако не го разбра, ще се наложи да почакаш някой от другите да ти преведе (и нямам предвид от английски) :)

    21.06.2010 (променeно 21.06.2010)
  • @Руслан: http://www.google.com/...Compression/

    22.06.2010
  • Документацията към проекта трябва да е на български нали? Защото docstring-овете са ми на английски, както и всички коментари :)

    23.06.2010
  • Компресията върви, но много бавно :( . На C 800мб ми ги компресира за около 5 минути а на Питон 5мб за 3мин.Ползвам масиви(array.array) за буфера и едни двоични дървета.Сложността на алгоритъма е от порядъка на O(NlogN) (но с голяма константа).Цикъла (като код) не е дълъг ,а в него има най-много 2 цикъла циклещи до константа по-малка от 18.Кажете някаква причина да се държи толкова(изнервящо) бавно.Някоя по-бърза структура да ползвам(по-бърза от array.array).

    23.06.2010
  • @Иван: Английски е ОК. Ще носим рибка-преводач.

    @Руслан: Време е да се запознаеш с cProfile: http://docs.python.org/...profile.html

    23.06.2010
  • Здравейте,

    Дали има вероятност да качите Джанго лекцията тази седмица?

    Би ми била много полезна за проекта.

    23.06.2010
  • Английският не ми е от най-добрите, но едно от правилата в PEP 8 беше документацията да е на английски. Иначе мислех, че трябва да описваме кода в отделен текстов документ, но се радвам, че не съм прочел правилно :D

    23.06.2010
  • Само на мен ли ми се струва или четенето от бинарни файлове е доста бавно. Какво ли не опитвах, докато не стигнах до следния код, който пак се изпълнява за мъчителните 2 секунди за 5.5 мегабайтов файл. Някакви идеи как да го направя по-бързо?

    import struct
    ...
    
    h_infile = open(infile, 'rb')
    for i in h_infile.read():
        byte = struct.pack('B', i)
        ...
    
    ...
    24.06.2010
  • struct.pack() е излишно. В Python 3 става така:

    >>> f = open('/dev/random', 'rb')
    >>> b = f.read(4096*4096)
    >>> type(b)
    <class 'bytes'>
    24.06.2010 (променeно 24.06.2010)
  • Да, обаче на мен ми трябва да чета байт по байт. След като направя горепосоченото, и пусна да речем:

    ...
    b = f.read(4096*4096)
    for i in b:
        type(i)
    
    <class 'int'>
    <class 'int'>
    ...

    И пак се стига до това да ползвам struct.pack().

    24.06.2010
  • Преосмисли кода ти. struct.pack() не е от най-бързите функции, тъй като трябва да интерпретира pack низа динамично.

    24.06.2010
  • Здравейте, преди време говорих с вас за Buddhabrot. Какви са ви изискванията за този проект?

    26.06.2010
  • Кой tool да използваме за генериране на документация?

    Edit: Има ли нещо по-добро от pydoc (и да има release за python3)?

    27.06.2010 (променeно 27.06.2010)
  • Thumbs_up

    Относно втората дата за защита на проекти -- Кога горе долу ще е? (примерно преди 9-ти след 9-ти??)

    27.06.2010
  • Здравейте, Искам да попитам отностно конзолната система - какво ще рече всеки обект да има произволен брой етикети. Въпроса ми е по скоро какво е етикет на обект? Нещо като таговете в youtube ли? И още едно въпросче - бележката има функция добавяне, това ще рече да създадем нова бележка или към текуща бележка да добавим текст? Поздрави, Наско.

    27.06.2010 (променeно 27.06.2010)
  • Thumbs_up

    @Иван:
    Най-важното е да има визуализация и "навигиране" из множеството. Колкото по-лесно и интуитивно става всичко - толкова по-добре.

    @Кирил:
    Ако ги оставиш като heredoc низове, ще са си добре.

    @Златна (и другите интересуващи се)
    След 9ти (най-вероятно), но няма фиксирана дата.

    @Атанас:
    Таговете са добра аналогия... да се зачуди човек защо не сме ги кръстили така...
    Добавянето добавя нови бележки. За добавяне на текст си се ползва функционалността за редактиране на бележки.

    28.06.2010 (променeно 28.06.2010)
  • @Руслан, ако ползваш търсене в Sliding Window, май ще трябва да го реализираш с Hash: линейното търсене не е достатъчно бързо. Виж Solomon - Concise Introduction to Data Compression, стр. 117. Има я в lib Genesis. Там въобще има камара книги за compression.

    Между другото, яко ме изтискахте с тези 30%. Ако приложа директно LZW с 64K речник, получавам ~35%. Сега ще трябва да правя имплементация на Deflate (или поне частична такава), за да ги достигнем процентите.

    RFC за Deflate може да е от полза: http://www.faqs.org/...rfc1951.html

    28.06.2010 (променeно 28.06.2010)
  • Thumbs_up

    Аз имам въпрос по 'Система за генериране на тестове'

    'да е възможно да се добавят лесно други формати за вход въпросите (да се четат от база от данни, JSON или YAML например)'

    Тия неща аз ли трябва да реализирам, или просто трябва да спазвам някакви дизайнерски принципи и добавянето на нова функционалност да е лесно?

    28.06.2010
  • @Светлин ,да ползвам sliding window, но не ползвам линейно търсене ползвам нито пък хеширане.Ползвам 256 наредени(т.е. за търсене) двоични дървета за всеки символ от ASCII ,като дърветата са наредени относно лексикографската наредба на низовете в search buffer-a на прозореца.Става със сравнително прилична скорост ,понеже прозореца ми е 4096 байта и като мерих статистически колко средно цикли при търсене в дроично дърво беше около 11.5 пъти.Относно алгоритъма аз ползвам LZ77 и ми прави файл ~800мб в ~250мб ,което е около 31-32%.Затова ще правя някаква оптимизация специално за XML файлове т.е. при тях ще има и нещо допълнително понеже самият формат на XML ми позволява "пред-компресия" :).

    28.06.2010 (променeно 28.06.2010)