Задать вопрос
  • Как сделать уведомление на сайте для всех пользователей?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    liferay(который скоро будет заменен на spring boot) и сам spring mvc

    Я-бы тормознул с изменениями и подождал перехода на spring mvc. Кому надо дважды реализовывать одно и тоже?

    Технологий пуша существует наверное много. Коробочный вариант - это Push API. Но проблема в том что обычные пользователи сильно не любят любую постороннюю активность popup на landing page и всячески банят и закрывают этот функционал.

    Лучше всего не делать ни alert ни Push а просто - тихий мигающий символ конверта где-то в углу. Пользователь если увидит - прочтет.
    Ответ написан
    4 комментария
  • Какой второй второй язык программирования стоит попробовать java разработчику?

    Jacen11
    @Jacen11
    s,
    Вы используете котлин в веб-разработке? Как вам?

    обычно.

    Ты уж определись что тебе нужно.
    оплачиваемость и востребованность
    это джава из всех вариантов.

    Хорошему разрабу много платят на любом из вариантов, но вакансий намного меньше и это скорее всего будет вакансия не только программистского толка.

    Хочешь джаву с сахаром то котлин, хочешь функциональщину то Scala и Clojure
    Ответ написан
    1 комментарий
  • Как самостоятельно оценивать объем работы и стоимость разработки?

    @FernandoErrNando
    обычно есть 2 пути:
    1. Оценка по фикс-прайсу
    2. Или Time&material.

    Первый путь начинается с анализа ТЗ, конечно же. Иногда, у заказчика есть какое-то описание в виде текстового файлика, мокапа, дизайна или ещё чего-нибудь. Если же нет, то тебе придется как-то формализовать его хотелки, перевести в понятный вид и написать тз самому, не для него, а для себя прежде всего. В нем ты описываешь весь функционал, который требуется, поведение пользователей, примерные нагрузки и т.д.
    Чем детальней написано тз - тем лучше.
    Например:
    Плохое ТЗ: В приложении можно авторизоваться через email/соцсети.
    Хорошее ТЗ: В приложении можно авторизоваться через email и соцсети facebook, vk, instagram. Пользователь может проходить авторизацию через любую соцсеть, при этом при авторизации через ещё непривязанную соцсеть мы должны обновлять данные пользователя.

    Дальше ты разбиваешь ТЗ на отдельные части, которые ты можешь оценить.
    Например:
    Авторизация по email: 2-3ч + 3-5 на каждую соцсеть.
    На те вещи, которую ты знаешь и много раз делал закладываешь разброс поменьше, то что не делал - побольше. НА интеграции с третьесторонними сервисами типа соц.сетей, платежных систем, закрытых API, невнятно описанных вещей в ТЗ и т.д. делаешь большой рейндж, т.к. велик риск проблем с доступами, сложностей получения, неактульных документаций и прочим. Если что-то непонятно, лучше спросить у заказчика заранее и описать возможные проблемы, возможно, вы найдете другое решение.

    В конце концов у тебя получится 2 оценки - оптимистичная и пессимистичная. Можно ещё добавить какой-нибудь коэффициент, на который надо умножить, если твои оценки обычно слишком оптимистичны ("да тут работы на 2 дня", а сидишь неделю) или наоборот, излишне пессимистичны ("мне надо месяц, а делаю за неделю").

    Далее ты понимаешь работа займет, к примеру 250-300 чч, умножай её на свою часовую ставку. вот ты и получил примерную стоимость работ. Не забудь прибавить стоимость всех материальных затрат, специфичных для (хостинги, доменное имя, спец. оборудование, доступ к платному АПИ).

    Также не забудь учесть, сколько ты сможешь работать, а то он может подумать, что это 250чч - это 1 месяц работы, а в реальности у тебя основная работа/семья/кошка и ты можешь дать только 100чч/месяц.

    2 путь сложнее:
    Заказчик любит менять концепцию, тз нет и не будет ему важно быстро тестировать свои идеи и что в итоге выйдет он плохо себе представляет - тогда ты просто ему озвучиваешь стоимость часа и сколько времени ты можешь ему уделить. Основные сложности - это то, что можно нагородить говнокода из-за постоянных изменений, и каждая дальнейшая правка будет занимать все больше времени, а рефакторинг в таком случае очень трудно продавить.
    Ответ написан
    Комментировать
  • Как самостоятельно оценивать объем работы и стоимость разработки?

    @vitaly_il1
    DevOps Consulting
    С ценой все просто - берем зарплату, делим на 190 часов, умножаем на 1.4 - получаем цену часа.

    Оценить время - непросто. Надо
    1) описать проект - что заказчик получит на выходе
    2) разбить проект на задачи, под-задачи, и так далее, пока не дойдем до задач, которые мы умеем оценить по времени.
    Если проект не определен, то ес-но, оценить по времени не получится, и остается работать по времени (что я лично и делаю).
    Ответ написан
    7 комментариев
  • Как самостоятельно оценивать объем работы и стоимость разработки?

    RAFAILgaley
    @RAFAILgaley
    ну всё е просто -

    оцениваешь свой час работы, или месячную плату при полной занятости

    и приблизительно оцениваешь время на разработку и тестирование
    с запасом раза в полтора-два

    разработка и дизайн - процесс непредсказуемый и дорогой
    поэтому у нормальных дизайнеров девиз такой:

    дорого долго прекрасно


    ты либо с запасом определяешь сроки, либо в спешке и стрессе работаешь
    стресс и спешка несовместимы с качественным дизайном
    для хорошего дизайна важно работать в хорошем настроении
    Ответ написан
    9 комментариев
  • Какой самый эффективный способ контроля времени и внимания в рабочее время?

    Сам постоянно отвлекаюсь на тостер, так что для меня актуально.

    Раз отвлекаешься, значит другие занятия для тебя интереснее, чем работа.
    Я вот такую методику выработал и пару дней с ней успешно работаю:
    1. Вырубаем вообще всё, что можно. Уведомления и все отвлекающие сайты.
    Телефон убираем подальше и на беззвучный режим.
    2. Рабочее место чистим от всего мусора.
    Кроме мониторов, мыши и клавиатуры на столе ничего быть не должно.
    3. Блокируем все сайты, которые отвлекают.
    4. Заводим распорядок дня. И придерживаемся его. В него нужно внести сон и работу. Добавить приёмы пищи и всё прочее. Пустоту заполняем чем-нибудь типа "посмотреть youtube", "почитать хабр", "поиграть в доту"
    5. Убираем рутину по возможности. Все инструменты должны настроены так, чтобы не пришлось воевать с IDE
    6. Добавляем разнообразие.
    Например мне очень сложно даются всякие задачи на фикс багов.
    Теперь, когда я нахожу причину бага, я разбиваю её на несколько небольших задач и пишу на каждую тест.
    Каждый такой тест становится для меня промежуточной точкой, и благодаря достаточно мелкой разбивке - мозг не начинает "скучать" и постоянно видит, что происходит какое-то продвижение.

    Заставлять себя я не советую, тк со временем вы так начнёте ненавидеть свою работу и перегорите.
    Ответ написан
    1 комментарий
  • Какие должны быть кейсы по юнит-тестированию?

    BorLaze
    @BorLaze
    Java developer
    В принципе, правильно понимаешь.

    Юнит-тесты призваны обеспечить проверки двух типов - проверка результатов и проверка поведения.

    К примеру, тестируем метод сортировки массива строк.

    Первая проверка очевидна:
    sort({"c", "a", "b"}) -> {"a", "b", "c"}

    Со вторым кейсом сложнее:
    sort(null)
    sort({})
    sort({"a"})
    sort({"c", null "b"})
    sort({"c", "", "b"})
    sort({"b", "a", "b"})


    Сложнее, потому что на этом этапе надо сообразить, какой набор входящих данных может оказаться критическим (в зависимости от используемого алгоритма) и обеспечить необходимые проверки того, что тестируемый метод ведет себя корректно.
    Ответ написан
    Комментировать
  • Intel High Definition Audio драйвер под Ubuntu 16.04?

    От драйвера не так много зависит. Скорее всего требуется настройка ALSA и PulseAudio под ваш слух, т.к. настройки по-умолчанию могут быть слишком универсальными, для наименьшего потребления ресурсов системы. Думаю, если аудио-продсистемы "подразогнать", вы получите желаемый результат.
    Немного погуглил и нашёл статью, которая может оказаться полезной linuxoidblog.blogspot.ru/2015/06/pulseaudio.html
    и тут
    www.alib.spb.ru/blog/page/linux-mint-ubuntu-uluchs...
    Ответ написан
    1 комментарий
  • Почему получаю уведомления с заблокированных сайтов без VPN?

    @MrPurrPurr
    Оповещения рассылаются не самим сервисом, а через сторонних провайдеров PUSH-нотификаций, которые могут быть не заблокированы. Гуглите по "push notifications provider".
    Ответ написан
    2 комментария
  • Как обновить выборку в тригере удаления?

    @bkosun
    Никак, это невозможно. Хранимая функция или триггер не может изменить таблицу, которая уже используется (для чтения или записи) оператором, который вызвал функцию или триггер.

    A stored function or trigger cannot modify a table that is already being used (for reading or writing) by the statement that invoked the function or trigger.


    https://dev.mysql.com/doc/refman/8.0/en/stored-pro...

    UPD:
    https://stackoverflow.com/questions/28267599/how-t...
    Ответ написан
    2 комментария
  • Как перенести открытые вкладки в Intellij Idea на новую строку?

    ddimonn8080
    @ddimonn8080
    File | Settings | Editor | General | Editor Tabs for Windows and Linux
    Ответ написан
    Комментировать
  • Зачем нужна желтая точка останова при дебагинге?

    @Vitsliputsli
    Красные это breakpoint с suspend, желтый без. Т.е. красный приостанавливает выполнение, желтый только пишет в лог.
    Подробнее можно почитать, собстевенно на сайте Intellij Idea
    Ответ написан
    1 комментарий
  • Почему не работает команда mysql в терминале mac OS?

    @ISE73
    Попробовать запустить так: /usr/local/mysql/bin/mysql
    Командой set | grep PATH убедиться что в PATH точно прописан путь к mysql.
    Командой ls -la /usr/local/mysql/bin/mysql убедиться что mysql точно есть и права на выполнение его тоже есть.
    Ответ написан
    Комментировать
  • Вопрос с собеседования: Как в сет добавить два одинаковых объекта?

    Stalker_RED
    @Stalker_RED
    Правильный ответ: никак, на то он и сет.
    Если вдруг такое понадобилось, то нужно использовать другую структуру для хранения. Можно даже назвать ее MyMagicSet чтобы взорвать кому-нибудь моск.
    Ответ написан
    1 комментарий
  • Как в колонку SQL-таблицы записать массив?

    @Anvi-Vt
    web developer
    Зачем токой бред? а что будете делать если надо будет фильтровать по номеру поезда?

    Одна сущность -> Одна таблица
    Ответ написан
    Комментировать
  • Какие есть CMS для java-backend разработчика для фриланса?

    @kuftachev
    Почему Вы думаете, что на фрилансе требования меньше, чем на работе?

    На работе у Вас будут коллеги у которые Вам помогут, а если Вы не проходите собеседование, то почему Вы думаете, что что-то полезное сможете сделать для заказчика?

    Можете попробовать освоить PHP, так как входной порог для первой работы на много ниже, чем для Ява. Ну или фронт-энд, но что-то мне подсказывает, что начать на php проще.
    Ответ написан
    Комментировать
  • Практика для изучения Java?

    @frozen_coder
    Java-developer
    Практика подразумевает создание своего приложения, а не решение каких-то задачек в вакууме. Это мб тоже полезно, особенно на собесах, но вам после собеса реальную работу делать, а не задачки решаеть. Так вот придумайте себе задачу приближенную к реальному миру и решайте её, по ходу будете изучать что-то для её решения.

    Вот, например, для web:
    Что можно тянуть в одного на Java?
    Ответ написан
    1 комментарий
  • На чем можно заработать Java Junior EE без коммерческого опыта работы?

    Sanes
    @Sanes
    На фрилансе так же немного работы по Java, особенно для уровня junior.
    Запилите, что-нибудь своё. Знакомый, когда изучал Java, делал биллинг.
    Ответ написан
    9 комментариев
  • Какие технологии использовать при разработке данного android приложения для полного новичка?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Сеть: Retrofit, OkHttp,
    Json: Moshi или Gson
    Бд: Realm или Room
    Ui: fragments, RecyclerView
    Архитектура: MVP

    Если чувствуешь в себе силы, смажь это всё RxJava.
    Ответ написан
    4 комментария
  • Что изучать вместо JAVA?

    fenric
    @fenric
    Попробуйте поработать таксистом, вдруг понравится?
    Ответ написан
    Комментировать