• Spring boot, в каких случаях стоит ли использовать для прототипирования веб-приложения?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Стоит ли использовать Spring boot для прототипирования веб-приложения?

    Стоит и не только для этого. Обратите внимание на Spring Data -- ускорит и упростит работу "общения" с datastore.

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

    Да. Причем, в достаточно серьезных проектах. Для реализации микросервисной архитектуры.

    Какие есть минусы у такого подхода.

    Минус в том, что многое (речь про конфигурацию) делается автоматически (это плюс) и магически(и в то же время, минус). Те, если нужна кастомизация, подход начинает терять смысл. С другой стороны, в большинстве типичных случаях, она и не требуется.

    Возможно ли в дальнейшем изъять из приложения Spring boot, оставив просто Spring или даже перейти на другой java-фреймворк?

    Возможно. Многое зависит от архитектурного стиля. Старайтесь вообще минимизировать зависимость от фреймворка. Почитайте о DDD.

    Есть ли еще какие-то адекватные способы создания прототипа для веб-приложения на java с возможностью потом нарастить функциональность в прототипе

    Есть. Уже названный Play, Ninja...
    Ответ написан
    Комментировать
  • Какую БД выбрать для веб-приложения домашнего использования (Java)?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Можно и H2 (https://ru.wikipedia.org/wiki/H2 описание фич) попробовать
    1 +
    2 +
    3 +
    4 +

    Она крайне быстра (in-memory mode), хорошо подойдет для прототипирования, легко запустить, миграции могут автоматически накатится (те гибкость при смене схемы данных).

    Правда, если проект перестанет быть "домашним" уже не подойдет, но это уже совсем другая история.
    Ответ написан
    Комментировать
  • Как правильно построить URL в идеологии REST?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Первый вариант мне нравится больше.
    Но в нем есть скользкий момент:
    /providers/provider_id/price?size=123
    Получается, что это частный случай /providers/provider_id, а нового ресурса "prices" как такого нет, это просто атрибут провайдера, поэтому предлагаю использовать /providers/provider_id с фильтрами как по полям, так и по значениям
    пример: /providers/provider_id?fields=id,prices&data=123

    Вообще советую почитать
    Oreilly.REST.API.Design.Rulebook
    Ответ написан
    1 комментарий
  • Какой web framework для java выбрать?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Вообще хороший вопрос вы задали.

    Задача №1.
    Можно ли Java? А почему бы и нет? Я бы для такого просто приложения использовал Play ибо он:
    - прост в обучении и вообще действительно все делается "играючи"
    - приятный, простой шаблонизатор, можно иметь базовые шаблоны, которые расширяются другими
    - hot-reload в dev режиме сэкономит время на отладку
    - под капотом netty, поэтому работает быстро
    - интегрирован hibernate
    - более менее можно протестировать все (не самая сильная сторона)
    - есть встроенная in-memory база (h2) данных и фикстуры для тестирования

    Стоит заметить это все о Play 1*, на мой взгляд, субъективно второй сложнее.

    Задача №2
    Опять же, можно использовать Play или Spring (стоит попробовать сразу 4, все через аннотации можно сделать, также можно в методе контроллера сразу возвращать объект -- он будет непрозрачно сериализован (настраивается как))

    Насчет Spring, это достаточно громосткая технология, зачастую требует намного больше времени, чтобы решить туже задачу (например в Play), больше читать, больше вникать. Но это окупится большей гибкостью.

    Задача №3 Если честно, не совсем понял что здесь нужно.
    Ответ написан
  • Изучение Java: мотивация, перспективы, краткий план?

    Adam_Ether
    @Adam_Ether
    Java Developer
    - Какие технологии/фреймворки/ аспекты языка помимо Java Core следует изучать с точки зрения большой востребованности фриланса/рынка труда full time? И к изучению каких стоит приступать в первую очередь ?

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

    - Насколько в Jave нужен скилл security programming, и как можно совместить вообще оконченную мною программу Information Security с программированием на джаве? Нужны ли рынку такие специалисты?

    Любые знания в Computer Science полезны будут. Хотя бы даже для собеседований.

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

    Вот тут могу только догадываться, но похоже, что там (флилансе) java не так популярна, как на работе on-site. Хотя думаю и там можно чего-то добиться, но развитие будет сложнее и дольше (чем работа в команде).

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

    Adam_Ether
    @Adam_Ether
    Java Developer
    Мне, кажется что вам нужно смотреть в сторону Riak (класс dynamodb и подобные).
    Но, как правильно уже заметили выше, их преимущество можно почувствовать только при использовании в кластере, а использовать один instance -- это как стрелять из пушки по воробьям.
    see more
    Вот неплохой ответ как это можно все мигрировать, например на AWS DynamoDB
    www.masonzhang.com/2013/07/lean7-migrate-from-mong...
    news.dice.com/2013/02/21/why-my-team-went-with-dyn...
    blog.cloudthat.in/5-reasons-why-dynamodb-is-better...
    Ответ написан
    Комментировать
  • Где хранить код?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Ну все правильно тут написали: если нужно сниппет расшарить так это pastebin (или минималистичный Codeo), если это проект и открытый, то здесь популярнее GitHub ничего нет. Нужен приватный репозиторий, тогда BitBucket или как вариант в своей инфраструктуре поднять Gitlab.
    Ответ написан
    Комментировать
  • Как тестировать сложные распределенные системы?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Цель интеграционного тестирования заключается в том, чтобы взаимодействие определенных подсистем не нарушало установленного контракта.
    Вы можете использовать мокирование — имитировать эталонные ответы какого-либо сервиса. Например Mockito
    А вообще хорошо бы иметь функциональные тесты — покрывающие бизнес-требования и прогонять их на QA окружении, максимально похожим на production.
    Ответ написан
  • Windows phone marketplace api — откуда брать данные?

    Adam_Ether
    @Adam_Ether Автор вопроса
    Java Developer
    Ответ нашел сам zunedata
    Ответ написан
    Комментировать
  • Куда мигрировать с Google Tasks?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Asana
    Ответ написан
    Комментировать
  • Windows phone marketplace api — откуда брать данные?

    Adam_Ether
    @Adam_Ether Автор вопроса
    Java Developer
    Ok. Список таких программ можете представить?
    Ответ написан
    Комментировать
  • Не подходит ключ к Win2008 от Dreamspark

    Adam_Ether
    @Adam_Ether
    Java Developer
    Скачайте именно с сайта DreamSpark то, вам нужно и проверьте контрольные суммы (SHA1) вот такой утилитой. В этом случае проблем быть не должно.
    Ответ написан
    2 комментария
  • Работа на (почти) две ставки

    Adam_Ether
    @Adam_Ether
    Java Developer
    Я учусь очно(хожу на пары) 4-5 ч. Работа в офисе 4 часа. Фриланс дома 3-4 часа
    Выходит в среднем 12 ч. в сутки или более.
    Немного тяжело. Но это мой выбор и вполне осознанный.
    Пока что есть возможность так работать, ибо в жизни кроме этого ничего нет.
    Но может пройти время и это уже будет недопустимо.

    В вашем случае осознайте зачем вам это и потяните ли.
    Если да, по почему бы и нет.
    Ответ написан
    1 комментарий
  • Отдам некоторое количество книг по C/C++

    Adam_Ether
    @Adam_Ether
    Java Developer
    А где раздаете не написали. Или по всей стране? )
    Ответ написан
    Комментировать
  • Хорошие, впечатляющие книги о приемах программирования

    Adam_Ether
    @Adam_Ether
    Java Developer
    Мой вариант, не совсем удовлетворяет вашим требованиям. Однако, затравлю сюда
    Есть книга Брюс Эккель «Философия С++» (том 1), так вот в ней есть 2 приложения:
    а) Стиль программирования
    б) Рекомендации по программированию
    Там, конечно есть привязки в С++ (ну и С). Но в целом это действительно безотносительные утверждения и советы
    На меня они очень сильно повлияли
    Ответ написан
    1 комментарий
  • Если бы вы вернули время назад, то какой методикой начинали..

    Adam_Ether
    @Adam_Ether
    Java Developer
    Я, конечно, не сеньор чтобы тут многолетним опытом делится.
    Начинать все равно стоит с толкоковой книги, которая легко читается (и это точно не Страуструп «Язык программирования C++», эту книгу стоит читать «продолжающим»). У меня это была «Философия С++» Брюс Эккель. Прочитав эту книгу я мог хотя бы понять, что творится приличных в кодах сеньеров. Очень важно смотреть хороший и понимать его.
    Но прочитав, хоть сотню книг и понимая теорию, вы все равно не напишите красивый и полностью правильный код.
    Как здесь уже сказали нужна сложная задача. Пускай для начала хотя одна. Решите ее как-нибудь, главное чтобы просто работала. Может получится откровенный быдлокод. Ну и пусть. Зато это первый ваш опыт и само приложение делает, то что должно. Со временем вы будете улучшать ее, возможно поймете, что у него вообще неправильная архитектура и перепишите.
    Задавайте вопросы. Порой хороший вопрос порождает хорошие ответы, более живые, нежели сухие страницы стандарта (который кстати тоже должен быть под подушкой и читаться/повторяться перед сном ;)
    Все развитие сводится к тому, что вы решаете реальные задачи и на них же учитесь. И с каждым годом, ваш код все больше будет походить на сеньорский.
    Ответ написан
    Комментировать
  • С++. Зависимость возвращаемого функцией типа от значения ее параметра?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Может и можно, но делать так не надо.
    Подумайте как в Вашем случае может быть использована перезагрузка функции или использование параметров по умолчанию. И, возможно, вопрос отпадет сам собой.
    Ответ написан
    Комментировать
  • Книги для С++ embedded

    Adam_Ether
    @Adam_Ether Автор вопроса
    Java Developer
    Имеется в виду диалект языка С++
    Ответ написан
    Комментировать
  • Создание сайта

    Adam_Ether
    @Adam_Ether
    Java Developer
    >> сколько будет хотя бы очень примерно стоить разработка сайта?
    это зависит от требований к нему, а вот так без всякой конкретики «сайт» может стоит неопределенное количество денег.
    >> Я даже не знаю как вообще описать что мне от сайта нужно
    +
    >> И где можно посмотреть материалы на тему как же правильно составить ТЗ?
    Про тз хорошо написано здесь тыц, но возможно вам будет его тяжело составить не имея опыта (хотя попробовать можно). Просто напишите обычном текстом, что пользователи будут делать на вашем сайте (с чем они будут взаимодействовать), а потом выберете из текста подлежащее и сказуемое. Это функционал.
    Хотя бы этого может быть достаточно для начала работы. Для того, кто составит полноценное тз.
    Потом реализовать его может один или несколько разработчиков (их не так уж сложно найти на сайтах фриланса)
    Но исходной и конечной точкой проекта является ТЗ, а оно составляется на основе ваших требований.
    Ответ написан
    Комментировать