• Развитие в электронике/схемотехнике. Есть ли аналог схеме ориентирования в программировании?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    1. Освоить базовый курс электротехники, чтобы понимать, куда, как и когда текут токи
    2. Освоить базовый курс по пассивным и активным радиоэлементам
    3. Выбрать направление: цифровая или аналоговая техника.
    4. Если аналоговая, то учимся делать радиоприемники, усилители и т.д.
    Если цифровая - проходим базовый курс цифровой схемотехники.
    Параллельно п.4 учимся паять и изучаем нормальный софт для проектирования схем и печатных плат (P-CAD, Altium designer, Eagle)

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

    Если системный администратор выложит описание всей(или даже части) it-инфраструктуры предприятия на сторонний веб-сервис, то его нужно уволить за некомпетентность.
    Ответ написан
    4 комментария
  • Как вставить favicon.ico в django-проект?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    urls.py
    urlpatterns = [
        ...
        url(r'^favicon\.ico$', RedirectView.as_view(url='/static/img/favicon.ico', permanent=True)),
        ...
    ]
    Ответ написан
    4 комментария
  • Как изучить Python после C++?

    aRegius
    @aRegius
    Python Enthusiast
    Nexeon, я тоже хотел бы помочь вам с рекомендацией. Одно но... Я, в силу своей природы, лучше всего воспринимаю материал в виде книг (печать либо pdf). Ни видеокурсы, ни онлайн tutorial (скомпанованные в виде справочной информации, в коем ключе я их и использую) мне не "идут". Поэтому, ни первого, ни второго я посоветовать не могу, ибо не знаю/не пользовался (справочный характер использования официального Python-tutorial не в счет).

    Но по книгам подскажу:

    1. Для быстрого "погружения" - Think Python (2-издание 2016 год)
    2. Для основательного - Learning Python (5-издание 2013 год)

    P.S. В скобках я специально пометил издание/год. На это нужно всегда обращать внимание, поскольку книга может переиздаваться и, логично, выбирать стоит более свежую версию. Первая книга на русский не переведена, вторая - переведено издание 2009 года.
    Конечно, лучше читайте в оригинале. Обе, погуглите, были в открытом доступе.

    P.S. Информация для всех: недавно вышла отличная книга Fluent Python (2015 год). (Nexeon, с нее, думаю, начинать не стоит). Так вот, я-то начал ее читать сразу в оригинале, потом, узнав, что вышел русскоязычный перевод (что большая редкость для такой оперативности), я, любопытства ради, пролистал... Мне настолько нечего сказать по этому поводу, что просто в тысячный раз отмечу уже избитую истину - английский, это наше всё. Кстати, для сравнения, и справедливости ради, Learning Python ("Изучаем Python") 2009 года переведен отлично.
    Ответ написан
    2 комментария
  • Перехожу с RoR на Python (Django) нужна помощь?

    un1t
    @un1t
    1) обычно мне двух версий питона хватает которые есть в убунте, но можно еще юзать deadsnakes
    Для разных версий пакетов virtualenv.
    2) лучше 3
    3) у джанги даже pre-alpha версии довольно стабильные, а релиз уже сразу смело можно юзать.
    4) хрен его знает
    5) шаблоизатор встроенный либо jinja2. Так обычно pillow, djangorestframework, django-mptt, pytest, pytest-django, django-debug-toolbar, pytils, django-cleanup, sorl-thumbnail
    Ответ написан
    Комментировать
  • Почему StackedInline не сохраняет последний элемент?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Вы же явно указали max_num = 2
    Ответ написан
    1 комментарий
  • Как сделать чтобы можно было обращаться к сайту на Django по адрессу "sitenmae.ru", а не "sitename.ru:8000" и не запускать runserver каждый раз?

    @ilov3
    Учу питон и джангу потому что модно
    ---"Режим вредных советов включен"---
    sudo python manage.py runserver sitename.ru:80
    ---"Режим вредных советов выключен"---

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Бросайте паттерны. На вашем этапе обучения они пока не нужны. Изучайте принципы (SOLID, GRASP). Учитесь писать тесты, пробуйте TDD/ATDD. И тогда паттерны будут образовываться сами собой.

    Паттерны придумали не для того что бы ими проектировать, они нужны что бы называть ваши решения. Это просто словарь терминов что бы меньше времени приходилось тратить объясняя то или иное техническое решение. Но сначала код а потом паттерны, а не наоборот.
    Ответ написан
    106 комментариев
  • Как сохранить из формы в модель несколько картинок?

    В одну модель сохранить несколько кортинок нельзя(если поле для картинок одно).
    Для сохранения картинок нужно создать новую модель.
    models.py
    class Advert(models.Model):
        category = models.TextField()
        title = models.CharField(max_length=64)
        description = models.CharField(max_length=900)
        date = models.DateTimeField(auto_now_add=True, null=True)
    
    
    class AdvertImage(models.Model):
        advert = models.ForeignKey(Advert)
        photo = models.ImageField(upload_to='uploads/')

    forms.py
    class AddAdvertForm(ModelForm):
        class Meta:
            model = Advert
            fields = '__all__'
    
    
    class AdvertImagesForm(forms.Form):
    
        photos = forms.FileField(widget=widgets.FileInput(attrs={'multiple': True}))
    
        def __init__(self, *args, **kwargs):
            if 'request' in kwargs:
                self.request = kwargs.pop('request')
            super(AdvertImagesForm, self).__init__(*args, **kwargs)
    
        def clean_photos(self):
            # Остаются только картинки
            photos = [photo for photo in self.request.FILES.getlist('photos') if 'image' in photo.content_type]
            # Если среди загруженных файлов картинок нет, то исключение
            if len(photos) == 0:
                raise forms.ValidationError(u'Not found uploaded photos.')
            return photos
    
        def save_for(self, advert):
            for photo in self.cleaned_data['photos']:
                AdvertImage(photo=photo, advert=advert).save()

    views.py
    class CreateAdvertView(View):
        template_name = 'bulletinboard/add_advert.html'
        form_class = AddAdvertForm
        form_images_class = AdvertImagesForm
        model = Advert
    
        def get(self, request):
            form = self.form_class()
            form_images = self.form_images_class()
            return render(request, self.template_name, {'form': form, 'form_images': form_images})
    
        def post(self, request):
            form = self.form_class(request.POST)
            form_images = self.form_images_class(request.POST, request.FILES, request=request)
            if form.is_valid() and form_images.is_valid():
                advert = form.save()
                form_images.save_for(advert)
                return HttpResponseRedirect('/')
            return render(request, self.template_name, {'form': form, 'form_images': form_images})
    Ответ написан
    7 комментариев
  • С чего начать в программировании микроконтроллеров?

    trampick
    @trampick
    Веб-разработчик
    Приветствую. Сам web разработчик и как хобби играюсь с железом. Для работы с микроконтроллером как минимум необходимы какие то знания электронике и схемотехнике. Затем я советовал бы взять arduino. На него очень много уроков и схем плюс среда ide простая для понимания. По цене не соглашусь. Можно саму плату взять за рублей 500 с китая. К нему еще стартовые радиодетальки - светодиоды, резисторы, кнопки и т.д. - тоже не дорого. Все это можно собрать за 1000-1500р - в наше время это не много.
    Как более сложный уровень я бы советовал взять какую-нибудь платку stm32. К ней тоже будут нужны компоненты.
    За 2000 можно собрать неплохой комплект.
    На этому сайте есть недорогие платки
    Ответ написан
    Комментировать
  • Для чего нужен файл apps.py в django?

    Комментировать
  • Какие есть интересные книги по математике?

    27cm
    @27cm
    TODO: Написать статус
    Комментировать
  • Какую книгу выбрать для изучуение JS?

    @lasmaster
    Вся сила в самообразовании
    Для начала я бы посоветовал рессурс learn.javascript.ru Там и тесты знаний есть для самопроверки, что отсутствует в книгах.
    Ответ написан
    1 комментарий
  • Каким вы видите будущее Ruby?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    В свое время похожее меня терзало, но остался с руби и доволен как слон. Несколько помог вот этот доклад, который увидел как-то тут же, на тостере.
    https://youtu.be/xPFRUM_oDKA

    А если от себя - руби, а в частности рельсы не умрут. Особенно с теми обновлениями, что есть в 5 версии.
    Ответ написан
    3 комментария
  • Как остановить бота в django?

    И заменить стандартный url админки.
    Ответ написан
    Комментировать
  • Как остановить бота в django?

    @DuD
    Попыток подключений или попытка входа в админку?
    В любом случае, можно попробовать использовать fail2ban, получится достаточно эффективно.
    Ответ написан
    Комментировать
  • Парсим/грабим веб-страницы без мусора?

    @mik222
    Эта задача называется data region mining и является довольно хитрой проблемой, т.к. верстка может быть везде разной, а вы решаете задачу поиска основного контента на сайте(т.е. обрезать рекламу, навигационные блоки, левые вставки, спрятанный контент и прочее)
    Вот вам на вскидку алгоритм:
    1. Для каждой html ноды в дереве, вычислить её площадь(рендерите через phantom.js и вычисляете площадь через Element.getBoundingClientRect())
    2. Удаляете все, что меньше средней площади на этом уровне. (Вычищаем не имеющие значения блоки)
    3. Спускаетесь вниз на один уровень и повторяете алгоритм


    В результате получите набор текстовых блоков, которые имеют максимальный объем на странице.

    Вам нужно будет эмпирически до настроить алгоритм под ваш use case:
    Например, если перед вами регион с большим количеством текстовых блоков, то достать текст из всех дочерних и уложить в регион(таким образом мы избегаем вырезки bold italic текста).

    Дальше за вами стоит задача объединить эти регионы в статью/статьи(в случае с лентой).
    --------
    Существуют и более любопытные алгоритмы по вычислению попарной similarity между произвольными дочерними нодами с целью найти data region
    Но это вам нужно читать опубликовынные статьи на эту тему, например:
    dl.acm.org/citation.cfm?id=1060761
    Ответ написан
    Комментировать
  • Распределение обязанностей на фрилансе для WordPress?

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

    @LiguidCool
    Для отработки процесса сделайте себе портфолио пару сайтов - и руку набьете, и показать заказчикам будет что.

    PS
    Для небольших фриланс сайтов проще разделяется на дизайнера и фронт-бекендера. Ни так уж там и много работы. А разделять кодинг имеет смысл на более менее сложных проектах.
    Ответ написан
    Комментировать