Pull to refresh
0
@scraychread⁠-⁠only

User

Send message

С 80-х по 2024-й: как создавались и оптимизировались CI-тесты

Reading time9 min
Views1.8K

Современные команды разработки тестируют каждое изменение кода перед мержем. Это не просто общепринятая традиция: наряду с ревью кода, это стандарт по умолчанию, применяемый практически во всех кодовых базах компаний. Мы называем его тестами CI (непрерывной интеграции). В результате их внедрения среднестатистическая организация запускает сотни наборов тестов в день.

В прошлом непрерывное интеграционное тестирование было с нами не всегда, в отличие от обычного тестирования. По моим наблюдениям, CI — это результат того, что тестирование всё больше ускоряется. Разберёмся, как это произошло и как тестирование будет ускоряться дальше.

Читать далее
Total votes 12: ↑11 and ↓1+14
Comments0

Основы Identity and Access Management (IAM) в архитектуре приложений

Reading time16 min
Views6.8K

Привет, Хабр!

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

Identity and Access Management (IAM) выступает как наша первая линия обороны. Оно не просто защищает наши данные, но и гарантирует, что правильные люди имеют доступ к нужной информации в нужное время. Каждая вторая транзакция в мире происходит онлайн, безопасность становится не просто приоритетом, а необходимостью.

IAM — это комплексная система, охватывающая многие процессы, которые организация использует для управления идентификацией пользователей и их доступом к различным ресурсам.

Читать далее
Total votes 12: ↑11 and ↓1+12
Comments9

Введение в ASGI: становление асинхронной веб-экосистемы Python

Reading time8 min
Views60K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca.



"Черепахи рядом с водоемом", Ricard Baraham на unsplash.com


Python не замыкается только на Data Science, веб-разработка на Python вернулась с новым асинхронным витком в развитии языка!


Сейчас происходит много важных событий в экосистеме веб-разработки на Python. Одним из основных драйверов этих изменений является ASGI — Asynchronous Server Gateway Interface.


Я уже несколько раз упоминал ASGI в моем блоге, в частности, когда анонсировал Bocadillo (асинхронный open-source веб-фреймворк на Python — прим.пер.) и tartiflette-starlette (библиотека для построения GraphQL API поверх HTTP через ASGI — прим.пер.), но я никогда не писал подробное введение о нем. Теперь я это сделаю.


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


Прежде чем мы начнем, я хотел бы рассказать, что недавно создал awesome-asgi — отличный список для отслеживания постоянно расширяющейся экосистемы ASGI.

Читать дальше →
Total votes 20: ↑19 and ↓1+26
Comments6

Ритмы нашего дыхания — и как они влияют на эмоции, память и ум

Reading time10 min
Views14K

Если вам посчастливится дожить до 80 лет, то за свою жизнь вы сделаете около миллиарда вдохов и выдохов, пропустив через себя столько воздуха, что им можно было бы наполнить примерно 50 больших дирижаблей. Мы делаем около 20 000 вдохов в день, всасывая кислород для питания наших клеток и избавляя организм от углекислого газа, который накапливается в ходе метаболизма.

Дыхание происходит настолько автоматически, что мы не обращаем на него внимания. Хотя это физиологическое чудо — очень надежное и невероятно гибкое. Частота нашего дыхания может мгновенно измениться в ответ на стресс, возбуждение или увеличение физической активности. К тому же, дыхание настолько органично скоординировано с другими видами деятельности, такими как прием пищи, разговор или смех, что мы даже не замечаем, как оно меняется, чтобы приспособиться к ним.

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

Читать далее
Total votes 26: ↑22 and ↓4+26
Comments2

Три уровня биохакинга. Как можно снова стать 18-летним за $2 млн в год

Reading time11 min
Views91K

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

Понятно, что таким часто страдают спортсмены, для которых здоровье — это всё. Например, теннисист Новак Джокович, 35 лет, любит сидеть в камере под высоким давлением, чтобы обогатить свою кровь кислородом. Американский футболист Том Брэди в 45 лет принимает «антивозрастные» добавки, наносит на кожу увлажняющие порошки и катает по телу специальные вибрирующие шарики для улучшения гибкости мышц. А Криштиану Роналду выглядит моложе своих 38 лет за счет строгой диеты из яиц, батата и брокколи и регулярных «ванн» в своем личном кислородном резервуаре (гипербарическая оксигенотерапия).

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

Здесь, как обычно, есть три уровня: от начинающего хакера, впервые узнавшего, что такое root-доступ, и до бога-взломщика своего тела, на которого работает целый подпольный синдикат.

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

Осторожно, в посте много фото!

Читать далее
Total votes 55: ↑39 and ↓16+42
Comments257

Научные способы побороть усталость: ноотропы, кофе и нейротехнологии

Reading time17 min
Views121K


Недавно я заметил, что устал быть уставшим. Но можно ли это исправить? Я часто и много пью кофе – оно помогает, но ненадолго. А есть ли что-нибудь ещё не менее эффективное? В общем, после того как мне пришли эти мысли я решил закопаться в научную литературу: что известно про доказанные инструменты борьбы с усталостью. Как борются с усталостью биохакеры? Здесь я поделюсь личным расследованием того, что публикуют ученые о борьбе с усталостью.

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

Инициаторами таких исследований являются, как правило, вооруженные силы, и первоначально проводятся они для оптимизации профессий, требующих особую собранность и выносливость: летчики, пехотинцы, водители. Существует, однако, целое сообщество биохакеров (или даже – «нейрохакеров»), которые немедленно берут такие технологии «на вооружение» и начинают самостоятельно использовать их в домашних условиях.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments334

Ликбез по Крионике: простым языком на сложную тему

Reading time16 min
Views31K
Коль скоро это ликбез, давайте начнем с азов. Что же такое крионика? Если говорить с точки зрения потребителя, то лучшее определение крионики — это страхование жизни. Только не тот эвфемизм, который используется сегодня для обозначения выплаты вашим близким после вашей смерти, а реальное, настоящее страхование вашей собственной жизи. Способ хеджирования рисков катастрофической потери вашего самого ценного актива — вашей жизни.

Если же говорить с точки зрения технологии, то крионика это некое введение организма в состояние длительной паузы (анабиоз) для того, чтобы в будущем этот организм восстановить, вернуть к жизни. А чтобы достичь этой паузы, крионика использует технологию охлаждения тела до очень низких температур.

Для чего вообще она нужна, эта крионика? Ответ простой. Потому что у наших организмов есть одна неприятная особенность. Они умирают. И никому это не нравится, но большинство людей предпочитает придумывать себе оправдания почему им необходимо с этим смириться. Единицы же смиряться отказываются и решают попытаться научными методами увеличить наши шансы на выживание. Один из плодов труда таких единиц — крионика. Другие плоды вы тоже наверняка встречали — дефибрилляторы, аппараты исскуственной вентиляции легких, кардиостимуляторы, технология пересадки органов, вакцины и антибиотики.
Total votes 66: ↑63 and ↓3+60
Comments148

Старение и бессмертие: взгляд биолога

Reading time9 min
Views100K

Когда я обучался в магистратуре, нам читал лекции профессор Валерий Степанович Тырнов, исследователь старения. Натура увлечённая, он рассказывал немало удивительного. Например, о том, что обнаружил на сыре штамм плесени, способный расти при отрицательных температурах, который содержит в морозилке, несмотря на протест жены. Профессор надеялся принять с этим штаммом участие в экспериментах, изучающих возможности терраформирования Марса. Ещё он рассуждал о внедрении в геном человека генов, отвечающих за фотосинтез, с целью получения «зелёных человечков», питающихся солнечным светом. Когда я сдавал экзамен профессору, у него уже отказывало зрение. В следующем семестре Валерий Степанович умер. Он пытался успеть победить старение, но не успел. Рассуждая вслух, Валерий Степанович говорил, что первый заметный признак старения у человека проявляется очень рано, зачастую – в подростковом возрасте. Это – кариес постоянных зубов.

Читать далее
Total votes 56: ↑48 and ↓8+66
Comments458

Мокрый гараж или о сложности биохакерских стартапов. Guest Post

Reading time11 min
Views5.2K

Привет, Хабр.

Я отлучался в небольшой отпуск, настоящим бриллиантом в ткани которого стало стояние в пробке на каршеринге совместно с @Boomburum. Пробка была настолько сурова, что мы успели заварить мановар и прослушать полную версию "Sons of Odin" ("...they killed men and horses alike! And all who stood before them died that day"). Именно поэтому неделя не обойдётся без очередного гостевого поста за авторством любезно подменившей меня Анастасии Новосадской @anastasiamrrиз команды «Биореактора» @InBioReactor. Пост мне очень понравился, добро пожаловать под кат.

Читать далее
Total votes 16: ↑11 and ↓5+15
Comments2

Штурм и натиск генной терапии старения

Reading time66 min
Views21K

Экспрессия генов и генная терапия


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

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

Способ борьбы с этими изменениями заключается во введении в клетку новой генетической информации, призванной исправить ту, с которой связана болезнь.

Вначале немного углубимся в теорию. Молекула ДНК — дезоксирибонуклеиновая кислота — является носителем кода, который управляет развитием и функционированием всего живого. В ДНК содержится программа, которая обеспечивает превращение одной единственной исходной клетки в слаженно работающий организм, состоящий из многочисленных клеток, объединенных в разнообразные ткани и органы.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments54

Дети, родившиеся через 50 лет, доживут до своего 150-летия. Как это будет

Reading time9 min
Views15K

Гильгамеш достает растение вечной жизни с морского дна

Поиск эликсира бессмертия — древнейшая сказка в мире. В прямом смысле. Самая старая письменная история, известная историкам, — «Эпос о Гильгамеше», впервые записанный шумерской клинописью на глиняных табличках около 4000 лет назад на территории современного Ирака. В нем царь Гильгамеш ищет растение, дарующее вечную жизнь. (И находит его, но хитрая змея крадет его прежде, чем он успевает им воспользоваться.)


У каждой цивилизации есть своя версия этой истории. Фонтан Молодости, Философский Камень. Человеческая жизнь коротка, старение и смерть приходят слишком рано, и люди во все времена думали о том, как можно их предотвратить.


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

Читать дальше →
Total votes 37: ↑33 and ↓4+33
Comments34

Руководство по программированию сокетов на Python. Клиент, сервер и несколько соединений

Reading time20 min
Views28K


К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python. Для удобства чтения первая часть — за спойлером.
Посмотреть
Total votes 5: ↑3 and ↓2+1
Comments4

Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP

Reading time9 min
Views172K
От переводчика: Это перевод первой статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.


Привет, меня зовут Гленн Фидлер и я приветствую вас в первой статье из моей онлайн-книги “Сетевое программирование для разрабочиков игр”.

image

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

Вы, скорее всего, уже что-нибудь слышали о сокетах, и, возможно, знаете, что они делятся на два основных типа — TCP и UDP. Первое, что нужно решить при разработке многопользовательской игры — это какой тип сокетов использовать — TCP, UDP, или оба?
Читать дальше →
Total votes 86: ↑75 and ↓11+64
Comments53

Начинающему сетевому программисту

Reading time17 min
Views126K

Тема сетевого программирования является для разработчиков одной из важнейших в современном цифровом мире. Правда, надо признать, что большая часть сетевого программирования сосредоточена в области написания скриптов исполнения для web-серверов на языках PHP, Python и им подобных. Как следствие - по тематике взаимодействия клиент-сервер при работе с web-серверами написаны терабайты текстов в Интернете. Однако когда я решил посмотреть, что же имеется в Интернете по вопросу программирования сетевых приложений с использованием голых сокетов, то обнаружил интересную вещь: да, такие примеры конечно же есть, но подавляющее большинство написано под *nix-системы с использованием стандартных библиотек (что понятно – в области сетевого программирования Microsoft играет роль сильно отстающего и менее надежного «собрата» *nix-ов). Другими словами все эти примеры просто не будут работать под Windows. При определенных танцах с бубнами код сетевого приложения под Linux можно запустить и под Windows, однако это еще более запутает начинающего программиста, на которого и нацелены большинство статей в Интернете с примерами использования сокетов.

Ну а что же с документацией по работе с сетевыми сокетами в Windows от самой Microsoft? Парадоксальность ситуации заключается в том, что непосредственно в самой документации приведено очень беглое описание функций и их использования, а в примерах имеются ошибки и вызовы старых «запрещенных» современными компиляторами функций (к примеру, функция inet_addr() - https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen ) - такие функции конечно же можно вызывать, заглушив бдительность компилятора через #define-директивы, однако такой подход является полным зашкваром для любого даже начинающего программиста и категорически не рекомендуется к использованию. Более того, фрагмент кода в примере от Microsoft по ссылке выше.

Читать далее
Total votes 13: ↑12 and ↓1+14
Comments50

Сетевое программирование для разработчиков игр. Часть 2: прием и передача пакетов данных

Reading time9 min
Views106K
От переводчика: Это перевод второй статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.
Первая статья — http://habrahabr.ru/post/209144/



Прием и передача пакетов данных


Введение

Привет, меня зовут Гленн Фидлер и я приветствую вас в своей второй статье из цикла “Сетевое программирование для разработчиков игр”.


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

А сейчас я собираюсь рассказать вам, как на практике использовать UDP для отправки и приема пакетов.

BSD сокеты

В большинстве современных ОС имеется какая-нибудь реализация сокетов, основанная на BSD сокетах (сокетах Беркли).

Сокеты BSD оперируют простыми функциями, такими, как “socket”, “bind”, “sendto” и “recvfrom”. Конечно, вы можете обращаться к этим функциями напрямую, но в таком случае ваш код будет зависим от платформы, так как их реализации в разных ОС могут немного отличаться.

Поэтому, хоть я далее и приведу первый простой пример взаимодействия с BSD сокетами, в дальнейшем мы не будем использовать их напрямую. Вместо этого, после освоения базового функционала, мы напишем несколько классов, которые абстрагируют всю работу с сокетами, чтобы в дальнейшем наш код был платформонезависимым.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments20

Оценка коммуникативных навыков

Level of difficultyEasy
Reading time6 min
Views5.2K

IT – это область, в которой коммуникативные навыки являются ключевыми факторами успеха в карьере. В современной быстро меняющейся реальности, сотрудники IT-сектора должны гибко адаптироваться к новым требованиям и быстро реагировать на изменения внутри и вне организации. Кроме того, сотрудники IT должны постоянно работать над улучшением качества коммуникации как внутри коллектива, так и с заказчиками и партнерами. Безусловно, технические знания и навыки также крайне важны, но коммуникативные способности могут стать превосходным разрывом между теми, кто достигает успеха, и теми, кто сталкивается с трудностями в своей карьере. 

В этой статье мы изучим, как эффективно оценивать коммуникативные навыки потенциальных сотрудников и почему это так важно для успешной карьеры в IT.

Читать далее
Total votes 11: ↑8 and ↓3+6
Comments0

Цепочка ответственности с частичными функциями Scala

Reading time2 min
Views1.4K

Частичная функция (в отличие от полной) — это функция, которая определена не для всех возможных входных данных. Частичная функция g: A => B — это функция, для которой существуют некоторые значения a в области A такие, что g(a) не определена. Scala имеет хорошую поддержку частичных функций.

Читать далее
Total votes 9: ↑6 and ↓3+4
Comments0

SRE MELT: USE, RED, LETS, STELA

Level of difficultyEasy
Reading time12 min
Views3.3K

Привет Хабр! Сегодня поговорим об основных практиках мониторинга в рамках SRE.

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

Читать далее
Total votes 6: ↑5 and ↓1+6
Comments0

Важные качества Team Lead

Level of difficultyEasy
Reading time4 min
Views5.7K

Team Lead — это не просто должность, а целый пакет компетенций, которые необходимы для эффективного управления командой. Организация работы, мотивация, развитие, работа с руководством, управление конфликтами и, конечно же, ответственность за результат — все это в обязанностях Team Lead. В этой статье мы расскажем об этом подробнее и поможем вам разобраться в том, что ваше руководство не говорит вам, но все еще ожидает от вас.

Читать далее
Total votes 11: ↑8 and ↓3+7
Comments1

Изменение бизнес-моделей ведения бизнеса с использованием цифровых технологий

Reading time8 min
Views2.4K

Долгосрочный конкурентный успех компании зависит от ее умения создавать инновационную бизнес-модель. По сути, многие известные истории успеха начинались именно с появления именно инновационной бизнес-модели, а не превосходного продукта

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments0
1

Information

Rating
Does not participate
Registered
Activity