• Какую литературу почитать по проектированию?

    @nirvimel
    1. Стив Макконнелл - Совершенный код.
    - почему еще никто не назвал эту очевидную классику? (я аж Ctrl+F-нул по странице, не поверил сначала).
    - также рекомендую его "Анализ алгоритмов. Вводный курс" (хоть это и в стороне от сабжа).

    2. Кент Бек - Экстремальное программирование. Разработка через тестирование.
    - многие считают этот подход антипаттерном, но прочесть, безусловно, стоит хотя бы ради того, чтобы иметь возможность самому поискать ошибки в рассуждениях автора (оно того стоит).

    Еще несколько очень разных книг, которые для меня стоят в одном ряду с Макконнеллом:
    3. Фредерик Брукс - Мифический человеко-месяц.
    4. Эндрю Хант, Дэвид Томас - Программист-прагматик. Путь от подмастерья к мастеру.
    5. Том Демарко, Тимоти Листер - Человеческий фактор: успешные проекты и команды.

    Далее, у Макконнелла в (1) после каждой главы приведен огромный список литературы по теме, большая часть - признанная классика, можно прямо брать списком и выкладывать в этот тред.
    Ответ написан
    Комментировать
  • Какую лучше выбрать систему инвентаризации?

    AxianLTD
    @AxianLTD
    Spice если Windows сервер,
    Ocsng-inventory если сервер linux (или Windows)
    Ответ написан
    Комментировать
  • Golang: TCP reassembly. Как собрать сегменты TCP в один пакет после получения?

    AxianLTD
    @AxianLTD
    Ознакомится со стандартами RFC на протокол TCP и те протоколы, которые вы собираетесь "дешифровать". Все соответствующие rfc можно найти, например здесь https://tools.ietf.org/html/rfc793. В исходниках wireshark можно посмотреть примеры, как это делается.
    Ответ написан
    1 комментарий
  • Как защитить приложение клиент-банк от взлома?

    @nirvimel
    Подготовка:
    1. В чистую виртуальную машину с отключенной сетью ставится чистый Windows с лицензионного диска (никакая не СБОРКА! и не готовый образ).
    2. Никакой другой ПОЛЕЗНЫЙ софт на эту ВМ не ставится.
    3. Ставится банк-клиент, скаченный с официального сайта.
    4. Подключается сеть в режиме NAT.
    5. Заносятся все данные и ключи. Проверяется подключение к серверу (увидеть свой баланс).
    6. Делается снепшот виртуальной машины.

    Работа:
    1. Запуск ВМ. Работа в банк-клинте (как обычно). Откат ВМ к снепшоту, сделанному на этапе подготовки.

    Только не говорите, что это НЕ УДОБНО.
    Во-первых, это неправда; запустить/остановить/откатить VirtualBox (например) не сложнее, чем распечатать накладную в 1С.
    Во-вторых, если бы даже это было действительно не удобно, то это все равно не имело бы значения, когда речь идет о безопасности банковских операций.
    Ответ написан
    1 комментарий
  • Есть ли рисовалка инфраструктуры для веб-проектов?

    nuBacuk
    @nuBacuk
    Python/Linux
    Ответ написан
    Комментировать
  • Разбивка текста на смысловые части?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Единственно-верный вариант здесь: построение "дерева" связей между частями речи (внутри одного предложения), собранное из множества разных текстов с помощью человека на конкретных эталонных примерах.

    Т.е., алгоритму нужно чётко знать: где какая часть речи может находиться внутри предложения (с наибольшей долей вероятности) относительно других частей речи (расположенных вокруг, до, после или отсутствующих вовсе).

    А задача такого плана решается исключительно только с помощью создания и обучения НС.

    Пример:
    Подаём текст на анализ: "Сервер не включался из-за сломанного блока питания."
    Отправляем на вход: "Почему не включался сервер?"
    Получить должны: "Был сломан блок питания."
    или
    Отправляем на вход: "Блок питания был сломан?"
    Получить должны: "Да."

    Возможно, что автор имел ввиду разделить и заменить местоимения на цельно-выраженные сущности.
    "Вот дом, который построил Джек":
    1. "Дом" ("вот" - удаляем, т.к. это частица)
    2. "Дом построил Джек" ("который" заменяем на управляющее существительное "Дом")

    scheme-parts.png

    PS: По ссылкам от Mikhail есть только простой шаблонный/словарный поиск с использованием правил и регулярных выражений - это не решение задачи в том виде, в котором возможно добиться правильной работы и корректного результата.
    Ответ написан
    2 комментария
  • Прямая ссылка на аудио Vk больше не доступна. Как решить проблему?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    хромовое расширение musicsig все еще легко и непринужденно качает мп3 без всяких левых движений. Гляньте как написано и вперед.
    Ответ написан
    2 комментария
  • Как в Scrapy пройти авторизацию?

    @DannyFork
    Указанные в start_urls =[] запрашиваются асинхронно. Вы отправлятете запрос к странице авторизации и контенту одновременно.
    Основная ваша проблема неправильный Post -запрос. Вместо https://ecom.elko.ru/Account/Login должно быть
    https://ecom.elko.ru/Account/Login?ReturnUrl=%2fCatalog%2fCategory%2fSCO


    Вопрос об авторизации,вот рабочий код для ее прохождения.
    import scrapy
    from scrapy.contrib.spiders import CrawlSpider
    
    from scrapy.item import Item, Field
    from scrapy.contrib.loader import XPathItemLoader, ItemLoader
    from scrapy.http import Request, FormRequest
    
    class ScrapyTestItem(scrapy.Item):
        title = Field()
        url = Field()
    
    class ScrapyTestSpider(CrawlSpider):
        name = "catalog"
    
        def start_requests(self):
            return [
                FormRequest(
                    "https://ecom.elko.ru/Account/Login?ReturnUrl=%2fCatalog%2fCategory%2fSCO",
                    formdata={"Username": "ваш_логин", "Password": "ваш_пароль"}
                )]
    
        def parse(self, response):
              print(response.url) 
       # Парсим страницу или отправляем запрос на другие.


    Перенаправление на страницу каталога ecom.elko.ru/Catalog/Category/SCO
    2016-12-18 12:32:55 [scrapy] DEBUG: Redirecting (302) to <GET https://ecom.elko.ru/Catalog/Category/SCO> from <POST https://ecom.elko.ru/Account/Login?ReturnUrl=%2fCatalog%2fCategory%2fSCO>
    Ответ написан
    Комментировать
  • Как массово переименовать html файлы по содержимому тегов?

    @x_dmitry_x
    # -*- coding: utf-8 -*-
    
    from __future__ import print_function, unicode_literals
    import os
    from lxml import etree
    
    FILES_DIR = 'Путь/До/Папки/С/Файлами'
    
    def main():
        parser = etree.HTMLParser()
        for fname in os.listdir(FILES_DIR):
            path = os.path.join(FILES_DIR, fname)
            tree = etree.parse(path, parser)
            root = tree.getroot()
            el = root.find('.//h3[@class="header-text"]')
            if el is not None:
                header = el.text
                if not header:
                    print(fname, 'Пустой заголовок')
                    continue
                new_fname = header.strip() + '.html'
                new_path = os.path.join(FILES_DIR, new_fname)
                try:
                    os.rename(path, new_path)
                except Exception as e:
                    print(fname, 'Ошибка при переименовании')
                    continue
                print(fname, '-->', new_fname)
            else:
                print(fname, 'Заголовок не найден')
    
    if __name__ == '__main__':
        main()
        raw_input('Enter для закрытия...'.encode('cp866')) # Да, я использую windows :(
    Ответ написан
    Комментировать
  • Как правильно сформировать?

    @fireSparrow
    У вас в коде две ошибки.

    Во-первых, перед if не нужен отступ.

    Во-вторых, нужно либо вводимое число приводить к int
    variant = int(input("= "))

    либо в исходных словарях ключи оформить как строки (обратите внимание на кавычки)
    actdam = {'1': self.damagetohead, '2': self.damagetobody, '3': self.damagetoheand, '4': self.damagetolegs}


    И ещё - когда спрашиваете совета, подробно объясняйте, в чём состоит проблема.
    Если программа демонстрирует не такое поведение, какого вы ожидали - подробно описывайте, чем отличается реальность от вашего ожидания.
    Если программа выдаёт ошибку - копируйте полный текст ошибки.

    В противном случае многие просто не будут разбираться в вашем вопросе.
    Ответ написан
    1 комментарий
  • Есть ли стандартная нотация для схемы потока данных и действий пользователя?

    1) Посмотрите на BPMN. Это далеко не идеальная нотация, однако она примерно для таких задач и используется.
    2) Да.
    Ответ написан
    Комментировать
  • Есть ли стандартная нотация для схемы потока данных и действий пользователя?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. UML-диаграмма
    2. допустимо. В сложных случаях - строят отдельные диаграммы состояний.
    Ответ написан
    Комментировать
  • Ну и с чего начать продвижение сайта, который продает услуги?

    Начать стоит с семантического ядра. А уже исходя из него дорабатывать структуру и контент сайта. В сети навалом материала как составить хорошее семантическое ядро, погуглите.

    Еще добавьте сайт с адресом и телефоном в карты Яндекса и Гугла - это поможет "прописаться" в регионе.
    Ответ написан
    1 комментарий
  • Free SSL альтернатива StartCom?

    @deliro
    Let`s Encrypt!

    Let`s Encrypt это 3 месяца, хочется год или даже 3

    Один раз настрой обновление серта и забудь навсегда. И на год, и на 3, и на 10

    Единственное, Let`s Encrypt не работает с wildcard.
    Ответ написан
    Комментировать
  • Count of filter?

    sim3x
    @sim3x
    Апп для дебага
    django-debug-toolbar.readthedocs.io/en/stable/pane...

    Когда нужно в одном месте посмотреть - иногда примеры идут на питон2
    stackoverflow.com/questions/971667/django-orm-how-...

    Суть вопроса
    https://docs.djangoproject.com/en/1.10/ref/models/...
    Ответ написан
    Комментировать
  • Count of filter?

    @deliro
    count() всегда делает запрос, причём только один. len() - не всегда делает запрос. Содержимое SQL запроса count можно увидеть только через connection:
    from django.db import connection
    print(connection.queries)

    Если нужно узнать количество объектов в выборке И итерироваться по ней - всегда используй len(), он работает следующим образом:
    1. Если выборка ещё не в кэше (SQL не запрашивался) - выполняет запрос
    2. Возвращает len() QuerySet'а


    Если нужно только узнать количество - используй count()
    Ответ написан
    Комментировать
  • К вопросу о коммерческой тайне и коммерческим данным, стоит ли доверять известным облакам?

    opium
    @opium
    Просто люблю качественно работать
    Мягко говоря надо быть идиотом чтобы доверять своим данные таким публичным вещами как гитхабе и битбакет, хомаков уже показал уязвимость гитхабе дважды с возможностью получения доступа , вопрос изначально не имеет смысла, из разряда вот я положу важное на самое видное место и наверно тряпочкой айда ветра сегодня не будет и никто не увидит
    Ответ написан
    4 комментария
  • Как узнать количество запросов по ключу в мире?

    kopcap_va
    @kopcap_va
    SEO Consultant
    Semrush позволяет посмотреть частотность для ключей в 28 странах мира (но каждую страну надо выбирать отдельно. В Ahrefs можно посмотреть частотность сразу для топ-5 стран и по отдельности для многих стран мира.

    О сервисе, где вы вводите запрос а он вам сразу в одной таблице частотности во всех странах мира - я не слышал.
    Ответ написан
    2 комментария