Pull to refresh
7
0

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

Send message

Мощный инструмент для работы с GCOV покрытием кода C/C++

Level of difficultyMedium
Reading time6 min
Views2.9K

Привет, Хабр.

Скорее всего то, о чем я сейчас расскажу, уже было реализовано и не единожды.

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

Читать далее
Total votes 5: ↑5 and ↓0+8
Comments13

Как исправить изменившийся номер договора в нескольких сотнях Эксель файлов менее чем за минуту

Level of difficultyEasy
Reading time4 min
Views11K

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

Так появилась задача однотипной замены номера договора и его даты в каждом из *.xlsx файлов, которые были расположены в папках, названных по адресу объекта. Таких папок было множество и некоторые ещё имели вложенные подкаталоги.

Ручной способ, который состоит из использования сочетания клавиш Ctrl + H хоть и позволял сделать замену во всей книге Microsoft Excel сразу, но подразумевал что придётся открыть каждый файл по отдельности, нажимать несколько раз (под замену не только номер, но и дата) сочетания клавиш для замены, сохранять книгу Экселя, закрывать книгу, открывать новую книгу. В общем совершать множество механических действий.

Я конечно же стал думать, как можно наиболее простым для себя способом сделать это множество автозамен. Выбор сразу пал на VBA - Visual Basic для приложений. Ведь при помощи VBA можно заставить Эксель делать то, чего он не умеет по умолчанию.

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

VBA Excel автозамена
Total votes 18: ↑14 and ↓4+12
Comments42

Быть жестким, но не жестоким: как разойтись с сотрудником по хорошему?

Level of difficultyEasy
Reading time5 min
Views25K

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

Читать далее
Total votes 49: ↑35 and ↓14+28
Comments129

Что нужно знать, чтобы успешно пройти System Design Interview

Reading time16 min
Views30K

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

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

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

Читать далее
Total votes 47: ↑45 and ↓2+52
Comments26

А/Б тестирование на маленьких выборках. Построение собственного критерия

Reading time8 min
Views7.4K

Хабр, привет! Сегодня рассмотрим кейс, в котором классические статистические критерии не работают, и разберёмся, почему так происходит. Научимся строить свои собственные критерии по историческим данным. Обсудим плюсы и минусы такого подхода.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments4

Chisel — (не совсем) новый подход к разработке цифровой логики

Reading time14 min
Views8.1K


С развитием микроэлектроники, rtl дизайны становились все больше и больше. Реюзабилити кода на verilog доставляет массу неудобств, даже с использованием generate, макросов и фишек system verilog. Chisel же, дает возможность применить всю мощь объектного и функционального программирования к разработке rtl, что является достаточно долгожданным шагом, который может наполнить свежим воздухом легкие разработчиков ASIC и FPGA.


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

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments12

Как разработать микросхему, от идеи до результата. Часть 4. DRC/LVS/PEX

Reading time12 min
Views5.7K
В прошлой статье мы сделали Layout, а в этой части мы проведём LVS/DRC/PEX и исправим ошибки из прошлой статьи. Для тех, кто пропустил прошлые части, вот ссылки на них.




В этой части мы:

  1. Запустим Design Rule Check, чтобы проверить возможность произвести нашу схему
  2. Запустим Device Extraction для сравнения нашего Layout с целевой схемой.
  3. Произведём сравнение наших компонентов из Layout и нашей схемы, которую мы нарисовали в XSCHEM.
  4. Сгенерируем netlist с паразитными конденсаторами и резисторами (PEX).
  5. Просимулируем netlist с паразитными конденсаторами и резисторами.
  6. Сгенерируем LEF файл.
  7. Подведём итоги этой серии статей.
Читать дальше →
Total votes 38: ↑37 and ↓1+55
Comments8

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

Level of difficultyMedium
Reading time15 min
Views7.3K

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Total votes 22: ↑22 and ↓0+25
Comments13

Семейство хеш-функций CityHash от Google

Reading time2 min
Views14K
Google выложил под свободной лицензией новое семейство хеш-функций CityHash для строк. Пока представлены функции CityHash64 и CityHash128 для получения 64- и 128-битных хеш-кодов.

Как сообщают разработчики, в реальных условиях CityHash64 превосходит по скорости аналогичные хеш-функции как минимум на 30%.

В силу своей простоты данные хеш-функции не подходят для криптографических применений, но теоретически это идеальный вариант для хеш-таблиц. Правда, код пока сыроват, недостаточно оттестирован (см. warning) и нуждается в некоторой доработке.
Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments15

Почему секретарша является самым дорогим ресурсом в команде?

Level of difficultyEasy
Reading time3 min
Views47K

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

Читать далее
Total votes 81: ↑72 and ↓9+82
Comments176

Ассемблер: x86/x86_64/Arm32/Arm64

Level of difficultyMedium
Reading time6 min
Views8.2K

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

Но как всегда для практики надо быть подготовленным, а как оказалось, я был не подготовлен...

Читать далее
Total votes 12: ↑11 and ↓1+13
Comments34

Файловый ввод, сделанный по-человечески

Reading time21 min
Views17K

Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так вот, у студентов, выбравших для выполнения этого задания язык C++ [язык программирования выбирается студентом для каждого задания, но чаще всего выбирают C++ или Python], почему-то иногда читалась из файла лишняя пустая строка. В прошлые годы я не придавал этому большого значения, но в последний раз решил таки разобраться в чём проблема.
Читать дальше →
Total votes 28: ↑24 and ↓4+29
Comments134

Метод Finite Volume — реализация на примере теплопроводности

Reading time9 min
Views32K
В статье описывается реализация известного метода конечных объемов для численного решения уравнений в частных производных.Используется разбиение области на любые стандартные элементы(конечные объемы) — треугольники, четырехугольники и т.д.Метод визуализации результатов расчетов также самописный.


Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments14

Battle Realms: прорыв в жанре RTS, не замеченный публикой

Level of difficultyEasy
Reading time7 min
Views14K

Во времена дефицита информации о выходящих проектах пропустить что-то действительно интересное было раз плюнуть. Интернет имели единицы, а прочитать в журнале про все предстоящие проекты было довольно проблематично (да и для многих дорого). Но однажды мне повезло, и при очередном походе в магазин за новой игрой я совершенно случайно наткнулся, если и не на хит, то уж на знаковый проект – точно. Это был Battle Realms!

Будучи стратегией в восточном сеттинге и имея много интересных для жанра нововведений и игровых механик, она так и не стала значимой фигурой в индустрии (во многом из-за релиза незадолго до выхода Warcraft 3). Если вы подумали «О боже, очередной клон популярных стратегий нулевых», то спешу вам сообщить, что это в корне не так! Battle Realms не является пародией на Warcraft, Starcraft, Dune 2 или Red Alert, а пытается идти по своему пути! Это было круто и в 2001, а учитывая, что жанр стратегических игр не сильно развивается в наши дни, это интересно и сегодня. К тому же, недавно вышел её официальный ремастер, позволяющий самостоятельно попробовать этот самобытный проект.

Сегодня я постараюсь кратко рассказать, чем знаменательна Battle Realms, и пробудить ваше любопытство и ностальгию. Надеюсь, у меня получится убедить вас сыграть в неё. А чтобы вам было максимально удобно, я выложу сборку с уже готовой к запуску игрой.

Читать далее
Total votes 23: ↑22 and ↓1+24
Comments18

Установка обратного VPN: нет ничего проще

Level of difficultyEasy
Reading time5 min
Views34K


Сейчас многие граждане РФ, которые находятся за границей, испытывают проблемы с доступом к некоторым российским ресурсам. По каким-то причинам несколько десятков российских сайтов запрещают доступ с IP-адресов за пределами РФ.

К счастью, эту проблему довольно легко решить, если поднять свой сервер внутри РФ и перенаправить трафик через него. Это так называемый «обратный VPN».

В принципе, его можно организовать на любом компьютере на территории РФ, который постоянно находится в онлайне и подключён к местному провайдеру. Как вариант, заказать услугу VPS за полтора доллара — и поднять систему на внешнем хостинге. И всё, считайте, что вы виртуально переехали обратно в РФ.
Читать дальше →
Total votes 38: ↑33 and ↓5+42
Comments60

Лаборатория-мастерская в деревне. Малыми средствами, своими руками, с самого начала

Level of difficultyMedium
Reading time7 min
Views22K

Квартирный вопрос, испортивший, как всем известно, людей нашего времени, тем не менее решается. И решается куда как проще на некотором удалении от столиц и крупных городов, а в глуши и вовсе зачастую приходится только набраться решимости и закатать рукава… Речь пойдёт о строительстве небольшого приусадебного всепогодного и всесезонного помещения в основном для некрупного настольного технического творчества. Строительство при этом велось весьма невеликими средствами, в одиночку, без применения строительной техники и почти без использования наёмной рабочей силы. С другой стороны, и публика мы непривередливая и некапризная.
Читать дальше →
Total votes 152: ↑151 and ↓1+193
Comments145

Корреляция между временными рядами: что может быть проще?

Reading time25 min
Views23K

Все чаще объектами статистического анализа становятся не массивы (таблицы) значений, а временные ряды. Такие ряды формируются при наблюдениях за природными процессами и явлениями, изучении социологических или макроэкономических показателей, при промышленном производстве и сбыте продукции. Главное, что отличает временной ряд от других типов данных – это то, что номер (время) наблюдения имеет значение. То есть, важен не только результат измерения, но и тот момент времени, когда оно выполнено. К сожалению, при применении статистических методов на этот нюанс часто не обращают внимания. Однако, именно эта "мелочь" приводит к очень серьезным и нетривиальным следствиям с точки зрения обработки таких сигналов. Самые обычные формулы, описанные во всех учебниках, внезапно отказываются работать. А попытки их применения "в лоб" иногда дают, мягко говоря, весьма неожиданные результаты. Например, статистическая связь между числом пиратов и глобальным потеплением оказывается не просто "значимой", а "практически достоверной". Что удивительно, столкнувшись с такой ситуацией, даже достаточно грамотные исследователи не всегда понимают, где же тут "порылась собака" . Данные вроде бы правильные, математика (как и жена Цезаря) – точно вне подозрений. А результат – ни в какие ворота... А Вы твердо уверены, что всегда правильно оцениваете значимость таких корреляций?

Если не очень – прошу под кат.
Total votes 17: ↑16 and ↓1+23
Comments19

ТОП-5 книг, которые помогут научиться договариваться и выстраивать эффективные коммуникации

Level of difficultyEasy
Reading time3 min
Views9.7K

Привет, Хабр! Я бизнес-тренер. Мы в ОТП Банке очень любим читать полезные книги и делиться своими наблюдениями с коллегами. Решили, что и с читателями Хабра тоже нужно поделиться. Возможно, кто-то их все уже прочёл, а кто-то нет — и тогда я буду очень рада, что рекомендации пригодились:) Эти книги помогут прокачать soft skills — полезные навыки на пути к большим зарплатам.

Пополнить багаж знаний
Total votes 7: ↑6 and ↓1+8
Comments3

Фильтр Блума – вероятностная структура данных для проверки принадлежности элемента множеству

Level of difficultyEasy
Reading time8 min
Views6.9K

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

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

Читать далее
Total votes 13: ↑12 and ↓1+14
Comments5

Сжатие целых чисел

Level of difficultyEasy
Reading time5 min
Views13K

Цель статьи осветить state of the art методы сжатия целых чисел, чтобы сэкономить в будущем время исследования алгоритмов и терминологии. При этом описание части алгоритмов может быть упрощено для понимания. Сравнение алгоритмов тоже находится вне рамках этой статьи. Подробнее можно почитать в ссылках.

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

Читать далее
Total votes 32: ↑27 and ↓5+32
Comments22
1
23 ...

Information

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