Как стать автором
Обновить
0
@Sergey2aread⁠-⁠only

Пользователь

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

Весь китайский автопром от A(vatr) до Z(eekr)

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

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

Читать далее

Даже не влезайте в Kubernetes без этого

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

Главный прикол с k8s: поднять базовый кластер займёт всего 15 минут. А вот чтобы он реально заработал, ответить на все вопросы перед установкой, всё спланировать — на это нужны дни, реально дни мозгового штурма и планирования. Ну или потом придётся разбирать и делать ещё раз. Несколько раз.

Кубер унижает человеческое достоинство разными способами и на разных этапах. Это часть опыта от пользования продуктом. Так задумано.

И вот про эти самые вопросы мы сейчас и поговорим, потому что там целое волшебное поле грабель.

Начнём с простых вещей, например, выбора дистрибутива, выбора способа хранения данных (и динамического выделения места), а также того, куда складывать пароли к критичным ресурсам. На этих трёх выборах ломается примерно 50 % админов.

Поехали в ад!
Читать дальше →

Описание элементов перечислений в Swashbuckle

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

Swagger — замечательная вещь! Он позволяет легко посмотреть, каким API обладает ваш сервис, сгенерировать клиента для него на различных языках и даже попробовать поработать с сервисом через UI. В ASP.NET Core для поддержки Swagger существует пакет Swashbuckle.AspNetCore.


Но есть один недостаток, который мне не нравится. Swashbuckle способен строить описания методов, параметров и классов, основываясь на XML-комментариях в коде .NET. Но он не показывает те описания, которые применяются непосредственно к членам перечислений.

Читать дальше →

Автоматизированное тестирование с помощью Selenium

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

В своей практике много раз сталкивался с крупными и древними проектами, которые поддерживаются и в полном объеме эксплуатируются лет по 10, а то и более. А бывает, что и довольно новый проект был сделан на основе того, старого и древнего. Команды разработчиков менялись с годами, а проект все разрастался и разрастался. У каждого разработчика свой стиль, видение, идеи. И вот такой проект все рос и рос. Появлялась новая функциональность, методы. А старые обрастали условиями, комментариями. Да и заказчики все время подгоняли по срокам. Все же сталкивались с ситуацией, когда заказчик говорит что-то наподобие: «Ну, я задание еще не сформулировал, но оно должно было быть выполнено еще вчера»? Сроки горят, а, соответственно, приходится чем-то жертвовать. И это что-то — модульные тесты. Ведь на тестирование может уходить до 60% от общего времени разработки. А дальше на написание тестов опять времени нет. Оно же и так работает, заказчик не жалуется, а значит, все хорошо. И в результате получаем ситуацию, когда уже непонятно, что и как друг с другом связано, что лишнее, а что критичное. Модульными тестами уже давно никто в этом проекте не пользуется, а те, что есть, падают с ошибками, ибо их тоже никто не обновлял. А сами методы порой занимают строк по 800 и более, включающих в себя десятки условий. Любая попытка взяться за исправление такой ситуации навевает чувство тоски и отчаяния.

Читать далее

Что нужно знать, чтобы писать быстрые SQL-запросы

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

Привет, я Марк Шевченко, ведущий разработчик, ИТ‑холдинг Т1. SQL — мощный декларативный язык, который скрывает от программиста большинство технических деталей. Проектировщики языка предполагали, что его простота поможет не‑программистам работать с данными самостоятельно. К сожалению, простота имеет свою цену, и эта цена — производительность. Некоторые несложные запросы работают слишком медленно, что становится неприятным сюрпризом как для программистов, так и для пользователей.

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

В этой статье я расскажу о производительности запросов SELECT. Акцент буду делать не на подробности конкретных реализаций, а на фундамент. В то же время буду иллюстрировать общие положения реальными примерами.

Читать далее

Каррируем React-компоненты: функциональные паттерны на фронтенде

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

Современный React все больше соответствует идеалам функционального программирования.

Ежедневно мы пользуемся подходами из мира ФП, зачастую даже не подозревая об этом.

Эти паттерны плотно укоренились в сознании фронтенд-разработчиков, делая наш код значительно чище, читаемее и предсказуемее.

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

Читать далее

Гайд по эвент-сорсингу

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

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

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

Читать

Мобильная разработка за неделю #508 (25 сентября — 1 октября)

Время на прочтение5 мин
Количество просмотров3.6K
В нашем новом дайджесте внедрение SwiftUI в Airbnb, диск на шейдерах и победа фрагментации, невидимые проблемы, советы к собеседованию, $20 млрд на конфетки, приложение с фотопленкой и многое другое!

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

Кластер HA для групп доступности AlwaysON MS SQL Server 2022 Linux при помощи Pacemaker для хранения ИБ 1С

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

В сети огромное количество мануалов по созданию отказоустойчивых групп доступности AlwaysON Microsoft SQL Server посредством Windows Server Failover Cluster. Но что делать, если экземпляры Microsoft SQL Server развёрнуты на Linux, а очень хочется создать отказоустойчивые группы доступности AlwaysON? В русскоязычном сегменте не нашёл внятных мануалов, посвящённых этому вопросу. Решил написать гайд. Сразу скажу, гайд в некоторых местах будет очень подробный и разжёвыванием банальных вещей может раздражать опытных системных администраторов, однако, как показывает практика, людей которым хотелось бы, чтобы он был ещё подробнее куда больше, чем тех, кому эта подробность не по нраву. Тут мы затронем и вопросы оптимизации производительности, которые актуальны для наверно самого популярного прикладного применения Microsoft SQL Server в России — хранения информационных баз 1С. На самом деле данная задача не особо сложная, но важна к освящению.

Читать далее

Как мы внедряли tracing

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

Представьте: у вас пара сотен микросервисов, и вдруг всё ломается. А может даже не всё, а, скажем, только одна страница. Если вы хорошо знакомы с системой, то по мониторингам и логам быстро обнаружите проблему и пойдете её решать. Но иногда систему вы видите впервые, и на поиск бага могут часы, или даже дни.

Всем привет, меня зовут Саша Казанцев, я — тимлид команды “Clickme” в hh.ru. В этой статье расскажу о том, как мы внедряли трейсинг. 

Читать далее

Записки фрилансера: разработка первого React Native-приложения

Время на прочтение37 мин
Количество просмотров43K
Автор материала, перевод которого мы публикуем, недавно выпустил своё первое мобильное приложение, написанное на React Native. Так случилось, что это приложение стало и его первым проектом, который он создал как программист-фрилансер. Здесь он расскажет о том, с чем ему пришлось столкнуться в ходе работы — от инициализации проекта до его публикации в App Store и Google Play.


Читать дальше →

Что происходит в «Пиковой даме» Пушкина и во что они играют?

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


Если коротко — Пушкин открыл жанр «киберспортивной фантастики». Только до появления фантастики и киберспорта. Его одно из самых известных произведений — «Пиковая дама» — это рассказ про мегапопулярную в свете игру в карты с элементами философских вопросов. Попадание в тогдашнюю аудиторию стопроцентное благодаря невероятно простому порогу входа (31 страница текста итого), очень узнаваемым персонажам, невероятной куче пасхалок, сарказму и актуальной теме.

А предыстория такая. Пока мы со школьными группами осенью ездили по Пскову, зарулили в театр. Он во Пскове неожиданно крутой. Ставили как раз Пушкина. Проблема в том, что дети не поняли сюжет и ещё минут 15 обсуждали после спектакля, что же это такое было и кто выиграл или проиграл. Вроде, очевидно, что Германна где-то прокатили, но вот где и как?

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

HighLoad++, Михаил Райченко: почти без магии, или как просто раздать терабит видеопотока

Время на прочтение19 мин
Количество просмотров6.2K
Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге. Подробности и билеты по ссылке. HighLoad++ Moscow 2018. Зал «Дели + Калькутта». 8 ноября, 14:00. Тезисы и презентация.



Я работаю в команде «ВКонтакте» и занимаюсь разработкой системы видеотрансляций.
В докладе поделюсь особенностями разработки бэкенда, тем, как эволюционировала наша система, и техническими решениями, к которым мы пришли:


  • как мы делали бэкенд видеотрансляций, и процесс эволюции как он есть;
  • влияние бизнес-требований и требований эксплуатации на архитектуру;
  • «подождать» и «попробовать ещё раз» не получится;
  • как самые простые задачи усложняются количеством пользователей;
  • как уменьшить задержку без UDP;
  • проводим стресс-тесты 2 раза в день, или в чем нам помог «Клевер».

Встречайте чувашский язык в Яндекс.Переводчике: как мы решаем главную проблему машинного перевода

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

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


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




Читать дальше →

Как работает реляционная БД

Время на прочтение51 мин
Количество просмотров558K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →

Мониторинг улья | Мне Дадан и пол-Украинского | Избыточность данных

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

Внутри японского улья


Пчелы нуждаются в человеческом уходе! И чем дальше мы уйдем от пасеки, тем лучше!


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


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


То-есть эти самые рамки были придуманы для удобства отбора меда, гнездо-же пчел в конструкции Прокоповича(изобретателя корпусного улья) при этом не тревожилось.


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

Читать дальше →

Базы данных и Kubernetes (обзор и видео доклада)

Время на прочтение8 мин
Количество просмотров40K
8 ноября в главном зале конференции HighLoad++ 2018, в рамках секции «DevOps и эксплуатация», прозвучал доклад «Базы данных и Kubernetes». В нём рассказывается о высокой доступности баз данных и подходах к отказоустойчивости до Kubernetes и вместе с ним, а также практических вариантах размещения СУБД в кластерах Kubernetes и существующие для этого решения (включая Stolon для PostgreSQL).



По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали!

Fuck Up story: как я разочаровался в digital-услугах для бизнеса и проимел своё дело (ну почти)

Время на прочтение14 мин
Количество просмотров58K
Это была славная охота.

Моя жизнь была посвящена ИТ-сфере. Я был инженером, создававшим интересные продукты для больших промышленных компаний. Моей географией была вся Россия, я вживую видел цеха КАМАЗа, ВАЗа и других автогигантов. Но всему в нашей судьбе настаёт предел, и я выгорел. О причинах расскажу как-нибудь в другой раз. Главное, что я, опытный разработчик и техник, ушёл на вольные хлеба и, поскольку у меня появилась семья, решил сделать бизнес — свой магазин товаров для детей, по особым принципам. В общем, как многие из программеров, сделать то, чего не достаёт мне среди предложений на рынке. И знаете, что? Я выяснил, что найти простейших, базовых, нужных профессионалов-подрядчиков очень сложно. Миллион фрилансеров и фирм, а выхлоп… Это был квест, и о нём я должен поведать миру. Не ходите по моим граблям.


Это самое лучшее, что описало моё состояние
Читать дальше →

Балансировка HTTP(S) трафика

Время на прочтение12 мин
Количество просмотров31K
Добрый день, %username%. Меня зовут Антон Резников, я работаю над проектом Облако Mail.Ru Сегодня я хочу рассказать о технологиях балансировки трафика, проиллюстрировав историей о развитии социальной сети. Все персонажи выдуманы, а совпадения почти случайны. Статья обзорная, составлена по следам доклада на Highload Junior 2017. Некоторые вещи могут показаться элементарными, но опыт проведения собеседований показывает, что это не совсем так. Кое-что будет спорным, не без этого.

Если интересно, добро пожаловать под кат.
Читать дальше →

Шесть экспериментов от Skyscanner, которые принесли рост мобильному приложению

Время на прочтение6 мин
Количество просмотров4.5K
Главный growth менеджер в Skyscanner Катерина Тониоло (Caterina Toniolo) рассказала на Epic Growth Conference о том, как команда проверяла гипотезы и проводила эксперименты, чтобы увеличить рост мобильного приложения.


Смотрите видео и читайте заметки под катом.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность