• Существует ли "карта программиста"? Что и за чем учить?

    dkutergin
    @dkutergin
    Java developer
    Ответ написан
    Комментировать
  • Какую книжку выбрать для изучения JS?

    rim89
    @rim89
    программист-велосипедист
    Не принципиально, у меня Фленаган и еще пару. Всеравно понятно станет раза с 3его только.
    Ответ написан
    1 комментарий
  • Паттерны проектирования?

    @vkdv
    Паттерны - это реальные инструменты, позволяющие добиться реализации концепции объектно-ориентированного проектирования и принципов SOLID

    Ссылка на SOLID

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

    Один из наиболее часто встречающихся мне примеров, это пример принципа "Принцип открытости/закрытости" , когда класс - описывающий некую сущность(например модель комментария) , описывает только свои базовые назначения( создание, удаление, редактирование), при этом такие механизмы, как модерация, прикрепление файлов, лайки , реализуется другими классами и "прикручиваются" к классу моделей через интерфейсы и наследование/ трейты / примеси

    При этом :
    1) Никак не изменяется код класса "Комментарий" (кроме подключения интерфейса) и в будущем мы добавляем поведения без изменения класса + стабильность системы, гибкость
    2) Каждый класс имеет свое четкое назначение + легкость модификации, порядок
    3) Комментарии наследуют некоторое поведение, путем подключения поведения, но также могут поступать любые другие классы - сущности (посты, блоги итп) , то есть интерфейс и реализация лайков универсальна, и весь функционал работы лайков находится только (строго!!!) в одном месте + легкость модификации, Универсальность, стабильность, интуитивная понятность

    Из википедии :

    Признаки плохого проекта
    Закрепощённость: система с трудом поддается изменениям, поскольку любое минимальное изменение вызывает эффект "снежного кома", затрагивающего другие компоненты системы.
    Неустойчивость: в результате осуществляемых изменений система разрушается в тех местах, которые не имеют прямого отношения к непосредственно изменяемому компоненту.
    Неподвижность: достаточно трудно разделить систему на компоненты, которые могли бы повторно использоваться в других системах.
    Вязкость: сделать что-то правильно намного сложнее, чем выполнить какие-либо некорректные действия.
    Неоправданная сложность: проект включает инфраструктуру, применение которой не влечёт непосредственной выгоды.
    Неопределенность: проект трудно читать и понимать. Недостаточно четко выражено содержимое проекта.

    Оттуда же про SOLID

    Избавиться от "признаков плохого проекта"[4] помогают следующие пять принципов SOLID:

    Принцип единственной ответственности (The Single Responsibility Principle)
    Существует лишь одна причина, приводящая к появлению класса.

    Принцип открытости/закрытости (The Open Closed Principle)
    «программные сущности … должны быть открыты для расширения, но закрыты для модификации.»

    Принцип подстановки Барбары Лисков (The Liskov Substitution Principle)
    «объекты в программе должны быть заменяемыми на экземпляры их подтипов без изменения правильности выполнения программы.»

    Принцип разделения интерфейса (The Interface Segregation Principle)
    «много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения.»

    Принцип инверсии зависимостей (The Dependency Inversion Principle)
    «Зависимость на Абстракциях. Нет зависимости на что-то конкретное.»
    Ответ написан
    2 комментария
  • Куда стремиться PHP программисту?

    riky
    @riky
    Laravel
    постараться понять смысл жизни и ответить на вопрос "есть ли жизнь после смерти?"

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

    так вот представь себя после и ответь: что было действительно важно?
    Ответ написан
    4 комментария
  • Как писать много кода, оставляя его простым, как в начале?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1) Документируй
    2) Абстрагируйся всегда максимально
    3) Пиши классы по принципу "черного ящика"
    4) Один класс решает одну конкретную задачу, не стоит городить комбайны.
    Ответ написан
    5 комментариев
  • Верстка у нас и в США (одеск) есть ли ключевые отличия?

    Поработав на апворке и с заказчиками из СНГ могу ответственно заявить, что ключевых отличий нет.
    Все зависит исключительно от капризов отдельно взятого клиента и его перфекционизма. А замороченный до мелочей человек может жить хоть в Омске, хоть в Нью-Йорке.

    Лично сейчас вспомнил случай, как Российский заказчик выдвинул огромный лист требований. Кроме пиксель-перфект он например просил писать аннотации с оглавлением к каждому Sass-файлу. Потом мы проверяли отображение сайта на всех браузерах, оптимизировали скорость работы и много чего ещё. Нужно сказать, что сайт в итоге получился очень хорош. А на апворке редко когда сталкивался с клиентами, которые требовали вообще что то кроме просто хорошей верстки, которая работает во всех браузерах.
    Ответ написан
    2 комментария
  • В чем преимущество node.js над стандартными веб-технологиями?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Преимущество в том, что есть много фронтендеров, которые знают js.

    А при помощи node.js им не нужно учить что-то еще, а писать бэкенд на привычном и известном js.
    Ответ написан
    6 комментариев
  • Правильный подход к установке программ в Linux?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    1. В основном из пакетного менеджера. В крайнем случае собираю пакет сам, иначе потом задолбаешься вычищать систему и разруливать зависимости.

    2. По-тому, а какой скрипт вы предлагаете, например, для докера? Там скриптовать нечего, и так от пользователя требуются только базовые действия.

    3. Самый правильный способ - через пакетный менеджер сситемы. Все остальное не правильный способ.
    Если вам так нужны программы, которых под ваш дистр нет в виде пакетов - пинайте разрабов программы и дистра, или сами становитесь мэйнтейнером.

    p.s.
    Не очень понимаю, чем вам не понравилась инструкция докера? Там подробно, для дебилов, расписано как добавить сторонний репозиторий (докера) и его ключ в систему, и как установить все это и настроить. Причем под разные версии системы. Отличная инструкция, без указания очевидных вещей занимает один абзац. (где указано какой репозиторий добавить и какие настройки сети нужно сделать для докера)
    Ответ написан
    2 комментария
  • Где можно посмотреть структуру папок в правильной верстке?

    Несколько полезных ссылок:
    Организация кода для препроцессоров;
    Способы организации CSS-кода;
    Эстетичный Sass;
    Sass-архитектура вашего проекта.

    А вообще для начала можно интуитивно поделить макет на блоки, компоненты и элементы.
    Например, для кнопок, форм, типографики - по отдельному файлу. Специфичные вещи, которые относятся только к определенной странице - тоже можно вынести прямо в файл с названием страницы.
    Ну а как этой эстетичности будет не хватать, то можно взять более продвинутую архитектуру.
    Ответ написан
    Комментировать
  • Как отразить поступления с Upwork на Skrill для налоговой для ИП?

    @rebovetew
    Ну начнем с того, что Skrill в России запрещен - их сайт заблокирован (если ваш провайдер этого еще не делает, то это случайность). Но налоговая об этом может и не знать.

    Во вторых нужна не только оплата, но и договор и акты.

    Договор и акты вам может дать Upwork.
    А оплата придет от Skrill

    Вы это никак не сведете воедино.
    Нужно из Upwork выводить напрямую на банковский счет.
    Ответ написан
    5 комментариев
  • Photoshop, notepad++ и бочка кофе в придачу, что ещё поможет верстать сайты быстрее и с меньшими затратами нервов?

    Rou1997
    @Rou1997
    WebStorm используйте, Notepad++ это явно не для быстрой верстки, кофе не поможет, это когда однажды нужно сделать срочную работу, сдать ее, и пойти пить совсем другой напиток, с обратным эффектом, а долговременно кофе не поднимет производительность, зато привыкание вызовет.
    Ответ написан
    Комментировать
  • Как подписывать разработанные сайты?

    dom1n1k
    @dom1n1k
    Единственный адекватный вариант - пункт в договоре (так делает например САЛ).
    Если фрилансер - можно попробовать устные договоренности (но понятно, что клиент в любой момент может передумать - и это его право).
    А за все ужимки с потайным функционалом надо отбивать руки.
    Ответ написан
    1 комментарий
  • Какой максимально эффективный способ защиты от скачивания изображений с сайта вы знаете?

    Adamos
    @Adamos
    Максимально эффективный способ - это иметь на сайте изображения, которые никто не будет скачивать.
    Например, водяные знаки или надпись с названием сайта на каждом фото позволяют приблизиться к этому идеалу.
    Ответ написан
    8 комментариев
  • Как реализовать быстрый поиск в массиве объектов по значению свойства?

    27cm
    @27cm
    TODO: Написать статус
    Проиндексируйте значения для двоичного поиска. Создайте отдельный массив, в котором храните отсортированные значения city и номер объекта в исходном массиве.
    Ответ написан
    Комментировать
  • Как защитить свою верстку от рипа?

    bingo347
    @bingo347
    Crazy on performance...
    Не работать без предоплаты минимум 50% и не цепляться за таких вот заказчиков
    (в голове мысли "что то тут не чисто)
    абсолютно правильные мысли
    Даже если Вы защитите свою работу от "угона", велик риск что просто проработаете за бесплатно, а Ваш заказчик обломавшись с Вами пойдет искать себе другую жертву, ибо сроки у него не жмут, так как когда сроки жмут заказчики готовы к предоплате не то что 50%, а даже 120% (20% - надбавка за переработки)
    Ответ написан
    12 комментариев
  • Автоматизация Upwork или агрегаторы для Upwork?

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

    slo_nik
    @slo_nik Куратор тега Yii
    Добрый день.
    Читать документацию, смотреть проекты на github, пытаться написать своё решение для какой-либо задачи....
    Вот несколько ссылок, которые Вам помогут:
    1) rmcreative.ru (блог одного из разработчиков yii2)
    2) https://github.com/samdark/yii2-cookbook (рецепты от того же разработчика)
    3) www.elisdn.ru/blog/tag/Yii2 (один из блогов, где можно учиться работать с yii2)
    4) https://github.com/yiisoft/yii2/tree/master/docs/g... (документация на русском от разработчиков yii2)
    Ответ написан
    1 комментарий
  • Почему фрилансеры готовы общаться только в чате?

    sadisme
    @sadisme
    font-size:30rem
    Всё просто. В 99% ситуаций общения голосом, желают типичные "гуманитарии", которые от темы разработки бесконечно далеко. Ты им говоришь "напишите ТЗ", а они в ответ "давайте я лучше вам всё по телефону расскажу". Они думают если не разбираются в вопросе и не могут ТЗ написать, то уж голосом точно всё объяснят как надо. И не дай бог вам согласиться (а просят как правило настойчиво, ибо самим лень разбираться в вопросе и что-то писать), вынесут вам мозг по полной.
    Ответ написан
    6 комментариев
  • "Сильные" книги по Symfony и архитектуре приложений?

    by25
    @by25
    Веб-разработчик
    1. Мэтт Зандстра "PHP: объекты, шаблоны и методики программирования" - Врубиться в ООП
    2. Эрик Фримэн и ко "Паттерны проектирования" (Head First) - Влюбиться в ООП
    3. Эрик Эванс "Предметно-ориентированное проектирование" - научиться проектировать сложные системы
    4. Крэг Ларман "Применение UML 2.0 и шаблонов проектирования" - про проектирование, глубокое понимание ООП
    Ответ написан
    Комментировать