Как стать автором
Обновить
3
0
Dmitri Sinitsa @unabl4

веб-разработчик

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

Создаем простейший API и тестируем его с помощью Playwright + TS

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.3K

Создаем и тестируем простейший API.

Что будет выполнено в ходе данной статьи:

1. Будет создан простейший API сервер на NodeJS для запуска локально.
2. Будут написаны автотесты, на Playwright + Typescript, покрывающие простые запросы GET, POST, PUT, PATCH, DELETE.
3. Выполнены негативные тесты с получением ошибок, последующим анализом и устранением.

Читать далее

Как сделать поиск в интернет-магазине

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

Привет, Хабр! Меня зовут Степан Родионов, я из Х5 Digital. Сегодня расскажу о поиске в интернет-магазине — типовой задаче для e-commerce, которая в теории имеет типовое решение, но на практике оказывается сложнее.

Я запускал около десятка e-commerce проектов, и в каждом из них делал поиск. Этот опыт постарался обобщить в инструкцию по созданию подобного рода систем.

Рассказывать буду на примере проекта Vprok.ru — это мой текущий, самый крупный проект. Он входит в Х5 Digital и занимает на российском рынке третье место: 10 регионов присутствия, более 72 тысяч товаров, примерно 300 RPS на товарные запросы и около 700 тысяч комбинаций товар+склад.

Найдется все

Перевод книги Windows APT Warfare

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

Всем привет. Решил поделиться новостью, может кому-то будет интересно. Я закончил перевод книги Windows APT Warfare. В своем роде очень интересное чтиво, для тех кто занимается ассемблером, малварью и информационной безопасностью. Первую часть оставлю здесь. Всю остальную книгу можно забрать на дамаге, ныне — xss.is. Может кто-то сможет сверстать в PDF, буду очень благодарен. Всем спасибо.
Читать дальше →

Signal Integrity of DDR4

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

Доброго времени суток! Наверное, вы все знакомы с компьютерной оперативной памятью DDRx (где x - поколение). Я бы хотел вам рассказать о ней с точки зрения SI (Signal Integrity - целостность сигналов) и принципов трассировки этого интерфейса.

Читая документацию на различные микросхемы CPU, FPGAs, DSPs, ASICs можно увидеть много различных рекомендаций, так называемых «Rules of Thumb», по трассировке DDR3/4 SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory — синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных). Но в ней редко можно встретить информацию почему именно так это необходимо делать. В этой статье я попытаюсь вам объяснить различные способы улучшения SI с точки зрения схемотехники и топологии.

Читать далее

Как работает компьютер: глубокое погружение (на примере Linux)

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



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


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


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


Более удобный формат статьи.

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

Собеседование Golang разработчика (теоретические вопросы), Часть I

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

Как сейчас проходят собеседования на golang разработчика? Что спрашивают?

Читать далее

Таков путь или как я познавал Ruby

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

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

Читать далее

Что должен знать Java Software Engineer

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

Есть много разных понятий для человека, который занимается программированием: кодер, разработчик, программист и т.д. Мне же больше по душе такое понятие, как инженер-программист или software engineer, т.к. данное понятие охватывает наибольшее количество тем и направлений, необходимых для разработки. Это лично моё виденье.

Так чем же принципиально software engineer отличается от остальных регалий? Ответ достаточно прост и очевиден - набором знаний о технологиях и большим кругозором в сфере, которой он себя посветил. Кроме того, сталкиваясь с какой-либо проблемой или задачей, он уже понимает какой подход нужен для её решения, или знает, что надо "подтянуть", чтобы быть компетентным в данном вопросе.

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

Цель статьи привести - познакомить читателя с предлагаемым мною набором знаний. Ниже я привожу набор направлений и технологий, которыми должен обладать с теоретической и практической точки зрения software engineer.

Читать далее

Как выполнить аппаратную реализацию энкодера h264, не написав ни строчки кода на VHDL/Verilog?

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

Вступление

Сжатие видео с камеры является важной задачей как при трансляции данных через сеть Интернет, так и при передаче данных через радиоканал. Это позволяет в разы сократить объем передаваемой информации при небольшой потере детализации в исходном видео. Сейчас самым популярным алгоритмом для сжатия видео является кодек h264. Хотя уже существует следующая реализация кодека – h265, но он имеет большую вычислительную сложность алгоритма и пока не нашел столь широкого применения, и его реализацию можно оставить на потом :)

Модельно-ориентированное проектирование - это что?

При разработке алгоритма для ПЛИС можно выделить два основных подхода: написать алгоритм сразу на языке описание аппаратуры VHDL/Verilog/SystemC или использовать более высокоуровневые средства проектирования. Во втором случае вначале строится эталонная модель алгоритма в MATLAB/Simulink, тестируется, верифицируется и постепенно подготавливается к автоматической генерации HDL кода из алгоритма. Конечно, мы выбрали второй вариант, т. е. наш план – на основе MATLAB кода сделать эталонную модель алгоритма Simulink, а после – адаптировать ее к автоматической генерации кода и получить HDL для ПЛИС.

Читать далее

Выгорание — норма? Часть 3. Моя история выгораний и обучения в процессе

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

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

Ссылки на предыдущие статьи: 

Выгорание — норма? Часть 1. (Вводная)

Выгорание — норма? Часть 2. Подробно про фазы и «Что делать?»

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

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

Но обо всём по порядку.

Читать далее

Создание аналога посмертного сore dump для микроконтроллера

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


При разработке программного обеспечения любого класса и назначения, зачастую приходится заниматься поиском ошибок, которые привели к краху всего приложения. И если в случае обычного компьютера, анализ логов и core dump`ов как правило не вызывает сложностей, то для устройств на основе микроконтроллеров бывает сложно получить «посмертную» информацию, необходимую для изучения проблемы.

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

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

Ну и в соответствии с собственным наблюдением Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
Читать дальше →

Интеллектуальный термометр

Время на прочтение7 мин
Количество просмотров8K
Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать об устройстве AI Fever Screening Thermometer, разработкой которого он занимался около двух месяцев. Оно, с использованием термальной (инфракрасной) и обычной (цветной) камер, позволяет решать следующие задачи:

  • Обнаружение людей, попадающих в кадр.
  • Бесконтактное измерение температуры их кожи с использованием данных термальной камеры.


Обнаружение лица и измерение температуры


Термометр, смонтированный у входа в дом

Улучшаем производительность Java-микросервиса парой простых приемов

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

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

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

Spring Boot — это быстрый способ создания микросервисов на Java. В этой статье мы рассмотрим, как улучшить производительность Spring Boot-микросервиса.

Читать далее

Как править мозги Mercedes, если играться с программируемыми калькуляторами уже надоело

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


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


Заинтриговал. Пожалуй, почитаю

PMP сертификация для project managers. Изменения в экзамене v.2021 (Личный опыт сдачи)

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

Данная статья выражает мое личное мнение, основанное на опыте подготовки и сдаче экзамена на сертификат PMP (Project Management Professional) от Project Management Instittute.

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

Получить всю официальную информацию, вы можете на сайте www.pmi.org

О чем это мы

Сертификат PMP от Project Management Institute (pmi.org) является на сегодняшний день самым признаваемым по всему миру сертификатом подтверждающим квалификацию специалистов в сфере управления проектами. Наличие данного сертификата будет несомненным плюсом при рассмотрении вашего резюме потенциальным работодателем.

Читать далее

Хидео Кодзима. Одинокий человек, избранный Богом

Время на прочтение5 мин
Количество просмотров7.5K
imageПривет, Хаброжители! Мы сдали в типографию очередную новинку "Хидео Кодзима. Гены гения". «Я на 70 процентов состою из фильмов» — так говорит про себя Хидео Кодзима, чье имя в индустрии игр знает каждый. Так что же подтолкнуло знаменитого разработчика на создание произведений, каждое из которых вызывает больше вопросов и обсуждений, чем дает ответов? «Гены гения» — это сборник эссе Кодзимы, посвященных мемам — единицам культурной информации, которые формируют личность точно так же, как биологические гены. Эти эссе проливают свет на все книги и фильмы, которые сформировали Хидео Кодзиму как личность и дали ему творческую энергию для создания шедевров геймдизайна. Единственная книга Кодзимы о Кодзиме теперь доступна на русском!

Вашему вниманию представлен отрывок одной главы из книги «Одинокий человек, избранный Богом».
Читать дальше →

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

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

Судебные специалисты по генеалогии комбинируют традиционные исследования родословных деревьев с базами ДНК. Они идентифицируют останки людей, фигурирующих в нераскрытых уже много лет делах




В августе 1979 года во время розысков наконечников стрел в пещерах гражданской обороны в Айдахо, одной семье не повезло наткнуться на останки человеческого туловища в мешке, спрятанном под слоем осадочных пород толщиной в 20 см. Эти пещеры – это лавовые трубки, идущие от Йеллоустонского национального парка, которые во время Холодной войны частично превращали в бомбоубежища.

Личность погибшего, остальные части тела которого не нашлись, и то, как он попал в пещеру к востоку от Дюбуа, с самого начала стали предметом споров. Шериф округа Кларк, Ёрл Холден, считал, что одежде погибшего – полосатая рубашка, белая майка, вязаный коричневый свитер, чёрные шерстяные брюки на подтяжках – примерно лет 60. В своём отчёте он указал, что в ту эпоху подобную одежду мог носить азартный игрок. Коронер Эрни Сил, лучший друг Холдена, не согласился с ним, и посчитал, что человек погиб не ранее, чем за 10 лет до обнаружения. Даг Убелакер, антрополог из Смитсоновского института, помогавший ФБР в расследовании, посчитал, что останки пролежали в земле от 6 месяцев до 5 лет.
Читать дальше →

Простые правила IT-гигиены

Время на прочтение4 мин
Количество просмотров26K
Доброго времени суток.

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

image

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

Давайте приступим.

Нюансы проблематики


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

Ламповые часы Nixie clock своими руками

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

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



Картинка кликабельна


Приятного чтения.

Под катом будет много фото...

Вышел релиз языка программирования Ruby 3.0.0, который готовили с 2015 года

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

Источник изображения

Хорошие новости для разработчиков — вышел Ruby 3.0.0, новый релиз динамического объектно-ориентированного языка программирования. По словам его поклонников, в новую версию вошло лучшее от Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp.

Новая версия Ruby — восьмой значительный выпуск, который получил множество обновлений и улучшений. К слову, над третьей версией разработчики трудились около пяти лет. Ее особенности — высокая производительность, параллелизм и типизация.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Таллин, Эстония, Эстония
Дата рождения
Зарегистрирован
Активность