Задать вопрос
  • Куда пойти учиться в it для "корочки"?

    @seamen
    программист любитель
    Совет: закончить начатое. По жизни так правильнее. Опыт работы у тебя уже будет, можно попробовать будет и без специального образования обойтись.
    Ответ написан
    Комментировать
  • Какой UI фреймворк выбрать для Vuejs?

    @hopeful_romantic
    Ответ написан
    Комментировать
  • Выбор фреймворка для нового проекта - Angular? React? Vue?

    Mamboking
    @Mamboking Автор вопроса
    Наверное самый мощный аргумент - GitLab использует vue.js - https://about.gitlab.com/2016/10/20/why-we-chose-vue/
    Ответ написан
    1 комментарий
  • Появятся ли вакансии, требующие знания экосистемы vue.js в 2017?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Появятся ли вакансии, требующие знания экосистемы vue.js в 2017?

    Думаю да. За рубежом Vue сейчас в тренде (учитывая, что относительно стабильная версия 2.0 вышла пол года назад), многие его начинают использовать, а значит скоро и у нас некоторые продвинутые компании начнут пробовать, может кто-нибудь возьмется написать пару толковых статей на хабр в духе "Vue 2 в изучении проще, чем jQuery" (на медиуме уже было что-то такое), а затем (я надеюсь) и остальные, которые просто увидят, что "вон те крутые чуваки это используют".

    на тостере даже тега vue нет...

    А давайте заведем, позадаем друг другу вопросы, быть может и народ заинтересуется :)

    P.S.: Наверху Vue назвали "мутантом", но давайте ради интереса вернемся на 5 лет назад. Тогда любой здравомыслящий разработчик сказал бы, что писать разметку в скриптах - это фу-фу-фу и нужно этого избегать. А потом появился React... и те же самые люди стали говорить, что разметка в скриптах - это круто.
    Ответ написан
    1 комментарий
  • Когда стоит использовать js фреймворки?

    petermzg
    @petermzg
    Самый лучший программист
    Фреймворки надо использовать тогда, когда они упрощают вам жизнь.
    Если появляются сложности с использованием, значит ему тут не место.
    Ответ написан
    Комментировать
  • Почему Node.js отправляет данные без сжатия?

    @iShatokhin
    JS developer
    В данный момент сжатие отключено в настройках, т.к. приводит к утечкам памяти. Можно попытаться включить обратно через:
    { perMessageDeflate: true }

    Про проблему можно почитать здесь:
    https://github.com/websockets/ws/issues/804
    Ответ написан
    Комментировать
  • Когда следует использовать angular?

    ozknemoy
    @ozknemoy
    яваскриптист
    на проектах от среднего. но! есть проблемы с серверным рендерингом. но судя по инфе это решаемо. в остальном нерешимых вопросов не заметил. скорость если уметь готовить можно поднять. тк из коробки там не настроено ничерта почему то. вообще пописав на фреймворке(не на библиотеке), понимаешь что сайт на чистом js или jq это треш, но кому то нравится. хотя судя по stackoverflow люди и на ангуларе треш умеют делать
    видимость элементов это мелочь. роутер всего лишь разруливает навигацию по сайту . без нее банально никак. просто вынесено в отдельные модули чтобы люди выбирали кому какой нравится. но есть и резолвы и дочерние вью и еще разные плюшки
    Ответ написан
    Комментировать
  • Совместим ли БЭМ с фреймворками (Ruby on Rails, AngularJs, NodeJs и т.д.)?

    AdilA
    @AdilA
    Нравится кодить, изучаю go c echo
    МОЖНО ИСПОЛЬЗОВАТЬ В ЛЮБЫХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ И В ЛЮБЫХ ФРЕЙМВОРКАХ
    Ответ написан
    7 комментариев
  • Как поднять на windows 7 ruby, rails, rubygems, git?

    Freika
    @Freika
    Senior Ruby on Rails developer
    Через установку виртуальной машины с Linux
    Ответ написан
    Комментировать
  • Как поднять на windows 7 ruby, rails, rubygems, git?

    b0nn1e
    @b0nn1e
    Alcohol & Ruby on Rails
    Ответ написан
    Комментировать
  • Как реализовать поиск на сайте?

    opium
    @opium
    Просто люблю качественно работать
    ну у вас же прямо втегах указано сфинкс и эластиксерч
    Ответ написан
    Комментировать
  • Глобальные функции в CoffeeScript?

    @c0va23
    Backend-разработчик
    Так происходит из-за области видимости переменной.

    Первый файл на выходе должен выдать что-то типа:
    $(function() {
      return function1(function() {
        return some(code);
      });
    });


    А вам нужно использовать такой код:
    $ ->
        window.function1 = -> some code


    На выходе получится такой код:
    $(function() {
      return window.function1 = function() {
        return some(code);
      };
    });
    Ответ написан
    Комментировать
  • Создание не используемой переменной, зачем?

    @redakoc
    Инициализации (не этот случай),
    Остатки от отладки,
    Проверки типов (заставляем компилятор все проверить за нас).

    В данном случае - третье.

    var _ IRouter = &RouterGroup{}

    Проверяется, что для структуры RouterGroup реализован интерфейс IRouter
    Это часть кода для тестирования.
    Правда это не отдельный активный тест, те, что пишутся в файлах *_test.go
    А заставляем еще на этапе компиляции провести дополнительные проверки.
    Ответ написан
    Комментировать
  • Как хранить пароли в конфигурационных файлах Ruby-приложения?

    Dem1
    @Dem1
    Ruby on Rails developer
    gem dotenv and gem figaro
    Ответ написан
    Комментировать
  • Попросили проверить код, на что смотреть нужно?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Смотря зачем)). Я когда делаю Code Review критерии следующие:

    * Безопасность:
    - Каждый аргумент метода простого типа должен проверяться на тип в случае его проксирования и на граничные значения в случае обработки. Чуть что не так - бросается исключение. Если метод с кучкой аргументов на 80% состоит из поверки из аргументов - это вполне норм))
    - Никаких trigger_error, только исключения.
    - Исключения ДОЛЖНЫ быть человеко-понятны, всякие "Something went wrong" можно отдавать пользователю, но в лог должно попасть исключение со стектрейсом и человеко-понятным описанием, что же там пошло не так.
    - Каждый аргумент (объект) метода должен быть с тайпхинтингом на этот его класс, или интерфейс.
    - За eval как правило шлю на **й.
    - @ допускается только в безвыходных ситуациях, например проверка json_last_error.
    - Перед работой с БД - обязательная проверка данных.
    - Никаких == и !=. Со swtich - единственное исключение, по ситуации.
    - Если метод возвращает не только bool, а еще что-то - жесткая проверка с ===, или !== обязательна.
    - Никаких условий с присваиваниями внутри. while($row = ...) - тоже идет лесом.
    - Магические геттеры/сеттеры разрешаются только в безвыходных ситуациях, в остальном - запрещены.
    - Конкатенации в sql - только в безвыходных ситуациях.
    - Параметры в sql - ТОЛЬКО через плейсхолдеры.
    - Никаких глобальных переменных.
    - Даты в виде строки разрешаются только в шаблонах и в БД, в пхп коде сразу преобразуется в \DateTimeImmutable (в безвыходных ситуациях разрешено \DateTime)
    - Конечно зависит от проекта, но как приавло должно быть всего две точки входа: index.php для web и console(или как-то по другому назваться) - для консоли.

    * Кодстайл PSR-2 + PSR-5 как минимум, + еще куча более жестких требований (для начала все то что в PSR помечено как SHOULD - становится MUST)
    - В PhpStorm ни одна строчка не должна подсвечиваться (исключением является typo ошибки, например словарик не знает какой-то из аббревиатур, принятых в вашем проекте). При этом разрешается использовать /** @noinspection *** */ для безвыходных ситуаций.
    - Если кто-то говорит, что пишет в другом редакторе и у него не подсвечивается, на эти отговорки кладется ВОТ ТАКЕЕЕНЫЙ мужской половой **й и отправляется на доработку)).

    * Организация кода:
    - Никаких глобальных функций.
    - Классы без неймспейса разрешаются только в исключительно безвыходных ситуациях.

    * Тестируемость (в смысле простота тестирования) кода должна быть высокая.
    - Покрытие кода обязательно для всех возможных кейсов использования каждого публичного метода с моками зависимостей.

    * Принципы MVC:
    - Никаких обработок пользовательского ввода в моделях, от слова совсем.
    - Никаких ***ть запросов в БД из шаблонов.
    - Никаких верстки/js/css/sql-ин в контроллерах.
    - В моделях НИКАКОЙ МАГИИ, только приватные свойства + геттеры с сеттерами.
    - В моделях разрешено использовать метод save(при наличии такого разумеется) только в исключительных ситуациях. Во всех остальных - либо insert, либо update.

    * Принципы SOLD:
    - Никаких божественных объектов умеющих во все.
    - Если метод для внутреннего пользования - private, никаких public.
    - Статические методы разрешаются только в случае безвыходности.

    * Принцип DRY разрешено нарушать в случаях:
    - Явного разделения обязанностей
    - В тестах (каждый тест должен быть независимым, на сколько это возможно)

    * Работа с БД:
    - Запрос в цикле должен быть РЕАЛЬНО обоснован.
    - За ORDER BY RAND() - шлю на***й.
    - Поиск не по ключам (конечно если таблица НЕ на 5 строк) запрещен.
    - Поиск без LIMIT (опять же если таблица НЕ на 5 строк) запрещен.
    - SELECT * - запрещен.
    - Денормализация БД должна быть обоснована.
    - MyISAM не используется (так уж)) )
    - Множественные операции обязательно в транзакции, с откатом если чо пошло не так.
    - БД не должна содержать бизнес логики, только данные в целостном виде.
    - Не должно быть нецелесообразного дерганья БД там, где без этого можно обойтись.

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

    * О людях:
    - "Я привык писать так и буду дальше" - не вопрос, ревью пройдешь только когда поменяешь свое мнение.
    - "Я пишу в vim-е и мне так удобно" - здорово, код консолью я тоже в нем пишу)) но есть требования к коду, если в них не сможешь - не пройдешь ревью.
    - "Я скопировал этот страшный метод и поменял 2 строчки" - это конечно замечательно, но по блейму автор всего этого метода ты, так что давай без говняшек, хорошо?
    - "Оно же работает!" - вот эта фраза переводится примерно так: "да, я понимаю, что пишу полную хрень, но не могу писать нормально потому, что руки из жо", я правильно тебя понял?))
    - "У меня все работает!" - рад за тебя, а как на счет продакшна?
    - "Там все просто" - не используй слово "просто", от слова "совсем". Вот тебе кусок кода (первого попавшегося с сложной бизнес логикой), где там ошибка (не важно есть она, или нет)? Ты смотришь его уже 2 минуты, в чем проблема, там же все "просто"))

    * Всякое:
    ActiveRecord (это я вам как в прошлом фанат Yii говорю) - полное говно, примите за исходную. По факту у вас бесконтрольно по проекту гуляют модельки с подключением к БД. Не раз натыкался на то, что в тех же шаблонах вызывают save, или update (за такое надо сжигать).
    То, что используется Laravel - это печально((. Что бы выполнить требования приведенные выше, приходится "воевать" с фреймворком.

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

    UPD

    Формализировал данные критерии по ссылочке: https://github.com/index0h/php-conventions
    Ответ написан
    55 комментариев
  • Как в Ruby из значения переменного можно создать переменную?

    ibub1ik
    @ibub1ik
    Ruby/Rails Dev => Elixir
    Если у вас возникла такая необходимость, то ваш код = говно. Но как ответ на вопрос, вот:
    stackoverflow.com/questions/17842765/how-do-i-dyna...
    Ответ написан
    2 комментария
  • Какие ресурсы есть для прокачки навыка написания SQL выражений?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    Ответ написан
    Комментировать
  • На чем написать высоконагруженный api сервер?

    opium
    @opium
    Просто люблю качественно работать
    Пишите на чем умеете
    Ответ написан
  • Для совсем новичка в программировании php или ruby?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ruby - надо знать английский и переходить на unix-like операционки (linux, bsd, mac os).

    PHP - можно ничего не знать, задачи всеравно будут.

    Профит учить Ruby если все же хватит сил - у Ruby комьюнити есть определенная культура, в частности это самое любящее тестирование и TDD техники комьюнити из всех. В PHP с этим в среднем гораздо хуже... Так что решайте сами.

    С Ruby есть риск надолго стать пленником RoR, с PHP - стать пленником устаревших статей, разных CMS-кой аля джумлы или друпалы, словом... фильтровать информацию от треша сложнее.
    Ответ написан
    3 комментария