Задать вопрос
  • Кто обучался в Университете искусственного интеллекта (https://neural-university.ru/)?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    У меня друг там "учился". Без работы сидит до сих пор, потратил время и деньги зря, новых знаний почти не дают, натаскивают на частные задачки.
    А их лицензией можно попку вытереть после душа.
    Ответ написан
    Комментировать
  • Можно ли так использовать спринг?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день
    имеет ли смысл только для работы с бд подключать springframework

    Может быть для работы с БД стоит подключать ORM фреймворки. Например, Hibernate, EclipseLink, MyBatis, ormlite.

    По факту spring это контейнер бинов (реализация IOC & DI). Соответственно, если вы хотите использовать DI в своем приложении, то можете использовать спринг. Ну или другую либу для DI (guice, dagger etc.)

    Например, если вы пишете JavaFX приложение, то есть хорошая либа для ьыстрой интеграции спринга
    https://github.com/rgielen/javafx-weaver/

    А просто для работы с БД используйте связку hibernate + hikaricp
    Ответ написан
    6 комментариев
  • Не обогащаются таблицы при создании Entity?

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

    1) Попробуйте вынести DDL запросы в sql файл. (schema.sql)
    2) Либо наоборот содержимое data.sql инициализируйте при помощи java кода. Например, имплементируйте интерфейс CommandLineRunner
    3) Попробуйте использовать либу FlyWay для миграций

    spring.jpa.hibernate.ddl-auto=create-drop
    Это означает, что все созданные таблицы будут дропнуты и на момент старта в БД нет таблиц, куда ваши инсерты должны быть добавлены.

    Полезная информация - https://www.baeldung.com/spring-boot-data-sql-and-...
    Ответ написан
    2 комментария
  • Сложность изучения Unity/WEB?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    "IT" и "быстрее УСТРОИТСЯ на работу" не могут стоять в одном предложении в принципе. Пока не начал это изучать - еще не понимаешь многих вещей:
    • разработка это не хуяк-хуяк
    • кроме языка есть тонна всего в экосистеме
    • кроме экосистемы надо знать дополнительные инструменты
    • ты не один такой хитрый и первая работа в IT это больше удача
    • на работу принимают подходящих, что в каждом случае - субъективный фактор


    готовься что твое "быстро" будет чем-то вроде "год если повезет" и стартовой зарплаты хватит на "снимать комнату"
    Ответ написан
    1 комментарий
  • Почему страница .html перестаёт видеть style.css?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Spring
    Седой и строгий
    Рано вам ещё в Spring, очень рано. Вы же не отличаете относительные ссылки от абсолютных, а это основы известные любому верстальщику.
    Ответ написан
    1 комментарий
  • Как правильно вставлять картинки в html в Spring?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Добрый день.
    Прежде всего настоятельно рекомендую провести поиск по этому сайту, а также погуглить, так как ответ на ваш вопрос легко ищется поисковиком и в общем-то найдете кучу ответов. Помню, как буквально пару месяцев назад здесь же отвечал на аналогичный вопрос.

    Теперь, что касается вашего вопроса:

    Я так понимаю так же нужно настраивать Thymeleaf?

    Шаблонизатор вам нужен в любом случае. Будь то thymeleaf или freemarker, mustache и др. Можете взять thymeleaf.

    Предположу, что ожидается некое динамическое добавление картинок в шаблон. Т.е. художники загружают свои работы, а далее они отображаются в шаблоне.
    Если так, то разделим вашу задачу на несколько частей:
    1) Реализовать загрузку картинок, хранение данных о картинках в БД (например, путь к картинке)
    https://spring.io/guides/gs/uploading-files/
    https://stackabuse.com/uploading-files-with-spring-boot
    https://www.baeldung.com/spring-file-upload
    2) Реализовать вывод картинки в шаблоне.
    В данном вашем примере у вас выводится изображение в формате svg (placeholder)
    Вам нужно вместо нее добавить img тег
    Примерно так:
    <img th:src="${image}" alt="Картинка"/>
    Конечно же вместо переменной image вам нужно подставить свою переменную.
    Если нужно вывести блок со всеми работами художника, то вам нужно будет вывести цикл с его работами.
    Итерируем по списку работ художника - https://habr.com/ru/post/351132/
    Ответ написан
    7 комментариев
  • Можно ли найти удаленную стажировку / работу в сфере Data Science если ты новичок и не живешь в городе?

    Zoominger
    @Zoominger
    System Integrator
    не студент технической специальности , у меня нет опыта в сфере

    1. Нет.
    2. Нет.
    3. hh.ru.

    У меня есть конкретная цель получить финансовую независимость

    С такими целями вам в IT делать нечего.
    Ответ написан
    Комментировать
  • Почему вылетает ошибка при ленивой инициализации при работе с БД?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Если не ошибаюсь, то вы столкнулись с этой проблемой:
    https://www.baeldung.com/spring-open-session-in-view

    Говоря проще, если у вас включен open-session-in-view, то вам не нужно использовать аннотацию Transactional, но при этом это является антипаттерном

    Because OSIV creates a Session at the beginning of the request, the transactional proxy uses the current available Session instead of creating a brand new one.
    Ответ написан
    Комментировать
  • Должен ли бэкенд разработчик разрабатывать админку?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    sarcasm_on
    Да, в статье 99 Трудового кодекса так и написано
    2)... бэк енд должен самостоятельно сделать админку при разработке бэк енд
    8)... бэк енд разработчик должен сам понять и не утруждая заказчика сделать админку
    sarcasm_off

    Автор, проснись! Что за глупые вопросы? Какой «должен»? Как договоришься, так и будет. Конечно, заказчик хочет навалить на исполнителя побольше за те же деньги.
    Ответ написан
    Комментировать
  • Как понять, что пора повышать зарплату?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Я Junior Full-stack разработчик

    Опыт работы у меня примерно полгода

    уже год преподаю Java на одних курсах для людей, что хотят профессию сменить.

    Это не слезы, просто дождь течет по лицу :) Все абзацы смехотворны, если честно. Сам пишу с 2011 года на JS + бэк на PHP\Python, могу ли я себя назвать фуллстэком - наверное нет. Но ок - >

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

    Как понять что можно просить больше(и заслужил) = опыт коммерческой разработки(всем пофиг сколько пет проектов вы написали до этого) от года + решение бизнес задач без помощи сеньора\мидла + регион.

    Если вы пишите серьезную бизнес логику не обращаясь к мидлу и отработали больше года, то однозначно стоит. Если каждый чих сопровождается комментарием к pull request - нет.

    Для джуна даже московского запрлата в 800-900 долларов = это хорошая зарплата, при условии того что вы обращаетесь за частой помощью к своим товарищам, и пока не можете выполнять серьезные таски сами.
    Ответ написан
    2 комментария
  • Аутентификация Spring Security через метод Post?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Если подразумевается, что будет авторизация через андроид или js-фреймворк, то нужно разработать REST сервис.
    В данном случае POST запросом из клиента отправляем логин и пароль пользователя в бекэнд. Там генерируем jwt и возвращаем его на клиент. Далее другой эндпоинт будет каждый раз проверять jwt на корректность и выдавать нужные данные.
    Вот, неплохой пример реализации jwt auth - https://github.com/hantsy/spring-webmvc-jwt-sample
    Ответ написан
    2 комментария
  • Hibernate, как инициализировать вычисляемое поле в Entity?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Хочу добавить в этот класс поле, которого нет в базе

    Подозреваю, что вам нужно сделать следующее:
    1) создать поле с аннотацией @Transient
    Например,
    @Transient
    private long calc;

    https://stackoverflow.com/questions/2154622/why-do...
    Таким образом это поле не будет хранится в БД.

    ...которое вычисляется на основе других полей.

    2) К этому полю добавить аннотацию @Formula
    https://thorben-janssen.com/hibernate-tips-calcula...

    Прочитайте вот, эту статью - https://vladmihalcea.com/how-to-map-calculated-pro...

    Другой вариант выполнить пункт 1. Но вместо использования аннотации @Formula создать метод с аннотацией @PostConstruct и затем уже инициализировать ваше поле с нужным значением
    Ответ написан
    1 комментарий
  • Как вывести картинку из бд в Spring?

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

    Картинка не должна хранится в БД. Вы конечно можете хранить картинку в БД в blob, но не нужно! Лучше в БД храните например, путь до картинки, а еще лучше путь можно сохранить в properties или yml, а в БД хранить название картинки.

    Далее небольшой совет:
    postAddArticle(@AuthenticationPrincipal User user, Date timeArticle, @RequestParam String title, String author,
                                     @RequestParam String anons, @RequestParam String text,
                                     @RequestParam("file") MultipartFile file, Model model)

    Если у вас более 4-х аргументов, то лучше собрать его в Dto. Это также позволит вам проводить валидацию через javax validation.

    А теперь, ответ на ваш вопрос: чтобы вывести картинку хранимую в БД необходимо массив байт, который вы сохранили в БД конвертировать в base64 и закинуть в тег img.

    <img src="data:image/jpeg;base64,[тут_код_картинки_в_base64]">


    Вот, тут дан похожий ответ: https://stackoverflow.com/questions/26400994/how-t...

    Через контроллер добавляем
    byte[] encodeBase64 = Base64.encode(repository.getImage());
    String base64Encoded = new String(encodeBase64, "UTF-8");
    model.addObject("image", base64Encoded );


    Выводим в шаблонизаторе
    <img src="data:image/jpeg;base64,${image}" />

    Если решите реализовать загрузку файла, как я указал в самом начале своего ответа, то для начала можете прочитать эту статью - https://www.callicoder.com/spring-boot-file-upload...
    Ответ написан
    7 комментариев
  • Стоит ли устраиваться в веб-студию где в основном доработка сайтов на cms?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Однако возникают некоторые сомнения, многому ли я научусь на этом месте и стоит ли вообще туда устраиваться или стоит искать дальше?

    Конечно нет, сразу в Гугл надо устраиваться, не меньше.

    Релевантен ли опыт работы с cms для будущей карьеры в вебе?

    Именно для этого имеет смысл пойти поработать, и уже самому понимать что и как.
    Брюс Виллис вот барменом работал. Релевантен был его опыт?

    Такие детские вопросы именно из-за полного отсутствия опыта. Тебя на работе что в кабальный контракт закинут?
    На работу идут чтобы заработать денег и получить опыт, а не чтобы учиться. Если на работе еще и учишься, то это совсем круто. А то путают многие школу и работу.
    Если предложили нормальные условия - пойди, поработай хотя бы год. Потом будешь решать что делать дальше. Карьера не делается за 21 день.
    Ответ написан
    Комментировать
  • Как безболезненно перейти с Python на Rust?

    Как безболезненно перейти с Python на Rust?

    Учиться, учиться, учиться.
    1) Python медленный

    Питон на удивление быстрый, особенно если использовать PyPy, а сильные тормоза возникают только в особых случаях.
    2) В python нет адекватного управления памятью

    Автоматический GC - это один из самых адекватных способов управления памятью, который только придумывало человечество.
    3) В python мне приходится испльзовать кучу мегабайт библиотек (я чувствую себя тупым и бесполезным при импортировании библеотек)

    А вы импортируйте их с мыслью "я не хочу тратить кучу времени на реализацию этого всего с нуля"
    В расте вам точно также придётся импортировать кучу библиотек, как и в любом другом языке, где есть библиотеки.
    4) Python кажется игрушечным языком

    Зря так думаете. Python очень мощный.
    5) Python не подходит род микроконтроллеры (micropython - просто игрушка)

    Раст+МК для новичков тоже очень страшная вещь - посмотрите на вопросы от товарища eegmak, например, чтобы в этом убедиться.
    Micropython - вполне себе production ready инструмент для тех случаев, когда его хватает, и не нужно ужиматься в очень дешёвые чипы.
    6) Проблемы из-за GIL'а

    С какими именно проблемами вы столкнулись на практике?)
    Скорее всего, их можно решить и менее радикальными методами.

    ИМХО: вы услышали от кого-то что Rust-топ язык, а Python - игрушечный, а настоящие программисты используют ручное управление памятью и сами реализовывают всякие сложные алгоритмы и протоколы.
    Хотя обычно ещё пишут, что настоящие программисты пишут только на C, только в виме, и никогда не ищут ответы на русскоязычных форумах.

    Если я прав - задумайтесь ещё раз, какую именно вашу проблему может решить раст, которую не может решить Python.

    Если я вас не отговорил - берите rustbook (лучше способа не придумали ещё).

    Если хочется перейти на другой язык, не обязательно раст - посмотрите в сторону других языков со сборкой мусора - например C#, Go, или D. Их все можно использовать в том числе и на МК, с разной степенью извращений.
    Ответ написан
  • Как связать html-файлы в Spring?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Добрый день!
    Судя по коду вы используете thymeleaf.
    Но я так и не увидел вашего вопроса. Вы создали фрагмент header.html при помощи th:fragment, а затем вставили этот фрагмент при помощи th:insert. А в чем заключается проблема? Что-то не работает или ...?

    И в зависимости от версии thymeleaf th:insert="header :: header" это может не работать или просто выдавать предупреждение. Используйте th:insert="~{header :: header}"

    Есть кстати, доп. либа, которая позволяет более гибко настраивать шаблоны - Thymeleaf Layout Dialect
    https://github.com/ultraq/thymeleaf-layout-dialect

    Полезная информация - https://habr.com/ru/post/351844/
    Ответ написан
    Комментировать
  • Какую специализацию выбрать при знании "по верхам"?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    блоггер
    курьер
    тиктокер
    коучер
    Ответ написан
    3 комментария
  • Переменная rèturn и прочие зарезервированные слова, норм?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Думаю, что в любой нормальной команде за это могут избить.
    Ответ написан
    3 комментария
  • Берут ли на стажировки перваков?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Интересно узнать, возможно ли будет стажироваться с первого курса?

    Зачем?

    Рассмотрим вас со стороны бизнеса - вам 18 лет, за вами нужно следить, денег вы не приносите, а скорее всего еще и обходитесь компании в копейку.

    Почему берут на стажировку 4-5 курс = потому что они потенциальные наемные сотрудники. И проходя бесплатную(или нет) стажировку, компания уже берет в штат "знакомого" человека, который на выходе даст неплохой профит за меньшие деньги на старте.

    PS: Альтернативный вариант. Вы гениальны и уровень вашего мышления превосходит ваших конкурентов. В данном случае компания дает вам намек что готовы взять вас сперва на стажировку, а потом на работу, а учеба переходит в этап - заочно.

    Этот вариант был бы самым идеальным для вас, так как студент заочник, дает фору студенту очнику в 4-5 годах корпоративной разработки, что на Российском рынке означает что возьмут 99% вас, а не очника.
    Ответ написан
    Комментировать