StringConcat - разработка без боли и сожалений – Telegram
StringConcat - разработка без боли и сожалений
3.45K subscribers
87 photos
9 videos
3 files
209 links
Полезный блог от разработчиков для разработчиков. Наш сайт: howto.stringconcat.ru
Download Telegram
Новое видео на канале Continuous Integration — это не Сервер и даже не Jenkins.

Continuous Integration упоминается еще в XP практиках Кента Бека задолго до появления CI Серверов. Но это прекрасное понятие трансформировалось в "Jenkins Стоящий в углу", и зачастую он уже не то что не помогает разработке а только тормозит ее.

Мы нашли 3 вопроса (в книге Accelerate), которые стоит задать себе чтобы понять насколько хорош ваш Continuous Integration процесс
👍8
Привет! Мы доработали формат нашего курса по разработке энтерпрайза и добавили самостоятельное обучение. Теперь можно не ждать, пока наберётся группа, а начать хоть со следующего понедельника.

Если сомневаетесь, посмотрите лекцию из курса:

Архитектура с высоты птичьего полета (1 час 15 минут)

Материал поможет вам начать писать здоровый код и порицать тех, кто пишет плохой 😉

Подробнее о курсе
1. Ждать группу не нужно. Начинайте в любой момент.
2. Самостоятельный формат курса доступен по двум тарифам — Экспресс (без домашек) и Базовый (с домашками и всем таким). Тарифы на сайте.
3. Талантливых учеников рекомендуем в ThoughtWorks.

Будут вопросы — пишите @dubrova_a
👍4🤮2
ООП vs функциональное программирование? Или все же они прекрасно дополняют друг друга?
Смотри новое видео на нашем канале https://www.youtube.com/watch?v=3rhP73g9z5U

Каждый знает что такое инкапсуляция. Это же один из столпов ООП!
В видео мы показываем как можно этой инкапсуляции добиться, элегантно сочетая ООП и функциональщину.
Не забываем подписываться на канал, чтобы не пропустить новые видосики.
Самое долгожданное событие в архитектурном мире наступило - материалы монументального многолетнего труда в области управления сложностью, одного из лучших авторов современности 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
👍1
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
🔥7
👀 Новое видео на канале!
Топ жести на собеседовании: https://youtu.be/KdmYL8TJEIA

Что делают большинство разработчиков, когда им нужно провести собеседование? Правильно, гуглят 100 вопросов на собеседование на ${любимый_язык}. А потом мы все жалуемся, что на собеседованиях творится какая-то вакханалия.

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

🙏 Не забудьте поставить лайк и подписаться на YouTube канал, если видео вам понравилось!
👍9
Пост немножечко ни о чем

Работал тут намедни с участком системы, у которой а) отсутствовала «единая кнопка» и б) не было тестов.
Все это появилось до моего прихода на проект и возводить такие конструкции мы сознательно не стали, ибо этот код в скором времени должен быть убран из проекта насовсем. Но что-то в нём пофиксить бывает нужно прямо сейчас, пока он ещё существует.

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

Если вы испытываете те же чувства, то крайне рекомендуем присмотреться к пирамиде тестирования и другим геометрическим фигурам. Если вы сможете её реализовать, по другому уже работать не захотите, проверено на себе.
👍9🤔2😢2
Господа, начинаем цикл видео “Философия Kotlin для Java разработчиков”. Для начала разберем что такое null safety в Kotlin и как его использовать в реальной жизни
https://youtu.be/AkL7uFm8ze4

А в следующем видео разберем не менее важное: immutability в Kotlin. Stay tuned!
❤‍🔥7🔥4🤔1
Недавно писали про энтерпрайз-деформацию, теперь еще раз столкнулись с этим на практике. Очень показательный случай вышел.

Суть такова. Дали нашему подопечному задание реализовать марсоход (задание на тренировку TDD). В первом варианте решения были угадайте что? Прааавильно, Spring и MarsRoverService. Спустя несколько итераций задание было побеждено голой джавой без фреймворков (ну разве что junit остался). Комментарий автора:

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



Теперь немного понятнее, почему на собеседованиях спрашивают кишочки спринга и жвм, а важным вещам вроде дизайна классов и прочего совсем не уделяют внимания. Не боярское это дело — классы продумывать, новый фреймворк/субд/брокер сам себя не выучит. Посему настоятельно рекомендуем поупражняться в такого рода заданиях.
🔥8👍2🤩1
Мы уже много раз говорили и про локальный 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/
👍19
Продолжается прием заявок на доклады конференции по архитектуре IT-решений ArchDays 2022!

В этом году мы возвращаемся в офлайн!
Конференция пройдет 21 октября в Москве + Online-трансляция.

Основные тематики конференции:
1. Процессы проектирования
2. Инструменты проектирования
3. Практики проектирования
4. Обучение архитектуре/развитие в архитектора
5. Soft skills
6. Кейсы

Всего в программе будет около 30 докладов и 4 очных воркшопов.

Подать заявку на выступление: https://archdays.ru/#speaker
👍3🔥2
👓OWASP TOP-10

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

Вообще, сам проект OWASP (Open Web Application Security Project) - это некоммерческая организация, нацеленная на повышение защищенности веб-приложений.

Помимо рейтинга уязвимостей, там есть еще немало интересного, например:
- Инструмент для поиска уязвимых зависимостей в Java
- Популярный сканер веб-приложений OWASP ZAP
- Руководство по тестированию веб-приложений
И многое другое. Полный список на этой странице

#Безопасность
👍1
Если уже ознакомились с OWASP'ом, то вот вам следующий материал, который касается более общей темы по безопасности.
Это CIS Сontrols (на данный момент версии 8 ) от некоммерческой организации CIS (Центр Интернет Безопасности).
Здесь собраны рекомендации для организаций, которые хотят повысить свою защищенность. То есть не для конкретного ПО, а для организации в комплексе (хотя про ПО там тоже есть). Можно сказать это некий ИБ-фреймворк.

И если сам Controls может быть не очень интересен нам, как разработчикам, то на сайте имеются так же так называемые бенчмарки, которые могут быть более позными на прикладном уровне. Например, тут есть рекомендации по куберу, докеру и т.д.

Выглядит как отличная отправная точка для тех кто хочет поправить ИБ-здоровье в своей компании.

#Безопасность
👍3