• Нужно ли использовать префиксы к именам переменных и классов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    С введением умных IDE надобность отпадает абсолютно.
    А моду на это ввел мелкомягкий гигант со своей MFC. когда и переменные и функции и классы, по идее, должны были отражать всё что ни попади, вот и рождались numCfFlagForMyCoolBoolShitVariableToMemberAssHole.
    Мне лично практически никогда не пригождалось.
    Ответ написан
    Комментировать
  • Кто такой кодер? и чем он отличается от программиста?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Раньше, когда компьютеры были большими, экраны зелёными, а вместо флешек куски картонки, были две специальности (точнее три): математик-алгоритмист и оператор ВМ. Вот первый был типа программистом, а второй кодером - наборщиком (кодировщиком) перфокарт. Отсюда и пошло-поехало. Математик писал алгиритм на бумажке, оператор вводил это в ЭВМ (с бооольшой буквы), результат расшифровывал и передавал обратно математику.
    В общем, были хорошие кодеры (дырки правильно ставили), а были и не очень... https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D...
    Ответ написан
    2 комментария
  • Что лучше для сервера 2 процессора E5-2603 или 1 E5-2620?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А это смотря под какие задачи. Если у вас веб, то чем больше потоков, тем лучше. Если у вас числодробилка, то чем больше частота и кеш, то лучше. Если у вас мощная числодробилка в несколько потоков, то все вместе будет как раз и еще нехватать будет.
    Берите два поменьше, вместо одного.
    Ответ написан
    Комментировать
  • Какие принтеры хорошо работают по сети?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Все сетевые HP отлично работают, У нас даже Samsung сетевой стоит с двухсторонней печатью, тоже работает!
    Ответ написан
    Комментировать
  • Библиотека реализующая вывод по VT100 для DOS?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вообще-то termcap была портирована под DOS, кажется вместе с Emacs. Но я не о том, установите MSDOS-Kermit. В нем есть и поддержка VT100, и не только - www.columbia.edu/kermit

    Да, также он есть в виде библиотеки, которую можно применить в своих программах.
    Также, в свое время, была очень популярна библиотека TurboVision https://ru.wikipedia.org/wiki/Turbo_Vision - это как замена curses для DOS.

    Соответственно kermit + turbovision можно заменить всё что угодно.
    PS. Я один такой некромант?

    Ну а для многозадачности установите полуось вместо дос...
    Ответ написан
  • По какой причине ибп eaton nv 600h клацает и сигналит с разной переодичностью, секунд 10 то 5?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Поставьте утилиту, которая собирает логи с вашего ИБП, там все будет видно. Скорее всего сеть у вас фиговая, вот он туда-сюда и переключается, с байпаса на батарейки и обратно.
    Ответ написан
    2 комментария
  • Как ускорить шаблон Django?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    О!!! Нужно сделать свертку объектов!
    from collections import defaultdict
    
    _t_by_o2 = defaultdict(list)
    for t in tt:
       _t_by_o2[t.o].append=t
    
    _o2_by_o1 = defaultdict(list)
    for o2 in o22:
       _o2_by_o1[o2.o1].append=o2

    Теперь в шаблоне можно работать с хешами только по циклу o11 без ифов
    {% for o1 in o11 %}
    <span>{{o1.n}}</span>
    {% for o2 in _o2_by_o1.get(o1,[]) %}
    <span>{{ o2t.n}}</span>
    {% for t in _t_by_o2.get(o2,[]) %}
     <a href="/{{ t.u }}/">{{ t.n }}</a><span>({{ t.c }})</span>
    {% endfor %}
    {% endfor %}
    {% endfor %}

    Как-то так!
    PS. Я вообще не понимаю, зачем такие дикие циклы и чем они обусловлены?! В браузере мы всё равно лимон объектов не отобразим. Значит их всего максимум сотня-другая, а если это так, то что-то не то в консерватории взаимосвязей, или пытаемся делать не там их обработку. Может быть задуматься, почему нам нужно эти объекты связывать при отображении и почему они до сих пор находятся в таком кошмаре?!
    Ответ написан
    1 комментарий
  • Какой производитель DVI шнуров лучше?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Есть несколько типов кабелей и разъемов DVI - DVI-I и DVI-D. Обычно все делают полный DVI-кабель, соответствующий обеим стандартам, а карточки работают обычно по DVI-D (digital). По импедансу они все должны соответствовать стандарту, так что разницы между ними нет, практически никакой.
    Это все также относится к "теплому цифровому звуку", если верите, то покупайте самый дорогой! Если нормальный инженер, то берите дешевый!
    Единственное, что встречал на совсем дешевых разъемах HDMI (прикупили для проекта 500 шт. по 120 руб.) - неглубокий отлив перед железной частью разъема, из-за чего иногда они физически не входили до конца в материнский разъем на некоторых платах. Решалось подрезкой пластика на пару миллиметров ножем для бумаг. Качество "теплого цифрового видео/звука" полностью соответствовало стандарту.
    Ответ написан
  • Как сделать редирект всех сайтов на локальный?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Заменить foo_serverip на внутренний адрес
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m conntrack --ctstate NEW -j DNAT --to foo_serverip:80
    iptables -t nat -A PREROUTING -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A POSTROUTING -t nat -j MASQUERADE
    Ответ написан
  • JSF-реальный фрейворк или набор спецификаций?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Jsf стандарт, у которого, как обычно есть куча реализаций.
    richfaces.jboss.org
    https://myfaces.apache.org
    Далее везде
    Ответ написан
    Комментировать
  • Где найти материалы по передаче данных?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    book.itep.ru надеюсь поможет! Кнопочка "index" в самом верху странички, если чо...
    PS. До кучи, кажется то что нужно, иначе там умереть можно book.itep.ru/2/convrs_2.htm
    Ответ написан
    Комментировать
  • В какой момент подключается DNS?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    DNS не подключается, если его на программном уровне не спрашивают. Достаточно IP-адресации. Собственно DNS такой-же как и SSH или HTTP, ничем от них не отличается, разве что бегает по UDP. Соответсвенно это протокол приложения (OSI 7).
    Обычно встроен в стандартную сетевую библиотеку (для удобства) - вызовы GetHostAddresses (мастдай) или gethostbyname (труевей).
    Ответ написан
    Комментировать
  • Совет начинающему программисту. Как следует подходить к приобритению навыка OOP?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну, для начала почитать паттерны проектирования, они изначально были следаны для явы, некоторые к питону прямо не относятся (в силу того, что на питоне можно вообще без классов, и можно вообще в стиле функционального программирования), но дают хорошую базу именно в ООП. С другой стороны, если в яве дизайн именно ООП, то на питоне иной раз не хочется и класс заводить, а пишешь в стиле функциональщины.
    Наверное первое что нужно сделать, изучить области видимости и помечтать как они могут пригодиться...
    Ответ написан
    2 комментария
  • Где взять csrf token для lk.megafon.ru?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Так ведь все просто!
    Фома состоит из трех полей
    CSRF - тип hidden, в значении value как раз и лежит то, что вам нужно.
    j_username: тут все понятно
    j_password: тут тоже

    Нужно:
    1) запросить страницу /dologin/ (запрашивать страницу нужно каждый раз при новом логине)
    2) отпарсить html и выбрать значение value из
    3) Отсылаем все ТРИ поля (CSRF, j_username, j_password) на /dologin методом post.
    4) Получаем ответ и смотрим на куки и прочую фигню..

    Отпарсить
    from HTMLParser import HTMLParser
    import urllib2
    req =  urllib2.urlopen("https://lk.megafon.ru/dologin/")
    data = req.read()
    class MyHTMLParser(HTMLParser):
    	def handle_starttag(self, tag, attrs):
    		attr = dict(attrs)
    		if tag == "input" and attr.get('name', "") == "CSRF":
    			print "Encountered a start tag:", tag, attr["name"], attr["value"]
    
    parser = MyHTMLParser()
    parser.feed(data)

    Encountered a start tag: input CSRF 2c8b2246-6e99-4469-924f-2c8086cd2dae
    Ответ написан
    Комментировать
  • Как написать простую CMS на Python?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ставьте mezzanine и будет вам уже и базовые документы (с wisywig редактором) и бложик и админка (и виджеты в админке) и наследование темплейтов и сами темплейты и маленькая кучка всего типа вордпресса, и инлайн редактирование, даже магазин есть Ну и это джанго приложение со всеми вытекающими. mezzanine.jupo.org
    Как раз сам сейчас думаю его в проекте использовать.
    Ответ написан
    Комментировать
  • За скорость обработки циклов отвечает процессор?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    За скорость обработки циклов отвечает процессор?

    1. Да. Но, если в цикле присутствуют обращения к диску, сети или чему-то внешнему, кроме памяти и самих регистров процессора, то процессор в периоды этих обращений будет простаивать.

    Если в однопоточном выполнении какого-либо сценария будет 50 тысяч итераций, это нормально?

    2. Нормально, если задачу нельзя разбить на независимые подзадачи. Пример неразбиваемой задачи найти сложно, но например задача комивояжера в классическом исполнении.

    А если поставить всё это дело на машину с высокочастотным процессором?

    3. Будет быстрее, если нет НО из первого ответа.

    А если многоядерный процессор?

    4. Будет быстрее, если нет НО из второго ответа.

    И если программа выполняется в одном потоке, то количество ядер не важно?

    5. Да, неважно.
    Ответ написан
    Комментировать
  • Что такое неклассические модели процессов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Интересно, это где таким птичьим языком написано?
    В принципе, такие типы процессов могут применяться в реалтайм системах. Но и там, в тех, которые знаю, более-менее используется традиционный подход, процессы и треды. Если только где-то в VTRX или VxWorks, может быть.

    Наверное объяснение такое, когда создаем процесс, то к нему можем передавать кусок общей памяти, но это и так во многих ОС делается через shared memory, события и сигналы, называется IPC.

    С другой стороны, тот же линукс вполне подойдет под данное определение, как минимум частично. Это когда мы форкаем процесс, то данные процесса у нас не сразу копируются для него, а только после первого обращения к нужной странице памяти. Так называемое ленивое копирование. Ну а разделяемые куски кода лежат в *.so файлах.

    Что касается общих ресурсов, то например в OS-9/9000 есть разделяемые библиотеки (модули), в контексте которых есть отдельный стек на библиотеку (модуль). Там могут лежать данные, доступные всем процессам, которые используют данный модуль. С другой стороны, процессы в ней очень даже традиционные, если не линковаться к модулям. Но 0S-9/9000 наверное единственная ОС, которая так может и с которой я работал таким образом.
    Ответ написан
    Комментировать
  • Возможна ли перекодировка файлов "на лету"?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Файлы записать в архив на СД/ДВД и перекодировать как написал ShamblerR
    Ответ написан
  • Есть ли одноплатный компьютер для управления силовой элеткроникой?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Как я понимаю, подойдет любой компьютер, хоть одноплатка, хоть расберипи. Весь вопрос в исполнительных устройствах, которые подключаются к портам GPIO и интерфейсам IO.
    Другими словами, я не знаю ни одного компьютера, который был бы специально заточен под силовую электронику, они все заточены на управление разнообразным оборудованием. Но я знаю кучу производителей устройств для силовой электроники, которыми можно управлять с любого компьютера, встроенного, одноплатного или общего назначения.
    Начните с поиска нужных исполнительных устройств (реле, разрядники, и что там еще по вашему профилю), далее по интерфейсам управления подбирайте компьютер с соответствующими портами IO (modbus, profibus, spi, i2c, какие-то частнофирменные протоколы)...

    Приведу пример: у меня есть автомобиль, и куча исполнительных устройств для него, датчики, регуляторы, замки дверей, капота, доводчики. Все они имеют интерфейс CAN (так уж повелось в автомотиве). Ну мне тогда сам бог велел поискать одноплатку с двумя-тремя CAN-шинами и нацеплять исполнительных механизмов и датчиков гирляндами на них.
    Ответ написан
    Комментировать
  • Оптимизация скрипта при большом количестве запросов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А не пробовали эмулировать работу скрипта на простом sql? Что получается? Ну и без анализа самих запросов, типов данных и структуры таблиц сказать вообще ничего нельзя.
    Единственное, что можно порекомендовать- кешируйте данные на чтение. И если при работе тормозит процессор, то попробуйте параллелить задачу, а если тормозят диски - ставьте ssd. Другой путь - не сохранять в базу, а сохранять в память, например в redis, mongo, а уже потом перекидывать готовый результат куда нужно.
    И что-то неправильное в консерватории, если индексов на таблицу больше двух, максимум трех... Снесите индексы, проведите массивную вставку, создайте индексы заново. Ну и анализ запросов и explain в помощь.
    Что такого можно делать со 100к запросов?!
    Ответ написан
    Комментировать