Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Группировка вызовов функций через обещания

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

Прошлая статья по данной теме была чисто теоретическая. Теперь есть готовый пакет. И данная статья - инструкция к нему.

Базовый функционал
Самое очевидное применение группировки вызовов - решение проблемы N+1 запросов. Данная проблема возникает когда фреймворк доступа к данным выполняет N дополнительных SQL-запросов для получения тех же данных, которые можно получить при выполнении одного запроса.
К примеру для получения данных имеются вызовы следующих функций, каждая из которых выполняет один SQL-запрос. При применении пакета 6 вызовов функций группируются в две группы по типу функции вызова. И в каждую группу попадают все аргументы вызова.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 15

Как трудно быть абитуриентом мех-мат МГУ

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

Авторы делятся своими воспоминаниями о поступлении и учебе на механико ‑математическом факультете МГУ. На всякий случай: Ильичев Виталий — окончил кафедру «Математической логики и теории алгоритмов», доктор технических наук, Южный Научный Центр РАН; Маринин Андрей — окончил кафедру «Дифференциальных уравнений», преподаватель Нижегородского госуниверситета.

Эти реальные события произошли много лет тому назад, кажется, в 1967 году. В этот раз на первом экзамене — по письменной математике — предлагались четыре задачи. С точки зрения психологии не совсем ясно какой стратегии на данном экзамене лучше придерживаться. Так, первая «параллельная» стратегия заключается в беглом просмотре всех задач, чтобы примерно оценить их трудность, а затем уже приступить к аккуратному изложению решений. Хорошо, если быстро удается убедиться, что все задачи «вполне решаемы». Это вдохновляет, и позволяет быстро оформить работу. Разумеется, это рискованная стратегия, поскольку можно потратить много времени на поиске решения одной из трудных задач. И тогда не хватит времени на аккуратное оформление остальных. Вторая стратегия — последовательное решении предлагаемых задач. Если решить какую‑то задачу сразу не получается, то переходим к следующей.

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

Как наладить недорогой процесс сбора отзывов о вашем продукте: 4 действенных шага

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

Основатель AI-стартапа Linguix.com в блоге на Substack поделился своим подходом к организации процесса сбора отзывов. Маркетологи попробовали разные способы и на выходе получили четыре простых шага, чтобы стартапу с нуля начать получать реальные отзывы живых людей и не потратить на это слишком много денег. 

Краткая выжимка этого материала – в переводе ниже.

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Комментарии 0

Технически подкованный способ похудеть без смс и регистрации

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

Я программист, и никого не удивлю своей проблемой — в 28 лет набрал 10 кг жира, в 34 года ещё 10 кг, сейчас мне 44 года и я до сих пор не избавился полностью от этих совершенно ненужных килограммов.

Теория полностью известна, но

Читать далее
Всего голосов 48: ↑44 и ↓4 +40
Комментарии 111

Истории

Как взломать банк? (или разбор Payment Village на StandOff 11)

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

Егор Филатов, младший аналитик отдела анализа защищенности Angara Security, подготовил разбор двух недопустимых событий в банковской сфере, которые могли бы нанести серьезный урон бизнесу... Но на практике это моделирование кибератаки через мобильное приложение, которое получили все участники майского Standoff 11.

Итак, подготовка к учениям:

До начала соревнований командам, которые успели связаться с организаторами, были высланы две смарт-карты: по легенде одна из этих карт ваша, вторая - украденная. В справочной информации по данному заданию организаторы написали: “Это практически те же карты, как Visa или MasterCard, с такими же уязвимостями”. Забегая вперед, для реализации первых двух недопустимых событий эксплуатировать “уязвимости карты” не потребовалось.

Хочу кратко показать, что же было записано на картах, на примере одной из них:

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 2

Приключения ржавого 1602 (HD44780 A00)

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

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

код
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 3

Безопасно стираем файлы с цифровых носителей

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

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

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

Новая комета C/2023 H2 Lemmon

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

Она вспыхнула, когда уже никто не ждал

Эта комета была обнаружена 23 апреля 2023 года в ходе панорамного обзора неба, проводимого обсерваторией Маунт Леммон (штат Аризона, США). Давайте проследим движение кометы C/2023 H2 Lemmon в каждый из 10 предстоящих вечеров

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

Китайцам удалось разработать и выпустить самую емкую в мире флеш-память. В чем прогресс?

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

О компании YMTC мы несколько раз уже писали на Хабре. Например, в этой статье мы показали, как санкции США ударили по производству китайских чипов памяти. Тем не менее, бизнесу в КНР, связанному с производством электроники, удается не только выживать, но и реализовывать весьма интересные проекты.

Та самая компания YMTC запустила массовое производство 232-слойных чипов флеш-памяти 3D NAND. У конкурентов есть похожие разработки, но там либо не все готово, либо есть нюансы в производстве чипов. Подробности — под катом.
Читать дальше →
Всего голосов 61: ↑57 и ↓4 +53
Комментарии 52

Гуманитарий с 0 знаний в программировании. 3 часть. Первые шаги в C# (и слегка Unity)

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

Фрустрация + неизвестность + подготовка к госам/диплома + изучение C# = достаточный уровень напряжения и стресса.

Что этот ждуниор нам расскажет...
Всего голосов 16: ↑7 и ↓9 -2
Комментарии 21

ShIoTiny5 — Концепция и конфигурация

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

Продолжаем цикл статей о системе визуального программирования ShIotiny5.

Очень много вопросов задают по поводу того, как правильно «прошить» ESP-модуль прошивкой ShIoTiny5 и как его настроить.Это не удивительно, так как параметров конфигурации немало. Да и разных ESP-модулей — тоже.

Действительно, есть уже несколько статей по программированию устройств ShIoTiny5, но нет ни одной, где описаны способы установки ПО - программного обеспечения - ShIotiny5 на ESP-модуль и по его системным настройкам.

Также есть вопросы по поводу того, почему система ShIoTiny5 такая какая есть, а не «вот такая», какая она рисуется в фантазиях некоторых читателей.

Попробую ответить на эти вопросы.

В этой статье нет ничего о программировании ShIotiny5.
Она целиком посвящена прошивке программного обеспечения и его конфигурации. И немного - концепциям и идеям.

Как прошить и как настроить ShIoTiny5.
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 4

[Личный опыт] Из Аргентины в Парагвай: кое-что интересное об этих странах и о жизни цифрового кочевника

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

Мы давно не рассказывали о переездах, так что исправляемся. Сегодня у нас история от одной из сотрудниц getmatch, Вики. Она переехала из России сначала в Аргентину, а потом в Парагвай, и пока вполне с комфортом там живет. Вика расскажет, почему в Парагвае самая простая натурализация и как здесь живется, что важно сделать до переезда и каково работать c семичасовой разницей во времени и в совершенно чужой стране. Передаем ей слово.

Читать далее
Всего голосов 18: ↑10 и ↓8 +2
Комментарии 4

Работа с A/B-тестами в крупной соцсети: подробно об A/B платформе Одноклассников

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

ОК — социальная сеть, которой ежемесячно пользуется более 36,5 млн уникальных пользователей из России. Наш продукт имеет сложную архитектуру, включает десятки сервисов и инструментов, которые мы постоянно совершенствуем и добавляем новые. Чтобы в процессе выкатки обновлений не появились сбои в работе этого механизма, а продуктовые цели были достигнуты, мы активно работаем с A/B-тестами. 

Меня зовут Евгения Лушпина. Я продуктовый аналитик в ОК. В этой статье я расскажу об A/B платформе ОК, сценариях ее применения и поделюсь, как у нас устроен процесс анализа экспериментов.

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

Ближайшие события

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
HighLoad++ 2023
Дата 27 – 28 ноября
Время 9:00 – 20:00
Место Москва Онлайн
Открытая трансляция Главного зала HighLoad++ 2023
Дата 27 – 28 ноября
Время 10:00 – 20:00
Место Онлайн
Business Code Conference
Дата 30 ноября
Время 17:30 – 00:00
Место Москва
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн
YaTalks 2023 — главная конференция Яндекса для IT сообщества
Дата 5 – 6 декабря
Время 9:00 – 23:59
Место Москва Белград Онлайн

Что делать с допущениями?

Время на прочтение 2 мин
Количество просмотров 766

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

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

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

Почему вам стоит отказаться от использования timestamp в PostgreSQL

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

Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.

Среди тех, кто работает с PostgreSQL, есть очень распространенное заблуждение про типы данных timestamp (который также именуется timestamp without time zone) и timestamptz (или timestamp with time zone). Вкратце его можно сформулировать так:

Мне не нужен тип timestamp with time zone, т.к. у меня все находится в одном часовом поясе — и сервер, и клиенты.

В статье я постараюсь объяснить, почему даже в таком довольно простом сценарии можно запросто напороться на проблемы. А в более сложных (которые на самом деле чаще встречаются на практике, чем может показаться) баги при использовании timestamp практически гарантированы.

Читать далее
Всего голосов 96: ↑93 и ↓3 +90
Комментарии 136

Приглашаем на онлайн-воркшоп «Kaspresso: учимся писать автотесты и прокачиваем резюме»

Время на прочтение 1 мин
Количество просмотров 1.3K
В четверг, 16 ноября, в 16 часов (МСК) мы проведем онлайн-воркшоп Kaspersky Tech под названием «Kaspresso: учимся писать автотесты и прокачиваем резюме». Его проведет один из разработчиков популярного (1,7 тысяч звезд на Github) open source фреймворка для автотестов Kaspresso – Андрей Сумин.



Во время эфира Андрей в формате live-coding научит использовать фреймворк для автотестов на Android, расскажет про его особенности и ответит на все интересующие вопросы. Кстати, на эфир можно прийти даже если вы только учитесь на тестировщика: мы покажем все с нуля, а вы сможете пополнить свое резюме еще одним скилом.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 0

Проблема множественного тестирования на практике

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

Нередко случаются ситуации, когда в A/B экспериментах ну очень хочется нужно проверять сразу несколько гипотез на одном и том же наборе данных, то есть в качестве тестового варианта использовать не одну группу, а сразу несколько. Особенно часто такая необходимость встречается в некоторых областях биологии. Но и в продуктовых командах возникают кейсы, когда, например, уже есть несколько вариантов дизайна каких-то элементов / моделей рекомендаций / ранжирования / etc, и хочется выбрать лучший в рамках одного эксперимента.

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

Читать дальше →
Рейтинг 0
Комментарии 0

Обзор безопасных микроконтроллеров Flagchip для автомобильной электроники

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

Чем заменить санкционные микроконтроллеры STM, Kinetis и другие, особенно для ответственных и безопасных приложений? - На наши российские, конечно, если такие найти. Но ведь есть еще и микроконтроллеры из Китая, которые благодаря дружбе наших стран можно использовать вместо чипов ушедших с рынка иностранных компаний.

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

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

Начинаем разработку на Flagchip
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 31

Наводим порядок в наших миграциях

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

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

Читать далее
Всего голосов 17: ↑10 и ↓7 +3
Комментарии 4

Введение в Apache Flink: осваиваем фреймворк на реальных примерах

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

Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет строить обработку данных с минимальной задержкой. В качестве DI-фреймворка выбрали привычный нам Spring Framework.

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

Эти знания будут полезны любому Java-разработчику, знакомому со Spring. А начинающие Flink-специалисты найдут здесь примеры стандартных ошибок и пути их решения. Обратите внимание, что эти материалы писались, когда актуальной версией Flink была 1.17. В конце октября вышла версия 1.18, и она может отличаться некоторыми нюансами.

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