Forwarded from Data Phoenix
Data Science Cheatsheets:
- Artificial Intelligence
- Big Data Analytics
- Big Data
- Data Engineering
- Data Mining
- Data Science
- Data Visualization
- Deep Learning
- Machine Learning
- SQL
- Python
- etc
http://bit.ly/2I3MgQQ
- Artificial Intelligence
- Big Data Analytics
- Big Data
- Data Engineering
- Data Mining
- Data Science
- Data Visualization
- Deep Learning
- Machine Learning
- SQL
- Python
- etc
http://bit.ly/2I3MgQQ
Forwarded from Архив программиста
Сайфан_Д_Осваиваем_Kubernetes_Оркестрация.pdf
8.9 MB
Осваиваем Kubernetes. Оркестрация контейнерных архитектур - 2019
#kubernetes
#kubernetes
Forwarded from Архитектура ИТ-решений
Новая серия коротких заметок от Кента Бека (пока не закончена), того самого, придумавшего 20 лет назад XP - экстремальное программирование, про взаимодействия двух категорий людей: тех которые что-то хотят и других, которые могут это реализовать. Ну и структурные изменения, в которых иногда нуждается развиваемая система https://medium.com/@kentbeck_7670/software-design-is-human-relationships-part-1-of-3-perspective-1bcd53855557
Medium
Software Design is Human Relationships: Part 1 of 3, Perspective
Actually 2 human relationships, but we’ll get to that.
Очередной эксплойт в докере, затрагивающий все версии: https://www.openwall.com/lists/oss-security/2019/05/28/1
#refactoring #ddd
Новая статья от Фаулера про зависимость стоимости софта от его качества: https://martinfowler.com/articles/is-quality-worth-cost.html Забавно то, что, несмотря на очевидную правоту автора в долгосрочной перспективе, целесообразность всех этих ваших clean code'ов и DDD выглядит очень сомнительно на раннем этапе ЖЦ продукта.
Говорят, есть статистика, что только один из 10 стартапов выживает. Готов спорить, что это явно не те, кто начинали с карт контекстов и полотен на UML, но это уже совсем другая история 😉
Новая статья от Фаулера про зависимость стоимости софта от его качества: https://martinfowler.com/articles/is-quality-worth-cost.html Забавно то, что, несмотря на очевидную правоту автора в долгосрочной перспективе, целесообразность всех этих ваших clean code'ов и DDD выглядит очень сомнительно на раннем этапе ЖЦ продукта.
Говорят, есть статистика, что только один из 10 стартапов выживает. Готов спорить, что это явно не те, кто начинали с карт контекстов и полотен на UML, но это уже совсем другая история 😉
martinfowler.com
Is High Quality Software Worth the Cost?
We usually perceive that it costs more to get higher quality, but software internal quality actually reduces costs.
Forwarded from Enterprise Containers
На прошлой неделе состоялась флагманская европейская конференция CNCF - KubeCon 2019. Огромное количество участников, спикеров и множество стендов. Видно как организаторы пытаются справится с наплывом участников. Если в некоторых организационных моментах были огрехи, то уж качество и количество докладов компенсировано с лихвой. По ссылки видео всех презентаций (334 доклада) https://www.youtube.com/playlist?list=PLj6h78yzYM2PpmMAnvpvsnR4c27wJePh3
YouTube
KubeCon + CloudNativeCon Europe 2019 (Barcelona) - YouTube
Forwarded from AvitoTech
А/B эксперименты — ключевой инструмент принятия решений в Авито. Мы работаем с ним с помощью единой платформы. Она помогает быстро запускать эксперименты, контролирует нежелательные пересечения экспериментов, считает метрики, статистические тесты и визуализирует результаты.
Старший аналитик Данила Леньков рассказал в блоге на Хабре, как платформа устроена и показал интересные технические детали → http://bit.ly/abplatform
Старший аналитик Данила Леньков рассказал в блоге на Хабре, как платформа устроена и показал интересные технические детали → http://bit.ly/abplatform
Тут GridGain запускает step-by-step гайд: https://gridgain.timepad.ru/event/989686/ Выглядит интересно
gridgain.timepad.ru
Воркшоп Apache Ignite. Настройки и работа с API шаг за шагом / События на TimePad.ru
Вместе с Дмитрием Павловым (Apache Ignite committer, PMC) разберем API продукта для хранения и обработки данных, научимся запускать и настраивать кластер, разберем частые ошибки в настройке. В качестве примера используем приложение для платежных карт.
Forwarded from Господин Архитектор
Программисту на заметку: как быть, если вы не согласны с решением, которое предлагает руководитель, менеджмент, архитектор, лид? Существует действенный метод, который в долгой перспективе, вероятно, единственно правильный. Называется DAC: disagree and commit. Другими словами, следует быть максимально красноречивым в фазе, когда идёт обсуждение, но когда решение было принято, надо перестать спорить и приложить максимум усилий к реализации именно этого варианта как своего собственного, даже если ты на 200% с ним не согласен https://en.m.wikipedia.org/wiki/Disagree_and_commit
Wikipedia
Disagree and commit
management principle for group decision-making
Forwarded from HABR FEED + OPENNET
[Перевод] Представлен Polaris для поддержания кластеров Kubernetes в здоровом состоянии
https://habr.com/ru/post/454706/
Tags: Блог компании Флант, Системное администрирование, DevOps, Kubernetes, лучшие практики, ReactiveOps
Author Smetankk on #habrahabr
https://habr.com/ru/post/454706/
Tags: Блог компании Флант, Системное администрирование, DevOps, Kubernetes, лучшие практики, ReactiveOps
Author Smetankk on #habrahabr
Хабр
Представлен Polaris для поддержания кластеров Kubernetes в здоровом состоянии
Прим. перев.: Оригинал этого текста написал Rob Scott — ведущий SRE-инженер компании ReactiveOps, которая и стоит за разработкой анонсируемого проекта. Нам очень...
HABR FEED + OPENNET
[Перевод] Представлен Polaris для поддержания кластеров Kubernetes в здоровом состоянии https://habr.com/ru/post/454706/ Tags: Блог компании Флант, Системное администрирование, DevOps, Kubernetes, лучшие практики, ReactiveOps Author Smetankk on #habrahabr
Офигительная штука, которую обязательно надо попробовать... но что-то кол-во куберовских дашбордов медленно, но верно растет. Омниканальность, вернись! Я все прощу!
#codereview
Тут дяденька пишет серию постов про кодревью: https://www.michaelagreiler.com/code-review-blog-post-series/ можно почитать и что-то внедрить(если еще нет или не устраивает свое)
Тут дяденька пишет серию постов про кодревью: https://www.michaelagreiler.com/code-review-blog-post-series/ можно почитать и что-то внедрить(если еще нет или не устраивает свое)
Michaela Greiler
The Ultimate Code Review Blog Post Series - Dr. McKayla
In this code review blog post series, I share my experience and the lessons from analyzing thousands of code reviews and working with hundreds of engineers.
I hate overtime
Утро начинается с плохих новостей: Oracle отказался опенсорсить JavaEE, что, вполне вероятно, убъет ее: https://headcrashing.wordpress.com/2019/05/03/negotiations-failed-how-oracle-killed-java-ee/ Но, что-то мне подсказывает, что жать F to pay respect пока…
Похоже, что подвижки все-таки есть: https://www.infoq.com/podcasts/milinkovich-jakarta-ee
InfoQ
Mike Milinkovich, Director of the Eclipse Foundation, Discusses the Journey to Jakarta EE 8
Today on the podcast, Wes Reisz talks with Mike Milinkovich, the executive director for the Eclipse Foundation. The Eclipse Foundation was chosen to govern the evolution of Oracle’s Java EE to Jakarta EE. The two discuss the project, the recent news about…
Кароч, парни, последнее время очень бомбит от отсутствия понимания каких-то основных вещей у коллег, так что в ближайшее время будет несколько постов от Кэпа, но, может кому-то пригодится(ну или хотя бы сочувствие вызовет😁)
Начнем с главного:
Замечательно, если ваш проект написан на bleeding edge технологиях, но все это не будет иметь никакого смысла, если при первом же инциденте вы не сможете провести инвестигейт потому что вы забыли добавить логирование.
Вы молодец, если ваша доменная модель идеально продумана, но все это вам не поможет если копируете сборки на сервер или мигрируете базу руками.
Кароч, вас ожидает фиаско, если в первую очередь вы не позаботитесь об инфраструктуре проекта. Первым же(фигурально) коммитом должно улететь логгирование и мониторинг, а в первом PR обязательно должно присутствовать решение по миграции базы и IaC. Да, возможно, сначала это будет логирование в файл и пачка шеллскриптов(если у вас, конечно, уже нет общего решения, но это отдельная история) Боб Мартин и https://sites.google.com/site/unclebobconsultingllc/a-mess-is-not-a-technical-debt вам в помощь. Смысл в том, что говнокод можно переписать, но переписывать будет некому если поцоны стерлись от постоянных овертаймов на релизах и инвестигейтах в MSA/SOA где половина сервисов не пишет логи, а вторая половина не прокидывает correlationId
Замечательно, если ваш проект написан на bleeding edge технологиях, но все это не будет иметь никакого смысла, если при первом же инциденте вы не сможете провести инвестигейт потому что вы забыли добавить логирование.
Вы молодец, если ваша доменная модель идеально продумана, но все это вам не поможет если копируете сборки на сервер или мигрируете базу руками.
Кароч, вас ожидает фиаско, если в первую очередь вы не позаботитесь об инфраструктуре проекта. Первым же(фигурально) коммитом должно улететь логгирование и мониторинг, а в первом PR обязательно должно присутствовать решение по миграции базы и IaC. Да, возможно, сначала это будет логирование в файл и пачка шеллскриптов(если у вас, конечно, уже нет общего решения, но это отдельная история) Боб Мартин и https://sites.google.com/site/unclebobconsultingllc/a-mess-is-not-a-technical-debt вам в помощь. Смысл в том, что говнокод можно переписать, но переписывать будет некому если поцоны стерлись от постоянных овертаймов на релизах и инвестигейтах в MSA/SOA где половина сервисов не пишет логи, а вторая половина не прокидывает correlationId
Google
Clean Coder - A Mess is not a Technical Debt.
Posted by Uncle Bob on 09/22/2009
The term Technical Debt was created by Ward Cunningham to describe the engineering trade-off’s that software developers and business stakeholders must often make in order to meet schedules and customer expectations. In short…
The term Technical Debt was created by Ward Cunningham to describe the engineering trade-off’s that software developers and business stakeholders must often make in order to meet schedules and customer expectations. In short…
Forwarded from FEDOR BORSHEV
Управление командой: военное и мирное время
Важная метафора в управлении командой — военное и мирное время. Война — это время напряжения всех сил: чаты в телеграме, ежедневные планы, быстрые и грязные фиксы в коде.
В мирное время всё, спокойно — планы больше растянуты по времени, коллеги не отвлекают друг-друга по пустякам. Больше внимания уделяется качеству кода и процессам, происходящим в команде.
Война — не так уж и плохо: она кратковременно ускоряет производство, объединяя команду вокруг одной конкретной задачи. На войне можно быстро получить грязный продукт, который срочно нужен.
Люди, которые пережили вместе военное время, начинают относиться друг к другу по другому. Лично я вообще не даю рекомендаций людям, не зная их поведения в военное время.
Воевать хорошо раз в пару месяцев, не чаще. Частые войны выматывают команду и продукт — копится усталость и техдолг.
Важный навык CTO — не начинать войны по пустякам. Если вы собираетесь занять личные ресурсы у участников своей команды (а возможно и у их близких) — уж потрудитесь убедиться, что бизнес получит от этого соответствующую прибыль.
Важная метафора в управлении командой — военное и мирное время. Война — это время напряжения всех сил: чаты в телеграме, ежедневные планы, быстрые и грязные фиксы в коде.
В мирное время всё, спокойно — планы больше растянуты по времени, коллеги не отвлекают друг-друга по пустякам. Больше внимания уделяется качеству кода и процессам, происходящим в команде.
Война — не так уж и плохо: она кратковременно ускоряет производство, объединяя команду вокруг одной конкретной задачи. На войне можно быстро получить грязный продукт, который срочно нужен.
Люди, которые пережили вместе военное время, начинают относиться друг к другу по другому. Лично я вообще не даю рекомендаций людям, не зная их поведения в военное время.
Воевать хорошо раз в пару месяцев, не чаще. Частые войны выматывают команду и продукт — копится усталость и техдолг.
Важный навык CTO — не начинать войны по пустякам. Если вы собираетесь занять личные ресурсы у участников своей команды (а возможно и у их близких) — уж потрудитесь убедиться, что бизнес получит от этого соответствующую прибыль.
Forwarded from oleg_log (Oleg Kovalov)
Semantic это такая штука, для парсинга, анализа и сравнения кода на разных языках(Ruby, JS, TS, Python, Go, so on).
И вот они написали оду Хаскеллу, если кратко:
> Why is Semantic written in Haskell?
<...> In Haskell, control flow is not dictated by the language, but by the data structures used. The same syntax is used for nondeterministic and backtracking computations, for concurrency and parallelism, and for traditional imperative blocks: user-defined interpretation functions, rather than built-in language semantics, determine the way that code is executed. This would be nearly impossible to implement in a language like Go, given its limited support for abstraction and polymorphism, and a maintenance nightmare in Java: every single one of our 20k lines of code would need to be rewritten as a data structure rather than a function. This is simply not a realistic task in other languages; even functional languages like OCaml and Swift lack this level of abstraction.
https://github.com/github/semantic/blob/master/docs/why-haskell.md
И вот они написали оду Хаскеллу, если кратко:
> Why is Semantic written in Haskell?
<...> In Haskell, control flow is not dictated by the language, but by the data structures used. The same syntax is used for nondeterministic and backtracking computations, for concurrency and parallelism, and for traditional imperative blocks: user-defined interpretation functions, rather than built-in language semantics, determine the way that code is executed. This would be nearly impossible to implement in a language like Go, given its limited support for abstraction and polymorphism, and a maintenance nightmare in Java: every single one of our 20k lines of code would need to be rewritten as a data structure rather than a function. This is simply not a realistic task in other languages; even functional languages like OCaml and Swift lack this level of abstraction.
https://github.com/github/semantic/blob/master/docs/why-haskell.md
GitHub
semantic/docs/why-haskell.md at main · github/semantic
Parsing, analyzing, and comparing source code across many languages - github/semantic
FEDOR BORSHEV
Управление командой: военное и мирное время Важная метафора в управлении командой — военное и мирное время. Война — это время напряжения всех сил: чаты в телеграме, ежедневные планы, быстрые и грязные фиксы в коде. В мирное время всё, спокойно — планы больше…
Очень удачно совпал пост коллеги про войны и мой цикл батхертов)
Войны неизбежны. Они обязательно случаются и, да, они могут быть полезны для понимания поведения коллег в экстренных ситуациях(всегда полезно знать, на кого можно положиться, а кто в 6 встанет и уйдет и хоть трава не расти)
Но! Ни в коем случае на войну не берут новобранцев. В хотфиксах всегда(!) должны участвовать люди знающие кодовую базу и, тем более, понимающие флоу бизнес-процессов. Нет ничего страшнее ньюкамера, который патчит прод в самом хрупком и, по счастливой случайности, бизнес-критикал месте. В итоге вы получите только окончательно поломанный сервис, фрустрирующего сотрудника и недовольных клиентов
Войны неизбежны. Они обязательно случаются и, да, они могут быть полезны для понимания поведения коллег в экстренных ситуациях(всегда полезно знать, на кого можно положиться, а кто в 6 встанет и уйдет и хоть трава не расти)
Но! Ни в коем случае на войну не берут новобранцев. В хотфиксах всегда(!) должны участвовать люди знающие кодовую базу и, тем более, понимающие флоу бизнес-процессов. Нет ничего страшнее ньюкамера, который патчит прод в самом хрупком и, по счастливой случайности, бизнес-критикал месте. В итоге вы получите только окончательно поломанный сервис, фрустрирующего сотрудника и недовольных клиентов
Нашел тут на просторах жуйреактора прикольную картинку: http://img0.reactor.cc/pics/post/full/it-%D1%8E%D0%BC%D0%BE%D1%80-geek-5239530.png