• Как начать заниматься "серьезной" разработкой?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Владею стеком HTML/CSS/JS, Python+django/fastApi, java(для математики всякой)


    Также хоббийно занимаюсь микроэлектроникой(avr/nrf/stm)

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

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

    Я сам так сделал и не жалею. Всякие Photoshop/3DMax/радио-и-связь/игра на трубе/вязание крючком - заказчика не интересуют а вобщем даже и раздражают. Под позицию нужен профессионал а не разно-рабочий.

    UPD:
    Ответ написан
    Комментировать
  • Где найти open-source проекты на java??

    @invzbl3
    Для проверки кода https://codereview.stackexchange.com

    Для опенсорс проектов:
    https://www.codetriage.com
    https://www.broadleafcommerce.com/

    ну и github
    Ответ написан
    Комментировать
  • Как программировать и не работать?

    Adamos
    @Adamos
    C++ по 8 часов в день - это нереально.
    С одной стороны, нереально писать код 8 часов подряд.
    С другой, нереально стать специалистом по С++, если уделять ему всего 8 часов в день.
    Ответ написан
    1 комментарий
  • Как вы делаете code-review?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    У code review должна быть цель. В моей практике обычно проекты небольшие и там нет отдельных тестировщиков. Получается, что code review отвечает на три вопроса:

    1. Соответствует ли функционал ТЗ?
    2. Создает ли код проблемы команде?
    3. Есть ли тут какой-то специфичный для проекта опыт, который лучше задокументировать, пока мы еще в контексте?


    Получается что-то такое:

    • До выполнения задачи: проводится анализ задачи, формулируется ТЗ. Бывает, что нужно подключиться и помочь с требованиями, с контекстом, в котором все делается. Чем более подробный анализ мы делаем и чем лучше мы понимаем контекст на этом этапе, тем больше вероятность, что потом весь процесс выполнения задачи пойдет как по маслу и code review будет чистой формальностью в конце.
    • До ревью: линтеры проверяют код на соответствие стилю, на отсутствие синтаксического бреда.
    • Дальше - проверка на соответствие функционала ТЗ. Это защита от глупых ошибок в продакшене, которые коснутся пользователей.
    • Потом - на сответствие принятым соглашениям по коду, если они есть в проекте. Обычно это архитектурные паттерны и что-то про зависимости, смотрим не создает ли код проблем окружающим, а то разные глупости порой случаются. Особенно это важно в коде, который не сам в себе, а затрагивает много чего вокруг. Иногда возникает конфликт интересов, когда что-то явно устарело, и соглашения дополняются чем-то. Чем лучше был анализ в начале, тем меньше вероятность, что тут будет, что обсуждать.
    • Дальше уточняющие вопросы по странным местам, если они есть. Это больше с целью узнать контекст задачи, почему приняты те или иные решения. Происходит передача специфичных для проекта знаний в сторону команды. Возможно там же будут какие-то рекомендации по поводу практик, на что стоит обратить внимание в следующий раз. Это будет передача опыта от команды.


    А кто там будет, джун или синьер-помидор - не важно. Все люди ошибаются, и всем нужен контекст происходящего для эффективной работы.
    Ответ написан
    Комментировать
  • Как перевести тип даты в нужный мне формат?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    var dateString = "202208";
            var inFormat = new SimpleDateFormat("yyyyMM");
            var date = inFormat.parse(dateString);
            System.out.println(date);  // Mon Aug 01 00:00:00 MSK 2022
    
            var outFormat = new SimpleDateFormat("yyyy MMMM");
            var dateFormatSymbols = new DateFormatSymbols();
            dateFormatSymbols.setMonths(new String[]{"Папа", "у", "Вити", "силен", "в", "джаве.", "Работает", "Август", "папа", "за", "Витю", "весь", "год"});
            outFormat.setDateFormatSymbols(dateFormatSymbols);
            System.out.println(outFormat.format(date)); // 2022 Август
    Ответ написан
    5 комментариев
  • Как снизить нагрузку на API?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Включите логгирование. Выясните - какие запросы чаще всего поступают, какие запросы дольше всего выполняются. Оптимизируйте.
    Следующий этап - создание очереди запросов (возможно потребуется пересмотр имеющейся архитектуры) приложения.
    Ответ написан
    Комментировать
  • Как проверить по Regex заглавный символ?

    iMedved2009
    @iMedved2009
    Не люблю людей
    operation_[A-Z]
    Ответ написан
    Комментировать
  • Кто такие системные программисты?

    @Drno
    Идти туда, куда возьмут, и где Вас устроит
    Если Вы не работали по специальности - Вы не знаете програмирование
    Ответ написан
    Комментировать
  • Можно ли везде использовать arraylist вместо array?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Можно. Разрешаю.
    Ответ написан
    Комментировать
  • Что отвечать на вопрос, зачем\почему обновил резюме?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Как думаете, ваш работодатель задаëтся вопросом, как спросить у сотрудника, почему он обновил резюме, чтобы не испортить отношения? Это ваше право, а подобные вопросы от работодателя - хамство.
    Ответ написан
    3 комментария
  • Как работать с WSDL SOAP в Spring?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Есть хорошая статья по вашему вопросу:
    https://www.baeldung.com/spring-soap-web-service
    Не читали случайно?
    Ответ написан
    Комментировать
  • Котруется ли у it компаний курсы JavaRush?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Скорее наоборот, многие воспринмают курсы, как налог на тупость.
    Ответ написан
    Комментировать
  • Что можно посоветовать вечному джуниор разработчику?

    Griboks
    @Griboks
    Параллельно искал работу ASP .NET разработчиком, но всем нужны middle

    Поздравляю, теперь вы мидл!

    Когда-нибудь, когда у вас снова начнут заканчиваться деньги, вы станете сеньором. Но сначал всё-таки мидлом.
    Ответ написан
    Комментировать
  • Как устроить на первую работу в сферу frontend'a?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Устраивался я 21 год назад, не фронтом и даже не web-разработчиком, так что экспертом приглашать меня не стоило. Но раз уж пригласили, то поделюсь опытом найма. Стажёров и джунов почти никто не нанимает. При этом в ИТ сейчас прёт всё больше народа, количество соискателей уже в сотни раз больше, чем вакансий для начинающих. Отсюда относительно высокие требования к соискателю при достаточно низких зарплатах. Поэтому первое, что нужно - везение. Можно быть сколь угодно крутым, но затеряться в потоке. Второе - нужно хорошо составленное резюме и пет-проект. И последнее по очереди, но не по значению - надо быть лучше остальных ста соискателей. Это не сильно сложно, большинство из них - жертвы курсов и видео-уроков. Имея всё вышеперечисленное, придётся сделать очень много откликов, сходить на очень много собеседований и потом поработать годик за еду. После каждого проваленного собеседования просите обратную связь. Зубрите то, что спрашивали. Подтягивайте то, с чем не справились.
    Ответ написан
    1 комментарий
  • Пытаться изучить несколько технологий === стагнировать по обоим?

    @Drno
    ВЫ получаете деньги? на них кушаете? содержите семью... ЗП устраивает? в чем проблема?? бухните, отдохните, развейтесь.. в конце коцнцов закажите "девочку" если все плохо с этим..
    Нет каши не будет,разные языки. Изучайте как хобби
    Не допустить каши - уметь "переключаться" и "фильтровать информацию". но это нарабатываемый навык
    Ответ написан
    Комментировать
  • Как дозаполнить корректно поля для Entity при конвертации из DTO?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Думаю, что вопрос сформулирован некорректно или возможно, я его недопонял.

    Итак, насколько я вас понял, то вы хотите обновить существующую запись на основе данных, которые прибежали из контроллера в виде DTO.

    Во-первых, в данном случае стоит использовать PutMapping (full updates) или PatchMapping (partial updates)
    Читаем подробно тут:
    https://www.baeldung.com/http-put-patch-difference...

    Во-вторых, после того, как вы получили DTO вам необходимо его замаппить в Entity и обновить в БД. Однако, могут быть поля, которые не были заполнены в DTO и вы не хотите, чтобы они были применены, как null, так?

    Далее конвертирую в entity, но откуда мне взять значения тех полей, которых не было в запросе?

    Вам не нужно дозаполнять поля сконвертированного entity. Вам необходимо:
    1) найти этот entity по идентификатору.
    2) Если не хотите, чтобы null поля были применены к сущности, то при маппинге (см. ниже) сделать null check и если поле DTO null, то не сеттить его к сущности.
    3) сохранить сущность.

    Что касается маппинга:
    1) Вы можете использовать интерфейс Converter<S, T>. И для каждого из полей сделать проверку типа (псевдокод):
    if (fieldValue != null) { entity.setField(fieldValue); }

    2) Если вы используете какую-либо библиотеку для маппинга (modelMapper, MapStruct и др.), то используйте возможности либы. Например, для modelMapper:
    modelMapper.getConfiguration().setPropertyCondition(Conditions.isNotNull());

    https://stackoverflow.com/questions/45451025/how-t...

    Также прокомментирую ваши комментарии из другого ответа:
    вот мне интересно, как решается этот вопрос. Разве это нормально, что на каждый пришедший запрос к сервису приходится ходить к базе данных? И это без учета логики!

    Можно настроить кеширование и тогда, обращения к БД не будет.


    Это базовая ситуация, с которой сталкивается каждый. Допустим у меня entity Person с атрибутом даты рождения, которую я не хочу отображать в PersonDto. Когда пользователь пришлем мне PersonDto по API для, допустим, операции обновления, то как мне при конвертации в entity вернуть эту дату рождения, чтобы я мог сохранить новую сущность?

    Обратите внимание на то, что может быть несколько DTO.
    Например,
    PersonCreationRequest - dto, которое заполняется из фронта при создании юзера
    PersonCreationResponse - dto, которое заполняется из бекенда после создания юзера
    PersonUpdatingRequest - dto, которое заполняется из фронта при обновлении юзера
    PersonUpdatingResponse - dto, которое заполняется из бекенда после обновления юзера
    PersonDto - общее dto, которое заполняется из бекенда для других нужд.
    Могут быть и другие DTO...
    Соответственно, ответ на ваш вопрос - используйте разные DTO.

    Не знаю насколько точно смог ответить на ваш вопрос.
    Ответ написан
    1 комментарий
  • Нужно ли учить Java EE для Spring?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Java EE - это набор стандартов. Причём актуальный. На этих стандартах Spring и построен. Можно не учить, и дело не в том, что будет тяжело, просто профессионалом не станешь. Будешь подобен девочке, знающей про свою машинку только то, что они красненькая и в неё иногда надо бензин заливать.
    Ответ написан
    Комментировать
  • Что делать если сайт поддерживался украинским разработчиком и хостился на украинском хостинге?

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

    @Akela_wolf
    Extreme Programmer
    То есть вам они ничего не гарантируют, но хотят чтобы вы уже уволились? Скорее всего попытаются прогнуть на условия оплаты или (что вероятнее) на условия работы. Потому что вы уже уволились, работа вам нужна уже сейчас, а значит вы будете сговорчивее. Собственно это сразу показывает отношение к персоналу в данной конторе - нагибать и ставить ультиматумы. Поэтому, лично я бы после такого предложения не раздумывая сказал бы "до свидания. Хотя нет, прощайте"

    Нормальные компании не только не просят увольняться, но и, сделав официальный оффер (то есть пообещав заключить договор, а иногда даже уже заключив договор) согласны ждать 2 недели (а иногда и больше) пока сотрудник завершит дела на текущем месте работы и выйдет к ним. А не так: "вы увольняйтесь, а мы вас собеседуем. Может быть возьмем, может быть не возьмем, ничего не обещаем".
    Ответ написан
    2 комментария
  • Выгорание. Как не сойти с ума?

    Alexandroppolus
    @Alexandroppolus
    кодир
    мухоморы - лучшее лекарство! кодинг в режиме берсерка
    Ответ написан
    Комментировать