Привет! Мы доработали формат нашего курса по разработке энтерпрайза и добавили самостоятельное обучение. Теперь можно не ждать, пока наберётся группа, а начать хоть со следующего понедельника.
Если сомневаетесь, посмотрите лекцию из курса:
Архитектура с высоты птичьего полета (1 час 15 минут)
Материал поможет вам начать писать здоровый код и порицать тех, кто пишет плохой 😉
Подробнее о курсе
1. Ждать группу не нужно. Начинайте в любой момент.
2. Самостоятельный формат курса доступен по двум тарифам — Экспресс (без домашек) и Базовый (с домашками и всем таким). Тарифы на сайте.
3. Талантливых учеников рекомендуем в ThoughtWorks.
Будут вопросы — пишите @dubrova_a
Если сомневаетесь, посмотрите лекцию из курса:
Архитектура с высоты птичьего полета (1 час 15 минут)
Материал поможет вам начать писать здоровый код и порицать тех, кто пишет плохой 😉
Подробнее о курсе
1. Ждать группу не нужно. Начинайте в любой момент.
2. Самостоятельный формат курса доступен по двум тарифам — Экспресс (без домашек) и Базовый (с домашками и всем таким). Тарифы на сайте.
3. Талантливых учеников рекомендуем в ThoughtWorks.
Будут вопросы — пишите @dubrova_a
👍4🤮2
ООП vs функциональное программирование? Или все же они прекрасно дополняют друг друга?
Смотри новое видео на нашем канале https://www.youtube.com/watch?v=3rhP73g9z5U
Каждый знает что такое инкапсуляция. Это же один из столпов ООП!
В видео мы показываем как можно этой инкапсуляции добиться, элегантно сочетая ООП и функциональщину.
Не забываем подписываться на канал, чтобы не пропустить новые видосики.
Смотри новое видео на нашем канале https://www.youtube.com/watch?v=3rhP73g9z5U
Каждый знает что такое инкапсуляция. Это же один из столпов ООП!
В видео мы показываем как можно этой инкапсуляции добиться, элегантно сочетая ООП и функциональщину.
Не забываем подписываться на канал, чтобы не пропустить новые видосики.
YouTube
ООП vs Функциональное программирование. Можно ли использовать вместе?
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная пробная лекция из моего курса Разработка Enterprise-приложений на Java и Kotlin без боли и сожалений ждет тебя здесь
🎓 Курс: https://howto.stringconcat.ru/?utm_sour…
🎓 Курс: https://howto.stringconcat.ru/?utm_sour…
Forwarded from emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Самое долгожданное событие в архитектурном мире наступило - материалы монументального многолетнего труда в области управления сложностью, одного из лучших авторов современности Vladik Khononov ( @vladik_kh ) начали выходить в публичность:
- https://youtu.be/d6BeLhm3a0s
Предыдущая его книга стала самой понятной и популярной в области DDD. До появления его книги разобраться с трудами Эванса и Вернона можно было только ценой титанических усилий, что сдерживало распространение DDD.
Новая его книга консолидирует труды Larry Constantine, Tom DeMarco, Meilir Page-Jones, David L. Parnas, Robert C. Martin, и вооружает нас принципом, способным легко отыскивать победные решения в задачах любого уровня сложности.
[UPDATE]: Ждем вторую часть это keynote с ddd europe - "fractal geometry of software design". Через пару месяцев должны опубликовать.
#SoftwareDesign #MSA #DDD #SoftwareArchitecture
- https://youtu.be/d6BeLhm3a0s
Предыдущая его книга стала самой понятной и популярной в области DDD. До появления его книги разобраться с трудами Эванса и Вернона можно было только ценой титанических усилий, что сдерживало распространение DDD.
Новая его книга консолидирует труды Larry Constantine, Tom DeMarco, Meilir Page-Jones, David L. Parnas, Robert C. Martin, и вооружает нас принципом, способным легко отыскивать победные решения в задачах любого уровня сложности.
[UPDATE]: Ждем вторую часть это keynote с ddd europe - "fractal geometry of software design". Через пару месяцев должны опубликовать.
#SoftwareDesign #MSA #DDD #SoftwareArchitecture
YouTube
Balancing Coupling in Software Design - Vladik Khononov, DOIT International | Craft Conference 2022
This talk was recorded at Craft Conference 2022. Vladik Khononov from DOIT International spoke about Architecture, Coupling, Design, Microservices and DDD. We are used to treating coupling as the necessary evil. Hence, we aim to break systems apart into the…
👍1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Самое долгожданное событие в архитектурном мире наступило - материалы монументального многолетнего труда в области управления сложностью, одного из лучших авторов современности Vladik Khononov ( @vladik_kh ) начали выходить в публичность: - https://youtu.be/d6BeLhm3a0s…
От себя добавим. Книга по DDD от этого автора действительно лучшая из того что мы читали по этой теме.
O’Reilly Online Learning
Learning Domain-Driven Design
Building software is harder than ever. As a developer, you not only have to chase ever-changing technological trends but also need to understand the business domains behind the... - Selection from Learning Domain-Driven Design [Book]
Forwarded from Grisha Skobelev
Всем привет 👋
В рамках книжного клуба { между скобок } мы организовали интервью с тем самым Мартином Клеппманном книгу которого мы прочитали. Обсудим книгу, поговорим про будущее data systems и о новых исследованиях Мартина:
📍 https://www.inkandswitch.com/local-first/
📍https://automerge.org/
Встречаемся 30 июня в 20:00 по мск
Martin Kleppmann is a researcher in distributed systems and security at the University of Cambridge, and author of the bestselling book Designing Data-Intensive Applications (O'Reilly Media). Previously he was a software engineer and entrepreneur, co-founding and selling two startups, and working on large-scale data infrastructure at LinkedIn.
Ссылка на подключение будет чуть позже в чате https://news.1rj.ru/str/backend_megdu_skobkah
Также закидывайте ваши вопросы для Мартина в гугл форму https://forms.gle/ZCGNfZ42JJDNsEcd8
В рамках книжного клуба { между скобок } мы организовали интервью с тем самым Мартином Клеппманном книгу которого мы прочитали. Обсудим книгу, поговорим про будущее data systems и о новых исследованиях Мартина:
📍 https://www.inkandswitch.com/local-first/
📍https://automerge.org/
Встречаемся 30 июня в 20:00 по мск
Martin Kleppmann is a researcher in distributed systems and security at the University of Cambridge, and author of the bestselling book Designing Data-Intensive Applications (O'Reilly Media). Previously he was a software engineer and entrepreneur, co-founding and selling two startups, and working on large-scale data infrastructure at LinkedIn.
Ссылка на подключение будет чуть позже в чате https://news.1rj.ru/str/backend_megdu_skobkah
Также закидывайте ваши вопросы для Мартина в гугл форму https://forms.gle/ZCGNfZ42JJDNsEcd8
🔥7
Grisha Skobelev
Всем привет 👋 В рамках книжного клуба { между скобок } мы организовали интервью с тем самым Мартином Клеппманном книгу которого мы прочитали. Обсудим книгу, поговорим про будущее data systems и о новых исследованиях Мартина: 📍 https://www.inkandswitch.com/local…
Если кто не знает, Мартин Клеппманн — это автор знаменитой книги Designing Data-Intensive Applications (которая с кабанчиком, да)
O’Reilly Online Learning
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and... - Selection from Designing Data-Intensive Applications [Book]
👍3
👀 Новое видео на канале!
Топ жести на собеседовании: https://youtu.be/KdmYL8TJEIA
Что делают большинство разработчиков, когда им нужно провести собеседование? Правильно, гуглят 100 вопросов на собеседование на ${любимый_язык}. А потом мы все жалуемся, что на собеседованиях творится какая-то вакханалия.
В общем, разбираем типичные ошибки интервьюверов и выясняем, почему в каждой компании собеседование должно быть уникальным.
🙏 Не забудьте поставить лайк и подписаться на YouTube канал, если видео вам понравилось!
Топ жести на собеседовании: https://youtu.be/KdmYL8TJEIA
Что делают большинство разработчиков, когда им нужно провести собеседование? Правильно, гуглят 100 вопросов на собеседование на ${любимый_язык}. А потом мы все жалуемся, что на собеседованиях творится какая-то вакханалия.
В общем, разбираем типичные ошибки интервьюверов и выясняем, почему в каждой компании собеседование должно быть уникальным.
🙏 Не забудьте поставить лайк и подписаться на YouTube канал, если видео вам понравилось!
YouTube
Никогда не собеседуй как Google!
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная пробная лекция из моего курса Разработка Enterprise-приложений на Java и Kotlin без боли и сожалений ждет тебя здесь
🎓 Курс: https://howto.stringconcat.ru/?utm_sour…
🎓 Курс: https://howto.stringconcat.ru/?utm_sour…
👍9
Пост немножечко ни о чем
Работал тут намедни с участком системы, у которой а) отсутствовала «единая кнопка» и б) не было тестов.
Все это появилось до моего прихода на проект и возводить такие конструкции мы сознательно не стали, ибо этот код в скором времени должен быть убран из проекта насовсем. Но что-то в нём пофиксить бывает нужно прямо сейчас, пока он ещё существует.
Так вот, нужно было мне пофиксить один ерундовый баг. В итоге заняло у меня это целый день. Пока я сделал все подготовительные процедуры, кое как вспомнил как поднять приложение, подготовил данные, нашел куда их просунуть, я уже забыл чего нужно пофиксить. Добавим сюда необходимость дебага (я им не пользовался пару лет точно, потому что обычно есть тесты) и в конце дня голова была способна воспринимать разве что тиктоки.
Если вы испытываете те же чувства, то крайне рекомендуем присмотреться к пирамиде тестирования и другим геометрическим фигурам. Если вы сможете её реализовать, по другому уже работать не захотите, проверено на себе.
Работал тут намедни с участком системы, у которой а) отсутствовала «единая кнопка» и б) не было тестов.
Все это появилось до моего прихода на проект и возводить такие конструкции мы сознательно не стали, ибо этот код в скором времени должен быть убран из проекта насовсем. Но что-то в нём пофиксить бывает нужно прямо сейчас, пока он ещё существует.
Так вот, нужно было мне пофиксить один ерундовый баг. В итоге заняло у меня это целый день. Пока я сделал все подготовительные процедуры, кое как вспомнил как поднять приложение, подготовил данные, нашел куда их просунуть, я уже забыл чего нужно пофиксить. Добавим сюда необходимость дебага (я им не пользовался пару лет точно, потому что обычно есть тесты) и в конце дня голова была способна воспринимать разве что тиктоки.
Если вы испытываете те же чувства, то крайне рекомендуем присмотреться к пирамиде тестирования и другим геометрическим фигурам. Если вы сможете её реализовать, по другому уже работать не захотите, проверено на себе.
👍9🤔2😢2
Господа, начинаем цикл видео “Философия Kotlin для Java разработчиков”. Для начала разберем что такое null safety в Kotlin и как его использовать в реальной жизни
https://youtu.be/AkL7uFm8ze4
А в следующем видео разберем не менее важное: immutability в Kotlin. Stay tuned!
https://youtu.be/AkL7uFm8ze4
А в следующем видео разберем не менее важное: immutability в Kotlin. Stay tuned!
YouTube
Null-safety: Киллер-фича Kotlin. Kotlin tutorial для Java разработчиков
Философия Kotlin для java разработчиков. В этом выпуске поговорим про Null Safety
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная пробная лекция из моего курса Разработка Enterprise-приложений на Java и Kotlin без…
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная пробная лекция из моего курса Разработка Enterprise-приложений на Java и Kotlin без…
❤🔥7🔥4🤔1
Недавно писали про энтерпрайз-деформацию, теперь еще раз столкнулись с этим на практике. Очень показательный случай вышел.
Суть такова. Дали нашему подопечному задание реализовать марсоход (задание на тренировку TDD). В первом варианте решения были угадайте что? Прааавильно, Spring и MarsRoverService. Спустя несколько итераций задание было побеждено голой джавой без фреймворков (ну разве что junit остался). Комментарий автора:
Теперь немного понятнее, почему на собеседованиях спрашивают кишочки спринга и жвм, а важным вещам вроде дизайна классов и прочего совсем не уделяют внимания. Не боярское это дело — классы продумывать, новый фреймворк/субд/брокер сам себя не выучит. Посему настоятельно рекомендуем поупражняться в такого рода заданиях.
Суть такова. Дали нашему подопечному задание реализовать марсоход (задание на тренировку TDD). В первом варианте решения были угадайте что? Прааавильно, Spring и MarsRoverService. Спустя несколько итераций задание было побеждено голой джавой без фреймворков (ну разве что junit остался). Комментарий автора:
Надо добавить, что я вот так, хотел пару лет уже пед проект написать и это первый раз когда вышло не тошнотное говно ...
Наверное это пока самый симпатичный код что у меня выходил и как ни странно я очень мало думал
Теперь немного понятнее, почему на собеседованиях спрашивают кишочки спринга и жвм, а важным вещам вроде дизайна классов и прочего совсем не уделяют внимания. Не боярское это дело — классы продумывать, новый фреймворк/субд/брокер сам себя не выучит. Посему настоятельно рекомендуем поупражняться в такого рода заданиях.
Telegram
StringConcat - разработка без боли и сожалений
Вдогонку к предыдущему посту. Мне кажется, что мы отчасти утратили способность видеть какие-то абстракции как в коде, причем как на уровне классов, так и на уровне целых модулей. Не берусь утверждать, но если нас попросить замоделировать, скажем, небольшой…
🔥8👍2🤩1
Новое видео “Философия Kotlin”. На этот раз поговорим об Immutability: как добиться и какие плюшки она дает. Приятного просмотра
https://youtu.be/1p36DxAGP_0
https://youtu.be/1p36DxAGP_0
YouTube
Immutability - Киллер-фича Kotlin. Kotlin crash course для Java разработчиков
Философия Kotlin для java разработчиков. В этом выпуске поговорим про Immutability.
Зачем нужно? Как добиться в Kotlin?
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная пробная лекция из моего курса Разработка Enterprise…
Зачем нужно? Как добиться в Kotlin?
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная пробная лекция из моего курса Разработка Enterprise…
👍6
Коллеги, на этот раз мы делимся информацией как использовать Immutable Коллекции в Kotlin и чем они отличаются от Java Immutable коллекций. Если вы только присматриваетесь к Котлину очень рекомендую https://youtu.be/m8X8gp5nqi4
YouTube
Immutable collections - Киллер-фича Kotlin. Kotlin crash course для Java разработчиков
Философия Kotlin для java разработчиков. В этом выпуске поговорим про Immutable Collections.
Как использовать, зачем нужны. и главное, как применять в реальных проектах
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная…
Как использовать, зачем нужны. и главное, как применять в реальных проектах
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная…
👍6
Мы уже много раз говорили и про локальный CI (когда все или почти все проверки проходят локально) и про удобный интерфейс "одной кнопки". При использовании такого подхода, помимо очевидной экономиии времени есть еще и экономия вычислительных мощностей билд-сервера. Можем меньше платить как за потребленные ресурсы, так и машины выбирать чуть послабее. На скришоте результат работы команды из 3,5 человек за пару-тройку дней. Тут всего 2 падения. Первый раз сборка упала из-за экспериментов на инфраструктуре, второй раз - потому что я не проверил локально (запушил мимо хука). Специально замерил, в лучшем случае мне удается прорваться сквозь статанализаторы и прочие проверки где-то с 3-4 раза, даже если изменения несущественны. Думаю понятно, сколько времени и ресурсов мы в итоге сэкономили.
👍10🤔3💩1
Forwarded from Russian Association of Software Architects (Eugene Lukianov)
Если вы не можете объяснить начальству что такое технический долг и легаси, то вот вам хороший пример от нетехнаря (поэтому могут быть неточности), но со способностью хорошо объяснять сложное.
https://vitalyfilatov.ru/all/techdebt-and-legacy/
https://vitalyfilatov.ru/all/techdebt-and-legacy/
vitalyfilatov.ru
Технический долг и легаси на примере тараканов
Программисты иногда говорят о своей работе как о безумном адском родео на пылающих велосипедах без сидений
👍19
Forwarded from Блог Сергея Баранова
Продолжается прием заявок на доклады конференции по архитектуре IT-решений ArchDays 2022!
В этом году мы возвращаемся в офлайн!
Конференция пройдет 21 октября в Москве + Online-трансляция.
Основные тематики конференции:
1. Процессы проектирования
2. Инструменты проектирования
3. Практики проектирования
4. Обучение архитектуре/развитие в архитектора
5. Soft skills
6. Кейсы
Всего в программе будет около 30 докладов и 4 очных воркшопов.
Подать заявку на выступление: https://archdays.ru/#speaker
В этом году мы возвращаемся в офлайн!
Конференция пройдет 21 октября в Москве + Online-трансляция.
Основные тематики конференции:
1. Процессы проектирования
2. Инструменты проектирования
3. Практики проектирования
4. Обучение архитектуре/развитие в архитектора
5. Soft skills
6. Кейсы
Всего в программе будет около 30 докладов и 4 очных воркшопов.
Подать заявку на выступление: https://archdays.ru/#speaker
👍3🔥2
Новое видео на нашем канале. Наводим порядок в проекте, смотрим примеры, делаем выводы
YouTube
Стандартизация кода на проекте
Говорим о том, зачем поддерживать стандарты кода в софтверных проектах
💻 Reference app - https://github.com/stringconcat/ddd_practice
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная пробная лекция из моего курса…
💻 Reference app - https://github.com/stringconcat/ddd_practice
☝ Как перестать выгорать и стать крутым архитектором или тимлидом? узнай так: Бесплатная пробная лекция из моего курса…
👍5🔥4
👓OWASP TOP-10
Это очень странно, но в наше киберпреступное время далеко не все разработчики знают что это такое. Если кратко - это рейтинг самых популярных уязвимостей в веб-приложениях. Обновляется раз в несколько лет и содержит общие рекомендации по их устранению.
Вообще, сам проект OWASP (Open Web Application Security Project) - это некоммерческая организация, нацеленная на повышение защищенности веб-приложений.
Помимо рейтинга уязвимостей, там есть еще немало интересного, например:
- Инструмент для поиска уязвимых зависимостей в Java
- Популярный сканер веб-приложений OWASP ZAP
- Руководство по тестированию веб-приложений
И многое другое. Полный список на этой странице
#Безопасность
Это очень странно, но в наше киберпреступное время далеко не все разработчики знают что это такое. Если кратко - это рейтинг самых популярных уязвимостей в веб-приложениях. Обновляется раз в несколько лет и содержит общие рекомендации по их устранению.
Вообще, сам проект OWASP (Open Web Application Security Project) - это некоммерческая организация, нацеленная на повышение защищенности веб-приложений.
Помимо рейтинга уязвимостей, там есть еще немало интересного, например:
- Инструмент для поиска уязвимых зависимостей в Java
- Популярный сканер веб-приложений OWASP ZAP
- Руководство по тестированию веб-приложений
И многое другое. Полный список на этой странице
#Безопасность
owasp.org
OWASP Top Ten Web Application Security Risks | OWASP Foundation
The OWASP Top 10 is the reference standard for the most critical web application security risks. Adopting the OWASP Top 10 is perhaps the most effective first step towards changing your software development culture focused on producing secure code.
👍1
Forwarded from StringconcaTalk
Отслеживаете ли вы уязвимости в вашем проекте?
Anonymous Poll
29%
Да, автоматически сканируем зависимости
22%
Да, автоматически сканируем наш продукт
27%
Да, в ручную время от времени
39%
Нет, есть проблемы и посерьёзней
Если уже ознакомились с OWASP'ом, то вот вам следующий материал, который касается более общей темы по безопасности.
Это CIS Сontrols (на данный момент версии 8 ) от некоммерческой организации CIS (Центр Интернет Безопасности).
Здесь собраны рекомендации для организаций, которые хотят повысить свою защищенность. То есть не для конкретного ПО, а для организации в комплексе (хотя про ПО там тоже есть). Можно сказать это некий ИБ-фреймворк.
И если сам Controls может быть не очень интересен нам, как разработчикам, то на сайте имеются так же так называемые бенчмарки, которые могут быть более позными на прикладном уровне. Например, тут есть рекомендации по куберу, докеру и т.д.
Выглядит как отличная отправная точка для тех кто хочет поправить ИБ-здоровье в своей компании.
#Безопасность
Это CIS Сontrols (на данный момент версии 8 ) от некоммерческой организации CIS (Центр Интернет Безопасности).
Здесь собраны рекомендации для организаций, которые хотят повысить свою защищенность. То есть не для конкретного ПО, а для организации в комплексе (хотя про ПО там тоже есть). Можно сказать это некий ИБ-фреймворк.
И если сам Controls может быть не очень интересен нам, как разработчикам, то на сайте имеются так же так называемые бенчмарки, которые могут быть более позными на прикладном уровне. Например, тут есть рекомендации по куберу, докеру и т.д.
Выглядит как отличная отправная точка для тех кто хочет поправить ИБ-здоровье в своей компании.
#Безопасность
Telegram
StringConcat - разработка без боли и сожалений
👓OWASP TOP-10
Это очень странно, но в наше киберпреступное время далеко не все разработчики знают что это такое. Если кратко - это рейтинг самых популярных уязвимостей в веб-приложениях. Обновляется раз в несколько лет и содержит общие рекомендации по их…
Это очень странно, но в наше киберпреступное время далеко не все разработчики знают что это такое. Если кратко - это рейтинг самых популярных уязвимостей в веб-приложениях. Обновляется раз в несколько лет и содержит общие рекомендации по их…
👍3
Следующим шагом в изучении ИБ может стать что называется "набитие руки". Думаю, разработчикам может быть интересно посмотреть как ведут себя узявимости в дикой природе. Для этого можно пойти и посканить собсвенное изделие есть специальные сервисы и приложения, которые содержат определенные уязвимости.
- Один из самых популярных ресурсов HackTheBox Распространяется как SaaS, много бесплатных лаб.
- Vulnhub. Много виртуалок с уязвимостями (которые нужно скачать и запустить), но почему-то последняя активность в ноябре прошлого года.
- OWASP Juice Shop - уязвиомое веб-приложение от OWASP, содержит весь TOP-10 и много чего еще
- Список узязвимых приложений от OWASP
Думаю вы без труда найдете похожие проекты.
Ну а дальше, когда получен какой-то практический опыт и примерное понимание предмета, можно приступать к моделированию угроз, внедрению SSDLC путем использования технических и организационых средств.
- Один из самых популярных ресурсов HackTheBox Распространяется как SaaS, много бесплатных лаб.
- Vulnhub. Много виртуалок с уязвимостями (которые нужно скачать и запустить), но почему-то последняя активность в ноябре прошлого года.
- OWASP Juice Shop - уязвиомое веб-приложение от OWASP, содержит весь TOP-10 и много чего еще
- Список узязвимых приложений от OWASP
Думаю вы без труда найдете похожие проекты.
Ну а дальше, когда получен какой-то практический опыт и примерное понимание предмета, можно приступать к моделированию угроз, внедрению SSDLC путем использования технических и организационых средств.
Hack The Box
Cyber Mastery: Community Inspired. Enterprise Trusted.
We raise your cyber resilience by transforming technical teams into a mission-ready workforce, so every organization can stay ahead of tomorrow’s threats. Get started now with personal or team plans.
👍9