Pull to refresh
0
0

Automotive QA

Send message

Практическое руководство по разработке бэкенд-сервиса на Python

Reading time57 min
Views173K
Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.



TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Читать дальше →
Total votes 70: ↑68 and ↓2+66
Comments48

Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )

Reading time3 min
Views39K
Я глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это не тот опыт, который вы легко можете получить с полноценными виртуальными машинами, и он говорит о тесной интеграции Linux и Windows.

Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!

Читать дальше →
Total votes 40: ↑29 and ↓11+18
Comments30

Переквалификация в DevOps – к чему себя готовить

Reading time5 min
Views13K
В этом материале Александра Романенко, которая сотрудничает с компанией EPAM в качестве Lead Software Engineer, делится своим взглядом на переквалификацию и рассказывает, на что обращать внимание, если вы хотите стать DevOps-специалистом.

image
Читать дальше →
Total votes 21: ↑12 and ↓9+3
Comments12

Как создать игру, если ты ни разу не художник

Reading time127 min
Views44K

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

И не надо…
Читать дальше →
Total votes 107: ↑106 and ↓1+105
Comments71

Network Maps. Краткий обзор софта для построения карт сети

Reading time7 min
Views204K
Статья обновляется по мере узнавания автором о новых продуктах и наличия у того же автора свободного времени на добавление информации.

image

0. Вводная..


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

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

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

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

1. Теория


1.1. Зачем?


Чтобы ответить на вопрос «Зачем?» сначала нужно понять, что же такое «Карта сети». Карта сети – (чаще всего) логико-графико-схематическое представление взаимодействия сетевых устройств и их связи, которое описывает их наиболее значимые параметры и свойства. В наше время часто применяется в связке с мониторингом состояния устройств и системой оповещения. Так вот: затем, чтобы иметь представление о расположении узлов сети, их взаимодействии и связях между ними. В связке с мониторингом мы получаем рабочий инструмент для диагностики поведения и прогнозирования поведения сети.

1.2. L1, L2, L3


Они же Layer 1, Layer 2 и Layer 3 в соответствии с моделью OSI. L1 – физический уровень (провода и коммутация), L2 – уровень физической адресации (mac-адреса), L3 – уровень логической адресации (IP-адреса).
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments30

Цена качества: 7 принципов оптимизации затрат на тестирование

Reading time10 min
Views16K
image alt


Думаете, как сэкономить на тестировании вашего ПО? Вы не одиноки. Возникает лишь одно маленькое но: если софт не дотестировать, возможны самые негативные сценарии – от дорогостоящей и крайне невыгодной вам доработки приложения на поздних стадиях до потери репутации и ухода клиентов/заказчиков к конкурентам.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments20

Функциональное программирование для всех

Reading time33 min
Views351K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Total votes 188: ↑181 and ↓7+174
Comments151

Сжатие данных алгоритмом Хаффмана

Reading time15 min
Views61K

Вступление


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

Да-да, об этом уже была статья на Хабре, но без практической реализации. Здесь же мы сфокусируемся как на теоретической части, так и на программерской. Итак, все под кат!
Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments37

Горизонтальное масштабирование небольших Web-приложений на Java (вопросы собеседований)

Reading time4 min
Views35K
Эта тема была поднята в ходе нескольких (3+) собеседований который я прошёл за последние полтора месяца — в разных вариациях но примерно об одном. Казалось бы, известные вещи — но собрав все ответы и объяснения какие я давал (и кое-что что нашёл позже в гугле), решил сохранить их не у себя в гугл-драйве, а написать краткий обзор.

Речь шла о небольших и типовых приложениях Enterprise / Web на Java, каких пишется множество (ну такие, на 10-100 тысяч клиентов, миллион посещений и т.п.). Пусть это будет обобщённый диалог в виде вопросов и ответов.

 

В: Допустим, у вас есть приложение (самое обычное — JSP, Spring, Hibernate например) развернутое на томкате (Apache Tomcat) и вы однажды замечаете что сервер с томкатом загружен на 80% в среднем. Что делать?

Читать дальше →
Total votes 53: ↑44 and ↓9+35
Comments87

Allure-Framework. Работа с кодом

Reading time11 min
Views107K
Продолжая серию публикаций о возможностях Allure-framework, сегодня мы поговорим о работе с кодом. Под катом разбираем, что такое шаг теста, как выводить информацию в отчет при выполнении шагов и какие бывают категории дефектов. Кроме того, расскажем об аннотациях Allure. Дальше еще интереснее!
Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments5

Физические итоги 2018 года

Reading time8 min
Views29K


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

Читать дальше →
Total votes 119: ↑117 and ↓2+115
Comments51

Кастомизация резолвинга зависимостей в Spring

Reading time21 min
Views12K
Привет! Меня зовут Андрей Неведомский и я главный инженер в СберТехе. Я работаю в команде, которая занимается разработкой одного из системных сервисов ЕФС (Единой Фронтальной Системы). В своей работе мы активно используем Spring Framework, в частности его DI, и время от времени сталкиваемся с тем, что резолвинг зависимостей в спринге оказывается недостаточно «умным» для нас. Эта статья – результат моих попыток сделать его умнее и в целом разобраться с тем, как он работает. Надеюсь, и вы сможете узнать из неё что-то новое об устройстве спринга.


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

Муравейник или крепость? Строю дом по цене квартиры. 3 часть. Электроснабжение

Reading time8 min
Views29K
Часть 1. Строительство
Часть 2. Отопление
Часть 4. Комфорт дома и гаджеты.

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

Total votes 55: ↑48 and ↓7+41
Comments210

Grafana как еще один инструмент для технического мониторинга создаваемых нами программных продуктов

Reading time7 min
Views245K

Очередная статья в серии «Инструменты мониторинга Logicify» рассказывает о Grafana. Это программное средство мы используем для визуализации и анализа данных как внутренних, так и внешних проектов. Статья может быть полезна техническим директорам, разработчикам, DevOps, системным администраторам, менеджерам проектов, а также всем заинтересованным лицам.


image

Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments7

ENTRYPOINT vs CMD: назад к основам

Reading time6 min
Views275K

Construction


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

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments17

Еще список проектов, на чем потренироваться

Reading time3 min
Views26K
«Мастер совершает больше ошибок, чем новичок — попыток»

Прошлый список тренировочных проектов набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.

1. Текстовый редактор


image

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

В какой-то момент каждый использовал текстовый редактор. Так почему бы не создать его самостоятельно?
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments11

8 учебных проектов

Reading time3 min
Views144K
«Мастер совершает больше ошибок, чем новичок — попыток»

Предлагаем 8 вариантов проектов, которые можно сделать «по фану», дабы получить реальный опыт разработки.

Проект 1. Клон Trello


image


Клон Trello от Indrek Lasn .

Что вы освоите:

  • Организация маршрутов обработки запросов (Routing).
  • Drag and drop.
  • Как создавать новые объекты (доски, списки, карточки).
  • Обработка и проверка входных данных.
  • Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
  • Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

Тут пример репозитория, сделанного на React+Redux.
Читать дальше →
Total votes 36: ↑30 and ↓6+24
Comments18

Разбираем лямбда-выражения в Java

Reading time14 min
Views36K

image


От переводчика: LambdaMetafactory, пожалуй, один из самых недооценённых механизмов Java 8. Мы открыли его для себя совсем недавно, но уже по достоинству оценили его возможности. В версии 7.0 фреймворка CUBA улучшена производительность за счет отказа от рефлективных вызовов в пользу генерации лямбда выражений. Одно из применений этого механизма в нашем фреймворке — привязка обработчиков событий приложения по аннотациям, часто встречающаяся задача, аналог EventListener из Spring. Мы считаем, что знание принципов работы LambdaFactory может быть полезно во многих Java приложениях, и спешим поделиться с вами этим переводом.


В этой статье мы покажем несколько малоизвестных хитростей при работе с лямбда-выражениями в Java 8 и ограничения этих выражений. Целевая аудитория статьи — senior Java разработчики, исследователи и разработчики инструментария. Будет использоваться только публичный Java API без com.sun.* и других внутренних классов, поэтому код переносим между разными реализациями JVM.

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments34

Карты из шестиугольников в Unity: сохранение и загрузка, текстуры, расстояния

Reading time73 min
Views12K
Части 1-3: сетка, цвета и высоты ячеек

Части 4-7: неровности, реки и дороги

Части 8-11: вода, объекты рельефа и крепостные стены

Части 12-15: сохранение и загрузка, текстуры, расстояния

Части 16-19: поиск пути, отряды игрока, анимации

Части 20-23: туман войны, исследование карты, процедурная генерация

Части 24-27: круговорот воды, эрозия, биомы, цилиндрическая карта

Часть 12: сохранение и загрузка


  • Отслеживаем тип рельефа вместо цвета.
  • Создаём файл.
  • Записываем данные в файл, а затем считываем его.
  • Сериализуем данные ячеек.
  • Уменьшаем размер файла.

Мы уже умеем создавать достаточно интересные карты. Теперь нужно научиться их сохранять.

Total votes 13: ↑13 and ↓0+13
Comments1

Алиса выплатит более миллиона рублей до конца года. Новый конкурс и рекомендации Яндекса для разработчиков навыков

Reading time2 min
Views16K
Сегодня Алисе исполняется год. За прошедшие месяцы она обучилась множеству новых навыков, большая часть из которых была создана сторонними разработчиками с помощью платформы Диалоги. Более 28 тыс. навыков уже опубликованы и доступны всем пользователям Алисы.

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



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

Total votes 35: ↑32 and ↓3+29
Comments28

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity