• Где большие чаты рускоговорящих web-разработчиков?

    Еще Веб-стандарты есть.
    Ответ написан
    Комментировать
  • Где большие чаты рускоговорящих web-разработчиков?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    В чате хекслета slack-ru.hexlet.io около двух тысяч разработчиков
    Ответ написан
    Комментировать
  • Как настроить vimrc для Node.js?

    @justed
    ternjs.net
    вот такая штука есть, вполне себе умный автокомплит
    Ответ написан
    Комментировать
  • Как настроить vimrc для Node.js?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Здесь посмотрите.
    Ответ написан
    Комментировать
  • В PostgreSQL удалили записи, возможно ли восстановить?

    @liff
    PHP >= 5.4, 7 + PostgreSQL + JS + EmberJs +++
    Никак. Только восстановить из резервного архива, который у вас есть.
    Ответ написан
    3 комментария
  • Программа для отслеживания на Windows 8 температуры и частоты CPU и GPU?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    OpenHardwareMonitor(бесплатный)
    в последней версии наконец то научился писать показания сенсоров(в csv)
    Ответ написан
    2 комментария
  • Хорош-ли pure-ftpd?

    @Wolf4ara
    сисадмин и не более
    Добрый день. Я использую pureftpd на разных осях, и дебиан в том числе. Мне нравится он своей гибкость и простотой настройки.
    С первым ответом соглашусь - все прекрасно работает на дефолтных настройках, но оттуда и всплывает ошибка второго ответа - логи нужно настроить грамотно =)
    Ответ написан
    Комментировать
  • В двух словах, что такое БЭМ?

    redfieldone
    @redfieldone
    Старый , лысый и без денег.
    Комментировать
  • Как сделать экпорт в кодировке utf8 из большой БД MySQL с помощью mysqldump?

    @shoomyst
    dumb
    Из графических советую попробовать Sypex Dumper.
    Я понятия не имею, как он работает, но всегда поражаюсь, как веб-приложение может обрабатывать такие объемы данных, где тот же SQLYog виснет.
    Ответ написан
    2 комментария
  • Как сделать экпорт в кодировке utf8 из большой БД MySQL с помощью mysqldump?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Возьми любую систему управления MySQl - от PhpMyAdmin до dbForge Studio for MySQL - и делай дамп ей.

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

    sixhundredsixtyfive
    @sixhundredsixtyfive
    посмотреть что выведет route -n и запомнить нужные маршруты
    запускать клиент с ключем --route-noexec
    добавить ключ запуска --route-up который покажет на скрипт в котором вручную добавляются нужные маршруты
    еще неплохо --down-pre со скриптом удаления маршрутов
    Ответ написан
    Комментировать
  • Как на клиенте отключить интернет от OpenVPN?

    opium
    @opium
    Просто люблю качественно работать
    Насколько помню на стороне сервера можно настроить какие маршруты пушить на клиента.
    Ответ написан
    2 комментария
  • Как создать свою модель пользователя в django?

    @bromzh
    Drugs-driven development
    В новой джанге можно кастомизировать модель пользователя.

    Попроси модераторов гугла убрать у тебя бан на поиск.

    UPD
    Сжатый пересказ, при учёте, что ты создаёшь приложение с нуля, а не мигрируешь с созданного приложения с готовой базой и пользователями:

    1. В настройках указываешь путь до твоей модели:
      AUTH_USER_MODEL = 'myapp.MyUser'
    2. Везде в моделях где используется внешний ключ на юзера, прописываешь settings.AUTH_USER_MODEL
      class Article(models.Model):
          author = models.ForeignKey(settings.AUTH_USER_MODEL)

      И тоже делаешь для сигналов:
      def post_save_receiver(signal, sender, instance, **kwargs):
          pass
      
      post_save.connect(post_save_receiver, sender=settings.AUTH_USER_MODEL)

    3. Создаёшь модель пользователя, в которой указываешь поле-идентефикатор (например, это может быть поле name, или поле email, или ещё какое-нибудь другое).
      class MyUser(AbstractBaseUser):
          identifier = models.CharField(max_length=40, unique=True)
          ...
          USERNAME_FIELD = 'identifier'

      В этой же модели прописываешь необходимые для регистрации поля:
      class MyUser(AbstractBaseUser):
          ...
          date_of_birth = models.DateField()
          height = models.FloatField()
          ...
          REQUIRED_FIELDS = ['date_of_birth', 'height']

      Ещё надо переопределить некоторые методы и поля при необходимости (в доках написано какие)
    4. Надо создать кастомный менеджер, создающий пользователя. В нём надо реализовать методы create_user и create_superuser
    5. Надо создать новые формы для твоего пользователя и кастомизировать класс для админки, учитывающий твои новые поля
    6. ???
    7. PROFIT
    Ответ написан
    2 комментария
  • Хорош-ли pure-ftpd?

    opium
    @opium
    Просто люблю качественно работать
    он не пишет в логи он выдает ошибку в фтп клиент напрямую.
    Ответ написан
    Комментировать
  • Как вместо роутера заставить пробрасывать порты сервер на Debian?

    test.ru:80 -> 192.168.1.200:80
    demo.ru:80 -> 192.168.1.1:80
    разные домены...
    этот фокус не пройдет обычным DNAT
    нужно чем-нить умнее (например, c помощью nginx)

    остальное правилами iptables
    iptables -t nat -A PREROUTING -d 192.168.1.202 -p tcp -m tcp --dport 3022 -j DNAT --to-destination 192.168.1.200:22
    iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -d 192.168.1.200 -p tcp -m tcp --dport 22 -j ACCEPT

    далее по аналогии
    Ответ написан
    5 комментариев
  • Как вызвать функцию Python/Django как "триггер"?

    @bromzh
    Drugs-driven development
    Б-же, что за говнок*д.
    Почитай уже pep8, не плоди этот ужас форматирования дальше. Вдруг кому-то придётся поддерживать твоё творение?
    1) Лучше 4 символа, не 8.
    2) Ладно, имена функций можно в camelCase, но только если это нужно для совместимости. Ну допустим, что нужно. Но имена переменных? В первой функции - camelCase, в других случаях с_подчёркиванием. За что?
    3) Имена глобальных переменных лучше ПИСАТЬ_ЗАГЛАВНЫМИ. А ещё лучше вообще не использовать глобальные переменные, так как в локальной области они перекроются. Используй функции, люк. Или хотя бы классы с полями.
    4) Вместо
    def getTableName(type, realty_type):
    	if (type == "Rent" and realty_type == "Apartment"):
    		tableName = "maklers_rent_apartment"
    	if (type == "Rent" and realty_type == "House"):
    		tableName = "maklers_rent_house"
            return tableName

    Надо
    def getTableName(type, realty_type):
    	if (type == "Rent" and realty_type == "Apartment"):
    		rerurn "maklers_rent_apartment"
    	if (type == "Rent" and realty_type == "House"):
    		return = "maklers_rent_house"
            return None

    В моём варианте функция вернёт значение сразу, без создания доп. переменной и без выполнения заведомо ненужных веток (когда вариант найден). Мало того, что ты не используешь elif, что при определённых обстоятельствах принесёт тебе массу проблем, которые ты не ожидаешь, так ещё если в твоём варианте не выполнится ни одно условие, то будет ждать ещё один забавный сюрприз.
    UPD. И ещё, не рекомендуется использовать названия built-in функций и пакетов для имён переменных, методов и т.д. Например, в этой функции ты не сможешь использовать встроенную type, так как внутри функции она заменяется на локальную переменную. И прочитай про области видимости, на всякий случай.
    5) Вот эта строчка очень радует:
    soid = object.getAttribute("oid")
    myid = soid

    Зачем тут вторая переменная?
    Да и сама функция вызывается в цикле(!), при этом, в ней ты каждый раз теребишь парсер
    objects = doc.getElementsByTagName("object")

    Хотя этот код никак не меняется, и получить объекты надо строго 1 раз, а не дофига.
    UPD 2. Эта функция вообще очень странная. Ты сперва отдельно получаешь список объектов и отдельно их свойства. А потом ты ищешь эти id заново (да ещё и в цикле, ещё и каждый раз заново парсишь xml). Это полнейший идиотизм. Я не видел xml, но по логике, свойства объектов должны быть внутри объекта или как-то связаны с ним через id. Возьми нормальный парсер (а ещё лучше этот) и разбирай деревом. Ну и не стоит разделять объекты от свойств, а потом заново искать id.
    6) Зачем создавать переменную,
    sid = getId(i)

    если результат ты используешь только в одном месте?
    print ("ID: " + sid.encode('utf-8'))
    7) Забудь ты эти плюсы в строках
    print ("Деталі: " + sobject_details.encode('utf-8') + " " + sinfo.encode('utf-8'))

    Есть же удобное форматирование (когда надо что-то сложное):
    print("Детали: {0} {1}".format(sobject_details.encode('utf-8'), sinfo.encode('utf-8'))
    # или
    print("Детали: {details} {info}".format(details=sobject_details.encode('utf-8'), info=sinfo.encode('utf-8'))

    И быстрый join, когда простое форматирование:
    print(" ".join(("Детали:", sobject_details.encode('utf-8'), sinfo.encode('utf-8')))

    В общем, не пиши так больше, пожалуйста.
    8)
    propertys

    propertIEs же!

    Ну а по теме всё правильно сказали, ftp надо выкинуть и обрабатывать HTTP-запросы. Но, так как это невозможно, то:
    1) Просто запусти какой-нибудь крон и отслеживай изменения в файлах. При изменении запускай скрипт.
    2) Есть программы, которые запускаются как серверы, следят за изменением файлов в папке в реалтайме и могут отправлять всякие уведомления (в том числе и по TCP/HTTP). Можно настроить всё это на отправку HTTP-запроса на джангу. Но это создаст небольшой оверхед. Если всё на одном серваке (и фтп, и джанга), то первый вариант лучше.
    Ответ написан
    8 комментариев
  • Как сделать привязку клиентам OpenVPN статических ip?

    merryjane
    @merryjane
    Системный администратор
    Вам надо использовать:
    client-config-dir ccd
    Подробнее в документации:
    https://openvpn.net/index.php/open-source/document...
    Ответ написан
    Комментировать
  • Какую книгу выбрать для изучения Python?

    @Shetani
    Дэвид Бизли "Python. Подробный справочник"
    Ответ написан
    Комментировать
  • На повестку дня: Ruby On Rails или Node.js или php или Python?

    webus
    @webus
    Golang | Python | NodeJS | Java
    Python / Django.

    Мода на Ruby / Rails прошла. Владельцу проекта нужна предсказуемость и прозрачность работы фреймворка, на котором построен его проект. Этого достаточно сложно добиться с "магией" Ruby, которую понять то сложно, если пришел с других языков. Это первое.

    Второе, как ни крути но Ruby медленный. Да я пробовал последний Ruby 2.1 с последними Рельсами, и говорю он медленный. Да я знаю, что можно запускать Рельсу на всяких passanger, thin и unicorn. Знаю что есть JRuby и прочие реализации. Знаю что можно закешировать все что можно. Я это пробовал. И все равно, Руби - медленный. К слову реализаций Python тоже много, есть и Jython, PyPy, Stackless Python. Django на фоне Rails выглядит просто молнией, быстрый старт и прозрачность работы. Нет никакой магии, все понятно как работает от начала и до конца.

    Третье, Django достаточно консервативный фреймворк. В него никогда не добавят какую-нибудь сомнительную фичу, как это бывает в Rails (например никому не нужный turbolinks). Скоро выходит версия 1.7. Где достаточно много плюшек действительно нужных.

    Вам будут говорить про разветвление Python на версию 2 и 3. Что все плохо. Не верьте. Это все ерунда. В настоящее время большинство популярных библиотек уже давно на Python 3. Django, Flask уже давно. Мы все новые проекты начинаем на Python 3 и проблем никаких нет.

    На счет NodeJS. Использовать можно, но... Неудобно. Переносимость кода client side < - > server side по факту равна менее 10%. Сейчас большинство используют NodeJS как платформу для запуска нужных тулз для сборки фронтэнда, например Grunt / Gulp, Bower и прочее. Конечно пакетный менеджер npm.

    Надеюсь ответил на ваш вопрос.
    Ответ написан
    4 комментария