• В чем преимущество node.js над стандартными веб-технологиями?

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

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

    sptm
    @sptm
    software developer / DevOps engineer
    Совсем без языка - ну никак, разве что в команде, в которой вы не будете никак контактировать с заказчиком напрямую.
    Но могу сказать, что для начала хватит и очень базового знания языка и Google Translate.
    Ответ написан
  • Как правильно организовать структуру постоянно изменяющегося проекта?

    @murlogen
    Разделить на мелкие независимые части (типа микросервисов). Изолировано-самодостаточные.

    ПС:
    Навык декомпозиции - это самый важный навык для программиста, разрабатывающего сложные системы.
    Ответ написан
    Комментировать
  • Как создаётся такой эффект стекания мёда (см. внутри)?

    @Quiensabe
    VR-разработчик
    Так как вопрос в разделе AFTER EFFECTS - то полагаю задача как получить саму анимацию, а не как встроить ее на web-страницу? Если да - то далее.

    Сам красивый вид меда - проще всего получить используя фильтр CC glass и Gradient Ramp. Хотя похожего можно добиться даже настройками стиля слоя или другими эффектами.

    Остается анимировать контур. AE поддерживает криволинейные маски, так что можно это сделать вручную. Но я бы делал проще.

    Берем итоговый контур - то как мед должен выглядеть в последнем кадре. Мед - белый, фон - черный. Размываем слой с большим радиусом, чтобы получилось почти ровное пятно. И накладываем level сдвинув бегунки так чтобы получить фактически битовую маску (без полутонов).

    На данном этапе - получим немного кривой белый круг. Теперь анимируем радиус размытия до 0 - и получим плавную анимацию растекания круга в нашу изначальную форму меда...

    Данный трюк можно применять в множестве ситуаций, при анимации измороси, растекания чернил, проявления надписей, дыма и т.п...

    Обязательно переключите в свойствах проекта качество просчета на 16 бит. Иначе анимация будет дискретной.

    оффтоп. меняю знания AE на знания англ. яз. :)
    Ответ написан
    2 комментария
  • Как научиться быстро читать?

    ozknemoy
    @ozknemoy
    яваскриптист
    быстрочтение помогает ТОЛЬКО для чтения бульварных газетенок, красочных журналов и худлита. серьезные материалы, для обучения, вникания и тд порой даже на обычной скорости не почитать
    Ответ написан
    13 комментариев
  • Как научиться быстро читать?

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

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Можно :)
    - Установить (а если есть, просто запустить) систему виртуализации - говорят есть и не одна.
    - Скачать дистриб линуха (предвидя вопрос - какой, сразу отвечаю - новичкам рекомендуют бубунту или минт)
    - Создать виртуальную машину, подключить дистриб, установить линух
    - ПРОФИТ!
    Ответ написан
    Комментировать
  • Как поставить Linux на Вирт. машину на маке?

    0xcffaedfe
    @0xcffaedfe
    Developer & Reverser
    обучиться серверному администрированию на Linux

    Лучше начать с обучающего видео на тему "как пользоваться гуглом".
    Ответ написан
    2 комментария
  • Как получить переменные BASH их TXT файла?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Записываете переменные в файл, как в обычном sh-скрипте - VAR1=foo, VAR2=bar и т. д, а в начале вашего скрипта говорите "source /path/to/varsfile", и все переменные оттуда подтягиваются.
    Ответ написан
    2 комментария
  • API для сайта и приложения, как сделать?

    alsopub
    @alsopub
    Во-первых, можно использовать https, в дополнение можно ssl pinning
    Во-вторых, а что страшного в том что узнают адрес, где можно проверить ключ?
    Если ключ вида 1234-5678-9012-3456-7890 то перебрать все варианты не получится, плюс можно ограничить частоту проверки и/или общее число проверок с одного IP.
    Или же вы беспокоитесь о другом - о подмене вашего сервера (через hosts) и активации программы любым ключом?
    Ответ написан
    1 комментарий
  • Как поставить Linux на Вирт. машину на маке?

    alsopub
    @alsopub
    https://www.virtualbox.org/ вам поможет.
    Ответ написан
    Комментировать
  • API для сайта и приложения, как сделать?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    Я бы не усложнял и сделал бы дополнительную проверку контрольной суммы в передаваемом хеше ключа.

    - Не предавал бы ключ в открытом виде а шифровал бы его во что-то типа
    key = md5(ключ + соль)

    - Дальше бы генерил доп строку, на основе данных доступных обоим сторонам запроса, например:
    check = md5(внешний ip)

    - Дальше бы по спец алгоритму о котором знаю только я и оба софта, смешивал бы значение key и check. Например, первые 5 символов в check добавлял бы через букву в key. Для особой паранойи можно способ шифрования сделать от версии ПО или вообще предварительным запросом к серверу

    - На серваке опять восстанавливал бы key и часть check, и сравнивал бы с сгенерированным check на сервере.

    - Если check совпал, тогда бы сверял key со своей базой

    Даже в случае перехвата, алгоритм подобрать будет сложно. А брутфорс на серваке можно отслеживать. Разумеется от дизассемблирования, это не спасет.. но тот кто может позволить себе понять алгоритм шифрования по исходникам ассемблера (т.е. разобраться как генерится check и что используется за соль), вряд ли не сможет просто вырубить запрос к серверу или ограничения...

    -
    Ответ написан
    3 комментария
  • API для сайта и приложения, как сделать?

    @murlogen
    Во первых, https, а вовсе не http
    Во вторых если ты хочешь чтобы тебе помогли - сформулируй яснее что именно тебя смущает.
    Как злодеи отследят запрос?
    Ответ написан
    Комментировать
  • В чём разница между фреймворк и cms?

    @murlogen
    CMS - готовая система, которой воспользоваться может не программист.
    Ее можно программировать, но обычно предпочитают не заморачиваться с этим, а искать уже готовые (созданные программистами) модуля CMS под ту или иную задачу

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

    CMS позволяют сэкономить время и деньги если речь идет о типовой задаче. Однако на все случаи жизни готовых решений наперед не напридумываешь (в любой сфере человеческой жизни).

    На фреймворк начинают смотреть, если задача отличается от типовой.

    MVC - это просто свойство. Которое может быть присуще любому типу ПО из этих двух. Это как зеленая легковушка и зеленый трактор. То что они оба зеленых не дает же вам основания говорить - "они оба зеленых, поэтому я буду пахать на легковушке"
    Ответ написан
    24 комментария
  • Как ускорить веб-разработку на Windows (Gulp, PHP, Ruby) в NTFS?

    sim3x
    @sim3x
    vagrant
    работать в виртуалке с линуксом
    работать сразу в линуксе
    работать сразу на макоси
    Ответ написан
    9 комментариев
  • Если страх, что не справишься с работой, как быть?

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

    sim3x
    @sim3x
    Глаза боятся, а руки делают

    Если в процессе работы ты не знаешь как что-то сделать, то ты спрашиваешь, а потом делаешь

    Если страх не можешь перебороть сам - иди к спецу
    Ответ написан
    Комментировать
  • Если страх, что не справишься с работой, как быть?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Программирование на самом деле не особо нравится

    У меня вопрос. Нахрена тогда?
    Ответ написан
    Комментировать
  • Как перенять объектно-ориентированное мышление?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Т.е. сложно понимаю, что "засунуть" в один объект, что в другой, что должно быть статическим методом, что приватным и тд.


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

    То есть по сути наше приложение - один объект. У него внутри вообще все. У этого объекта есть один метод - обработай запрос. Когда внешний мир его вызывает, меняются значения каких-то переменных, вызываются какие-то внутренние "приватные" для внешнего мира функции, и делается работа.

    Теперь задумаемся о декомпозиции всего этого хаоса. Мы находим какую-то задачу, которую выполняет наш код (например какую функцию вызвать для обработки каждого конкретного запроса) и выносим это в отдельный объект. Отправка email-ов - отдельный объект. Весь SQL зашиваем в отдельный объект. Соединение с базой - объект. Пользователи - объекты. Все - объекты.

    И главное, у каждого объекта есть своя область ответственности. UNIX way. Каждый объект делает что-то одно и делает это хорошо. Бывает так что ну... нужно сделать так что бы один объект делал две вещи. НЕ вопрос, мы можем его попросить сделать что-то сложное, а он будет как хороший менеджер тупо делегировать работу другим объектом. То есть он и сложную штуку сделает, и сам не будет знать как она делается.

    А все безхозные функции, которые не пренадлежат никаким объектам (например функции порождающие объекты) можно вынести в статические методы. Главное что бы статичесих переменных у нас небыло (ибо это те же глобальные переменные). И поменьше публичного ибо черт его знает что эти разработчики будут использовать. Причем "те разработчики" это вы завтра.

    Вообщем писав всё время на процедурке, сложно перейти на ооп.


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

    Вы можете начать погружаться в ООП с того, что разобраться "почему глобальные переменные это плохо", почему "состояние порождает сложность" и что такое эта "сложность" (многие почему-то думают что сложность выражается в написании кода а не в его чтении или поддержке), почему "изоляция" (и как следствие инкапсуляция) - это хорошо. Как это все соотносится с декомпозицией. Что такое "ответственность", что такое зависимости, связанности

    Подскажите, какой проект начать писать (гостевая, блог), или может начать изучать фреймворк.


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

    Есть хорошие упражнения на развитие понимания объектно-ориентированного проектирования. Например вот: https://habrahabr.ru/post/206802/

    Сразу хочу отметить что это крайности. Упражнения же. Они должны ограничивать вас что бы заставлять думать и задавать правильные вопросы.

    Или может подскажите книгу/сайт где пошагово в ооп написан какой-то проект, чтобы быстрее пришло понимание.


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