Здесь собраны лучшие и самые полезные репозитории Github, которые будут служить вам долгое время.
User
Модернизация старого PHP-приложения
Недавно мне выдалась случайная возможность поработать с несколькими старыми PHP-приложениями. Я заметил несколько распространённых антипаттернов, которые пришлось исправлять. Эта статья не о том, как переписывать старое PHP-приложение на <вставьте сюда название чудесного фреймворка>, а о том, как сделать его более удобным в сопровождении и менее хлопотным в работе.
Создание CI/CD-цепочки и автоматизация работы с Docker
ftp://ftp.example.com
. Потом надо было ввести имя и пароль и выгрузить файлы на сервер. Другие были времена, всё тогда было проще, чем сейчас.За прошедшие с тех пор два десятилетия всё изрядно изменилось. Сайты стали сложнее, их, перед выпуском в продакшн, надо собирать. Один единственный сервер стал множеством серверов, работающих за балансировщиками нагрузки, обычным делом стало использование систем контроля версий.
Для моего персонального проекта у меня была особая конфигурация. И я знала, что мне нужна возможность разворачивать сайт в продакшне, выполняя всего одно действие: запись кода в ветку
master
на GitHub. Я, кроме того, знала, что мне, для обеспечения работы моего маленького веб-приложения, не хочется заниматься управлением огромным кластером Kubernetes, или пользоваться технологией Docker Swarm, или поддерживать парк серверов с подами, агентами и всякими другими сложностями. Для того чтобы достичь цели по максимальному упрощению работы, мне понадобилось познакомиться с CI/CD.Если у вас имеется маленький проект (в нашем случае речь идёт о Node.js-проекте) и вам хотелось бы узнать о том, как автоматизировать развёртывание этого проекта, сделав при этом так, чтобы то, что хранится в репозитории, в точности соответствовало бы тому, что работает в продакшне, то, полагаю, вас может заинтересовать эта статья.
Cложный код или история одного интервью
«Двойное дно Telegram» — Конкурс на $5000
Сегодня недооценивают проблему конфиденциальности с «тыла». Никто из нас не застрахован от того, что под давлением мы будем вынуждены показать переписку с рук. В роли принуждающего может быть кто угодно, начиная от злоумышленника и заканчивая пограничником, в любой точке мира.
Ни один из популярных мессенджеров не имеет защиты от подобной «атаки». Мы предлагаем тебе исправить эту ситуацию на основе открытого кода Telegram. Если твое решение окажется лучшим, то ты получишь 5000$. Твоей задачей будет разработать принцип «двойного дна» в оригинальном клиенте Telegram.
Идея «двойного дна» в том, чтобы юзер, будучи под давлением, мог открыть Telegram и показать пустой аккаунт, где нет важных переписок. При этом злоумышленник не поймет, что ему показали лишь один из нескольких аккаунтов, скрытых в мессенджере.
Подробнее о конкурсе на нашем Telegram-канале @postuf
Хиральность, космические лучи и эволюция
Случайности неслучайны, по крайней мере, если более пристально рассмотреть законы природы, управляющие миром вокруг нас. Каждый элемент, каждая молекула подчиняются определенным правилам, нарушив которые они могут попросту перестать существовать. Вся структура мироздания, несмотря на видимый хаос, весьма упорядочена. Правда не всегда удается понять, почему все устроено именно так, и никак иначе. Сегодня мы познакомимся с исследованием, в котором ученые из Стэнфордского университета (США) выдвинули теорию о том, что один из основополагающих элементов нашего мира, хиральность, был сформирован посредством длительного влияния космических лучей. Что такое хиральность, как именно космические лучи повлияли на ее формирование и как это проверить? Ответы ждут в докладе ученых. Поехали.
Коронавирус: почему надо действовать прямо сейчас
Вступление
Учитывая всё, что происходит с коронавирусом, может оказаться очень сложно принять решение, что делать прямо сейчас. Стоит ли подождать, пока станет больше информации? Надо ли предпринять что-то уже сегодня? Если да, то что?
В этой статье со множеством графиков, данных и моделей из большого числа источников мы постараемся ответить на вопросы:
- Сколько людей заболеют коронавирусом в вашем регионе?
- Что случится, когда они начнут заболевать?
- Что вы должны делать?
- Когда?
Когда вы закончите читать статью, вы придёте к следующим выводам:
- Коронавирус приближается к вам.
- Он приближается с экспоненциальной скоростью: сперва постепенно, а потом внезапно.
- Это вопрос нескольких дней. Может быть, неделя или две.
- Когда это случится, ваша система здравоохранения будет перегружена.
- Ваши сограждане будут лечиться в коридорах.
- Изможденные медицинские работники сломаются. Некоторые погибнут.
- Им придётся решать, кто из пациентов получит лечение, а кто умрет.
- Единственный способ предотвратить это — социальная изоляция уже сегодня. Не завтра. Сегодня.
- Это значит держать как можно больше людей дома, начиная с сегодняшнего дня.
Если вы политик, общественный деятель или руководитель, у вас есть власть и ответственность, чтобы предотвратить описанное выше.
Сейчас вы можете опасаться: что, если это избыточная реакция? Не станут ли люди смеяться надо мной? Вдруг они разозлятся на меня? Не буду ли я выглядеть глупо? Не лучше ли подождать, пока другие сделают первые шаги? Что, если это слишком навредит бизнесу?
Однако через 2-4 недели, когда весь мир будет закрыт и изолирован, когда окажется, что несколько драгоценных дней социальной изоляции, которые вы организовали, спасли жизни, вас больше не будут критиковать. Люди будут благодарить вас за то, что вы приняли правильное решение.
Итак, давайте разбираться.
Инструменты Domain Driven Design
Когда разработчики работали над китом, то не стали писать все с нуля, а использовали наработки из старых проектов. Он словно слеплен из несовместимых частей кода, которые не тестировались, а все проектирование сводилось к выбору фреймворка и к срочному «велосипедированию» уже в продакшне. В итоге получился проект красивый внешне, но с кусками дремучего легаси и костылей под капотом.
Для создания проектов, которые помогают бизнесу зарабатывать, а не похожих на морское животное, которое не может дышать под водой, есть DDD. Это подход, который фокусируется не на инструментах или коде, а на изучении предметной области, отдельных бизнес-процессов и на том, как код или инструменты работают для бизнес-логики.
Что такое DDD и какие инструменты в нем есть, мы расскажем в статье на основе доклада Артема Малышева. Подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка — все это под катом.
Предсказываем финансовые кризисы с помощью Python
Ждет ли нас глобальная рецессия? В этой статье мы попробуем разобраться как можно заранее увидеть сигналы начала рецессии средствами Python.
Laravel+Docker+Gitlab. С чего начать
Всю работу можно разделить на три части: на локальной машине, на гитлабе и на сервере.
Итак, для реализации проекта нам понадобится аккаунт gitlab и удаленный сервер с виртуализацией KVM или XEN.
Часть 1. Локальная машина
На локальной машине необходимо установить docker.
React.js: собираем с нуля изоморфное / универсальное приложение. Часть 1: собираем стек
Лицо моей жены, когда она вычитывала эту статью
Я решил написать цикл статей, который и сам был бы счастлив найти где-то полгода назад. Он будет интересен в первую очередь тем, кто хотел бы начать разрабатывать классные приложения на React.js, но не знает, как подступиться к зоопарку разных технологий и инструментов, которые необходимо знать для полноценной front-end разработки в наши дни.
Я хочу с нуля реализовать, пожалуй, наиболее востребованный сценарий: у нас есть серверная часть, которая предоставляет REST API. Часть его методов требует, чтобы пользователь веб-приложения был авторизован.
Книга «Вселенная. Путешествие во времени и пространстве»
«О если бы писали мы о том лишь, что доподлинно известно, подумайте, о трезвые умы, как было бы читать неинтересно!»
Это рассказ о наших шагах на пути познания Вселенной — от кипящей и бурлящей материи до разумных существ; от самых примитивных, сказочных и мифических представлений об устройстве космоса до сегодняшних, поражающих воображение теорий и гипотез; от черных дыр, тоннелей через время и пространство, до микроскопических частиц, в которых заключены свои миры со своими физическими законами.
А главное — эта книга о том, что будет дальше с человечеством и Вселенной. Ведь похоже, что мы в самом начале пути и впереди еще много интересного — того, что сбудется на самом деле!
Музей космонавтики
Cassandra. Как не умереть, если знаешь только Oracle
Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Oracle или любой другой реляционной базы вы ничего не видели, эти вещи спасут вам жизнь.
Чем хороша Cassandra? Это NoSQL-база данных, cпроектированная без единой точки отказа, которая хорошо масштабируется. Если вам нужно добавить пару терабайт для какой-нибудь базы, вы просто добавляете ноды в кольцо. Расширить ее на еще один дата-центр? Добавляете ноды в кластер. Увеличить обрабатываемый RPS? Добавляете ноды в кластер. В обратную сторону тоже работает.
В чем еще она хороша? В том, чтобы обрабатывать много запросов. Но много — это сколько? 10, 20, 30, 40 тысяч запросов в секунду — это немного. 100 тысяч запросов в секунду на запись — тоже. Есть компании, которые говорили, что они держат 2 млн. запросов в секунду. Вот им, наверное, придется поверить.
И в принципе у Cassandra есть одно большое отличие от реляционных данных — она вообще на них не похожа. И об этом очень важно помнить.
Свидетельства, по нескольку десятилетий обманывавшие учёных
В науке можно найти удивительно мало доказанных фактов. Вместо этого учёные часто рассуждают о том, сколько свидетельств существует в пользу их теорий. Чем больше свидетельств, тем сильнее теория и тем больше людей с ней соглашаются.
Учёные обычно очень осторожно подходят к сбору свидетельств и тщательной проверке своих теорий. Но в истории науки есть несколько ключевых, хотя и редких, примеров того, как свидетельства оказались настолько обманчивыми, что заставили всё научное сообщество верить в то, что позже было признано совершенно неверным.
Обычно учёные при сборе свидетельств делают предсказания чего-либо, и смотрят, насколько они оказались правы. Проблемы случаются, когда предсказания оказываются правильными, а теория, использовавшаяся для их создания, оказывается неправильной. Предсказания, кажущиеся особенно рискованными, и оказавшиеся правильными, кажутся очень убедительными свидетельствами, как часто подчёркивали Карл Поппер и другие философы науки. Но история показывает, что даже очень убедительные свидетельства могут обмануть нас.
«Резни не будет» — рассказ о переводе «Червя»
В конце прошлого года случилось давно ожидаемое литературное событие — группа переводчиков, которая в течении пяти лет переводила роман «Червь» известного канадского писателя Джона МакКрэя, пишущего под псевдонимом «Wildbow», наконец-то завершила работу.
Если вы не слышали об этом романе, или не брались за него по причине незавершенности перевода, то я вам даже немного завидую — вас ожидает пара месяцев (а то и полгода — роман чудовищно, невообразимо огромен) отличного чтения. «Червь» сложный, многоплановый НФ триллер со сложным рациональным сюжетом. (Немного больше здесь:)
Внимание: Опасайтесь спойлеров — роман к ним чувствителен. Поэтому, если вы не прочли роман — лучше всего отложить чтение статьи и скачать книгу. Помните: несмотря на то, что текст распространяется свободно, автору очень нужны ваши пожертвования — это основной источник его доходов.Ну, а тех из читателей, что уже прочли роман, я приглашаю познакомиться с «Клубом любителей попереводить Червя» — с командой, подарившей нам русский перевод. Уверен, что даже далеким от литературы читателям Хабра будет интересно ознакомиться с опытом организации успешного проекта, связавшего воедино множество творческих личностей.
Письмо начинающему изучать Data Science
Я бы хотел получить такое письмо три года назад, когда только начинал изучать Data Science (DS). Чтобы там были необходимые ссылки на полезные материалы. Статья не претендует на полноту охвата необъятной области DS. Однако для начинающего специалиста будет полезна.
Принцип увеличения гибкости характеристик современных автомобильных ДВС
Насколько важно иметь совершенный код в программе для ее быстрой и качественной работы? Настолько же важно для ДВС тратить меньше энергии там, где этих затрат можно избежать.Прошлая статья из-за упрощений вызвала вопросы критического характера у части хабра-людей. В этой я попробую ответить на них подробнее как и обещал, а так же раскрыть один из основных принципов ДВС последних десятилетий упомянутый в статье «Эволюция развития автомобильных двигателей с начала 90-х годов.»
Книга «Нереальная реальность. Путешествие по квантовой петле»
«Главный парадокс науки состоит в том, что, открывая нам твердые и надежные знания о природе, она в то же время стремительно меняет ею же созданные представления о реальности. Эта парадоксальность как нельзя лучше отражена в книге Карло Ровелли, которая посвящена самой острой проблеме современной фундаментальной физики — поискам квантовой теории гравитации. Упоминание этого названия многие слышали в сериале “Теория Большого взрыва”, но узнать, в чем смысл петлевой гравитации, было почти негде. А между тем эта теория — один из важных игроков на переднем крае фундаментальной физики», — Александр Сергеев, сооснователь, автор заданий и завлаб проекта «Открытая лабораторная».
Chaos Engineering: искусство умышленного разрушения. Часть 1
«Но за всей этой красотой скрывается хаос и безумие». — Tanner Walling
Пожарные. Эти высококвалифицированные специалисты каждый день рискуют жизнью, борясь с огнем. Знаете ли вы, что перед тем, как стать пожарным, необходимо провести в тренировках минимум 600 часов? И это только начало. Согласно отчетам, пожарные тренируются до 80% своего рабочего времени.
Почему?
Information
- Rating
- Does not participate
- Registered
- Activity