Pull to refresh
0
Art.Ra @ArtRa64read⁠-⁠only

Программист

Send message

Jest: error Command failed with exit code 1

Reading time3 min
Views3.9K

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

По сути в этой публикации речь пойдет о функции done() в jest. Функция очень полезная, так как позволяет разработчику решать в какой момент будет закончен тест. Бывают ситуации, когда это действительно очень нужно. В новом проекте я столкнулся с такой задачей и решил просто описать то, как я её решил.

Читать далее

Предварительный просмотр Stateful Вью в SwiftUI

Reading time5 min
Views1.3K

При создании пользовательского интерфейса в SwiftUI мы, как правило, создаем два типа компонентов пользовательского интерфейса: экраны и (переиспользуемые) вью. Обычно мы начинаем с создания прототипа экрана, что неизбежно приводит к Massive ContentView, далее который мы начинаем рефакторить в более мелкие, используемые повторно компоненты.

Читать далее

Обзор механизма подписания документов ЭЦП с применением QR кодов через приложение eGov mobile (aka QR-подписание)

Reading time3 min
Views6.7K

Осенью 2022 года в Казахстане был анонсирован новый механизм подписания электронных документов - QR-подписание. Я расскажу о том, что это такое, как оно работает и как можно его опробовать.

Читать далее

Алгоритм HyperLogLog, или Оцениваем мощность множества за O(1)

Reading time12 min
Views16K


Привет, Хабр! Меня зовут Максим, я учусь на третьем курсе МФТИ. Этим летом я участвовал в студенческой программе, которую проводила команда Tarantool. Если кратко, суть программы в том, чтобы самостоятельно или в команде решить исследовательскую задачу в определенный срок. 

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

Технология ABENICS: революция в области механики?

Reading time5 min
Views37K

Прорыв в инженерии, о котором говорит весь интернет. Почему-то на Хабре нет, так что решил рассказать.

Итак, ABENICS — это Active Ball Joint Mechanism. Проект разработан Университетом Ямагата в Японии, и являет собой специальную сферическую механическую конструкцию для возможных новых сервоприводов с шаровым шарниром. По сути, это новая форма шестеренки, которая стала возможна благодаря развитию технологий и повышению точности производства.

Читать далее

Подводные камни компараторов в С++

Reading time9 min
Views11K
При использовании компаратора в алгоритмах boost::sort и std::sort важно учитывать некоторые особенности работы этих алгоритмов, игнорирование которых может привести к неожиданным последствиям, в том числе к segmentation fault.

image

Чаще всего при сортировке объектов пользовательских типов написание кода сравнения элементов коллекции не вызывает вопросов. Компаратор должен возвращать true, если первый аргумент меньше второго, то есть в отсортированном массиве первый аргумент должен идти перед вторым. Алгоритмы сначала вызывают компаратор для пары элементов x и y. Если компаратор вернул true, значит, элемент x меньше y и он должен идти в коллекции перед элементом y, если false, то компаратор вызывается повторно для пары y и x. Если компаратор опять вернул false, значит, элементы равны, иначе порядок определен.

Меня зовут Олег Игнатов, я — Development Team Lead в команде KICS (Kaspersky Industrial CyberSecurity) «Лаборатории Касперского». Мы защищаем промышленные инфраструктуры и сети от специализированных киберугроз. В этой статье расскажу о некоторых особенностях использования компараторов в С++, знание которых позволит не наступить на различные грабли и сэкономить время при разборе багов.
Читать дальше →

Server-driven UI, «Триплекс» и JSON: как Сбер сервисы в мобильные приложения выводит

Reading time6 min
Views4.6K

Привет, Хабр! Меня зовут Иван Некипелов, я работаю в Сбере в подразделении «Цифровой Корпоративный Банк» и занимаюсь развитием мобильных приложений СберБизнеса. В статье расскажу о том, что стало для нас особенно актуальным при выводе сервисов в мобильные приложения в условиях закрытых маркетплейсов и нехватки рук мобильных разработчиков.

Так, на основе уже известной технологии Server-driven UI мы смогли создать собственное решение, которое позволило сэкономить более 1 000 человеко-часов при выводе продуктов и сервисов. Давайте разберёмся, как это работает.

Читать далее

Что читать техлиду: 7 увлекательных книг

Reading time6 min
Views30K

Какие качества отличают хорошего технического лида? Уверены, как минимум инициативность, стратегическое видение, интерес к новым практикам и инструментам, идущие рука об руку с желанием постоянно развиваться. Немалую роль в lifelong learning техлида могут сыграть правильно подобранные книги.

Немет, Луц, Лав, Танненбаум, Страуструп, Олифер, Лукас — вот лишь некоторые известные авторы, о которых мы сегодня не будем говорить. Надеемся, что раз вы стали лидером технической команды, то с фундаментальной литературой в своей области знаний знакомы не понаслышке.

Под катом рекомендуем 7 изданий о soft-skills, методологиях, управлении командами и проектами.

Читать далее

Телеграм-бот в помощь агроному

Reading time5 min
Views2.4K

Рекомендательные системы на основе искусственного интеллекта часто используют в медицине: например, робот-ассистент, который помогает хирургу выявить проблемы и назначить правильное лечение. Такие технологии внедряются и в сельском хозяйстве, например, агро-бот «Тензор Филдс».

В прошлом году стартап «Тензор Филдс» стал финалистом акселератора Россельхозбанка в категории «Решения для экосистемы «Своё Фермерство». Проект также получил номинацию «Самый оригинальный стартап». Сейчас «Тензор Филдс» — часть цифровой экосистемы «Своё Фермерство», что дает возможность сотрудничать с агрохозяйствами, которые уже пользуются IT-продуктами и улучшить свое предложение для клиентов.

В новой статье расскажем о команде и решении подробнее.

Читать далее

Пароли приложений в Carbonio

Reading time6 min
Views1.4K

В прошлой статье мы рассказывали про защиту учетной записи при помощи двухфакторной аутентификации. Использование дополнительного требования для успешного прохождения аутентификации позволяет повысить безопасность важных учетных записей, но может использоваться далеко не везде. В частности при подключении к почтовому серверу по протоколам IMAP, POP3, CalDAV и Exchange ActiveSync двухфакторная аутентификация не поддерживается. Для защиты сервера от этого вектора атаки используются пароли приложений - отдельные пароли, по которым пользователь может аутентифицироваться при подключении к серверу из стороннего почтового клиента. Благодаря паролям приложений в том случае, если устройство или сам клиент будут скомпрометированы, в руках злоумышленников окажется не пароль учетной записи, с помощью которого они смогут получить доступ к основной учетной записи, а всего лишь один из паролей, предоставляющий доступ к ограниченному набору функций, и который можно легко отозвать, сохранив работоспособность других подключенных к данной учетной записи почтовых клиентов. В данной статье мы расскажем о том, как создавать, удалять и изменять пароли приложений в Carbonio.

Читать далее

Эволюция синхронного обучения на Хекслете: как понять, какой подход к обучению разработке вам больше подойдет

Reading time7 min
Views3.5K

Формат обучения — один из факторов, на который можно ориентироваться при выборе образовательных курсов. Одна компания предлагает просто купить программу, где никто не контролирует ваш прогресс. Вторая — ставит жесткие дедлайны, делает строгий контроль успеваемости и отчисляет тех, кто не справляется. У третьей полностью асинхронная группа и только один дедлайн, и тот — когда заканчивается оплаченный период. Но действительно ли выбор находится между полной свободой и жесткими ограничениями?

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

Читать далее

Как мы качали регионы в Деливери Клабе

Reading time9 min
Views2.1K

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

Проблема.

Если вы технологическая компания, работающая на В2С рынке с миллионами клиентов, скорее всего у вас есть любимая «кнопка получения дополнительной выручки» - маркетинг. В случае с Деливери Клабом это точно было так, по крайней мере долгое время. Примерно полтора года назад, летом 2021 года, появилась задача ускорить рост, и привычным образом была нажата именно эта кнопка. Но в этот раз желаемый рост не произошел. Несмотря на заметные скидки и приток новых пользователей, эффект был несоизмеримым ни с запланированным, ни с прошлыми итерациями. Стало ясно, что сломано что-то внутри. 

В то время в Деливери Клабе зарождалась практика «высадки руководства в поля». Она существует очень во многих технологических компаниях и не только в них. Это такой универсальный способ сделать так, чтобы руководители, находящиеся очень далеко от «земли», на эту землю спускались и смотрели на происходящее незамыленым взглядом. Столкнувшись с проблемой роста, было решено взять всю руководящую команду и отправить ее работать курьерами в один из проблемных городов на несколько дней. Назовем его для удобства город Анск.

Вести с полей и SWAT-команда.

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

Читать далее

77 полезных вещей, которые узнал после создания 10+ технологических стартапов

Reading time8 min
Views3.6K

Привет! Меня зовут Максим Кульгин, я основатель xmldatafeed.com и clickfraud.ru. Мы занимаемся парсингом сайтов и защитой от скликивания, и не оставляем надежду выйти на глобальные рынки. Т. к. у нас своего опыта еще нет, я ищу интересные, откровенные статьи с сторонним опытом, которые перевожу для себя и теперь хочу поделиться с вами.

Прошлая статья, где переводил авторский опыт получения 35 000 скачиваний приложения по миру за ~50$ была относительно неплохо воспринята сообществом, поэтому решил продолжать. Да и самому интересно читать…

В этот раз меня «зацепила» статья, где автор (довольно опытный, судя по его постам и комментариям) делится своим опытом в виде ~77 советов (в оригинальной статье было ровно 100 пунктов, но часть я удалил, т.к. они мне показались крайне странными — к нашей действительности не применимы). Изначально я подумал, что эта статья а-ля «капитан очевидность», но когда вчитался — очень понравилось, т. к. это полностью отражает и наш небольшой опыт запуска ИТ- проектов в РФ. Посчитал, что будет полезно перевести.

Я позволил себе делать перевод «вольный» с своими комментариями, дополнениями и уточнениями (где-то расшифровал термины, где-то детализировал идею автора, адаптировал к Российской действительности и т. п.) . Больше информации вы можете найти на телеграм- канале «Русский ИТ бизнес» — в нем пишу всё, с чем сталкиваемся в процессе работы, без приукрашивания.

Дальше рассказ пойдет от первого лица автора с моими комментариями в скобках курсивом… Оригинал статьи на английском языке доступен здесь (вам потребуется VPN для чтения).

Читать далее

Цвет сезона – слива. Что мы сделали с GreenPlum в 2022-м и что планируем в 2023-м

Reading time7 min
Views4.9K

Привет, Хабр! Меня зовут Марк Лебедев, работаю архитектором в GlowByte. В июне 2022 года на митапе DataPeople мы с командой рассказывали о наших планах в части GreenPlum (запись выступления). Если коротко, тогда мы сфокусировались на развитии open-source и собирались выложить в публичный доступ наши наработки относительно мониторинга кластера и мониторинга запросов, плейбуки по инсталляции и наши подходы для нагрузочного тестирования. Собственно про них и хотелось бы поговорить подробно. В этой статье мы подведём итоги, что нам удалось сделать за прошедшие 6 месяцев, и расскажем о планах на будущий год. В конце статьи укажем все ссылки на репозитории.

Читать далее

Завхоз ландшафта в поисках хозяина дыры: зачем и как я шантажирую начальство

Reading time14 min
Views21K

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

Сама идея безопасности, отличной от настройки файервола, всё ещё нова для некоторых компаний. Средний возраст уязвимости, через которую влезают злодеи, составляет семь лет. СЕМЬ. То есть это не новое и модное, за которым не успели, это старое и известное, на которое забили.

Заставить высший менеджмент шевелиться тут могут только хорошо организованные шантаж и угрозы. И вот как я это делаю. 

Читать далее

Как увеличить продажи в интернет-магазине с помощью объединения корзины и чекаута

Reading time5 min
Views3.1K

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

В данном материале я хочу рассказать про одностраничное оформление заказа и его влияние на конверсию интернет-магазина.

Читать далее

Апгрейд не нужен, если техника 20 лет работает и не ломается

Reading time6 min
Views46K
На этот 486SX поставили веб-сервер mTCP HTTPSERV.exe. Он немножко поработал в онлайне

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

Длительное использование некоторой техники — это не страх перемен или нехватка денег. Иногда просто случайность. О каком-нибудь сервере (или сотруднике) могут банально забыть, потому что он за эти годы не завис ни разу (не обратил на себя внимания). Никто не помнит, где он и как выглядит. Работает — и работает, ок.
Читать дальше →

Видеозаписи докладов CyberCamp. Разбираем вопросы безопасности Linux

Reading time4 min
Views5K

Привет, Хабр! В конце декабря мы командой CyberCamp провели митап, посвященный безопасности Linux. Прошлись по всей ОС — от ядра до логов. Плюсы в виде открытого кода, надежности, быстродействия и, казалось бы, повышенный уровень защищенности от киберугроз увеличивает пул активных пользователей. Но среди этих качеств нет неуязвимости. На митапе были разобраны вопросы, какие угрозы актуальны для Linux и как от них защититься.

Под катом мы собрали полный плейлист выступлений:

  Безопасность ядра Linux: в теории и на практике / Александр Попов, Positive Technologies

 Повышение привилегий на Linux / Владимир Ротанов, «Инфосистемы Джет»

 Анализ взлома общедоступных экземпляров баз данных / Александр Матвиенко, «Инфосистемы Джет»

 Особенности вредоносного ПО под Linux-системы / Ярослав Шмелёв, «Лаборатория Касперского»

 Анализ логов в Unix-системах / Артём Крикунов, «Инфосистемы Джет»

Харденинг Linux / Антон Велижанинов, «Инфосистемы Джет»

Читать далее

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

Specialist
Senior