Как стать автором
Обновить
80
0
Алексей Корнеев @spasibo_kep

я сделаль

Отправить сообщение

Будьте в курсе развития RISC-V: обсуждаем обновления в разработке и изучаем бенчмарки серверов на открытой архитектуре

Время на прочтение2 мин
Количество просмотров2.3K

Если вы интересуетесь развитием открытой архитектуры или занимаетесь разработкой систем под нее, не пропустите бесплатный митап российского Альянса RISC-V. Он объединяет независимых разработчиков вычислительной техники и программного обеспечения на основе свободной архитектуры. 

15 апреля в 19:00 представители альянса соберутся, чтобы обсудить последние разработки и опыт работы с RISC-V-системами. Регистрируйтесь на митап, чтобы подключиться онлайн и быть в курсе развития экосистемы RISC-V в России. Узнаете о поддержке RISC-V в Linux и результатах анализа производительности доступных на рынке RISC-V-серверов. Подробнее о программе — под катом.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Ешьте продукты с буквой Ф: офефки, моркофку и фуфарики

Время на прочтение17 мин
Количество просмотров11K
image

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

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

И если ваш стоматолог так не делает, то это повод сходить к ортодонту самостоятельно.

Сустав человека стал таким ещё и потому, что возникла речь. Артикуляция — это сложная функция, именно для её реализации анатомия сустава усложнилась в ущерб «прочности».

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

При этом у имплантов со всеми их плюсами есть один очень ощутимый минус — они неподвижны, так что брекетами их с места не сдвинешь. Вспоминают про это почему-то, только когда всё уже очень заболело и срочно нужно что-то делать. Однажды я даже отправила пациента удалять имплант. Нам обоим это было очень обидно (а пациенту ещё и дорого): ну а что я могу сделать, если кто-то полгода назад отказался от ортодонтии, когда к ней были прямые показания?..

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

Что делать, чтобы как можно дольше височно-нижнечелюстной сустав работал хорошо, мы сегодня и будем разбираться. Кровавых картинок не будет, заглядывать под кат можно (и нужно) смело.
Читать дальше →
Всего голосов 45: ↑39 и ↓6+43
Комментарии24

Решаем задачу асинхронного ввода-вывода с библиотекой Asio

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.2K

Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. 

На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и низкоуровневого программирования ввода-вывода. Она предлагает свою асинхронную модель. Технология отлично справилась с нашей задачей, и я хочу поделиться с вами опытом ее использования. Под катом расскажу, какие решения я рассматривал для асинхронного ввода-вывода и почему остановился на Asio.

Узнать больше →
Всего голосов 14: ↑13 и ↓1+15
Комментарии22

Seastar как платформа для опорной сети 5G и краткое сравнение с Boost.Asio, userver и другими

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров4.4K

Я исследовал некоторые open-source фреймворки — кандидаты на платформу для опорной сети пятого поколения операторского уровня, и хочу поделиться своими выводами. Под катом я сравню Seastar, mTCP, Boost.Asio, userver и ACE, расскажу, почему примитивы синхронизации — это плохо, а затем погружу вас в глубины Seastar.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии10

Ключевые характеристики материалов для производства печатных плат

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров13K

В этой статье мы пройдемся по типовой технической спецификации — документу, в котором собраны требования к базовым материалам для печатной платы: фольга́м, препрегам и ко́рам. Поймём, как формируются эти требования. И что важно учитывать, чтобы плата не отправилась в утиль на этапе производства, монтажа или эксплуатации.  

Читать далее
Всего голосов 46: ↑45 и ↓1+58
Комментарии28

Что нам несет Python 3.12

Время на прочтение3 мин
Количество просмотров34K

Переписали виртуальную машину на новый DSL

И теперь ее гораздо проще менять, оптимизировать и проводить эксперименты.

В качестве примера, можно посмотреть на попытку добавления register-based интерпретатора. Другой пример, что часто два опкода идут вместе и выполняются последовательно большую часть времени. Например, LOAD_CONST и RETURN_VALUE. Для оптимизации, можно добавить новый опкод этой операции. Вместо двух действий он будет выполнять одно. На частых задачах получится неплохая прибавка к производительности. 

Еще один пример: опкод CALL_FUNCTION. Сам по себе довольно медленный. У него есть целая семья оптимизаций, например специализация CALL_FUNCTION_ISINSTANCE, когда мы выкидываем промежуточный слой и сразу вызываем C-реализацию isinstance. Минус в том, что Python богатый и динамически типизированный язык. В runtime может что-то поменяться и мы получим замедление — придется сваливаться обратно на общий путь опкода CALL_FUNCTION.

Читать далее
Всего голосов 44: ↑44 и ↓0+44
Комментарии10

Главное из мира Python за январь 2023

Время на прочтение3 мин
Количество просмотров5.5K

Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения.

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии3

Зачем архитектору Pet project?

Время на прочтение6 мин
Количество просмотров6.9K

Эта статья – о Pet project, собственных проектах, которыми многие из нас занимаются в свободное время. Поговорим о том, нужны ли такие увлечения архитектору и как Pet project может помочь в работе. Также я расскажу о своих проектах и опыте, который я с их помощью получил. Добро пожаловать под кат!

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии8

Controller, но не Massive: реализуем список карточек для iOS 13+ и 11+ с учетом практик чистого кода

Время на прочтение9 мин
Количество просмотров4.1K

Привет! Когда мне по работе понадобилось реализовать список карточек на связке UICollectionView и UICollectionViewCompositionalLayout для iOS 13+, я не нашел хорошего примера. Написал свой и хочу поделиться с сообществом. А заодно показать реализацию для iOS11+.

Примеры можно адаптировать под свои задачи, а все исходники вы найдете в Github-репозитории в конце поста. Поехали!

Читать далее
Всего голосов 10: ↑9 и ↓1+12
Комментарии2

Обновляем контент, не проходя повторное ревью в сторах

Время на прочтение5 мин
Количество просмотров4.3K

Всем привет, я Дима из мобильной команды Туту, мы делаем приложения с 20М инсталлов. Расскажу, как можно быстро добавлять в приложение новый контент и обновлять его, не проходя повторные ревью в сторах. Это нужно, например, когда мы хотим быстро донести до людей коронавирусные ограничения.

Ниже реализация на SwiftUI и Kotlin (но вы можете использовать UIkit и серверный язык, принятый в вашей команде), а в GitHub-репозитории в конце статьи вы найдёте код сервера и приложений для детального изучения.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

4,5 года из жизни iOS-команды в пяти историях и одном техрадаре

Время на прочтение5 мин
Количество просмотров4.6K

Как мы шли к одной архитектуре, чтобы прийти к нескольким. Как режем большое приложение, чтобы у каждой фича-команды была комфортная зона ответственности. И что и у кого мы подсмотрели, чтобы писать хорошие тесты. Часть решений может шокировать. Поехали!

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

Каким 2021 запомнится PHP-сообществу?

Время на прочтение2 мин
Количество просмотров6K

Громкие уходы и обещанные релизы, полезные статьи и видео, крутые инструменты. Собираем картину уходящего года глазам сообщества во втором ежегодном опросе. Найди 5 минут, чтобы подвести итоги своего PHP-года — подробности под катом. 

Читать далее
Всего голосов 34: ↑34 и ↓0+34
Комментарии3

Результаты исследования рынка Developer Relations в РФ и СНГ: Лето 2021

Время на прочтение10 мин
Количество просмотров9.5K

Я занимаюсь Developer Relations уже шестой год. Профессия новая. Мне очень хотелось увидеть российский деврел в полном объеме: поискать не только ответы, но и сформулировать новые вопросы в нашей индустрии. Откуда в неё приходят, как развиваются, с какими сложностями сталкиваются? Поэтому я провела исследование, в котором участвовали 77 специалистов по Developer Relations. Планирую его повторять ежегодно.

Читать далее
Всего голосов 43: ↑40 и ↓3+53
Комментарии19

Партицирование таблиц в PostgreSQL: чек-лист для старта

Время на прочтение13 мин
Количество просмотров48K

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

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

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии31

«Ну что, я уже мидл?»: байки из-за кулис онлайн ИТ-курсов

Время на прочтение10 мин
Количество просмотров16K

Ребята из наших команд любят делиться экспертизой — выступают на конференциях и митапах, пишут статьи на Хабр, ведут блоги, подкасты и каналы. Есть еще одна группа — те, кто преподает на ИТ-курсах.

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

Читать далее
Всего голосов 18: ↑11 и ↓7+7
Комментарии9

Как оставаться отказоустойчивым, переходя на микросервисы на PHP (и как правильно падать)

Время на прочтение8 мин
Количество просмотров12K

Когда-то вы кодили на одном большом и могучем серваке, с кучей памяти и кучей процов. Сервер был безграничен, все ваши сервисы были здесь, все ваши Redis’ы и даже зачастую MySQL-и были тут. Все ваши приложения были здесь же: какая-то аналитика, какой-то бэкенд для админки, еще десяток сервисов — все было рядом. 

Но вот вы заехали в Swarm. Все приложения — это набор контейнеров. А контейнеры это, по сути, набор микросерверов со своей файловой системой, своей памятью, своими процами. И они уже не всегда рядом. Соответственно, это тянет за собой некоторые изменения. 

Читать далее
Всего голосов 16: ↑15 и ↓1+17
Комментарии2

Всегда старайтесь быть н̶е̶заменимым

Время на прочтение3 мин
Количество просмотров42K
Есть хорошая жизненная философия, которой можно придерживаться на рабочем месте, — это «постоянно быть готовым увольняться» («always be quitting»). Это не значит думать о том, чтобы уйти с работы. Но вести себя так, как будто вы можете уйти в кратчайшие сроки. Парадоксально, но это сделает вас лучшим инженером и откроет возможности для роста.

Так что же значит «постоянно быть готовым уйти»? Это означает «сделать себя заменимым»; «унизить себя»; «автоматизировать свою работу». Возможно, вы слышали эти более популярные ярлыки (и вам нужно будет с этим поразбираться и выяснить что это), и они дают подсказку что делать.

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

Парадоксально, но, будучи легко заменимым, вы освобождаете себя. Вы облегчаете себе переход к роли более высокого уровня и вам легче менять проекты, над которыми вы работаете. Не согласны? В замешательстве? Вот 10 конкретных вещей, которые вы можете сделать:
Читать дальше →
Всего голосов 80: ↑70 и ↓10+81
Комментарии119

Как мы делали планшет

Время на прочтение10 мин
Количество просмотров18K

В 2018-м в Skyeng появились онлайн-занятия математикой. Так мы столкнулись с тем, что наша платформа, адаптированная под устный английский, не очень подходила для письменных занятий с дробями, формулами и геометрическими фигурами.

Читать далее
Всего голосов 106: ↑104 и ↓2+129
Комментарии84

Модульный PHP монолит: рецепт приготовления

Время на прочтение10 мин
Количество просмотров20K

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

На тот момент наша команда работала над приложением, начало которому было положено еще в 2009 году не искушенными в архитектуре студентами. К 2018 это уже был типичный big ball of mud (большой ком грязи), или, этакий «монолит-копролит», как выразился один наш коллега. Думаю, многим знакомо.

Читать далее
Всего голосов 19: ↑18 и ↓1+25
Комментарии13

7 QA-шных грехов, которые помогут или помешают тестировщику (стать тем, кем ты хочешь)

Время на прочтение12 мин
Количество просмотров21K
image

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


Ручные тестировщики и начинающие автоматизаторы из компании часто спрашивают у меня, как им определиться с дальнейшим развитием. Я выделил 7 проблем, с которыми сталкивался сам, постарался рассказать, как боролся с ними и как можно обратить некоторые из своих слабых сторон на пользу себе и окружающим. Учиться на своих ошибках — хорошо, а на чужих — еще лучше. Надеюсь, мой рассказ поможет вам пойти вторым путем :)

Читать дальше →
Всего голосов 21: ↑20 и ↓1+22
Комментарии14
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность