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

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

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

Проектирование спецификации OpenAPI

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

Привет, Хабр! Меня зовут Виктория Юльская, и я старший системный аналитик в Ozon.

Я думаю, здесь найдётся много людей, которые хоть раз работали с документацией API в Confluence. Да-да, те самые километровые страницы на каждый метод — с описанием всего и вся в виде текста, таблиц, диаграмм последовательности и т. д.

Зачастую такая документация API в Confluence устаревает ровно в тот момент, как её закончили писать. После передачи задачи в разработку, как только что-то непонятно, куда все идут? Правильно, к аналитику — «А как это работает? А что это значит? А что если...?».

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

Есть ли более эффективный способ ведения и поддержания документации API в актуальном состоянии? Давайте разбираться.

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

Чем заняться на каникулах? 5 идей для пет-проектов, которые можно сделать за новогодние праздники

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

Привет, Хабр! В 2023 году наши коллеги создали много интересных проектов: виртуальную девушку в Telegram, нетипичную игру на Flipper Zero и бота для заказа шавермы. Под катом собрали лучшие инструкции и разделили их по времени разработки. Сохраняйте подборку в закладки: пригодится всем, кто хочет провести новогодние праздники с пользой.
Читать дальше →
Всего голосов 33: ↑22 и ↓11+21
Комментарии6

Пишем смартапп для ассистента Сбера (пошаговый гайд, без программирования)

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

Вместо предисловия

В этой статье представлено описание шагов по созданию простейшего диалогового приложения (смартаппа) для устройств Сбера, без программирования (в среде разработки Graph).

Изучить туториал
Всего голосов 6: ↑5 и ↓1+7
Комментарии0

Создаем свой VPN с защищенным от блокировок протоколом AmneziaWG, или WireGuard на максималках

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


Всем привет! Возможно уже совсем скоро разные новостные и  IT-ресурсы будут подчищать информацию о способах обхода блокировок. А пока этого не случилось, запасаемся полезными гайдами и разворачиваем свои собственные VPN с защищенными от блокировок протоколами. Расскажу как это сделать, как изменилась Amnezia и как мы защитили WireGuard от блокировок.

Читать далее
Всего голосов 91: ↑89 и ↓2+111
Комментарии123

Как искать товар на всех маркетплейсах сразу?

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

Решил ты обновить себе смартфон или корм докупить для собаки/кошки или подгузники ребенку, достаешь телефон и поехали: ищешь на Ozon, потом открываешь приложение WildBerries, потом в Яндекс Маркете, затем в СберМегаМаркете, потом еще на паре сайтов, потом уже забыл где нужный товар был дешевле и пошел снова по кругу, купил, а потом выяснилось, что именно сегодня нужный смартфон был дешевле в DNS, а подгузники по акции в Детском Мире, но ты забыл там посмотреть.

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

Читать далее
Всего голосов 37: ↑32 и ↓5+33
Комментарии220

Правильный if для ускорения работы

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

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

Читать далее
Всего голосов 22: ↑20 и ↓2+23
Комментарии12

Пережить распродажу на Ozon: хайлоад, сковородки и 38 инфарктов

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

Мы нечасто задумываемся о том, как работает тот или иной сервис и какой объём работ скрывается за тем, чтобы товар или услуга прибыли к нам вовремя. Взять, например, «чёрную пятницу» и День холостяка в e-com — дни самых больших распродаж. Казалось бы, что там такого? Со стороны может выглядеть, что главное — прогреть аудиторию предложениями разной степени заманчивости и запастись товарами на складах. Конечно, это не так. На деле нескольким дням распродаж предшествует год активной подготовки: от прогнозирования нагрузки и закупки железок до перестройки архитектуры. О том, на что мы обращали внимание и как готовились к высокому сезону, читайте под катом. 

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

Выходя за рамки ООП. Разработка расширений для PHP на PHP

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

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

В этом нам поможет Александр Лисаченко. Он автор аспектно-ориентированного фреймворка Go! AOP и вообще гуру в Enterprise архитектуре.

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

[По полочкам] Кэширование

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

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

Читать далее
Всего голосов 38: ↑34 и ↓4+37
Комментарии16

Доменная структура. Как организована продуктовая разработка в Ozon

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

Думаю, кому-то из вас будет интересно, как организованы процессы развития IT-продуктов в Ozon.

Продукты создаются командами. Деление на команды, а также их интеграция – важная и сложная задача. Каждая компания решает её по-своему, а идеального решения, наверное, не существует вовсе. 

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

Вот вам взгляд изнутри, а именно - из той части IT, которая занимается автоматизацией логистики. 

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

10 простых шагов: мигрируем с CentOS 8 на RockyLinux или AlmaLinux

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

Прекращение поддержки CentOS 8 и переход к модели непрерывных обновлений в CentOS Stream заставили корпоративных заказчиков искать альтернативные решения. Мы написали пошаговую инструкцию по переходу на RockyLinux или AlmaLinux — популярные бесплатные дистрибутивы, бинарно совместимые с RedHat Enterprise Linux (RHEL).

Почитать мануал
Всего голосов 7: ↑7 и ↓0+7
Комментарии21

Mahou обновился до версии 2.0

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


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


Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии18

Mahou — волшебный переключатель раскладок

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

Как я создал первую функцию


Все началось с того что я захотел программировать на C# (до создания этой программы у меня было почти что никаких знаний о C#), и была одна программа которая не работала так как я хотел (Punto Switcher) долго-долго я искал к ней альтернативы и ненадолго остановился на dotSwitcher нравилась она мне… Но через некоторое время я решил что ей не хватает функционала и решил посмотреть исходный код, кое-где кое-как я разобрался как все работает, но больше всего не понимал одну вещь — WinAPI, и начал я искать информацию по функциям используемых в dotSwitcher и понемногу я начинал запоминать и понимать смысл всего этого волшебства (так мне тогда казалось).

Читать дальше →
Всего голосов 59: ↑49 и ↓10+39
Комментарии171

Как правильно верстать в 2022 году. Часть 1

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

Меня зовут Николай, я Frontend-разработчик IT-компании Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.

Дело в том, что лишь малая часть современных фронтендеров обращает внимание на работу с HTML и CSS, предпочитая готовые решения, вроде UI-библиотек и систем сеток. Но эти решения неидеальные и приходится дописывать обёртки вокруг них, видоизменять код, переписывать стили и совершать прочие действия для соответствия требованиям проекта. Тут-то и начинаются проблемы: вёрстка местами становится избыточной, стили переназначются через important и с каждым релизом проект всё сложней поддерживать. Я уже не говорю об удобстве использования и доступности. Об этом думают вообще в последнюю очередь.

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

Читать далее
Всего голосов 41: ↑39 и ↓2+44
Комментарии42

Создание и опыт использования клавиатуры Dactyl LightCycle

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

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

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

Клавиатур «правильного» форм-фактора крайне мало. Есть хороший вариант Kinesis Advantage, но это редкость даже за рубежом, а в России их раздобыть практически невозможно. Поэтому я решил взять производство в свои руки. И вот что из этого получилось.

Читать далее
Всего голосов 49: ↑48 и ↓1+58
Комментарии44

Как я нашел в публичном доступе исходники нескольких сервисов ФНС

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

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

Читать далее
Всего голосов 223: ↑215 и ↓8+278
Комментарии193

Парсинг — это законно?

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

Статья о юридических аспектах парсинга сайтов. Можно ли говорить о причинении вреда имуществу? Есть ли риск уголовной ответственности? Как быть с пользовательскими соглашениями, авторскими и смежными правами? Почему самой серьёзной проблемой могут стать персональные данные? Я пытаюсь максимально широко охватить разные варианты юридической квалификации парсинга, чтобы предупредить о возможных рисках и указать обстоятельства, на которые нужно обращать внимание. Готового ответа на вопрос, законен ли парсинг, у меня нет, потому что ситуации бывают разные. Надеюсь, что благодаря статье читатели будут лучше понимать, как выглядит парсинг с точки зрения права, и смогут сами находить ответы на интересующие их вопросы.

Так законно или нет?
Всего голосов 29: ↑26 и ↓3+44
Комментарии58

Как удалить «неудаляемые» приложения со смартфона

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


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

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

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

Всё это надо зачистить.
Читать дальше →
Всего голосов 156: ↑145 и ↓11+168
Комментарии203

Защита Linux-сервера. Что сделать в первую очередь

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

Habib M’henni / Wikimedia Commons, CC BY-SA

В наше время поднять сервер на хостинге — дело пары минут и нескольких щелчков мыши. Но сразу после запуска он попадает во враждебную среду, потому что открыт для всего интернета как невинная девушка на рокерской дискотеке. Его быстро нащупают сканеры и обнаружат тысячи автоматически скриптовых ботов, которые рыскают по сети в поисках уязвимостей и неправильных конфигураций. Есть несколько вещей, которые следует сделать сразу после запуска, чтобы обеспечить базовую защиту.
Читать дальше →
Всего голосов 50: ↑43 и ↓7+52
Комментарии99

Проблемы со сном и их решения: личный опыт длиной в 15 лет

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


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

Чтобы вы поняли масштаб проблемы. Это — определение бессонницы из Википедии:

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

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



Были периоды, когда мне каждый вечер долго не удавалось уснуть. Я проводила бесконечные часы в постели, изнывая от желания спать и невозможности это сделать. В другие моменты жизни я просыпалась несколько раз за ночь, спала неглубоко, в итоге вставала совершенно невыспавшейся. Через несколько лет начались регулярные утренние пробуждения: что-то заставляло меня проснуться в 4-5 утра, и уснуть назад не получалось. Разные проблемы со сном длятся у меня от нескольких недель до нескольких месяцев и могут повторяться.
Читать дальше →
Всего голосов 34: ↑25 и ↓9+26
Комментарии88
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Туапсе, Краснодарский край, Россия
Зарегистрирован
Активность