Нажмите "Enter" для перехода к содержанию

IT insights and commons things

Паша + Слава. Эп. 24.

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 24.
Loading
/

У этого выпуска нет названия потому что успели поговорить о

Паша + Слава. Эп. 23. Hardcore

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 23. Hardcore
Loading
/

А ещё рассуждения про менеджмент, ветвдение и о чём ещё приходится думать когда ты тимлид 🙂

Паша + Слава. Эп. 22. Services everywhere

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 22. Services everywhere
Loading
/

Паша + Слава. Эп. 21. DevOps-based

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 21. DevOps-based
Loading
/

Паша + Слава. Эп. 20. Новогодний

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 20. Новогодний
Loading
/
  1. Паттерны и перфоманс
  2. Реактивщина (и r2dbc)
  3. 0pdd и pdd: скажи нет (или не говори)
  4. Комментарии в vim
  5. git-secret и как я дошёл до жизни такой
  6. торрент-клиенты под Linux
  7. docker watchtower
  8. GPG
  9. GTD

Паша + Слава. Эп. 19. С новостями

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 19. С новостями
Loading
/
  • Кто-то поменял работу
  • Ощущения от поездки на конференцию
    • Помогает ли ПК
    • О чём ещё можно рассказать на конференции
    • Что делают спикеры с спикерруме
    • И другие подробности 😉
  • Тесты в спрингбуте
  • Spring-fu

Паша + Слава. Эп. 18. Функциональщина, маки и грааль

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 18. Функциональщина, маки и грааль
Loading
/

Из-за технических проблем у меня иногда голос звучит по другому, но это ничего, всё смыслообразующее на месте.

Тем на этот раз немного, зато достаточно подробно и с эмоциями. Но и на следующий раз осталось о чём поговорить 🙂

Паша + Слава. Эп. 17.

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 17.
Loading
/
  • 0pdd
  • task warrior
  • LFS and rude guys in IRC
  • xargs
  • fselect (https://github.com/jhspetersson/fselect)
  • mongodb & transactions (https://www.mongodb.com/transactions)
  • java releases (https://medium.com/codefx-weekly/no-free-java-lts-version-b850192745fb)
  • Holywar about Golang
  • JOOQ N+1 (https://twitter.com/JavaOOQ/status/956481265980641281)

Паша + Слава. Эп. 16. Про новое

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 16. Про новое
Loading
/

В этот раз попробоавли писать по новому и результат на удивление ещё хуже чем был раньше. Извините меня за эти клики и эхи. Я чистил запись как мог, но силы мои ограничены…

  1. 0pdd (https://github.com/yegor256/0pdd)
  2. rultor (https://github.com/yegor256/rultor)
  3. Golang vs Java
  4. Jooby (http://jooby.org/)
  5. Мой петпроджект на нём (https://github.com/asm0dey/school-crm)
  6. pac4j (https://github.com/pac4j/pac4j)
  7. jooby-whoops (https://github.com/jooby-project/jooby/tree/master/modules/jooby-whoops) и spring-shoops (https://github.com/JStumpp/spring-whoops)
  8. OWASP Dependency Check (https://github.com/jeremylong/DependencyCheck)
  9. Capsule (http://www.capsule.io/)

Паша + Слава. Эп. 15. С техническими проблемами

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 15. С техническими проблемами
Loading
/

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

  1. Content Security Policy
  2. How to find contributors for Java project
  3. Интересное про git commit
  4. Новое в Java 9 стримах
  5. Изменение релизного цикла Java
  6. И тесты, противостоящие обновлениям
  7. maven — dead or not?
  8. Data generators
  9. CQRS

Паша + Слава. Эп. 14.

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 14.
Loading
/
  1. java 9 & spring boot 2
  2. mysql issues:
    1. indicies in mysql
    2. utf8 in mysql
  3. cokroachdb
  4. memory allocations: C/C++ vs Java
  5. https://github.com/nielsbaloe/vertxui
  6. bootstrap 4
  7. taskwarrior
  8. JOOQ

Паша + Слава. Эп. 13. О болях

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 13. О болях
Loading
/
  1. Spring Flow Statemachine — хвастаюсь, пиарюсь и рассказываю
  2. Как обойти прокси (или как не обходить)
  3. Keel и ImageStream’ы
  4. Kubernetes v1.7 security in practice
  5. Kubespray и как правильно, руками или инструментами?
  6. Cucumber / BDD и частые ошибки
  7. Travis problems

Night studies: LATERAL

Preamble

Let’s imagine the following situation: you have several users registered in your system and you want to gather information about them from some API (i.e. Facebook)

Паша + Слава. Эп. 12. Лингвистический.

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 12. Лингвистический.
Loading
/

Паша + Слава. Эп. 11. Глубоко копаем…

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 11. Глубоко копаем…
Loading
/

https://github.com/php-coder/ps-podcast

Паша + Слава. Эп. 10. Весна и не только.

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 10. Весна и не только.
Loading
/
  • spring: tests
  • spring5
  • spring & transactions
  • spring & file upload
  • slit utility
  • stork utility
  • cockroachdb 1.0
  • travis ci

Паша + Слава. Эп. 9. Давно не слышались

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 9. Давно не слышались
Loading
/

После такого долгого перерыва у нас со Славой накопилось так много тем на поговорить, что мы не знали уже за что браться , поэтому:

  1. Синдром самозванца
  2. И борьба с ним
  3. Многопоточность (и как кому-то везёт)
  4. Common Table Expressions
  5. Docker (moby!) puzzles
  6. logging
  7. Spring State Machine (NG)
  8. Hey, Spring, where is my controller? Tribute to @viartemev 😉

Паша + Слава. Эп. 8. Про сложности

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 8. Про сложности
Loading
/

Паша + Слава. Эп. 7. Первые гости

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 7. Первые гости
Loading
/

— Представляем гостя
— Фидбек от Славы на последний эпизод
— Программист как синий воротничок
— Зависимости
— code review in scale (https://www.youtube.com/watch?v=2F6J82-Ch88)
— Улучшения в Java 9 для контейнеров
— Жизнь без GC
— danger (http://danger.systems)

Паша + Слава. Эп. 6. О странном

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 6. О странном
Loading
/
  • Надекватные интервью
  • Spring security
  • Code review
  • Роли в kubernetes
  • Weak reference
  • k8s в проде

Паша + Слава. Эп. 5. Разное

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 5. Разное
Loading
/
  1. final
  2. Длинные названия переменных
  3. hibernate/JPA
  4. Actuator logs in spring Boot 1.5.1
  5. k8s в действии
  6. Оптимизация?
  7. JDBC и connection pooling
  8. Как Слава программера продавал
  9. Оффтоп

Паша + Слава. Эп. 4.

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 4.
Loading
/
  • Проблемы на бюджетных хостингах
  • Letsencrypt
  • Так и не стали фанатами Макоси
  • А с линуксом норм
  • Люди не знают Git. Но как?
  • Люди ломают гит — как им помогать?
  • Новая работа Слава — более низкоуровневая
  • Rkt выглядит как сырое поделие
  • Немножко про внутренности kubernetes
  • Как работать с k8s разработчикам…
  • А Go-то всё ещё не айс

В плане звука у нас сегодня четвёртый день комом — меня в первой половине подкаста слышно так себе

Паша + Слава. Эп. 3.

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 3.
Loading
/
  • Ceph
  • коммит в Thrift
  • мой переход в другую комманду
  • как я раст ковыряю
    • проблемы со строками
    • заимствование
    • попробовал атом
    • Display/Debug, Derive
    • размеры типов (трейты и реальные типы)

Validation of @PathVariable in Spring MVC

Problem

One can’t use validation annotations on @PathVariable annotations with i.e. @Pattern annotation like this:

Если JPA тормозит

За то относительно большое время, которое я занимаюсь enterprise-разработкой я достаточно много раз сталкивался с утверждением что Hibernate использовать нельзя, потому что он тормозит. И правда, этот фреймворк может тормозить если его неправильно готовить. Научиться готовить его идеально — не самая простая задача, но достаточно просто избежать типовых ошибок, окторые просто совершить и сложно найти не зная где и что искать. Вообще-то конечно же всё написано в референсе и в паре замечательных книжек типа Java Persistence with Hibernate. Но не у всех и не всегда есть потребность и возможность их читать. Поэтому я решил написать несколько простых правил, которые следует соблюдать чтобы избежать самых популярных ошибок.
Чеклист того, что надо сделать, если вы по какой-либо причине считаете, что ваше приложение с использованием Hibernate тормозит.
  • Все List<> заменить на Set<>
    • Just like value type collections, unidirectional bags are not as efficient when it comes to modifying the collection structure (removing or reshuffling elements). Because the parent-side cannot uniquely identify each individual child, Hibernate might delete all child table rows associated with the parent entity and re-add them according to the current collection state.
    • When using sets, it’s very important to supply proper equals/hashCode implementations for child entities. In the absence of a custom equals/hashCode implementation logic, Hibernate will use the default Java reference-based object equality which might render unexpected results when mixing detached and managed object instances.
  • Написать кастомные equals и hashCode.
    • Если у обеих сравниваемых сущностей есть id и он одинаковый — сущности одинаковые. Если у обеих нет — сравнивать по контенту.
  • Проверить все маппинги. Lazy должны быть все *ToMany, если только вы не уверены в обратном.
    • Если при этом у вас падают ошибки с LazyInitializationException — вы неправилно работаете с транзакциями. Исправляйте.
    • Если *ToOne можно сделать ленивыми — делайте. Нечего плодить запросы к БД на пустом месте.
  • Убедиться что мы нигде не получаем полную сущность только для того чтобы её обновить. Если такое происходит — заменить на EntityManager#getReference
  • Убедиться что во всех JPQL запросах мы получаем не Entity, а DTO. Это делается с помощью «SELECT NEW»
  • Всюду где не уверены что действие совсем простое — используйте JPQL/HQL/Criteria API/QueryDSL.

Паша + Слава. Эп. 2. Разработчики, разработка и процесс разработки

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 2. Разработчики, разработка и процесс разработки
Loading
/
  • достаточно ли только уметь писать код
  • извиняется ли перед вами ваш начальник
  • важно ли доводить дела до конца
  • где работает Паша? Как там у него всё работает?
  • а Kotlin работает?!

Паша + Слава. Эп. 1. Разговор с Пашей: собеседования и новые технологии

Паша + Слава
Паша + Слава
Паша + Слава. Эп. 1. Разговор с Пашей: собеседования и новые технологии
Loading
/
  • как проходить интервью
  • как изучать новые технологии
  • и т.д.
  • и немного про Haskell