c.im is one of the many independent Mastodon servers you can use to participate in the fediverse.
C.IM is a general, mainly English-speaking Mastodon instance.

Server stats:

2.9K
active users

#функциональное_программирование

0 posts0 participants0 posts today
Habr<p>Парадигма — религия, или наука?</p><p>Зайду с козырей: КДПВ этой заметки имеет прямое отношение к тексту. Если вы сфокусируете взгляд на синей рамке, вы увидите растопырившего лапы Амбидиректуса с вытянутой шеей и маленькой головой, развернутой влево. Перефокусируясь на красную рамку, вы познакомитесь с его приготовившимся нырнуть в стену справа Alter Ego , с плотно ввинченной в шею головой и замершими во взмахе назад передними конечностями. Я показал вам этого Амбидиректуса для того, чтобы проиллюстрировать основную мысль этого текста: споры о превосходстве той или иной парадигмы над остальными — не имеют никакого смысла и всегда являются религиозной войной остроконечников против тупоконечников. Правильная парадигма — это оксюморон</p><p><a href="https://habr.com/ru/articles/893556/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/893556/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%BE%D0%BE%D0%BF" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ооп</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>акторная_модель</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>архитектура_приложений</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BF%D0%BE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>архитектура_по</span></a></p>
Habr<p>Классическая жизнь фронтенд-приложений и их сопровождение</p><p>Рассмотрим типичный сценарий разработки фронтенд-приложений. Бизнес выдвигает требования, которые постепенно усложняют компоненты. Это приводит к проблемам сопровождения, особенно в больших проектах.</p><p><a href="https://habr.com/ru/articles/893370/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/893370/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>архитектура</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональность</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/vuejs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>vuejs</span></a> <a href="https://zhub.link/tags/reactjs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>reactjs</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BE%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>сопровождение_проектов</span></a> <a href="https://zhub.link/tags/frontend%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>frontendразработка</span></a> <a href="https://zhub.link/tags/frontend" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>frontend</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>программирование</span></a></p>
Habr<p>Функциональное программирование в Java</p><p>Привет, Хабр! В этой статье я опишу функциональное программирование и расскажу, как оно реализовано в Java. Помимо вопроса «что это?», я постараюсь ответить на вопросы «зачем?», «когда?» и «как?» это используется.</p><p><a href="https://habr.com/ru/companies/reksoft/articles/892242/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/reksoft/</span><span class="invisible">articles/892242/</span></a></p><p><a href="https://zhub.link/tags/java" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>java</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/sql" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>sql</span></a> <a href="https://zhub.link/tags/%D1%87%D0%B8%D1%81%D1%82%D0%B0%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>чистая_функция</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональные_интерфейсы</span></a> <a href="https://zhub.link/tags/%D0%BB%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>лямбдавыражения</span></a> <a href="https://zhub.link/tags/higher_order_functions" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>higher_order_functions</span></a></p>
Habr<p>Клиентский код</p><p>Привет, Хабр! Вот варюсь я в этом айти уже долгое время. Почитываю Хабр, ищу работу, работаю, потом снова ищу работу. Посмотрел разные компании изнутри, крупные и не очень. Сходил за свою жизнь на 25+ собеседований, еще до времен удаленки и на на ней. Я честно, не знаю как в других профессиях, но в программировании, как мне кажется, собеседования — это чистая лотерея. Мое видение этого возможно подтверждает рынок труда — накрути себе опыта побольше, примени нейросеть, расскажи красиво о себе и вот работа (зарплата) мечты уже твоя. Следствием этого — по 300 отзывов на вакансию. Но, к слову, вакансии эти висят месяцами. Ты просто попадаешь в огромную кучу кандидатов, которых работодатель хочет отсеять и выбрать лучшего из вас. По каким критериям (по всем кроме трудовой книжки) вас будут сортировать одному Нео известно. Так‑же имел личный опыт, когда я отвечал полностью на все вопросы в течение часа. Получив оценку своим знаниям на 5+, заветную работу (зарплату) мечты я так и не получил.</p><p><a href="https://habr.com/ru/articles/889632/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/889632/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Клиентский_код</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BE%D0%BF" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ооп</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/%D0%9F%D0%B0%D1%80%D0%B0%D0%B4%D0%B8%D0%B3%D0%BC%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Парадигма_программирования</span></a> <a href="https://zhub.link/tags/%D1%87%D0%B8%D1%81%D1%82%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>чистый_код</span></a> <a href="https://zhub.link/tags/%D0%B1%D0%B8%D0%B7%D0%BD%D0%B5%D1%81" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>бизнес</span></a> <a href="https://zhub.link/tags/%D1%82%D0%BE%D0%BA%D1%81%D0%B8%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>токсичность</span></a></p>
Habr<p>[Перевод] ООП: худшее, что случалось с программированием</p><p>В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.</p><p><a href="https://habr.com/ru/articles/885980/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/885980/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%BE%D0%BE%D0%BF" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ооп</span></a> <a href="https://zhub.link/tags/%D1%84%D0%BF" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>фп</span></a> <a href="https://zhub.link/tags/java" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>java</span></a> <a href="https://zhub.link/tags/typescript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>typescript</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>c</span></a># <a href="https://zhub.link/tags/go" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>go</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%B0%D1%80%D0%B0%D0%B4%D0%B8%D0%B3%D0%BC%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>парадигмы_программирования</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%B0%D1%82%D1%82%D0%B5%D1%80%D0%BD%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>паттерны_программирования</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>объектноориентированное</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a></p>
Habr<p>Кредо программиста (в приложении к стилю кодирования)</p><p>Однажды меня попросили подготовить рекомендации по программированию на Scala для сотрудников нашей компании Solar. В поисках лучших рецептов приходилось заглядывать в самые пыльные уголки Интернета, и в одном из них, в ветхом проржавелом сундуке я заметил старинный конверт. Просто из любопытства решил заглянуть туда, благо конверт был уже вскрыт. Истлевшие страницы, поблекшие чернила, но содержание настолько меня заворожило, что я просто не мог не поделиться со всеми! К сожалению, не удалось установить ни автора, ни адресата. Местами текст совершенно невозможно было прочитать, так что пришлось додумывать самому. Но даже несмотря на потери, письмо всё ещё достойно Вашего внимания. Приятного чтения!</p><p><a href="https://habr.com/ru/articles/882862/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/882862/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D1%81%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BE_%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>соглашения_о_кодировании</span></a> <a href="https://zhub.link/tags/%D1%81%D1%82%D0%B8%D0%BB%D0%B8_%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>стили_кодирования</span></a> <a href="https://zhub.link/tags/%D1%81%D1%82%D0%B8%D0%BB%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>стили_программирования</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/%D0%BA%D1%80%D0%B5%D0%B4%D0%BE" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>кредо</span></a></p>
Habr<p>Каррируем React-компоненты: функциональные паттерны на фронтенде</p><p>Современный React все больше соответствует идеалам функционального программирования. Ежедневно мы пользуемся подходами из мира ФП, зачастую даже не подозревая об этом. Эти паттерны плотно укоренились в сознании фронтенд-разработчиков, делая наш код значительно чище, читаемее и предсказуемее. В этой статье мы применим один из функциональных паттернов в React приложении и посмотрим что из этого выйдет.</p><p><a href="https://habr.com/ru/articles/881546/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/881546/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/react" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>react</span></a> <a href="https://zhub.link/tags/frontend" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>frontend</span></a> <a href="https://zhub.link/tags/typescript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>typescript</span></a> <a href="https://zhub.link/tags/javascript" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>javascript</span></a> <a href="https://zhub.link/tags/patterns" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>patterns</span></a> <a href="https://zhub.link/tags/functional_programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>functional_programming</span></a> <a href="https://zhub.link/tags/%D1%84%D1%80%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D0%B4" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>фронтенд</span></a> <a href="https://zhub.link/tags/%D1%80%D0%B5%D0%B0%D0%BA%D1%82" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>реакт</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%B0%D1%82%D1%82%D0%B5%D1%80%D0%BD%D1%8B" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>паттерны</span></a></p>
Habr<p>Заговор разработчиков против корпораций: архитектура и принципы</p><p>С момента написания предыдущей статьи я находился под пристальным вниманием. Попытка опубликовать материалы на англоязычных платформах обернулась фиаско — в первые же минуты легионы последователей тайного братства обрушились с критикой: — Нет никакой организации! — вопили они. Подозреваю, что слежка велась через мой телеграм-канал . Тем не менее я жив, а значит, пора поведать об архитектурной подлости неимоверных масштабов. Вы узнаете, как ведется борьба с крупными корпорациями изнутри и снаружи, как умы разработчиков заражают деструктивными идеями в обертке сакральных истин. Узнать тайны, о которых молчали</p><p><a href="https://habr.com/ru/articles/878620/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/878620/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/web_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>web_разработка</span></a> <a href="https://zhub.link/tags/oop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>oop</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/solid" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>solid</span></a> <a href="https://zhub.link/tags/dry" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dry</span></a> <a href="https://zhub.link/tags/system_design" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>system_design</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>архитектура</span></a> <a href="https://zhub.link/tags/clojure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clojure</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>совершенный_код</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%BE%D0%BD%D0%BE%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>монорепозиторий</span></a></p>
Habr<p>Современные языки программирования: как мода убила гениальность</p><p>Помните времена, когда код писали люди , а не роботы? Когда творчество ценилось выше слепого следования стандартам? Современные языки — это не эволюция, а индульгенция для лентяев , которые боятся мыслить. Rust, Go, TypeScript — фабрики по производству посредственности, где каждый ваш шаг контролирует «всезнающий» компилятор. Пора назвать вещи своими именами: мы променяли гениальность на мнимую безопасность, а свободу — на кандалы статических проверок . Это катастрофа. Увы, не все это понимают. Хотите узнать, почему? Читайте дальше!</p><p><a href="https://habr.com/ru/articles/878266/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/878266/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%BF%D1%8F%D1%82%D0%BD%D0%B8%D1%87%D0%BD%D0%BE%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>пятничное</span></a> <a href="https://zhub.link/tags/%D0%B8%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>искусственный_интеллект</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%BC%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>императивное_программирование</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B0%D0%BD%D0%B8%D1%84%D0%B5%D1%81%D1%82" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>манифест</span></a> <a href="https://zhub.link/tags/%D0%B1%D0%B5%D1%81%D1%81%D0%BC%D1%8B%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B8_%D0%B1%D0%B5%D1%81%D0%BF%D0%BE%D1%89%D0%B0%D0%B4%D0%BD%D1%8B%D0%B9_%D1%82%D0%B5%D1%81%D1%82" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>бессмысленный_и_беспощадный_тест</span></a></p>
Habr<p>[Перевод] Nix в пилюлях</p><p>Завершён перевод книги Люка Бруно «Nix в пилюлях». Для удобства читателей, собрал ссылки на все двадцать глав в одной публикации — здесь.</p><p><a href="https://habr.com/ru/articles/876240/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/876240/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nix</span></a> <a href="https://zhub.link/tags/nixos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nixos</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a></p>
Habr<p>[Перевод] 20. Nix в пилюлях: Основные зависимости и хуки</p><p>Финальная глава! Люка Бруно рассказывает о секретном оружии Nix — хуках. Их используют, когда больше ничего не помогает, в частности, для кросс-компиляции.</p><p><a href="https://habr.com/ru/articles/876226/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/876226/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nix</span></a> <a href="https://zhub.link/tags/nixos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nixos</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a></p>
Habr<p>[Перевод] 19. Nix в пилюлях: Основы stdenv</p><p>Эта глава посвящена деривации stdenv , благодаря которой собирается большинство пакетов из репозитория nixpkgs . Она поддерживает инструментарий GCC, GNU make, autotools и другие распространённые системы сборки.</p><p><a href="https://habr.com/ru/articles/875910/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/875910/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nix</span></a> <a href="https://zhub.link/tags/nixos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nixos</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a></p>
Habr<p>[Перевод] 18. Nix в пилюлях: Пути хранения Nix</p><p>Для того, чтобы различать пакеты разных версий, Nix хранит их в каталогах с именами, которые содержат хеш. В главе 18 мы разберёмся, как вычисляется этот хеш для файлов, каталогов и tar-архивов.</p><p><a href="https://habr.com/ru/articles/875528/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/875528/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nix</span></a> <a href="https://zhub.link/tags/nixos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nixos</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a></p>
Habr<p>[Перевод] 17. Nix в пилюлях: Переопределение пакетов nixpkgs</p><p>Знакомимся с интересным трюком, который позволяет функциональному языку Nix делать то, то, что в императивных пакетных менеджерах делается с пол-пинка. У них там, правда, dependency hell, а в Nix всё чинно и благородно.</p><p><a href="https://habr.com/ru/articles/875218/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/875218/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nix</span></a> <a href="https://zhub.link/tags/nixos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nixos</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a></p>
Habr<p>[Перевод] 16. Nix в пилюлях: Параметры nixpkgs</p><p>Вы начинаете сборку вашего пакета не на пустом месте. Репозиторий nixpkgs , куда входит ваш пакет, при запуске скрипта сборки передаёт ему параметры. В этой главе мы поговорим о двух основных параметрах: system и config .</p><p><a href="https://habr.com/ru/articles/875090/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/875090/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nix</span></a> <a href="https://zhub.link/tags/nixos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nixos</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a></p>
Habr<p>Заговор разработчиков против корпораций</p><p>Речь пойдет о тайной, сугубо анонимной организации, следы которой начал замечать еще в 2018-ом, работая в Яндексе. О целях и мотивах организации можно только догадываться: некоторые считают это кибер-луддизмом, другие — техно-анархизмом. Ясно одно: организация существует, ее члены уничтожают кодовые базы десятилетиями, и говорить об этом не принято. Читать далее на свой страх и риск</p><p><a href="https://habr.com/ru/articles/874610/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/874610/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/code_smell" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>code_smell</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%B4%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>идеальный_код</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%B4%D0%B8%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>идиоматичный_код</span></a> <a href="https://zhub.link/tags/%D0%B3%D0%BE%D0%B2%D0%BD%D0%BE%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>говнокод</span></a> <a href="https://zhub.link/tags/bad_practices" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bad_practices</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BE%D0%BF" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ооп</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%BE%D0%B9" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>управление_разработкой</span></a> <a href="https://zhub.link/tags/clojure" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clojure</span></a></p>
Habr<p>[Перевод] 15. Nix в пилюлях: Поисковые пути Nix</p><p>В Nix для поисках дериваций используется переменная окружения NIX_PATH . Она похожа на PATH , но есть и важные отличия. Разбираемся с тем, как устроен репозиторий nixpkgs .</p><p><a href="https://habr.com/ru/articles/872942/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/872942/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nix</span></a> <a href="https://zhub.link/tags/nixos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nixos</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a></p>
Habr<p>[Перевод] 14. Nix в пилюлях: Паттерн проектирования override (переопределение)</p><p>Продолжаем изучать паттерны проектирования, используемые при создании пакетов в Nix. В этой пилюле разберёмся с паттерном override (переопределение).</p><p><a href="https://habr.com/ru/articles/871224/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/871224/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nix</span></a> <a href="https://zhub.link/tags/nixos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nixos</span></a> <a href="https://zhub.link/tags/%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>функциональное_программирование</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>linux</span></a></p>