Как стать автором
Обновить
8
0
Александр @Magic_B

Программист .NET / Go

Отправить сообщение

Подбор выходного трансформатора для двухтактного лампового усилителя

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

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

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

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

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

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

Приветствую, читатель. В одной из своих прошлых статей (Как я 12 лет создавал свой ЯП и компилятор к нему) я рассказал о том, как я создавал свой язык программирования, продолжая его развитие и уже почти выпустив версию 0.2, я понял, что это не тот язык, на котором я хочу писать и я начал обдумывание нового языка. Поскольку это мой где-то 8-й по счёту язык программирования, я задумался "А в чём причина того, что я создал уже столько языков, но никак не могу получить тот, который мне подходит?".

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

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

Настройка ядра Linux для повышения производительности памяти

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

Linux старается оптимизировать использование памяти, занимая свободное место кэшем. Если память никак не используется, то это память, потраченная впустую.

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

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

Причина этого исключительно в том, что оперативная память используется на полную мощность, и других симптомов, кроме случайного эпизодического увеличения задержек, может и не быть. Такая же картина может наблюдаться, если жесткий диск не справляется с чтением и записью. Влияние может быть и на такие компоненты операционной системы как сетевая карта / iptables / ebtables / iproute2 — вместо реальной причины вы видите проблемы в сетевой задержке. В этой статье обсудим это подробнее и посмотрим, как минимизировать воздействие на систему.

Читать далее
Всего голосов 17: ↑9 и ↓8+3
Комментарии11

Насколько сложно написать свою операционную систему?

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

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

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

Но действительно честная попытка написать свою операционку — не такое уж и бесцельное занятие (кстати, как сконструировать велосипед с нуля). По ходу дела может оказаться, что некоторые казавшиеся «очевидными» детали современных ОС спроектированы совсем не оптимально. Или вовсе не нужны.

Если бы ядро Unix писали сегодня, оно выглядело бы иначе. Подобные эксперименты могут напомнить о некоторых фундаментальных изъянах, несовершенствах или рудиментах современных ОС, на которые мы привычно закрываем глаза.
Читать дальше →
Всего голосов 12: ↑6 и ↓6+3
Комментарии84

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

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

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

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

Как государство пыталось в HTTPS, но не осилило

Время на прочтение5 мин
Количество просмотров32K
image

Законодательство требует от сайтов ФОИВ обеспечивать шифрование и защиту передаваемой информации. Как строители «устойчивого Рунета» справились с защитой собственных сайтов и соблюдением соответствующих требований НПА?
Читать дальше →
Всего голосов 32: ↑30 и ↓2+43
Комментарии87

Mein Konfig: экскурсия по dotfiles

Время на прочтение76 мин
Количество просмотров14K
Приветствую! Я люблю рассматривать чужие dotfiles и рассказы об устройстве рабочего места и окружения. Во-первых, любопытно как работают другие люди. Во-вторых, нередко находишь какой-нибудь полезный трюк или идею. А повышение продуктивности разработчика ПО часто идёт за счёт, казалось бы, мелочей (много кто помнит, что Ctrl-T посылает SIGINFO сигнал, показывающий прогресс копирования cp или dd?). Вот и решил рассказать про своё рабочее окружение, в том числе dotfiles. Перечислю список секций этой статьи, чтобы было примерное представление о чём пойдёт речь: Ввод, ОС, ФС, X11, MRA и MDA, Сеть, Jail, Демоны, MTA, MUA, WWW, PGP, IRC, st, tmux, cd, git, zsh, zsh completion, zsh history, ZLE, zsh prompt, zsh misc, less, grep, .zshenv, autoenv, .zprofile, t, Музыка, mpv, Картинки, Архивы, Feeds, Hjson, *tex*, File transfer, Games, БД, ЯП, Python, Go, C, redo, TAI64, Vim, tags, .vimrc, ~/.vim/pack, ~/.vim/plugin, ~/.vim/ftplugin. Безусловно будут спорные holywar высказывания, так что везде иметь в виду и добавлять фразу «по моему личному мнению».


Читать дальше →
Всего голосов 17: ↑16 и ↓1+18
Комментарии14

Как подружиться со своей интернет-зависимостью: практическое руководство

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

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



Бывает у вас такое, что вы сели почитать любимую книгу, но ваш разум начинает… блуждать. Есть ли у вас проблемы с концентрацией на работе или учёбе? Раньше у меня даже во время просмотра фильмов или шоу регулярно появлялось желание проверить почту, социальные сети, новостную ленту и так далее. 


Возможно, вы злитесь из-за того, что не можете сконцентрироваться. А тут ещё портят настроение эти идиотские новости о том, что кто-то опять пытается разрушить нашу планету. И возможно, вы думаете: «Почему вся эта информация приплывает именно ко мне? Почему мне так важно, кто кого лайкнул в соцсетях? Почему мне есть дело до всего этого?»


Если это про вас, то у меня есть три новости — одна плохая и две хорошие.


  1. Плохая новость: в вашем мозгу нарушился естественный процесс получения вознаграждения.
  2. Первая хорошая новость: это распространённая проблема, с которой до вас справились многие. 
  3. Вторая хорошая новость: в этой статье я расскажу о девяти правилах, которые позволили мне справиться с этим.

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

Читать дальше →
Всего голосов 44: ↑37 и ↓7+43
Комментарии40

Программы для сравнения и анализа цен конкурентов: 15 лучших

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

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

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

Читать далее
Всего голосов 13: ↑6 и ↓7+1
Комментарии10

Гайд начинающего тимлида

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

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

Всё это я проговаривал на вебинаре в Хекслете тут https://www.youtube.com/watch?v=y_HkXvFovAc

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

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

Читать далее
Всего голосов 42: ↑40 и ↓2+47
Комментарии16

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

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

Направленная антенна для удалённого доступа к публичному Wi-Fi

Обеспечить собственную безопасность (анонимность) в онлайне — тяжкий труд, требующий массивного объёма знаний. Даже лучшие профессионалы не всегда справляются.

Но это возможно.

Предупреждение. Для усвоения информации в полном объёме требуется несколько недель.
Читать дальше →
Всего голосов 84: ↑75 и ↓9+97
Комментарии125

Наблюдения за переключениями между сотовыми вышками

Время на прочтение4 мин
Количество просмотров24K
Одна из моих любимых книг — High Performance Browser Networking Ильи Григорика от 2013 года. В ней можно найти не только разумные советы, но и потрясающие истории из жизни.

46% заряда аккумулятора тратится на передачу 0,2% байтов


Когда пользователь сервиса Pandora проигрывает песню, весь файл передаётся одним куском, и это правильно – передавай сразу столько данных, сколько можешь, а потом держи радио выключенным как можно дольше.

Однако после этой передачи приложение каждую минуту отсылает пинги для периодического анализа аудитории. И что в итоге? Эти пинги занимают 0,2% от общих переданных данных, потребляя при этом 46% всей энергии, использованной приложением!

Илья Григорик, High Performance Browser Networking

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

DDoS атаки на 7 уровень — защита сайтов

Время на прочтение6 мин
Количество просмотров10K
DDoS атаки на 7 уровень (на уровень приложения) наиболее простой способ привести в нерабочее состояние сайт и навредить бизнесу. В отличие от атак на другие уровни, когда для отказа сайта необходимо организовать мощный поток сетевого трафика, атаки на 7 уровень могут проходить без превышения обычного уровня сетевого трафика. Как это происходит, и как от этого можно защищаться я рассмотрю в этом сообщении.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии1

NAPI в сетевых драйверах Linux

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

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

Поговорим о драйверах сетевых устройств Linux, механизме NAPI и его изменениях в ядре 5.12.

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

Нестабильные тесты — одна из основных проблем автоматизированного тестирования(Часть 2)

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

Это продолжение серии статей о нестабильных тестах.

В первой статье(оригинал/перевод на хабре) говорилось о 4 компонентах, в которых могут возникать нестабильные тесты.

В этой статье дадим советы как избежать нестабильных тестов в каждом из 4 компонентов.

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

Запускаем SAP HANA за 2 минуты вместо 80

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

SAP HANA — реляционная in-memory база данных от компании SAP, в которой данные хранятся и обрабатываются исключительно в оперативной памяти. Диски используются только для логирования и хранения бэкапов, необходимых для восстановления системы. О плюсах такого решения можно найти много информации в интернете. Но сегодня мы хотим поговорить о минусах.

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

Абсолютная приватность сервиса в I2P: зашифрованный лизсет

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

Чтобы связаться с любым скрытым сервисом, необходимо получить его лизсет (LeaseSet), который содержит информацию о входных туннелях и криптографических ключах. Для этого все серверные конечные точки, ожидающие подключение, публикуют свои лизсеты на флудфилах (Floodfill) – роутерах, выступающих в роли справочной книги или доски объявлений. Несмотря на то, что флудфил получает лишь информацию о первых узлах входных туннелей и криптографические ключи, т.е. никакой компрометирующей информации в лизсете нет, архитектура I2P предусматривает использование зашифрованных лизсетов. Это позволяет скрыть наличие конечной точки (она же «скрытый сервис» и «destination») от возможного мониторинга на флудфилах.

Идентификатор незашифрованного лизсета – обычный внутрисетевой адрес скрытого ресурса, только без окончания «.b32.i2p». Это позволяет держателям флудфилов видеть в открытом виде адреса ресурсов, которые у них опубликовались. Если вы подняли в I2P личный ресурс и не хотите, чтобы о нем случайно узнал кто-то еще, зашифрованный лизсет – специально для вас!

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

Бюджетный дачный интернет

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

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

Дано:

• Отсутствие базовых станций мобильного оператора в прямой видимости.
• Нестабильный мобильный интернет на скорости до 2Мбит/c.
• Расстояние до вышки ~2км.
• Щитовой дом внутри которого будет располагаться Wi-Fi роутер.

Читать далее
Всего голосов 19: ↑17 и ↓2+21
Комментарии67

FreeBSD. Путь сетевого пакета внутри ядра

Время на прочтение3 мин
Количество просмотров8.2K
  1. Файрвол PF в ОС FreeBSD
  2. FreeBSD. Фильтрация трафика PF
  3. FreeBSD. трансляции, тэги и якоря в PF
  4. FreeBSD. Условная маршрутизация средствами PF
  5. FreeBSD. Путь сетевого пакета внутри ядра. <- Вы здесь

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



Мы не будем разбирать уровни драйвера сетевой карты (2 уровень модели OSI), а сразу поднимемся на 3 уровень, где работает tcp/ip стек ядра.

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

Отключаем прямой доступ к терминалу на арендованном сервере

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

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

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

Читать далее
Всего голосов 14: ↑11 и ↓3+12
Комментарии34

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность