Pull to refresh
145
Karma
0.1
Rating

Expert C++ Engineer

Дефицит есть, а денег не дают. Почему?

Reading time 27 min
Views 280K
Headz.io corporate blog Research and forecasts in IT *IT career Statistics in IT

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

Читать далее
Total votes 618: ↑603 and ↓15 +588
Comments 1200

Как сделать из линейного сотрудника начальника и потом с этим жить

Reading time 7 min
Views 22K
Personnel Management *IT career

И так, вот команда растёт, растёт и дорастает хотя бы до 15+ человек. В этот момент вы неожиданно понимаете, что у вас 3 бекенд-разработчика или даже 5. Здесь возникает неудержимое желание сделать одного из них Самым-Главным-Бекенд-Разработчиком-Проекта. Это желание понятно, и даже логично...

Читать далее
Total votes 57: ↑55 and ↓2 +53
Comments 38

Уничтожение комаров

Reading time 5 min
Views 78K
Smart House Ecology
Tutorial
Наступило лето и, пришла комариная пора. Конечно, готовиться к их уничтожению уже поздновато, но лучше поздно, чем никогда.

Вводные.

  1. Комар типичный русский может летать на 100 метров, а отдельные виды летают на запах до 5 километров, что акула. Это значит, что для того, чтоб у вас не было комаров, комаров не должно быть в радиусе 100 метров.
  2. Комар плодится каждые 5 дней. Поэтому, если в сутки уничтожается менее 1/5 популяции комаров, то методы будут бесполезны.
  3. Комарам нужно много воды. Они живут возле заболоченых мест, либо там где вода. На участках они обычно вылетают вечером после жаркого дня, когда выпадает роса — чтоб напиться.

Методики уничтожения комаров


Читать дальше →
Total votes 144: ↑143 and ↓1 +142
Comments 269

Создание масштабируемого API на спотовых инстансах AWS

Reading time 16 min
Views 6.3K
Adapty corporate blog System Analysis and Design *IT Infrastructure *Amazon Web Services *Cloud services *
Tutorial

Всем привет! Меня зовут Кирилл, я CTO Adapty Большая часть нашей архитектуры находится на AWS, и сегодня я расскажу о том, как мы сократили расходы на сервера в 3 раза за счёт использования спотовых инстансов на продакшн окружении, а также о том, как настроить их автомасштабирование. Сначала будет обзор того, как это работает, а потом подробная инструкция для запуска.


Что такое спотовые инстансы?


Спотовые инстансы — это сервера других пользователей AWS, которые в данный момент простаивают, и они продают их с большой скидкой (Amazon пишет до 90%, по нашему опыту ~3x, варьируется в зависимости от региона, AZ и типа инстанса). Основное их отличие от обычных в том, что они могут выключиться в любой момент. Поэтому мы долгое время считали, что их нормально использовать для дев окружений, либо для задач по расчёту чего-то, с сохранением промежуточных результатов на S3 или в базу, но не для прода. Существуют сторонние решения, которые позволяют использовать споты на проде, но там для нашего кейса много костылей, поэтому мы не внедряли их. Подход, описанный в статье, работает полностью в рамках стандартного функционала AWS, без дополнительных скриптов, кронов и тд.

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 22

Как TeamViewer хранит пароли

Reading time 3 min
Views 23K
GlobalSign corporate blog Information Security *Cryptography *Development for Windows *Software


TeamViewer — популярная программа для удалённого доступа к рабочему столу. Поэтому довольно интересно посмотреть, как она хранит пароли. Если вкратце, пароли хранятся в реестре Windows в зашифрованном виде. Для шифрования используется алгоритм AES-128-CBC и секретный ключ 0602000000a400005253413100040000.

Такой метод сохранения паролей и связанное с ним повышение привилегий официально зарегистрированы 7 февраля 2020 года как уязвимость CVE-2019-18988 (применима ко всем версиям TeamViewer до 14.7.1965 включительно).
Читать дальше →
Total votes 31: ↑26 and ↓5 +21
Comments 42

Приточная вентиляция совмещенная с канальным кондиционером (часть 1 — электрическая)

Reading time 11 min
Views 59K
Smart House DIY Health

схема_малая


Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система
собиралась в 2012-2013 годах и с тех пор находится в постоянной эксплуатации.


Статью разделил на две части:


  • в первой части описана классическая схема приточная вентиляции с использованием электрического канального подогревателя
  • во второй части рассказано про неоднозначный опыт переработки системы под водяной калорифер с питанием от общедомовой системы отопления
Читать дальше →
Total votes 60: ↑59 and ↓1 +58
Comments 229

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time 12 min
Views 196K
Programming *Studying in IT IT career IT-companies
🔥 Technotext 2020

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Total votes 201: ↑196 and ↓5 +191
Comments 343

Полная домашняя автоматизация в новостройке

Reading time 8 min
Views 208K
Configuring Linux *Web design *Open source *Smart House Systems engineering *
🔥 Technotext 2020
Три года назад стал претворять свою давнюю мечту в реальность — максимальная домашняя автоматизация квартиры, купленной в новостройке с нуля. При этом «отделку от застройщика» пришлось принести в жертву умному дому image и полностью переделать, а вся электрика, не связанная с автоматикой приехала с известного китайского сайта. Паяльник не потребовался, но знающих мастеров, электриков и плотников пришлось искать долго.


Панель управления квартирой в феврале 2020 года (Home Assistant)

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


Строительство нашего дома в процессе — ноябрь 2016 года
Умный дом в самом соку...
Total votes 138: ↑135 and ↓3 +132
Comments 515

[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет

Reading time 7 min
Views 158K
Сервер Молл corporate blog Information Security *System administration *


(с) Вася Ложкин.


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


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


Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.

Читать дальше →
Total votes 86: ↑86 and ↓0 +86
Comments 88

Zilog Z-80 — Бессмертный восьмидесятник

Reading time 6 min
Views 37K
Computer hardware History of IT Old hardware CPU
Ранние годы эпохи персональных компьютеров, начавшиеся еще до появления легендарного IBM PC в 1981, во многом определили картину рынка, сложившуюся в следующем десятилетии, когда крепнущая Intel выводила на рынок продукты, едва ли не мгновенно обрастающие множеством совместимых аналогов – как более доступных, так и более продвинутых, технически интересных. Но еще задолго до того, как компании скрестили мечи в борьбе за покупателей первых 186 и их последователей, конкуренция коснулась и первого ключевого чипа в истории компьютерной индустрии – Intel 8080.

image
Intel 8080

Выход процессора Intel 8080 стал катализатором развития направления разработки и производства микропроцессоров, нашедших применение в самых различных областях и сферах. Выход различных 8-битных решений (таких, как Motorola 6800 или MOS Technologies 6502), а также производство полностью совместимых решений-клонов (производимых, в частности, и компанией AMD), определило потребности рынка в середине 70-х, что отчасти можно назвать и причиной появления Z-80.

Читать дальше →
Total votes 73: ↑73 and ↓0 +73
Comments 82

Как заговорить на английском через месяц. 9 простых и проверенных шагов

Reading time 8 min
Views 308K
Learning languages
Sandbox
Хабр, привет!

Меня зовут Марина Могилко, я кофаундер онлайн-платформы LinguaTrip.com.

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

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

Итак, начинаем! Осторожно: под катом мини-словарик на все случаи жизни.

image
Total votes 99: ↑64 and ↓35 +29
Comments 183

Шпаргалка по аббревиатурам C++ и не только. Часть 1: C++

Reading time 20 min
Views 46K
Programming *C++ *
Tutorial
Когда-то я собеседовался на должность C++ разработчика в одну приличную и даже известную контору. Опыт у меня тогда уже кое-какой был, я даже назывался ведущим разработчиком у тогдашнего своего работодателя. Но на вопросы о том, знаком ли я такими вещами, как DRY, KISS, YAGNI, NIH, раз за разом мне приходилось отвечать «Нет».

Собеседование я с треском провалил, конечно. Но упомянутые аббревиатуры потом загуглил и запомнил. По мере чтения тематических статей и книг, подготовок к собеседованиям и просто общения с коллегами я узнавал больше новых вещей, забывал их, снова гуглил и разбирался. Пару месяцев назад кто-то из коллег небрежно упомянул в рабочем чате IIFE в контексте C++. Я, как тот дед в анекдоте, чуть с печки не свалился и опять полез в гугл.


Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Comments 28

Инициализация в современном C++

Reading time 26 min
Views 103K
JUG Ru Group corporate blog Programming *C++ *


Общеизвестно, что семантика инициализации — одна из наиболее сложных частей C++. Существует множество видов инициализации, описываемых разным синтаксисом, и все они взаимодействуют сложным и вызывающим вопросы способом. C++11 принес концепцию «универсальной инициализации». К сожалению, она привнесла еще более сложные правила, и в свою очередь, их перекрыли в C++14, C++17 и снова поменяют в C++20.


Под катом — видео и перевод доклада Тимура Домлера (Timur Doumler) с конференции C++ Russia. Тимур вначале подводит исторические итоги эволюции инициализации в С++, дает системный обзор текущего варианта правила инициализации, типичных проблем и сюрпризов, объясняет, как использовать все эти правила эффективно, и, наконец, рассказывает о свежих предложениях в стандарт, которые могут сделать семантику инициализации C++20 немного более удобной. Далее повествование — от его лица.

Total votes 62: ↑61 and ↓1 +60
Comments 123

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

Reading time 39 min
Views 263K
Python *Data visualization *Machine learning *Matlab *
Translation
Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



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

Техника избежания неопределённого поведения при обращении к синглтону

Reading time 21 min
Views 11K
C++ *
В статье рассмотрены причины возникновения и способы избежания неопределённого поведения при обращении к синглтону в современном c++. Приведены примеры однопоточного кода. Ничего compiler-specific, всё в соответствии со стандартом.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 17

Браузеры Chrome и Firefox поместили государственный сертификат Казахстана в отозванные

Reading time 2 min
Views 16K
Firefox Information Security *Google Chrome Browsers Legislation in IT

Сегодня, с некоторым опозданием (уже после так называемого тестирования), разработчики Google Chrome в своем security-блоге (пост) опубликовали информацию, что в рамках защиты пользователей Казахстана национальный сертификат добавлен в CRLSets (набор аннулированных сертификатов).



А что у Mozilla Firefox (по следам вопроса @Meklon в коментариях)?

Инициативы придерживается и Mozilla Firefox (ссылка):


В целях защиты наших пользователей Firefox вместе с Chrome заблокирует использование корневого сертификата центра сертификации в Казахстане. Это означает, что Firefox не будет доверять ему, даже если он установлен пользователем. Мы считаем, что это адекватный ответ, так как пользователям в Казахстане не предложен разумный выбор, устанавливать ли сертификат, и так как эта атака подрывает целостность важного механизма безопасности сети. При попытке получить доступ к сайту, который отвечает с помощью этого сертификата, пользователи Firefox увидят сообщение об ошибке, в котором сообщается, что сертификату не следует доверять.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 20

Способы сегментации точек в Point Clouds

Reading time 5 min
Views 7.5K
Machine learning *
Sandbox

Введение


Некоторое время назад мне потребовалось решить задачу сегментации точек в Point Cloud (облака точек — данные, полученные с лидаров).


Пример данных и решаемой задачи:
пример данных


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


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

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 6

Разбор графики Supreme Commander

Reading time 9 min
Views 26K
Game development *Reverse engineering *
Translation

Total Annihilation занимает в моём сердце особое место, потому что это была моя первая RTS; вместе с Command & Conquer и Starcraft это одна из самых лучших RTS, выпущенных во второй половине 90-х.

Через десять лет, в 2007 году, был выпущена её наследница: Supreme Commander. Благодаря тому, что над игрой работали одни из основных создателей Total Annihilation (дизайнер Крис Тейлор, программист движка Джонатан Мейвор и композитор Джереми Соул), ожидания фанатов были очень высокими.

Supreme Commander была тепло принята критиками и игроками благодаря своим интересным особенностям, таким как «стратегический зум» и физически реалистичная баллистика.

Давайте посмотрим, как движок SupCom под названием Moho рендерит кадр игры. RenderDoc не поддерживает игры под DirectX 9, поэтому реверс-инжиниринг выполнялся при помощи старого доброго PIX.
Читать дальше →
Total votes 73: ↑73 and ↓0 +73
Comments 14

Information

Rating
2,580-th
Location
Россия
Registered
Activity

Specialization

Software Developer
Lead
From 600,000 ₽
C++
Qt
Algorithms and data structures
Multiple thread
Applied math
Computer vision
Python
Research work
CAD
English