• Ruby on rails без знания каких-либо языков?

    @CapeRatel
    Нет понятия перейти, есть понятие программировать на каком либо инструменте. Переходят дорогу.

    >Можно ли перейти на rails
    Приходите, разрешаем.

    >не стану ли я говнокодером
    Гавнокодер - человек, который пишет плохочитаемый и плохоподдерживаемый код. Если вы планируете писать такой код, то пожалуй станете. А если не планируете, то не станете.

    >или лучше всё таки углубиться в php
    Язык не имеет значения. Можете ПХП варите его. Вакансий море, зарплаты сравнимы. Если вам легко дается руби, а пхп идет тяжко, смысл попробовать сменить есть.
    Я бы не менял, а смотрел в сторону (laravel, symfony, phalcon)
    Ответ написан
    Комментировать
  • Ruby on rails без знания каких-либо языков?

    mukizu
    @mukizu
    >Можно ли перейти на rails

    Можно

    >не стану ли я говнокодером

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

    >или лучше всё таки углубиться в php

    Php к руби и реальсам не имеет никакого отношения. ООП есть и там и там, паттерны проектирования, алгоритмы и прочая база - очевидно тоже. Хотите копать в стэк RoR - углубляйтесь в Руби и Рельсы (тут это как 2 отдельные сущности используется), php роли не сыграет.
    Ответ написан
    2 комментария
  • Удалять ли данные из бд?

    romy4
    @romy4
    Exception handler
    Если данные не моноширинные (числа и строки одинаковой длинны), то удаляя их получаете сильно дефрагментированную базу. Получится, что данных мало, а база большущего размера. Чтобы это избежать, необходимо делать её оптимизацию, а это очень и очень затратно и даже недопустимо на нагруженных базах. Поэтому, решением стаёт поле del. А ещё хитрости в виде партиций и т.д.
    Ответ написан
  • Как проще всего выявить неиспользуемый код javascript?

    RubaXa
    @RubaXa
    Пропустить через istanbul и X% пользователей выдавать модифицированный код, после каждые YY сек сбрасывать на сервер `window.__coverage__` .
    Пример результата
    14adee9dc5a247ab87bbfd107717b9c2.png3cac2096f1464c2da2fa3524caa11244.png
    Ответ написан
    Комментировать
  • Как организовать работу на сайте только после авторизации?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Например так если использовать common based views:
    from django.contrib.auth.decorators import login_required
    class LoginRequiredMixin(object):
    
        @classmethod
        def as_view(cls, **initkwargs):
            view = super(LoginRequiredMixin, cls).as_view(**initkwargs)
            return login_required(view, login_url=reverse_lazy('login'))


    навешиваете этот миксин на все вьюхи, и они при попытке входа под неавторизованным пользователем будет перебрасывать его на страницу входа для авторизации.

    А вообще кучу возможных вариантов вам уже в той теме насоветовали.
    Ответ написан
    4 комментария
  • Как учить что-то новое и быстро не забывать?

    Olej
    @Olej
    инженер, программист, преподаватель
    Суть такая, что каждый день что-то читаю и учу по книгам или видеурокам.

    Вера народная в видеоуроки вообще пустая - как в одно ухо надуло, так в другое и выдуло...

    Как учить и не забывать,

    А техника программирования - это не мнемотехники запоминания как Попка-дурак, а практика применения в написания кода.
    Ничего не нужно запоминать, на то есть справочники, а нужно понимание и писать, писать и писать свой код.

    А все интересные фрагменты кода (чужого или своего) хранить на диске, под рукой, ... чтобы всегда можно было "списать" копипастом нужные строки.
    Ответ написан
    10 комментариев
  • Как учить что-то новое и быстро не забывать?

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

    PS: уметь кодить и помнить что-то - две абсолютно разные вещи. Практика и теория тут не подходят для сравнения.
    Ответ написан
    Комментировать
  • Из C# в Python! Как это сделать максимально быстро?

    Rou1997
    @Rou1997
    Если на C# программируете, то уже документацией и поиском должны уметь пользоваться, если не умеете, давно пора научиться.
    Ответ написан
    Комментировать
  • Из C# в Python! Как это сделать максимально быстро?

    Официальная документация, что по Python, что по Django.
    Ответ написан
    Комментировать
  • Движение персонажа под углом?

    @Mercury13
    Программист на «си с крестами» и не только
    Расскажу, как поступал я. Писал на Java ME, так что особо сложных идей не было.

    У каждой плитки была алгоритмически заданная поверхность (pavement). В более новых версиях движка приделали и потолок — впрочем, неважно.
    Для простоты введём несколько ограничений. Все они, разумеется, обходятся усложнённой логикой.
    • Ни на чём, кроме плиток, персонаж стоять не может. Тогда можно обойтись флагом: isSupported: true/false.
    • Поднимаясь по склону, персонаж не ударится головой в потолок. Кстати, у нас было два разных геймдиза и два разных подхода — когда один увидел этот баг, пошёл жаловаться, второй взял ограничение на карандаш и не делал таких уровней.
    • Неровности достаточно велики, чтобы можно было проверить ноги слева и ноги справа — и понятно, на какой высоте ему стоять.
    • Соотношение «площадь ног / размер хитбокса» достаточно велико, чтобы, пока персонаж падает, его гарантированно вытолкнуло из стены.
    В зависимости от скорости персонажа и крутизны склонов подберём epsilon — диапазон поиска поверхности.
    Предположим, наш персонаж стоит на чём-то и двигаем его вправо.
    1. Сдвинем его туда, где он должен быть.
    2. Попробуем подстроить высоту, взяв правую сторону ног и отыскав новую поверхность в диапазоне (y — epsilon, y + epsilon). То же самое с левой стороной ног. То, что выше — и есть наш новый y. Если не получилось — УПИРАЕТСЯ (см. шаг 3).
    3. Если на шаге 2 персонаж не упирается в стену, проверим на упор весь хитбокс. Если упирается — вытолкнем его из стены, снова подстроим высоту по принципу 2.
    Ответ написан
    2 комментария
  • Как добавить HTML атрибуты в form.field из шаблона?

    @deliro
    Нативно никак. Без сторонних модулей два варианта:
    1) Класс формы. Считаю, что это ужасно.
    2) Собственный inclusion_tag

    Но удобнее использовать django-widget-tweaks.
    Ответ написан
    1 комментарий
  • Знаю основы HTML CSS, но верстать не получается. Как преодолеть баръер?

    Skolpov
    @Skolpov
    Веб-дизайнер
    «Ты в начале крив, косой,
    а потом уж Лев Толстой».


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

    «Боже, я никогда не научусь верстать как они :( ...»
    «Блин эти ребята так круто делают, видимо у меня нет дара...»
    «Наверно это не мое, лучше пойду я отсюда...»

    КОНКРЕТНО О ПРАКТИКЕ НОВИЧКА

    Все барьеры у тебя в голове Ты хочешь верстать как боженька, а как только ты делаешь ошибку ты тут же разочаровываешься в себе и считаешь, что ты ни на что не годен. Любой, кто что-то учит сталкивается с этим, просто нужно свыкнуться что от косяков никуда — это часть прогресса. Желательно разобраться с собой, в том смысле, что многие бросают свои начинания, увидев на пути даже маленькую преграду. Дальше будут разочарования собой, усталость и много чего еще в голове.
    Нужно просто пережить первые шаги, дальше будет легче.

    Не нужно сразу пытаться сверстать весь сайт, научись верстать отдельные кусочки. Уверен, ты каждый день сидишь в VK. Поставь себе цель — Сверстать страницу регистрации VK например за три дня. Сегодня например сверстай шапку (без перфекционизма). Начни с малого. Со временем одной левой сможешь верстать то, что сейчас тебе кажется тяжелым. Да будет не так, да многое из головы вылетит. Не беда, гугл всему голова. У любого профи есть самый главный Шаолиньский скилл — «Мастерство великого гугления». Не все его постигают в начале пути, но многие все равно придут к нему однажды.

    Перфекционизм и навык PixelPerfect— качество профессионалов, мы новички должны в начале делать ошибки Не надо вылизывать каждый участок макета, к этому ты придешь сам, но тогда, когда ты уже спокойно сможешь верстать. За то время пока ты пытаешься сделать крошечный блок сайта идеальным, ты бы мог уже быстро набросать весь макет и на практике использовать сразу много тегов и увидеть их к действии. Не надо заниматься в начале созданием идеального сайта, первые сайты все равно будут говно.

    Не надо вначале практиковаться по 10 часов в день. Да быстро научишься. Но и быстро выгоришь и потеряешь интерес. Все как в спорте, ты можешь пойти в первый раз в зал и долбить там хоть весь день, но завтра ты уже точно не пойдешь туда, да и вообще забросишь. Мышцы растут от прогресса нагрузки с которыми ты работаешь а не от ежедневной, многочасовой дрочи себя. Ты растратишь все ресурсы и, как я уже сказал, бросишь это дело вообще. Постепенно, понемногу, начиная с маленьких частей, ты придешь к тому, что сможешь легко сверстать большую часть макета. Потому что твои мозги тренированы и привыкли к выполнению такой работы.

    Главное не останавливаться. И надо смириться, что верстальщик всегда должен развиваться. Не только теорией но и практикой. Это его дар и его проклятье на всю жизнь. А грамотно развиваться поможет только грамотный подход к этому.

    Всего лишь мое маленькое, скромное мнение.
    Ответ написан
    Комментировать
  • Что лучше изучить для фриланса по вечерам?

    @Siberian_Bear
    Выше писали о Geekbrains.
    Ни за что! Там часами морда в камеру рассказывает какие то вещи, на ходу исправляя код, долго думая и т.д.
    Эти грезят многие русские онлайн-курсы - по факту записи с вебинаров.
    Берите курсы с Линды. Там авторы готовят видео заранее - всё чётко, по подготовленному сценарию. Никакой затянутости. В общем, порядочное видео.
    Вообще курсы лучше книжек на начальном этапе - потому что там всё по порядку, по полочкам.
    Если английского не знаете, ищите в складчинах и на торрентах переводы курсов - на базовые технологии их много.
    Ответ написан
    Комментировать
  • Как повысить свои навыки программирования на С/С++?

    abyrkov
    @abyrkov
    JavaScripter
    Ну что же... итак.
    1. Узнайте больше о кодстайлах
    Кодстайл(codestyle) - это, в буквальном смысле, стиль кода. Если вы будете писать по кодстайлу, то проблем явно станет меньше. Код станет читабельнее, его станет легче читать и сопровождать. А тот код, что написан с явными нарушениями очевидных правил... это такой же вырвиглаз как пробелы перед знаками препинания и ???.
    2. Научитесь пользоваться дебаггером
    Действительно. Дебаггер это, в буквальном смысле, антибаг. Багом, если вы еще не в курсе, называют именно логические ошибки. Ну, я думаю, освоив этот инструмент вы станете гораздо успешным охотником за покемо... жуками-багами.
    3. Перейдите на IDE
    Многие IDE или продвинутые редакторы имеют кучу плюшек, которые облегчат вам жизнь до того, что создание кода превратиться в чистое наслаждение. Оно того стоит.
    4. Анализируйте ошибки
    Все делают ошибки. Но если мы будем узнавать и запоминать в чем тогда была ошибка выше шанс, что мы ее не сделаем в следующий, и, если мы ее все-таки сделаем, то куда быстрее ее найдем.
    5. Учите и используйте библиотеки
    Люди давно уже поняли, что можно использовать один и тот же код несколько раз, а особо универсальный код - собственно библиотеку - можно использовать во многих проектах. Правильно подобранная библиотека позволит вам намного ускорить разработку типичных вещей.
    6. Сначала думай, потом делай
    Ты, наверно, думаешь, что как только крутым кодерам приходит в голову гениальная идея, они сразу же садятся и пишут код? Нет, они сначала придумывают структуру этой вещи, что они для нее будут использовать, алгоритм... словом, кучу вещей и только убедившись, что все предусмотрели, садятся, и пишут код.
    7. Практика + Google
    И, напоследок, запомни две простых вещи:
    В теории, теория и практика неразделимы. На практике это не так.
    и
    Профессионалы тоже пользуются гуглом. Может, даже чаще, чем новички.

    Удачных проектов тебе!
    Ответ написан
    5 комментариев
  • У сайта avito.ru есть своё API для разработчиков?

    kumaxim
    @kumaxim
    Web-программист
    Именно API у них нет, однако, загрузка объявлений доступна через XML. Описание формата.

    Логика работы такая:
    1. На своей стороне ты формируешь XML со всей информацией об объявлении
    2. Этот XML должен быть доступен по http:/domain.com/avito.xml
    3. Эту ссылку ты отдаешь Avito для работы
    4. С какой-то переодичность Avito проверяет твой XML и добавляет/изменяет/удаляет объявления

    Отчет о загрузке/обновлении/удалении обявлений доступен в личном кабинете и, вроде бы, еще на мыло отсылается.

    Также могу рекомендовать сервис afy.ru, однако, он работает только с недвижкой. Почему я его упомянул? Через него можно настроить автоматическую выгрузку объявлений сразу на кучу досок: Авито, Яндекс.Недвижимость, Майл,Недвижимость, ИРР и т.д. Смотри тут полный список.
    Ответ написан
    Комментировать
  • Где можно найти силуэт карты в векторном формате?

    rokkayte
    @rokkayte
    Совестливый трудоголик
    Есть отличный вариант - pixelmap.amcharts.com/#

    Самый быстрый и простой способ сделать быстро и без геммороя)) Выбрали Пхукет, задали параметры, сделали SVG и вперед))
    Ответ написан
    4 комментария
  • На чем можно написать автоматическую кормилку для кота?

    eapeap
    @eapeap
    Сисадмин, Беларусь
    на чем можно написать эффективный софт, который бы позволил сэкономить на железе?

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

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Документация очень подробна на этот счёт.

    forms.py
    from django.forms import ModelForm
    from django.forms.models import inlineformset_factory
    
    from models import Receipt, Ingredient
    
    ReceiptFormSet = inlineformset_factory(Receipt, Ingredient, fields=('name', 'count', 'value'))

    views.py
    from forms import ReceiptFormSet
    
    def receipt_new(request):
        if request.method == "POST":
            formset = ReceiptFormSet(request.POST)
            if formset.is_valid():
                formset.save()
                return redirect('/receipts')
        else:
            formset = ReceiptFormSet()
        return render(request, 'admin_site/receipt_edit.html', {'formset': formset})

    receipt_edit.html
    <form method="post" action="">
        <table>
            {{ formset }}
        </table>
    </form>
    Ответ написан
    4 комментария
  • Как эффективнее всего изучать yii2?

    @vkdv
    Прости что лезу не в свое дело, но мое мнение, что yii2 лучше вообще не изучать. Изучай Laravel/Symphony etc

    Приведу несколько аргументов (в сравнении с laravel):

    1) Yii2 довольно слабо следует принципам SOLID и более того, не предоставляет в достаточной мере архитектурного решения разработчику, чтобы он сам им следовал
    2) Yii2 Костылен, а его исходники мягко говоря не очень. Например behaviors (костыль) против middlware(прозрачное решение)
    3) Yii2 Имеет устаревшие сервисы из коробки относительно Laravel , который развивается куда более активно.
    Помимо прочего в Laravel намного больше готовых сервисов (Elixir , scheduling, Queue , Blade, Storage, Broadcast , Notifications) Вместо этого в yii2 есть только bower assets - который представляет с собой дикий костыль и откровенно ужасен, да еще и не безопасен, а также вроде в yii2 есть сервис для работы с файловой системой, но я с ним не работал. Остальные сервисы типа bootstrap , console etc есть и там и там
    4) Магия Yii2 не способствует контролю за кодом и прозрачности
    5) Yii2 имеет довольно плохо продуманную архитектуру, о чем говорит например тот факт, что jquery вшит в ядро фреймворка (возможно и некоторые другие ассеты) и это очень странно. Особенно когда тебе нужно запускать консольные приложения
    6) ActiveRecord в yii2 доволбно запутан, по сравнению с https://laravel.com/docs/5.3/queries (кончено это субъективно)
    7) Yii2 не особо популярен в мире, у него плохая документация и я думаю он серьезно отстоет от конкурентов.

    Есть конечно у него и плюсы, например он быстрее laravel и у него есть поддержка модулей(что решается в laravel подключением пакета)
    Ответ написан
    9 комментариев