• Как лучше сделать авто-бекапы БД на Digitalocean (Ubuntu, Django)?

    opium
    @opium
    Просто люблю качественно работать
    Пгдамп , хранить вне дигитал ошена
    Ответ написан
    3 комментария
  • Как выкачать дамп от проекта Django с Heroku?

    Kento
    @Kento
    Начинающий разработчик python
    Ответ тут --> https://stackoverflow.com/questions/39457549/herok...

    Но перед тем, как прописать эту команду нужно:
    1. Установить heroku CLI в терминале https://devcenter.heroku.com/articles/getting-star...
    2. Зайти в свой учетную запись: heroku login
    3. Склонировать свой приложение:
      git clone https://github.com/heroku/name_your_app.git
      https://devcenter.heroku.com/articles/getting-star...
      Посмотреть ветку git можно на сайте в личном кабинете:
      Personal-->name_your_app-->Settings-->Info-->Heroku Git URL

    4. Зайти в склонированную папку: cd name_your_app
    5. Выполнить команду
      heroku run python manage.py dumpdata --natural-foreign -- > data.json

    Json файл сохранится в корне папки.
    Ответ написан
    Комментировать
  • Предпринимательский подход к разработке и программированию - как развивать, что именно прокачивать?

    Jump
    @Jump
    Системный администратор со стажем.
    Предпринимательский подход к разработке и программированию
    Для начала отделить мух от котлет.

    Предприниматель - специалист по зарабатыванию денег.
    Программист - специалист, который пишет программы по заданию.

    Когда программист работает в организации все просто - дали задание, пиши код, тебе скажут с чем нужно работать, что прокачивать.

    А вот когда предприниматель и программист в одном флаконе все сложнее.
    Тут главное быть предпринимателем - изучать рынок, находить свою нишу, находить клиентов, договариваться об оплате, и давать задание работнику, т.е себе что конкретно писать, и что конкретно прокачивать.
    Пока предприниматель не выполнит свою работу - программист не нужен, ему просто нечего делать, и неизвестно чем заниматься.

    В общем вам в первую очередь надо учиться предпринимательству.
    Поскольку у вас есть "готовый" работник программист, ищите задачи под него.
    По поводу развития как программиста - будут заказы, будет видно куда развиваться.
    Ответ написан
    Комментировать
  • Реально ли поставить хакинтош на такое железо?

    eucalipt
    @eucalipt
    Самоделкин.
    Спокойно. Хакинтош (если речь про него) Yosemite ставится на процессоры выше Core 2 Duo (1.80) GHz. И оператива нужна как раз минимум 4 ГБ для установки.

    При установке флаги
    -v

    Если будет перезагружаться, то вперед с
    -v npci=0x2000

    Если еще какие траблы, то накиньте
    PCIRootUID=1
    Ответ написан
    Комментировать
  • Backend для frontend разработчика?

    sHinE
    @sHinE
    веб-разработчик, php/js/mysql и сопутствующее
    Со своей колокольни посоветую.
    В первую очередь - протокол http - основные заголовки, методы передачи данных на сервер, как кодируются формы.
    Основные принципы работы веб-сервера, принципы переписывания урлов.
    Основые sql и серверных языков, принципы формирования страничек.
    Глянуть простенькие туториалы по основным фреймворкам для разных языков.
    Почитать что такое ORM и глянуть основные для популярных языков.
    Вот как-то так.
    Ответ написан
    2 комментария
  • Как наиболее точно сравнить две строки?

    adugin
    @adugin Куратор тега Python
    Пример решения с использованием стандартной библиотеки difflib:
    from difflib import get_close_matches as gcm
    
    model = 'A 170 Classic - 7/2004 - 85Kw'.upper()
    model_list = map(str.upper, [
        'A 170 CDI CAT ELEGANCE',
        'A 170 CDI CAT CLASSIC',
        'A 170 CDI CAT AVANTGARDE',
    ])
    
    result = gcm(model, model_list, n=1, cutoff=0.5)[0]
    
    print(result)  # => 'A 170 CDI CAT CLASSIC'

    Также посмотрите в сторону difflib.SequenceMatcher().ratio(), это имеет прямое отношение к cutoff в примере выше:
    from difflib import SequenceMatcher as SM
    
    s1 = 'A 170 Classic - 7/2004 - 85Kw'.upper()
    s2 = 'A 170 CDI CAT CLASSIC'.upper()
    
    SM(isjunk=None, a=s1, b=s2, autojunk=True).ratio()  # => 0.52

    Теория: Расстояние Левенштейна
    Ответ написан
    3 комментария
  • Можно ли программирование на linux для IOS?

    Adamos
    @Adamos
    Два аспекта вашего вопроса:
    1. Можно ли писать программу для iOS под Линуксом?
    Конечно, можно. Это же просто текст, его можно писать где угодно.
    2. Можно ли полный цикл создания приложения для iOS пройти без Мака хоть с какими-никакими удобствами?
    Да щас, дождешься от Apple интереса к твоим проблемам...
    Марш в магазин за макбуком, айпадом и аккаунтом разработчика! И не рассуждать!
    Ответ написан
    Комментировать
  • Список в списке --> список?

    aRegius
    @aRegius
    Python Enthusiast
    >>> from collections import Iterable
    >>> def flatten(items):
    	      for x in items:
    		        if isinstance(x, Iterable):
    			            yield from flatten(x)
    		        else:
    			            yield x
    
    >>> a = [1, 2, 3, [4, 5, 6], 7, 8]
    >>> list(flatten(a))
    [1, 2, 3, 4, 5, 6, 7, 8]
    Ответ написан
    Комментировать
  • Для чего идеальна MongoDb? Примеры приложений, где монга будет лучше mysql?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Я работаю с MongoDB на протяжении уже 4х лет. Имеется ряд проектов, созданных как с использованием этой БД, так и использованием классических RDBMS.
    MongoDB это не MySQL и не PostgreSQL. Большинство людей пытается сравнить оба типа баз данных, но это абсолютно глупо и неприемлемо. Это все равно что сравнивать врачей и инженеров.
    MongoDB подойдет там, где нужна гибкость структуры и большие объемы данных. Например хранение истории болезни пациентов в масштабе страны. Каждая карточка может быть разного типа со множеством полей. И их могут быть триллионы. Для классических реляционных БД это выливается в весьма нетривиальную задачу горизонтального масштабирования, которая в MySQL решается через перенастройку сервера, а в PostgreSQL через специальную промежуточную таблицу. Горизонтальный рост и ввод новых узлов кластера сопряжен с большими трудностями и плохо автоматизируется для реляционных БД.
    Еще классические БД очень плохо работают со смешанной нагрузкой, когда у вас запись/чтение примерно 1:1 и данных очень много. Это вызывает непрерывное перестроение индексов и их использование больше мешает. Это тот тип нагрузки, при которой InnoDB частенько повреждается без возможности восстановления или что вызывает значительный простой на реорганизацию структур данных.
    Также существует очень много задач, для которых использование MongoDB исключительно неприемлемо. Если вам необходимо работать с нормализованными данными - используйте реляционные БД. Если нужна мощная аналитика - колоночные. Разумеется, каждая из этих опций имеет свою цену.
    На рынке нет универсального решения. Каждое заточено под свои задачи.
    Ответ написан
    2 комментария
  • Стал работать по часам и обнаружил, что выходит 6 часов в день. Это нормально?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    Не забывайте, НИКОГДА не забывайте, что в ваше рабочее время входит не только полезная работа (написание кода):
    - разобраться с той или иной информацией, изучение проблемы
    - анализ и преоктирование
    - просто изучение нового (подходы, библиотеки)
    - отдых в определенном проценте (не считая обеда)

    Если за вас это не делает работодатель, делайте за него.
    В будущем, если будете управлять коллегами — делайте это для них.

    Главное для любого человека — он сам, никакая зп не переплюнет эгоизм, помните это.
    Ответ написан
    Комментировать
  • Как делать парсинг результатов поиска Google?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    в залогиненом состоянии лучше
    Ответ написан
    Комментировать
  • Как развернуть на продакшене Flask приложение?

    m12sl
    @m12sl
    Физик-теоретик и питонист
    Пользуюсь связкой nginx + uwsgi + flask.

    uwsgi с помощью supervisor от имени www-data, код в папке /var/www/_site_name_.

    Чтобы не было неприятных инцидентов, делаю это с помощью набора простеньких Ansible-скриптов:
    1. Поставить системные пакеты
    2. Синхронизовать код, расставить права
    3. Закинуть конфиги (nginx, supervisor, uwsgi, flask)
    4. Перезапустить процессы


    Проверяю код и скрипты на виртуалке с Vagrant.

    Звучит страшно, но довольно удобно и вспоминается после перерыва легко.

    Наверняка есть способы проще:)
    Ответ написан
    Комментировать
  • Как писать тесты?

    jkd
    @jkd
    1)Если не можешь не пиши. Значит еще не нужно...
    Начинают писать, или когда проект действительно большой, и сложно отследить, что и как падает в результате твоих модификаций. Или когда над проектом работают несколько человек и нужно контролировать целостность проекта.
    2)Просто прочитай и пока забудь. Когда понадобится - ты просто почувствуешь это. Что нужно написать для контроля какого-то места. Возникнет потребность, а на вопрос как ты уже примерно будешь знать ответ.
    3)В любом случае это дополнительные накладные расходы на проект. И если тестирование не решает каких-то задач - то в нем смысла нет...

    Тестирование ради тестирования - потеря времени.. Укрупняй проект.. И как то ты проснешься и поймешь, что без него нельзя. И задачи у тебя будет конкретные.
    Ответ написан
    5 комментариев
  • Как динамически менять имена методов в Python?

    JaxxDexx
    @JaxxDexx
    https://docs.python.org/3/library/functions.html#g...

    И тогда:
    def validator_team(self, field, member='something', name='surname'):
        if field:
                for i in getattr(field, member).all():
                    p = getattr(i, name)
                    do_something(p)
                ...
        return field


    Но вообще это говнокод)
    Ответ написан
    4 комментария
  • Где лучше сохранять парсенные данные через Scrapy?

    longclaps
    @longclaps
    Наиболее быстро - в память, надежно - в тетрадку, удобно - это зависит от привычек.
    Все популярные БД достаточно быстры, чтобы не быть бутылочным горлышком на этой задаче.
    А вот парсер вполне может им оказаться.
    Ответ написан
    1 комментарий
  • Как в Scrapy менять User-Agent вместе со сменой IP (proxy) и как обрабатываются ошибки?

    @Verz1Lka
    Web scraping expert
    У Амазона много специфики в парсинге.
    Обычно я не меняю UA, исплоьзую только IP rotation. Однако, если хочется, можно использовать готовые middleware, например эту https://github.com/alecxe/scrapy-fake-useragent.
    Если хотите вручную менять UA при создании Request, просто прописывайте UA в header.
    По поводу плохих ответов, есть два варианта.
    1) Амазон будет отдавать вам каптчу, можно её распозновать при помощи индусов, например anti-captcha.com или можно написать или использовать готовую OCR. (у меня есть примерно с 30% шансом распознования)
    2) Амазон будет отдавать вам 503, когда ваш IP окончательно ему надоест.
    По поводу сохранения прогресса с asin. Я брал список asin из MySQL и записывал данные обратно туда-же, меняя статус, если всё ок.
    Ответ написан
    1 комментарий
  • Что надо знать Сис. Админу дайте темы к изучению?

    Stalker_RED
    @Stalker_RED
    Хороший сисадмин в основном спокойно почитывает интернетики, так как у него уже все настроено и работает как часы. Плохой сисадмин весь в поту и пыли, бегает от компа к компу, что-то настраивает, чинит, накатывает обновления вручную и все такое.

    Рекомендуемая литература для начала:
    «Архитектура компьютера» Э. Таненбаум
    «Компьютерные сети» Э. Таненбаум
    Учебник по русскому языку.
    Ответ написан
    8 комментариев
  • Откуда в сети "бесплатные" прокси?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Есть различные варианты монетизации таких сервисов от подмены рекламы на собственную до угона учеток для определенных сервисов. Ну и конечно же встречается человеческая глупость в виде некорректно настроенного софта (3proxy, nginx, apache, squid и т.д) или же сетевых устройств.

    Как их находят? Ну делают nmap, потом на эти порты скриптом проверяют, прокси это или нет. В логах любого публичного вебсервера всегда по несколько раз в день мелькают запросы к гуглу или яндексу. Это как раз пример таких сканеров прокси.
    Ответ написан
    3 комментария
  • Как убрать коммит из пуша?

    lunaticman
    @lunaticman
    Дерзкий айтишник
    Никогда не разрабатывайте в master бранче! Всегда делайте отдельную ветку git checkout -b new_branch_baby

    Чтобы сейчас выйти из этой неловкой ситуации вам нужно:
    - Скопировать все изменения в отдельный бранч ( git checkout -b my_changes )
    - Почистить мастер от своих изменений ( git checkout master ; git rebase -i HEAD~6 )
    - обновить мастер бранч ( git pull origin master )
    - обновить свой бранч (git checkout my_changes ; git rebase master )

    удачи
    Ответ написан
    1 комментарий
  • Как быстро погрузиться в react?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Проще всего научиться на практике. Я нашел несколько годных скринкастов и повторял 1 в 1 за ведущим. Вообще всегда так делал с новым языком.

    В процессе привыкаешь, пропадает страх и туман в голове, дальше уже можно делать шаг вправо-влево и что-то своё наверчивать.

    Одна проблема в том, что реакт бурно развивается, и огромное множество материалов по нему уже устарели, т.е. ты будешь учиться тому, что уже не актуально. Поэтому ищи материалы не старше года, в идеале не старше 6 месяцев.
    Ответ написан
    2 комментария