• Введение в React, которого нам не хватало
    +5
    Всё хорошо, но как только дело доходит до дебага, пиши пропало… И это не «болячка» React-а, это родовая травма JS. Все носятся с этим React-ом как с писаной торбой. А мне не понравилось… Ни React на фронте, ни React Native в мобилках. Наверное, я — не модный динозавр, но мне важен простой дебаг и качественный деплой. И чтоб команде не приходилось делать вывих мозга с этими Вашими Сагами и Редаксами.
  • Ускользающий талант: Россия теряет лучших ИТ-специалистов
    –8
    Я признаю что я мал и глуп, и не видал, чего там взрослые видали, но я верю, что и в нашей стране можно всё, и ЗП, и задачи, и прорывы. Ждать помощи от государства не стоит (это вообще нонсенс). Нужно работать, чаще задавать вопрос себе «А не херню ли я делаю?», и добиваться от заказчиков ответа на вопрос «Зачем?».
  • R2DBC Arabba-RELEASE — новый взгляд на реактивное программирование для SQL
    0
    Спасибо, будем посмотреть!
  • Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем
    0
    Мне тут приходилось объяснять заказчику почему задача сохранения времени пользователя на сервере и построение отчетности в сервисе, расчитаным на весь мир, может занять много времени. А потом ещё разработчикам объяснять, почему мы будем хранить время в UTC, со сдвигом пользователя от UTC. Все (и заказчик, и разработчики) были в смятении, и смотрели на меня как на сказочника. Покажу им эту статью. Это я еще про летнее/зимнее время забыл, блин… Спасибо, что напомнили.
  • Generics + Spring: Да пребудет с вами сила
    0
    Посмею сделать небольшое замечание, по поводу автовайринга ApplicationContext-а в фабрику. Это, как заверяют евангелисты, признак плохого тона. Не должен отдельный компонент знать про весь контекст. Думаю фабрику можно переписать иначе:

        @SuppressWarnings("unchecked")
        @Component
        public class RequestBuildersFactoryImpl implements RequestBuildersFactory {
        
            @Setter(onMethod = @__(@Autowired))
            private List<RequestBuilder> builders;
        
            public <T extends Transfer> BaseRequest<T> transferToRequest(T transfer) {
        
                ResolvableType type = ResolvableType.forClassWithGenerics(RequestBuilder.class, transfer.getClass());
    
                RequestBuilder<T> builder = builders.stream().filter(b -> type::isInstance).findFirst().get();
        
                return builder.createRequest(transfer, stage);
            }    
        }
    


    В части получения билдера из списка могут быть варианты, но основной посыл надеюсь понятен.
  • Dell и DROVA: как играть в требовательные игры даже на слабом ноутбуке
    +2
    Вижу Mac, Windows, iOS, Android. А что там по Linux-у у Вас?
  • Создание компании. Идеология — first
    0
    По поводу вопроса «Что мы делаем?». Позволю себе не согласиться с Вами. На этот вопрос, как раз таки, есть ответ всегда. Мы пишем код, создаем продукт, удовлетворяем заказчика. Мне кажется, что главный вопрос, все-таки — «Зачем?». Зачем мы это делаем и кому это нужно? Приведенная Вам цель Google, как раз отвечает на вопрос «Зачем?». И только если каждый член команды, сотрудник компании может четко ответить на этот вопрос, только тогда можно говорить, что мы на правильном пути. И это никак не кореллирует со структурой компании или ее методологией управления.
  • Универсальный конвертер данных на платформе .Net Framework
    0
    Правильно ли я понимаю, что если структура документа источника, либо назначения поменяется, то придется править код? Если так, то не такой уж и универсальный конвертер получается… Вот если бы пользователь мог загрузить файл-источник, и затем смаппить его на файл-назначение, то универсальность была бы выше. Не пробовали решать такую задачу?
  • Scrum внедрили, agile — забыли
    +2
    А я Вам скажу, что пошло не так со Scrum-ом.
    Никто толком не разобрался в нем, прочитали buzzword-ы — спринты, покер, ретроспективы, демо, и начали лепить как умеем. Народ в панике, еще вчера все работали по плану индивидуальному, а сегодня пришло руководство и объявило «всеконторский Agile». Оценивать никто не умеет, в сроки не укладываются, спринты факапятся, заказчик злится.
    «Ну чот не поперло», решило руководство, и придумало новую мульку, вернее откатилось к старой. И проходит некоторое время, а воз и ныне там. Оценивать никто не научился. «Долги» после Agile-а остались. После нескольких пожаров, и тушение их баблом, нормальные разработчики, болевшие душою за проект «сгорели» и решили уйти. А они с самого начала пытались донести до власть имущих позицию по разработке.

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

    Вот так и делается Agile. Хотя, кто мешает поискать информацию, поискать людей знающих, почитать рекомендации, продумать план внедрения, и по-тихоньку претворять в жизнь, сначала в отдельно взятой команде, а затем и во всей конторе.

    История является моим сугубо оценочным суждением, все совпадения случайны.
  • Критика 1С
    0
    Ждем IDE от JetBrains для разработки под 1C. Навеяно цветовой схемой объектов.
  • Работа и жизнь в Болгарии
    0
    А расскажите, пожалуйста, как там обстоят дела с интернетом, связью? Сколько стоит и какие характеристики? Просто наслышан, что в Европе, да и в США, очень дорого стоит мобильный интернет, а на домашних тарифах нет безлимитных планов.
    Спасибо.
  • Как workflow разработки влияет на декомпозицию задач
    +1
    Это все может работать нормально только при грамотно организованной инфраструктуре развертывания (оно же DevOps). Если собрать Ваше приложение из отдельно взятой ветки репозитория для Вас проблема, то такой подход к разработке может быть не про Вас.

    Скажите, а bugfix у Вас по такому же flow идет? Т.е. обнаружили баг, сделали ветку, поправили, оттестировали сборку из этой ветки, потом влили в основную ветку, оттестировали там на регрессию и в продакшен?

    Спасибо за статью.
  • JavaScript как праздник
    +3
    Лично у меня только одна претензия к JS — дебажить его то еще удовольствие. И если на клиентской части у тебя есть DevTools браузера, то на сервере такой радости нет. И только по-этому я с опаской посматриваю на JS в качестве back-end инструмента.

    Я не против свободы, но как показывает практика, разработчику лучше ехать по «рельсам». Набрать команду хотя бы из 5 адекватных разработчиков, которые будут делать «все правильно» очень не просто.

    Ну и «миллионы мух не могут ошибаться — что-то в этом есть»…
  • Обзор умных часов ASUS ZenWatch 3
    –1

    Буквально неделю назад обновилось до Android Wear 2.0. До них пользовался Pebble Steel. Все устраивает, работают как часы. Циферблатов на любой вкус полно. Жаль Google Assistant не умеет в великий и могучий. По поводу NFC согласен, было бы не плохо.

  • Let's Encrypt начнёт выдавать wildcard-сертификаты в январе 2018 года
    0
    Мой внутренний параноик немного напрягся… Ну не бывает «Счастья для всех, даром, и пусть никто не уйдет обиженный!»
  • Kotlin для Android: Теперь официально
    0
    Это хорошо.
    И такой еще момент интересует: возможна ли в данный момент, или может планируется поддержка в будущем, обработка компилятором Kotlin compile интсрументирования, происходящего в Java, после компиляции Kotlin? Конкретная проблема это lombok. По возможности классы конвертируются в Kotlin, но не всегда есть такая возможность, и приходится добавлять в Java классы getter-ы и setter-ы, например, руками, если они вызываются в Kotlin файлах.
  • Kotlin для Android: Теперь официально
    0
    А что там с Kotlin/Native под Windows? На крайнем JPoint-е Андрей, вскользь, сказал, что есть пока проблемы, но конкретики не дал.
  • «Пятничный формат»: Демотивация, или любовь [к работе] за деньги не купишь
    +1
    Если Вам не хватает ЗП, обсудите этот вопрос с руководством. У меня было так. Подошел к руководителю, объяснил все как есть без прекрас. Он меня понял, вопрос с бабками был решен на тот момент и я смог дальше работать, не парясь о денежном вопросе. Стартап я открыть не могу, но на хлеб с маслом и немного откладывать хватает.
    А если работодатель откажется, то может стоит задуматься о смене работодателя?
  • Что общего между Uber, Volkswagen и Zenefits? Все они использовали скрытый код, чтобы обойти закон
    0
    I've got the POWER!

    И да, почему камень в огород программистов только? А инженеры, разработавшие подобные дизельные двигатели? Давайте тогда еще рабочих на конвеере упрекнем за то, что устанавливают такие двигатели?

    В общем тамошние СМИ ничем не отличаются от наших, скандалы, интриги, расследования…
  • Идеальный каталог, набросок архитектуры
    +1
    Чуть сложнее, чем стандартная Entity-Attribute-Value модель. Сам подобным «грешил» в проекте, представляющим собой набор произвольных справочников. подтверждаю, что разработка бизнес-логики с таким подходом упрощается, кода совсем немного получается, и он слабо связан. Хочу заметить, что для аналитики этих данных их лучше денормализовать (мы сбрасывали денормализованные данные в MongoDB).
  • А если без JavaScript?
    –1
    Круто, чо.
    Я вот не понимаю споров о том, что все надо делать на JS, или не делать на JS. Делайте как хотите, браузеры Вам это позволяют. Здесь лишь пример того, как то же самое можно сделать по другому.

  • Контроль качества кода в перспективе развития проекта
    0
    Очень важно, на мой взгляд, особенно в начале, тщательно контролировать качество кода на выходе.
    Необходимо избежать механического дробления кода на, удовлетворяющие правилам, куски.


    Поделитесь опытом, как это контролировать в команде из десятка программистов в стадии активной разработки продукта?

    И еще такой вопрос, как убедить команду, что это верный подход?
  • OpenShift + Jenkins + Bitbucket, непрерывная интеграция и публикация из коробки
    +1
    Про разворачивание приложение в публичном облаке OpenShift куча статей, а вот про разворачивание всего этого чуда на своем сервере информации немного. Я пробовал по инструкции от digitalcloud. И оно даже работало, но многое пришлось додумывать, дописывать, догугливать. Может поделитесь своим опытом в этом вопросе?
  • Реализация бизнес-логики в MySQL
    0
    Согласен, вероятность этого не велика. Просто я все чаще слышу от менеджеров вопросы, по типу «а можем наше приложение не на Oracle поставить?». А связан такой вопрос со стоимостью лицензии на СУБД от Oracle. Т.е. приложение, допустим, стоит 500 килорублей в базовой комплектации, но для его работы нужно прикупить лицензию на СУБД еще за 500 килорублей. И на фоне этого привлекательность Вашего приложения по цене уже не такая, как заявлено в рекламе. А проект Ваш с многолетней историей (читай legacy), львиная доля бизнес логики лежит в СУБД. И Вы как разработчик вынуждены сообщить менеджеру, что это не реально сделать даже за год. Соответственно, ни а каком перезапуске проекта речи не идет. Но и Вы, как компания, начинаете терять конкурентные преимущества.

    Было бы интересно узнать, какая серьезная причина может привести к смене СУБД посреди проекта.


    Посреди проекта сменить СУБД может заставить банально очередной Федеральный Закон, запрещающий использовать зарубежное ПО, если есть отечественный аналог в реестре отечественного ПО. А софт Ваш, например документооборот, и бюджетные или государственные учреждения Ваш целевой клиент. А не будь бизнес логики в БД, глядишь и за пару месяцев можно поддержать работу приложения на другой СУБД, отличной от Oracle.

    Из всего этого, у меня нарисовалась другая картинка: Вы разрабатываете приложение, которое может в качестве СУБД использовать Oracle, PostgreSQL и MSSQL Server. Как Jira, например, делает. Тогда Вам уже нужно поддерживать бизнес логику во всех поддерживаемых СУБД? Как с этим быть?
  • Реализация бизнес-логики в MySQL
    +1
    Спасибо за ссылки, изучу.

    Полностью согласен с утверждениями Тома Кайта о том, что восприятие СУБД как сложного черного ящика есть абсолютное зло. Но реальность заключается в том, что именно с такими разработчиками чаще всего приходится иметь дело. И приходится тратить время на то, чтобы научить разработчика мыслить иначе.

    Я ни в коем случае не пытаюсь оградить разработчиков от СУБД, наоборот, я, при любом удобном случае, пытаюсь «окунуть с головой» разработчика в Oracle. И считаю, что хороший разработчик должен быть хорош во всем, и в СУБД, и во фреймворках, используемых на проекте, и в предметной области, в которой работает приложение. По сему, пойду изучать Oracle по приведенным ссылкам, еще раз спасибо.
  • Реализация бизнес-логики в MySQL
    +3
    Бизнес логика в БД это конечно круто, но как быть с программистами, которые приходят в команду и не то что с MySQL, а просто с SQL на «вы»? Зато джавист он добротный, например. Не брать такого парня?
    Плюс, как правило, этой логикой владеет только тот, кто ее реализовал. И, как выше написали, никому не рассказывает что это за логика, и почему именно так написана.
    А как быть с тестированием этой логики? Есть какие-то инструменты для unit-тестирования Ваших процедур и функций? А что если придется менять СУБД? В общем, больше вопросов, чем ответов. По сему, я сомневаюсь, что реализация бизнес логики на уровне хранимых процедур в БД — это хорошая идея.
  • Javascript-фреймворки: должен остаться только один
    0
    Не рассматривали Dojo 2? Ну так, в качестве альтернативы? Просто мы используем Dojo около 2х лет, и проблем с пониманием его верстальщиками, программистами, дизайнерами не наблюдалось. Да он не поворотлив в основе, но для «жирного ынтерпрайза» вполне заходит. В основном из-за своего представления ООП в JS. Оно сразу понятно backend разработчикам. Правда если ты, в принципе, не знаком с JS будь готов выстрелить себе в ногу из-за не понимания того, что никакого ООП в JS нет.
  • Ключевые навыки успешной Agile-команды или как сделать так, чтобы Agile заработал?
    0
    По поводу выяснения потребностей полностью согласен. Ко мне постоянно приходят менеджеры и задают один и тот же вопрос «Сколько стоит это сделать?», на что я задаю встречный вопрос «Зачем это заказчику?». Они уходят спрашивать, выяснять. Таким простым вопросом удалось повысить качество аналитики задач перед тем, как они пойдут в разработку.
  • PHP 7.1: Обзор новых возможностей
    0
    Молодцы ребята, работают. Спасибо и за это!
  • Свободу тестам
    0
    Идея не плоха, но идея без реализации ничего не стоит. Вот если бы Вы привели живой пример такой схемы, можно было бы оценить такой подход. А так… Извините, нет.