Pull to refresh
23
0
Сафин Рустам @snegovikufa

.NET Developer

Send message

Находчивость и смекалка. Как мы теперь чиним железки Cisco

Reading time6 min
Views36K

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

Читать далее
Total votes 104: ↑102 and ↓2+100
Comments95

Европейские альтернативы американским интернет-сервисам

Reading time8 min
Views16K

Зашифрованное хранилище файлов CryptDrive.cz (Чехия)

Судя по последним событиям, Евросоюз начал по-взрослому давить на Google, Facebook и другие американские компании, которые собирают персональные данные европейских граждан и отправляют в США.

Например, в начале 2022 года популярный инструмент Google Analytics уже запретили к использованию в трёх странах Евросоюза. Чего нам ожидать дальше? Простая экстраполяция:

  • Во-первых, остальные страны ЕС запретят Google Analytics.
  • Во-вторых, они запретят другие американские сервисы.
  • В-третьих, действия ЕС скопируют некоторые государства «догоняющего развития» вроде РФ. Хотя необязательно эти государства думают о правах граждан. Просто считают их (граждан) своей собственностью по праву владения.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments24

Полезные консольные Linux утилиты

Reading time13 min
Views107K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Total votes 118: ↑114 and ↓4+110
Comments110

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

Reading time39 min
Views363K
Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



Встретимся «внутри»!
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments15

Как потерять доступ в лайв систему, просто пошарив исходный код

Reading time2 min
Views23K
Безопасность на реальных примерах всегда более интересна.

Один раз пришел клиент с запросом на тестирование на проникновение. У него было достаточно много причин для беспокойства, среди прочих прозвучала и такая: “Несколько месяцев назад к нам пришел новый разработчик, получил доступы к исходному коду, документации, тестовому серверу, через два дня пропал и до сих пор не отвечает. Чем мне это может грозить? Доступы в лайв систему ему не давали.”
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments26

Разгоняем обработку событий до 1,6 миллионов в секунду

Reading time17 min
Views27K
Когда участники HighLoad++ пришли на доклад Александра Крашенинникова, они надеялись услышать про обработку 1 600 000 событий в секунду. Ожидания не оправдались… Потому что во время подготовки к выступлению эта цифра улетела до 1 800 000 — так, на HighLoad++ реальность превосходит ожидания.

3 года назад Александр рассказывал, как в Badoo построили масштабируемую систему near-realtime обработки событий. С тех пор она эволюционировала, в процессе росли объёмы, приходилось решать задачи масштабирования и отказоустойчивости, а в определённый момент потребовались радикальные меры — смена технологического стека.



Из расшифровки вы узнаете, как в Badoo заменили связку Spark + Hadoop на ClickHouse, в 3 раза сэкономили железо и увеличили нагрузку в 6 раз, зачем и какими средствами собирать статистику в проекте, и что с этими данными потом делать.



О спикере: Александр Крашенинников (alexkrash) — Head of Data Engineering в Badoo. Занимается BI-инфраструктурой, масштабированием под нагрузки, руководит командами, которые строят инфраструктуру обработки данных. Обожает всё распределённое: Hadoop, Spark, ClickHouse. Уверен, что классные распределенные системы можно готовить из OpenSource.
Total votes 63: ↑60 and ↓3+57
Comments14

Игры, в которых нужно писать код: Grid Garden, Elevator Saga и другие

Reading time3 min
Views137K

В детстве мы постигаем премудрости жизни через игру. Это важнейший элемент развития личности, социальных навыков, получения знаний об окружающем мире. Игры — хороший «контейнер» для донесения и закрепления каких-либо знаний. Яркий пример — игры, в которых нужно писать код. Наверняка все вы о них слышали, а в некоторые даже играли. Их первичная задача — развлечь людей, уже владеющих навыками программирования, но они могут использоваться и для обучения. Эти игры помогут освежить свои знания по тому или иному языку, отвлечься и заняться более простой алгоритмической задачей.

Total votes 72: ↑72 and ↓0+72
Comments46

DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Reading time11 min
Views125K


Внимание! В рецепте с отбеливателем обнаружилась опасность коррозии металла! Не рекомендуется в стандартном применении!

Обзор экспериментов год спустя:
DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

В прошлой публикации мы создавали дешевый порошок для посудомойки из желудей и спичек кальцинированной соды и стирального порошка. В этой я расскажу о том, как можно его улучшить с помощью кислородного отбеливателя и где можно купить компоненты для более продвинутой версии. Будем делать упор на эффективности мойки, но даже при этом цена не выйдет за 100 рублей/килограмм. А еще будет рецепт ополаскивателя с себестоимостью в районе 1 рубля за литр. Как справедливо заметил amarao, занятие не для всех и многим проще использовать готовые таблетки. Но в подобных экспериментах с бытовой химией есть что-то от детства, первых опытов по смешиванию соды с уксусом и газировки с мятными конфетами. Так что ощутимая экономия здесь все-таки вторична. Будем развлекаться) Если кому-то лень читать весь текст — в конце поста будут подробные рецепты с рекомендациями.
Читать дальше →
Total votes 123: ↑123 and ↓0+123
Comments351

Об относительной яркости, или насколько живучим бывает легаси

Reading time6 min
Views40K
Я уверен, что многим программистам знакома формула:

Y = 0.299 R + 0.587 G + 0.114 B

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

Вычисляет она относительную яркость цвета (relative luminance или в некоторых контекстах luma; не путать с lightness и brightness) и широко применяется для преобразования цветного RGB-изображения в Grayscale и связанных с этим задач.

Формула растиражирована и процитирована в тысячах статей, форумных обсуждений и ответов на StackOverflow… Но дело в том, что единственно-правильное её место — на свалке истории. Использовать её нельзя. Однако же используют.

Но почему нельзя? И откуда же взялись именно такие коэффициенты?
Мини-экскурс в историю
Total votes 87: ↑87 and ↓0+87
Comments130

На пути к полной типизации с TypeScript, Swashbuckle и AutoRest

Reading time10 min
Views14K

Введение


В данной статье рассматривается вопрос о том, как реализовать обмен типизированными сообщениями между Back-End на основе ASP.NET Web API и Front-End, созданного с использованием TypeScript. Это приобретает особенное значение при работе над объёмными проектами, и тем-более важно, если команда является распределенной. Например, когда Back-End и Front-End разработчики работают из разных мест, в разных часовых поясах, и не всегда имеют возможность проконтактировать и обсудить что-либо. В этом случае отслеживание изменений представляет кропотливую работу, которая может быть чревата множеством трудноуловимых ошибок.

Для автора статьи, как для человека, который пришел к разработке Front-End со стороны WPF и Silverlight, большой проблемой, стало отсутствие статической типизации. Сколько раз вместо того чтобы сложить “2” и “2” складывал “2” и “Функцию возвращающую 2”, или передавал DOM объект вместо его jQuery обертки. Появление статических анализаторов кода, таких как JSLint, несколько облегчило проблему, но настоящим прорывом, особенно в командной разработке, для нас стал TypeScript.


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

Ищем замену Digital Ocean среди отечественных хостинговых компаний

Reading time14 min
Views73K
Я поклонник виртуальных серверов, так как в большинстве случаев они дают больше свободы и возможностей чем классический виртуальный хостинг и при этом удобнее в эксплуатации по сравнению с выделенными серверами.
Всего три года назад практически не было альтернативы виртуальным серверам от Digital Ocean. В России аналогичных сервисов практически не было. А цены на зарубежные предложения начинались с 5 долларов США в месяц, что в пересчёте по тогдашнему курсу составляло около 150 рублей и было сравнимо с обычным хостингом. Однако, когда доллар и евро подскочили в цене в два раза пользоваться услугами зарубежных провайдеров стало весьма накладно.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments103

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time10 min
Views112K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →
Total votes 48: ↑43 and ↓5+38
Comments29

Подходы к проектированию RESTful API

Reading time17 min
Views138K

Автор: Вячеслав Михайлов, Solutions Architect.

В этой статье я поделюсь опытом проектирования RESTful API — на конкретных примерах покажу, как делать хотя бы простые сервисы красиво. Также мы поговорим, что такое API и зачем он нужен, поговорим об основах REST — обсудим, на чем его можно реализовывать; коснемся основных веб-практик, которые зависят и не зависят от этой технологии. Также узнаем, как составлять хорошую документацию, затрачивая на это минимум усилий, и посмотрим, какие существуют способы нумерации версий для RESTful API.

Часть 1. Теория


Итак, как мы все знаем, API — application programming interface (интерфейс программирования приложений), набор правил и механизмов, с помощью которых одно приложение или компонент взаимодействует с другими

Почему хороший API — это важно?

  • Простота использования и поддержки. Хороший API просто использовать и поддерживать.
  • Хорошая конверсия в среде разработчиков. Если всем нравится ваш API, к вам приходят новые клиенты и пользователи.
  • Выше популярность вашего сервиса. Чем больше пользователей API, тем выше популярность вашего сервиса.
  • Лучше изоляция компонентов. Чем лучше структура API, тем лучше изоляция компонентов.
  • Хорошее впечатление о продукте. API — это как бы UI разработчиков; это то, на что разработчики обращают внимание в первую очередь при встрече с продуктом. Если API кривой, вы как технический эксперт не будете рекомендовать компаниям использовать такой продукт, приобретая что-то стороннее.


Теперь посмотрим, какие бывают виды API.

Виды API по способу реализации:
  • Web service APIs
    • XML-RPC and JSON-RPC
    • SOAP
    • REST

  • WebSockets APIs
  • Library-based APIs
    • Java Script

  • Class-based APIs
    • C# API
    • Java



Виды API по категориям применения:

  • OS function and routines
    • Access to file system
    • Access to user interface

  • Object remoting APIs
    • CORBA
    • .Net remoting

  • Hardware APIs
    • Video acceleration (OpenCL…)
    • Hard disk drives
    • PCI bus



Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments37

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

Reading time28 min
Views186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments38

Гаджеты для бега: от простого к очень простому

Reading time6 min
Views203K
На Хабре уже не раз и не два обращались к теме поддержания физической формы, для такой профессии как айтишник, админ и тому подобные властители неведомого серверного оборудования.
Были темы и просто о пользе бега, со стандартной теоретической подготовкой, и о маленьком, но хитром специальном устройстве от Nike, украшающем беговой процесс. Однако нас, как людей технических до мозга костей, интересует иное: можно ли в процессе беговой тренировки, использовать всю мощь технического прогресса для достижения максимальных результатов?
Поэтому данная статья больше перекликается с давним описанием: нескольких беговых девайсов, с учетом прошедших лет и текущего положения дел в области приборов для спорта и бега.
Все, что описано в статье, испытано на собственном опыте, все скриншоты и результаты взяты из личных данных.

Исходные данные: один условный «айтишник», перешагнувший рубеж 30 лет, и 90 кг.
Необходимо: заинтересовать техногика простыми тренировками, помогающими сохранить физическую форму, сбросить вес и укрепить сердце.


А теперь встали и пошли на тренировку!
Total votes 55: ↑52 and ↓3+49
Comments179

Жонглирование. Теория. Практика

Reading time5 min
Views40K
Настороженно отношусь к непрофильным топикам, но решил написать этот по следующим причинам:
  • У жонглирования есть своя теория — стройная и математически привлекательная!
  • Мы живем не только работой. Жонглирование — отличное развлечение и разминка после долгого сидения за компом.
  • В пятницу приятно немного расслабиться и почитать не очень серьезные статьи. К тому же, будет чем заняться на выходные, особенно если у вас не было определенных планов.

Теория


Утверждать, что жонглирование — это последовательность бросков, все равно, что сказать, что музыка — это просто последовательность нот. Нельзя назвать это неправдой, но любой, хоть немного знакомый с музыкальной теорией, возмутится последним определением — столь поверхностным и недалеким.
Читать дальше →
Total votes 252: ↑242 and ↓10+232
Comments45

Опыт заказа в китайских интернет-магазинах

Reading time5 min
Views578K
В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
Читать дальше →
Total votes 169: ↑155 and ↓14+141
Comments106

Паттерны проектирования

Reading time2 min
Views48K
Здравствуй хаброчеловек!

Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
Читать дальше →
Total votes 47: ↑37 and ↓10+27
Comments29

FAQ по программированию под Android от новичка, и для новичков

Reading time16 min
Views158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

Надеюсь, что приведенные примеры окажутся полезными.
Читать дальше →
Total votes 114: ↑98 and ↓16+82
Comments23

Создание мультизагрузочного USB HDD или флешки

Reading time5 min
Views735K


Загрузочный USB Flash или HDD накопитель удобен тем, что можно отказаться от использования CD/DVD для установки ОС и использования диагностических программ типа Memtest, MHDD, Acronis TI.

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

Существует множество решений для флешек (например, http://eee-pc.ru/wiki/софт:usb_multiboot), но, как правило, они не работают с USB HDD. На хабре я нашел только статью об установке Win7 с USB HDD, но год назад попытки воспроизвести это не увенчались успехом. Для установки Windows 7 с флешки существует MS Win7 DVD Tool, но он опять же не работает с HDD. Поэтому давайте создадим свой мультизагрузочный USB HDD с помощью GRUB4DOS.

Нам понадобится:
  • USB HDD (все описанное должно работать и для флешек).
  • ОС Windows (естественно можно аналогично сделать это и из ОС на базе Linux, но у меня сейчас нет возможности проверить работоспособность и наличие «подводных камней»).
  • Материнская плата (BIOS) с поддержкой загрузки с USB накопителей. Если загрузка с USB не поддерживается, можно использовать Plop, об этом ниже.


Читать дальше →
Total votes 93: ↑81 and ↓12+69
Comments61

Information

Rating
Does not participate
Date of birth
Registered
Activity