Pull to refresh
0
Шурик@AlexBrownread⁠-⁠only

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

Send message

Must-have плагины и несколько полезностей для С\С++ разработки в VS Code

Reading time7 min
Reach and readers75K


Удивительно, но до сих пор на Хабре нет хорошей подборки плагинов для Visual Studio Code для тех, кто пишет на С/С++. Microsoft в своем блоге опубликовали только статью, совсем базового уровня с инструкцией по настройке. Но большинство читателей Хабра, тем более из разработчиков, обойдется без такой подробной инструкции. Есть только несколько подборок для веб-разработчиков, но не для С++.

Наверное это связано с тем, что большинство С++ разработчиков использует тяжеловесные IDE, в первую очередь конечно же Visual Studio.

Но в Linux и MacOS с полноценными IDE всё не так просто, да и тяжелая среда разработки не всегда нужна или просто не хочется ее использовать.

Я же хочу обратить ваше внимание на полезные плагины, которые облегчают жизнь и работу, а также рассказать про полезные настройки и особенности VS Code, которые вы могли просто упустить.
Читать дальше →

Спасите пароль: сказочная реализация схемы разделения секрета Шамира на Python

Reading time6 min
Reach and readers16K
Этот алгоритм, использующий язык Python и Схему разделения секрета Шамира, защищает ваш мастер-пароль от хакеров и вашей собственной забывчивости.


Для безопасного хранения множества уникальных паролей многие из нас используют менеджеры паролей. Вся их работа по сути завязана на мастер-пароле. Этот пароль защищает все остальные пароли, и, таким образом, несёт весь риск на себе. Любой, кто подберёт его или получит к нему доступ, может притвориться вами в самый неподходящий момент. Естественно, вы стараетесь сделать свой мастер-пароль максимально сложным, а затем запоминаете или где-то ещё фиксируете его.
Читать дальше →

Нефтянка для инженеров, программистов, математиков и широких масс трудящихся, часть 2

Reading time13 min
Reach and readers36K
image

Сегодня мы расскажем о том, как буровые станки бороздят просторы Сибири, из чего состоит скважина; зачем, для того, чтобы добыть что-нибудь нужное, надо сначала закачать в пласт что-нибудь ненужное; и из чего, собственно, сделана нефтяная залежь. Это вторая часть из серии статей для будущих математиков-программистов, которым предстоит решать задачи, связанные с моделированием нефтедобычи и разработкой инженерного ПО в области сопровождения нефтедобычи.
Читать дальше →

Защищённые прокси — практичная альтернатива VPN

Reading time9 min
Reach and readers131K

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

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

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

Размышления об эпидемии коронавируса COVID-19

Reading time5 min
Reach and readers5.9K
Я решил написать эту статью, потому что эпидемия коронавируса и то, какими событиями она сопровождается, изумляет меня. Информации много, она разрозненная и противоречивая, так что я решил сделать попытку проанализировать факты прежде всего для себя, ну и поделиться своими выводами с кем-нибудь ещё. Особенно важно, на мой взгляд, обратить внимание на вещи, которые не встречаются в каждой первой статье новостных сайтов, но которые лежат близко к поверхности, стоит только немного копнуть.
Читать дальше →

Двухфакторная аутентификация пользователей VPN посредством MikroTik и SMS

Reading time9 min
Reach and readers33K
Здравствуйте коллеги! Сегодня, когда накал страстей вокруг «удалёнки» немного спал, большинство админов победило задачу удаленного доступа сотрудников к корпоративной сети, пришло время поделиться моей давней наработкой по повышению безопасности VPN. В этой статье не будет модных ныне IPSec IKEv2 и xAuth. Речь пойдет о построении системы двухфакторной аутентификации (2FA) пользователей VPN, когда MikroTik выступает в качестве VPN-сервера. А именно, когда используются «классические» протоколы типа PPP.


Читать дальше →

Пульсоксиметр своими руками

Reading time5 min
Reach and readers37K

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




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

Компоненты:

  • Arduino Uno.
  • Датчик KY-039 – его можно собрать из двух резисторов и фотодиода.
  • Красный светодиод.
  • Резистор на 330 Ом – 2 шт.
  • Дисплей LCD 16x2 I2C.

Вид космоса из субсветовой ракеты. Фото субсветового объекта. Вывод аберрации света без преобразований Лоренца

Reading time7 min
Reach and readers18K
Начнём конечно с аберрации. Затем рассчитаем и проиллюстрируем графиками, как выглядит звёздное небо в иллюминаторах ракеты в зависимости от её скорости. И, наконец, выясним, как выглядит на фотографии, пролетая мимо Земли, сама эта ракета. Но предупреждаю, картина будет только одна (и то так себе), остальное чертежи, аналитика и графики. Из них, кстати, видно, что несмотря на лоренцево сжатие, только что появившаяся на горизонте приближающаяся ракета возможно даже визуально будет казаться длиннее, и уж точно должна такой оказаться на фотографии, чем если бы она была неподвижна в той же точке траектории. Поскольку все вычисления будем проводить опираясь на физическую суть явлений при субсветовых скоростях, преобразования Лоренца не понадобятся. Автор будет признателен за замечания.
Читать дальше →

Понимаем декораторы в Python'e, шаг за шагом. Шаг 2

Reading time12 min
Reach and readers248K

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


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

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

Reading time6 min
Reach and readers478K

На Хабре множество раз обсуждалась тема декораторов, однако, на мой взгляд, данная статья (выросшая из одного вопроса на stackoverflow) описывает данную тему наиболее понятно и, что немаловажно, является «пошаговым руководством» по использованию декораторов, позволяющим новичку овладеть этой техникой сразу на достойном уровне.

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Те же из вас, кто готов потратить немного времени, приглашаются прочесть длиииинный пост

Python-way. Работа над ошибками

Reading time3 min
Reach and readers20K

Всем доброго времени суток! Новогодние праздники позади, все хорошо отдохнули. Тем не мнеее, даже в праздники иногда появляется работа. Мне, к примеру, довелось покопаться в чужом коде на Python. Код хороший, замечательно документирован, но во время чтения не покидало ощущение, что автор читал доки по Python и портировал код с Си-подобного языка. Это меня вдохновило на написание статьи с указанием ошибок, которые неизбежно возникают при переходе на Python с Си-подобных языков.

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

Читать дальше →

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

Reading time4 min
Reach and readers18K
Привет, Хабр! представляю вашему вниманию перевод статьи «Stop Using Square Bracket Notation to Get a Dictionary’s Value in Python» автора Jonathan Hsu.

Выходим за рамки традиционного метода и защищаем свой код


Словарь — это несортированный набор ключей и значений. Это значит, что:

  • Каждый элемент словаря состоит из термина (ключ) и его определения (значение).
  • Ключи должны быть уникальными для данного словаря — никаких повторений.
  • Ключи в словаре не имеют такого явного порядка расположения, который есть у элементов списка.
Читать дальше →

Клод Шеннон: мастер на все руки, шутник и отец теории информации

Reading time12 min
Reach and readers21K
Кто же такой Клод Шеннон? Каждая комната в Entropy House, поместье неподалеку от Бостона, где Шеннон вместе с женой Бетти прожили более 30 лет, может ответить на этот вопрос по-разному. Одна комната, опрятная и аккуратная, украшена рядами наград, демонстрирующих многочисленные достижения хозяина дома. В их числе Национальная научная медаль, полученная им в 1966 году, Премия Киото — японский эквивалент Нобелевской — и Медаль Почёта IEEE.


Читать дальше →

Как обработать датафрейм с миллиардами записей за считанные секунды?

Reading time4 min
Reach and readers20K
Анализ больших данных в Python переживает эпоху возрождения. Она началась с библиотеки NumPy. Эта библиотека, кстати, является одной из составных частей тех инструментов, о которых пойдёт речь в этом материале. В 2006 году тема обработки больших данных постепенно набирала обороты, этот процесс ускорился с появлением Hadoop. Потом появилась библиотека pandas со своими структурами данных DataFrame, которые обычно называют просто «датафреймами». В 2014 году большие данные стали мейнстримом, в этом же году появилась платформа Apache Spark. В 2018 году вышла библиотека Dask и другие средства для анализа данных в Python.



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

От мушкета до автомата — сумасшедшее столетие, часть 3/3

Reading time55 min
Reach and readers56K
Итак, последняя из трех частей рассказа об эволюции стрелкового оружия от мушкета до автомата.

Использованные термины


УСМ – ударно-спусковой механизм

Метрическое обозначение патрона — состоит из двух чисел, первое из которых означает калибр, второе – длину гильзы. Например, 9х19 говорит о том, что 9мм – калибр, а длина гильзы 19мм. Но это обозначение все равно во многом номинально.

Пистолетный патрон – небольшой патрон с короткой тупоконечной пулей и с зарядом быстрогорящего пороха менее 0.5г. Напр. 9х19, 7.62х25, 9х18 и т.д.

image

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

Напр. 7.62х54R, 7.62х51, 7.92х57.

image

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

Напр. 7.92х33, 7.62х39.

image

Малоимпульсный патрон – условный тип промежуточного патрона, появившийся впервые в винтовке М16. Представляет собой промежуточный патрон, однако с дальнейшим уменьшением размеров и калибром ок. 5.5мм. Свое название получил из-за уменьшенного импульса отдачи. Масса порохового заряда ок. 1.5 г, порох обычно того же типа что и в промежуточном патроне.

Напр. 5.56х45, 5.45х39, 5.8х42.

image

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

Объективность рейтинга публикации

Reading time2 min
Reach and readers7.2K
Здравствуйте, уважаемые хабровчане. В данном посте описано моё наблюдение касательно корпоративного блока и субъективное мнение об объективности рейтинга статей на хабре. Статья — под катом.


Дисклеймер: данный пост не несет цели кого-либо обвинить, все это — субъективные мысли автора.
Добро пожаловать

Распознавание русского алфавита: от сбора датасета до создания GUI

Reading time6 min
Reach and readers26K

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


Спойлер: в результате должно получиться вот так:


image

Читать дальше

О современных методах проектирования каменных орудий

Reading time9 min
Reach and readers3.3K
image

Это третья в серии моих статей о современном российском общем образовании и месте IT в нём. Тем, кто не сделал этого ранее, рекомендую сначала прочесть первую и вторую статьи серии. А та, начало которой вы читаете, — об IT-инфраструктуре школы и диссоциативных расстройствах некоторых концепций.
Читать дальше →

Information

Rating
Does not participate
Location
Красноярск, Красноярский край, Россия
Registered
Activity