• Как осуществлять операции с большими матрицами?

    @alec_kalinin
    Вот здесь описан интересный вариант решения задачи на Python:
    matthewrocklin.com/blog/work/2015/01/14/Towards-OO...
    Ответ написан
    Комментировать
  • Как посчитать кол-во вхождений строк в файл?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Вы явно преждевременно оптимизируете. Решение на питоне, абсолютно в лоб, достаточно быстро работает на файле с 10M слов по 8 символов. К слову это всего 100 мегабайт. Даже если слов будет в 10 раз больше памяти хватит.
    import random, string
    from collections import defaultdict as ddict
    
    def randomword(length):
       return ''.join(random.choice(string.lowercase) for i in range(length))
    
    def main():
    	f = open('a.txt', 'w')
    	for i in range(10000000):
    		f.write(randomword(8) + '\n')
    
    	f.close()
    	print('gen finished')
    
    	d = ddict(int)
    	stat = ddict(int)
    	f = open('a.txt', 'r')
    	for w in f.readlines():
    		d[w] += 1
    		stat[d[w]] += 1
    		if d[w] > 1:
    			stat[d[w] - 1] -= 1
    
    	print stat
    
    
    
    
    if __name__ == '__main__':
    	main()
    Ответ написан
    Комментировать
  • Как написать операционную систему с нуля?

    svd71
    @svd71
    Согласен с большинством коллег - писанина операционки для коммерческого применения - весьма хлопотное занятие и в денежнов эквиваленте, и в трудоресурсах, и по времени , и даже в маркетинге.
    Учитывая все это, такие системы обычно пишут не совсем с нуля. Пример: QNX. За основу взято юниксовое ядро и переписано под систему реального времени. Теперь они активно продают свою систему для управленя атомными реакторами.

    ОС является прослойкой между сторонними программами и железками компьютера. Тут всплывает проблема возможности работы со всем зоопарком железа - для этого нужно создавать под каждую железки драйвер, управляемый вашей ОС. Некоторые производители ОС решили такую задчу с маркетинговой точки зрения - производители железок пишут сами драйвера под их систему. Как собираетесь решать этот вопрос вы? С другой стороны нужно заставить разработчиков писать программы под вашу ОС. Тоже обратите внимание, какие "пряники" предлагают за это другие производители ОС. Тут же, на хабре полно описания этих предложений.

    Если же речь идет о создании операционки "для себя", вопросов нет - ваше время и ваше желание. Вам нужно просто проанализировать, какие функции для разработчиков предоставляют другие ОС (в основном это базовые: возможность работать с файловой системой и конвертация данный в файловой системы из/в устроств ввода/вывода и хранения данных.

    Так же можно изучить все грабли, сделанные другими: например ту же коллибри, или поискать исходники какого-нибудь ДОСа (Микрософт своей досни опубликовали вроде бы, TR-DOS можно найти и т.п.) или поизучать предтече Линукса - minix (ведь Торвальдс начал именно с нее). А еще лучше присоединиться к какому-нибудь существующему проекту (Minix, Linux, Kollibry, ReactOS) и начать создание чего-либо под них.
    Ответ написан
    1 комментарий
  • Что нужно знать, чтобы стать хакером?

    nobodynoone
    @nobodynoone
    Вообще, в идеале, все сводится к тому, чтобы выучить что то идеально и подмечать изъяны у других. Вот и все.

    Что бы ответить конкретнее, нужно что бы вы конкретнее описали ваш вопрос.
    Ответ написан
    Комментировать
  • Какие читать книги по machine learning?

    ptitca_zu
    @ptitca_zu
    Programmer. Reader. Introvert
    Яндекс недавно выложил на Хабре свои лекции по машинному обучению. Начал смотреть – более фундаментальный подход, чем у Эндрю (его курс тоже с интересом прошел).

    Насчет читать, я, например, сразу после курса взялся за building ml systems with Python.

    Очень подробная книга и с языком сразу.
    Ответ написан
    Комментировать
  • Посоветуйте стабильный gps трекер для смартфона с Android

    snakeunsoft
    @snakeunsoft
    Я пользуюсь гугловским приложением "Мои треки"
    По акселерометру запись не включается.
    На устройстве включена синхронизация аккаунта, поэтому после записи трека он влетает в «Мой диск->Мои треки»
    И нажав на ссылку трека можно его посмотреть на карте.
    Ответ написан
    Комментировать
  • Хорошие книги по высшей математике?

    darkdimius
    @darkdimius
    Если нужно действительно понимание:
    Задачи и теоремы из анализа. ( В 2-х частях ) Георг Полиа, Габор Сеге
    Книга-задачник, где задачи подобраны так чтоб на основании предыдущих следующая была решаема. Принципиально то, что весь курс высшей алгебры и функционального анализа выводиться сам из этих задач.
    Подобное изучение — это не «тебя учат» а «познаешь сам». Уровень понимания существенно выше.

    Нужно правда понимать, что это книги начала прошлого века. Некоторые вещи тогда читались под другим углом, но то как эти книги воспитывают мозг стоит того.

    Если нужна понятная книга:
    Курс дифференциального и интегрального исчисления, Фихтенгольц 3 тома
    Курс математического анализа. В 3 томах. Кудрявцев тоже 3 тома.
    Обе книги имеют подробное скрупулезное описание дифференциального и интегрального исчислений. Написаны в разных стилях, некоторым нравиться один, некоторым второй.

    Общего курса дискретной математики мне не известно. В МФТИ учат одно, друзья на мехмати и ВМК учат другое.
    Я бы посоветовал
    Н.К. Верещагин, А.Шень. «Лекции по математической логике и теории алгоритмов» — хорошее вступление в дискретку
    Ахо, Ульман — Теория синтаксического анализа перевода и компиляции. — как устроены первые этапы работы компилятора. За этим целая наука.
    Да и вообще все книги где в авторах есть Ахо и Ульман меня радовали. например
    Ахо, Ульман, «Компиляторы. Принципы, технологии, инструментарий» — лучшая известная мне книга по компиляторам(уже сама генерация кода).

    У последних двух оригинал на английском.
    Ответ написан
    5 комментариев
  • Как Вы записываете информацию?

    Откройте для себя такое великолепное средство как выделяющий маркер.

    Сначала я бегло просматриваю статью. Если что нибудь в ней представляет интерес, то статью печатаем.
    После, в спокойной обстановке, статья прочитывается и сразу же желтым выделяющим маркером помечаются нужные и интересные моменты.
    После прочтения (можно прочитать и несколько раз) распечатанная статья помещается в файл, а он в свою очередь в папку со скобками. Папок много, соответственно тематикам.
    В итоге получается «библиотека» из нескольких папок с множеством переработанных статей.

    Плюсы такого метода:
    — Накапливается нужный «обработанный» материал.
    — Достаточно легко искать нужные мысли, т.к. обычно мы ищем статью.
    — Повторять совсем легко — взял вечерочком нужную папку, полистал, почитал выделенные части, всё вспомнил.
    — Могут пользоваться несколько человек.
    — Статьи можно перепрочитывать несколько раз и выделять новые интересные факты.
    Ответ написан
    Комментировать