• Как настроить deploy в Gitlab? Какая версия необходима?

    Я бы посоветовал завести себе какой-нибудь сервис для Continous Integration, например Jenkins.
    Он позволит несколько усложнить задачу (кто бы мог подумать, что усложнить - это что-то хорошее!), например:
    * Мониторит git / svn / hg / что угодно на предмет новой версии
    * Забирает новую версию
    * Прогоняет тесты
    * В случае невыполнения тестов отправляет провинившемуся разработчику push / email
    * В случае выполнения тестов выполняет деплой, и/или например отправляет артефакт в репозитарий, или образ докера в репозитарий.

    Для маленького проекта на 5 файлов, конечно, Jenkins это из пушки по воробьям, и тут наверняка лучше будет rsync (если применимо). Но чем больше проект и чем больше тестов и вариантов сборки, тем полезнее может быть Jenkins.

    У нас как только не используется: и собирает докер образы (в случае успешной сборки и тестов - в репозитарий), и собирает java-артефакты (аналогично, собрался - пошёл в maven). Собирает приложения на spring-boot, копирует их на целевой сервер, делает из них сервис и сам его перезапускает.

    Да, многое можно возложить на хуки, но:
    * хуки выполняются на компьютере разработчика (и зачем мне у себя выполнять 300 тестов при каждом коммите, если рядом специально обученный сервер стоит?). К тому же, бывали ситуации, когда что-то собирается на компьютере разработчика только потому, что у него есть какие-то локальные хаки. И потом приходит новый человек (или он меняет компьютер) и два дня только и делает, что настраивает себе всякое :). С отдельным сборщиком такого не бывает.
    * деплой и редеплой может запускать специально обученный PM, а не разработчик. Или вообще кто угодно.
    * Есть всякие красивые графики, что успешных тестов выполняется всё больше и больше, например. В любой момент PM может посмотреть, какие изменения были в каждой конкретной сборке.

    Видел всякие разные конфигурации, даже такую, когда для сборки проекта покупалась виртуалка на amazon, делала сборку и уничтожалась :) Вопрос лишь в извращённости сознания администратора Jenkins. Ну и, конечно, максимально хорошо он интегрирован с Java. JetBrains TeamCity, Atlassian Bamboo - в общем-то тоже.
    Ответ написан
    3 комментария
  • Видео каналы на английском на тему Веб разработки?

    Как мне кажется, гораздо эффективнее такой вопрос задавать на английском языке на англоязычном ресурсе.
    А вообще, я наверное что-то банальное скажу, но coursera и udemy.
    Ответ написан
  • Как мониторить социальные сети по какой-либо теме?

    Нарисовать сову просто. Рисуем овал и дорисовываем остальную сову.
    Здесь - то же самое, забираем посты из социалок, и фильтруем их, всё.
    Поскольку ни одна соц.сеть не даёт выгружать ВООБЩЕ весь свой контент, надо искать через API новые посты и забирать их себе. Искать по гео-метке, по хэштэгу, по ключевикам, по trending, подписываться на новые посты ньюс-мейкеров, самообучаться. Использовать разные серверы, разные приложения, разные аккаунты. Почему? Ну например потому, что тренды в России и в США отличаются, например.

    Также надо понимать, что для хранения постов за день может потребоваться даже не один, а несколько серверов, и поиск по терабайтам информации - дело довольно-таки нетривиальное. Особенно - полнотекстовый поиск.
    Ответ написан
    2 комментария
  • Какой macbook взять для Java разработки?

    А что, если... купить не Macbook?
    Без этой ретиновой упаковки, макбук 15" - это 1440 пикселей. Не-макбук - 1920 пикселей. Если нет внешнего монитора, то 1440 реальных пикселей это мало. А 1920 - уже куда ни шло. Причём на 15" дюймах - куда ни шло, на 17" уже получше (но 17" я не готов с собой возить в поездки).
    В современных макбуках глянцевый экран. Да, это решается матирующей плёнкой, но можно же сразу купить ноутбук с матовым дисплеем.
    В современных макбуках не получится даже нарастить объём памяти, а ява её любит. 8Гб не всегда хватает для комфортной работы, надо 16. Не получится и нарастить объём ССД, а оно тоже пригодится. Особенно если понадобится виртуалка с виндой. Для "обычного" ноутбука память и SSD получится нарастить без проблем. Например, у меня игровой MSI GE60. Пришлось брать игровой, потому что я хотел процессор i7. И да, процессор i7 это хорошо. И да, винт на 750Гб я сразу поменял на 256GB SSD. А через полтора года, когда стало тесно - на 512GB SSD. А ещё через полтора года, когда он отправится на продажу, я выдеру из него эти 512GB SSD и вставлю в новый ноутбук, с ещё более мощным и ещё более энергоэффективным процессором.

    Если же несмотря на голос разума, выбираете именно макбук, то если постоянно путешествуете с ноутом - берите air, не путешествуете - pro. И только 15" про, мелкого экрана просто не хватит, если не пользоваться внешним монитором. По-моему, так :)
    Ответ написан
    Комментировать
  • Зарубежный интернет-магазин где можно купить dslr камеру?

    Насколько мне известно, сейчас цены приблизительно одинаковые. Экономия будет заключаться лишь в том, что вы не заплатите российский НДС, но зато потеряете на пересылке. Можно сэкономить ≈тысячу рублей, но потерять время. Есть смысл покупать на Amazon.com или bhphotovideo.com при условии наличия там скидки на фотоаппарат.
    Ответ написан
    1 комментарий
  • Исследование пиковой нагрузки в java приложении

    Почему «в среднем»? Например, в YourKit можно хоть даже в реальном времени выделить некий временной отрезок и посмотреть, что терзало процессор в течение обозначенного времени. Кроме того, всегда есть возможность начать снапшот в удобное время (когда появились тормоза) и завершить его после завершения тормозов.
    Ответ написан
    Комментировать
  • Сложный выбор ноутбука

    Не стал бы брать Acer, опыт знакомых подсказывает, что есть серьёзный риск обратиться в сервис.
    Себе совсем недавно взял с Amazon.com Samsung Chronos NP700 через Shipito.
    Да, вижу, что ценовые категории разные (и этот ноут сильно дороже в России, что сейчас уже становится редкостью) — но могу сказать, что ноут совершенно великолепен! За ≈40000 рублей не ожидал ничего подобного: Core i7, 6GB RAM, 750Gb HDD, 8 GB SSD ExpressCache, дискретное и встроенное видео, алюминиевый корпус. 1600x900 разрешение. Может, есть резон подкопить? :)
    Ответ написан
    Комментировать