Pull to refresh
9
0
Send message

Неадекватная стоимость исходящего трафика у некоторых облачных хостеров

Level of difficultyMedium
Reading time6 min
Views7.2K


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

Если обычные хостеры не тарифицируют этот трафик, то некоторые другие сервисы устанавливают специальные тарифы. Как показывает практика, это может стать неприятным сюрпризом для клиентов.
Читать дальше →
Total votes 28: ↑33 and ↓-5+38
Comments18

Как я делал сеть на 10 гигабит с минимальным бюджетом

Level of difficultyMedium
Reading time11 min
Views54K


Решил я ускорить тривиальную задачу в виде передачи файлов с одного компьютера на маленький домашний NAS. Раньше 10 гигабит были для меня чем-то заоблачным (с учётом цены на свичи, а также сетевые карты). Но благодаря апгрейду дата-центров, а также свежим чипам для свичей от Realtek, апгрейд оказался недорогим и безболезненным.

О выборе железа и тестах — под катом.
Читать дальше →
Total votes 124: ↑129.5 and ↓-5.5+135
Comments130

Эффект Монреаля: почему языкам программирования нужен Царь стилей

Level of difficultyMedium
Reading time7 min
Views9.4K

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

Пусть это будет мысленный эксперимент. Подыграйте мне. Если вы читали мою прошлую статью (англ.), то должны правильно предположить, что я бы предпочёл экспрессивный язык, ориентированный на профессионалов. Так и есть. Но в гибком языке программирования есть серьёзная проблема с масштабированием – слишком много стилей оформления кода и способов его написания. В итоге просто не обойтись без руководств по стилю, которые помогут сориентироваться в правильной реализации.

Какое подмножество C++ или Kotlin вы используете? Что вы предпочтёте: project.toml или requirements.txt? Теперь у вашего языка есть возможность поэтапной типизации с помощью аннотаций типов. Хотите ей воспользоваться? Как вы реализуете конкурентность: с помощью многопоточности, Tokio или std::async?

Чем более экспрессивный язык, тем сложнее всё становится. И здесь на сцену выходит Go. И речь не только о gofmt, но и о его стандартной библиотеке и согласованности. В Kotlin вам приходится гадать, что лучше использовать для ошибок: исключения или объекты Result? В случае же Go вам всё ясно – ищем err. Да, это многословно, но зато предсказуемо.

Экспрессивные языки прекрасны, но часто создают путаницу. Вы можете использовать богатый и комплексный язык, поддерживающий миллион способов реализации одного и того же. Именно это я хочу вам показать. Как же сохранить всю эту мощь, но уменьшить беспорядок? Как избежать возникновения 500 поддиалектов? Но прежде, чем переходить к решениям, обсудим Scala.
Читать дальше →
Total votes 50: ↑52 and ↓-2+54
Comments22

Обнаружение SSH-туннелей по размеру пакетов

Level of difficultyMedium
Reading time8 min
Views17K

Иллюстрация из книги «Справочник киберсантехника»

Протокол SSH — очень мощный инструмент, который используется для удалённой консоли или передачи файлов (scp, sftp). Есть менее известная функция перенаправления портов. Такие SSH-туннели используются для пробития файрволов и хорошо скрываются от обнаружения стандартными средствами мониторинга типа Trisul, Zeek (ранее был известен как Bro), Suricata и Snort. Поэтому для их обнаружения в корпоративной сети используются другие методы.
Читать дальше →
Total votes 74: ↑70 and ↓4+66
Comments23

Множество масок Persona 5

Level of difficultyEasy
Reading time12 min
Views4K
image

С выходом Persona 3 Reload, ремейка игры, которая коренным образом изменила облик серии и сделала её одной из самых важных японских RPG-франшиз в истории, шумиха вокруг пятой части поутихла. Появившись на западе в 2017 году, следом за родной Японией, игра захватила умы геймеров по всему миру, имея нестандартные для жанра сеттинг, темы и художественное оформление.

Японские разработчики всегда тяготели к более абстрактному повествованию, чем их западные собратья, делая упор на геймплейные механики, образность сюжетов и не особо стремясь разжёвывать для игрока каждую деталь. И сегодня мы поговорим об одном из самых ярких представителей жанра JRPG последних лет, который сочетает в себе уникальные нарративные и геймплейные приёмы с желанием авторов честно высказаться о своей родной культуре.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments3

Взлом космоса — теперь и на STANDOFF 12

Level of difficultyMedium
Reading time3 min
Views1.8K


В ноябре в рамках конференции Moscow Hacking Week прошла ещё одна кибербитва STANDOFF — мероприятие проводится уже 12-й раз. Однако STANDOFF 12 запомнился не только присвоением звания пятикратного чемпиона команде Codeby, но и новыми отраслями — в разработке одной из них мы приняли непосредственное участие. И если вы следите за нашими новостями, то сможете без проблем ответить, что это была за отрасль… Правильно, космос!

Соревнование было поистине масштабным: 15 команд 4 дня нон-стопом взламывали все из представленных областей (не досталось только сборочной инфраструктуре Positive Technologies, за взлом наивысшего уровня которой организаторы пообещали 5 миллионов рублей). Мы также проводили собственные отборочные испытания, давшие возможность победителям отправиться покорять Государство F в составе команды bRedTeam.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments1

Гибкие магниты: что это и с чем их готовят?

Level of difficultyMedium
Reading time8 min
Views7.4K
Картинка Aliexpress, Freepik

Все мы хорошо знакомы с гибкими магнитами — кто-то клеит их на холодильник по поводу и без, кто-то (как автор статьи) закрывает с их помощью герметичную камеру 3D-принтера, а кто-то использует в иных технических целях. Что же это такое? Будем препарировать…
Читать дальше →
Total votes 61: ↑59 and ↓2+57
Comments8

Sega: история успеха на аркадном рынке (часть 1)

Level of difficultyEasy
Reading time11 min
Views4.6K
image

Сейчас Sega известна любому геймеру. А уже в далёкие восьмидесятые японская корпорация была одной из самых крупных компаний, создававших инновационные тайтлы. Без того, что создала Sega тогда на аркадном рынке, не было бы и развития как этого самого рынка, так и развития игр для домашних систем. В этом материале – о самых интересных аркадных играх от Sega, выпущенных в восьмидесятых!
Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments1

Идеальный компьютер, который мы потеряли: ретроспектива на Intel Compute Stick первого поколения

Level of difficultyEasy
Reading time13 min
Views13K


Небольшой обзор/ретроспектива на такую необычную железку, как Intel Compute Stick. В своё время она обещала неплохие характеристики, низкую цену и очень небольшие габариты, что делало её отличным вариантом к покупке для работы и учёбы.

Прошёл ли этот формат проверку временем? Что же может компьютер из 2015 года с тепловыделением 5 ватт в 2024 году? Об этом я расскажу в статье.
Читать дальше →
Total votes 61: ↑59 and ↓2+57
Comments49

Будни техпода. Ошибки при подключении по RDP

Level of difficultyEasy
Reading time8 min
Views23K


Для доступа удалённому Windows-серверу из Windows-системы большинство администраторов используют протокол удалённого рабочего стола (Remote Desktop Protocol — RDP). Есть, конечно, и существенная доля тех, кто оперирует более обширным перечнем вариантов подключения — Microsoft Remote Assistance, VNC, Radmin и много чего ещё, но мы поговорим про RDP. Вернее, не о самом RDP, а о проблемах, которые могут возникнуть при подключении к удалённому серверу при помощи этого протокола.

Для многих, вероятно, не составляет труда решить внезапно возникшее затруднение, когда почему-то не получается подключиться к виртуалке, вдобавок практически каждый, не сходя с места, подкинет пару-тройку советов, где и что следует глянуть, чтобы исправить проблему. И всё же, вдруг кто-то чего-то не знает. На этот случай под катом несколько способов выхода из ситуации — по большей части самых простых.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments51

Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C#

Level of difficultyMedium
Reading time6 min
Views16K


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

Если быстро посмотреть на результаты, которые появляются в интернете при поиске советов по реализации подобных вещей, то можно увидеть, что есть как много похожих, так и различных предложений от различных программистов. В какой-то момент поиска вы, вероятно, столкнётесь с поиском идеей использования Task.WhenAll или Parallel.ForEachAsync.

При чтении некоторых из этих материалов будет видно много различных противоречивых ответов как на StackOverflow, так и по всему интернету. Сегодня я собираюсь сравнить эти два метода с помощью определённых бенчмарков, которые стравят их друг против друга, чтобы, наконец, выяснить применимость каждого из двух методов.
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments18

Прокачиваем вёрстку ARIA-атрибутами. Атрибут role

Level of difficultyMedium
Reading time8 min
Views3.8K

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


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


Давайте начнём!

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments10

Разбираемся с Bluetooth Low Energy на примере превращения USB-клавиатуры в беспроводную

Level of difficultyMedium
Reading time16 min
Views15K


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

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

Не имея навыков пайки, вы сможете создать полезное Bluetooth-устройство, а ваше понимание Bluetooth и Linux уже не будет прежним, если вы, конечно, не являетесь экспертом в этих областях.

Данная статья ставит целью на примере разработки собственной Bluetooth-клавиатуры помочь разобраться в базовых понятиях Bluetooth, так как чтение скучных спецификаций и статей с введением в технологию даёт мало пользы.
Читать дальше →
Total votes 76: ↑74 and ↓2+72
Comments76

За чистое небо над головой

Level of difficultyEasy
Reading time3 min
Views7K

В прошлом году мы запустили на орбиту пикоспутник с самым настоящим сервером, и в честь этого сделали Telegram-игру «Спутник против мусора». Рекомендуем попробовать свои силы, если вдруг она прошла мимо вас. Мы уже рассказывали о том, как пришли к идее игры и каких персонажей придумали для неё, повторяться не будем. Здесь мы расскажем о разработке.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments8

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

Level of difficultyEasy
Reading time6 min
Views14K
На фото: Fairphone 4

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

Но это противоречит обычной человеческой логике: ладно печать, но почему нельзя сканировать без чернил? Этот прецедент уже доведён до суда.
Читать дальше →
Total votes 53: ↑45 and ↓8+37
Comments447

0xide: локальный облачный сервер

Level of difficultyEasy
Reading time6 min
Views12K


26 октября 2023 года Oxide Computer Company объявила о начале продаж «первого в мире коммерческого облачного компьютера», анонс которого состоялся ещё в 2020 году на стэнфордской лекции «Душа новой машины. Преосмысление серверного компьютера».

Не все сразу поняли, чем 0xide отличается от обычного сервера и почему в маркетинговых материалах он называется «облачный компьютер».
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments19

Испытания 5 отечественных автомобильных аккумуляторов в корпусе D23. Часть 5: резервная ёмкость

Level of difficultyEasy
Reading time8 min
Views13K


Привет, Хабр! Резервная ёмкость автомобильной аккумуляторной батареи (АКБ) измеряется в минутах и означает время, за которое полностью заряженный аккумулятор разрядится током 25 ампер до напряжения под нагрузкой 10.5 вольт.

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

В ночное время, и особенно на зимней загородной трассе, от этого может зависеть здоровье и жизнь водителя и пассажиров, ведь без электропитания не работают ни двигатель, ни обогрев салона, ни световые приборы.
Чем определяется ёмкость аккумулятора?
Total votes 36: ↑36 and ↓0+36
Comments4

Становится ли ПО хуже?

Level of difficultyEasy
Reading time9 min
Views16K

Недавно я наткнулся на пост Никиты Прокопова Software disenchantment. Он заставил меня вспомнить пост Мацея Цегловски The Website Obesity Crisis и множество других статей подобного типа. Среди людей, пишущих о разработке ПО, возникает всё более широкий консенсус о том, что приложения становятся больше, медленнее и забагованнее. И это в эпоху, когда оборудование должно позволить нам писать быстрее, меньше и надёжнее. DOOM, вышедший в 1996 году, можно запустить в тесте на беременность и на сотне других неожиданных устройств. Тем временем, современные чат-приложения, работая в фоновом режиме, занимают полгигабайта ОЗУ (или больше), а иногда полностью зависают даже на самом мощном железе.

Вышеупомянутые посты по этой теме состоят примерно на 80% из справедливой и разумной критики, а на 20% из оторванного от реальности ворчания.

Большинство разработчиков понимает, что глупо спрашивать «это ОС для смартфонов, что в ней может быть сложного?» или «моё приложение для работы с электронными таблицами в 90-х занимало 10 килобайт, тогда почему Factorio весит целый гигабайт?» Если вы не присутствовали при разработке, то не сможете оценить все её проблемы и сложности.

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

Почему же мы этого не делаем?
Читать дальше →
Total votes 81: ↑73 and ↓8+65
Comments172

IT-2024: AI не решает — решают люди

Level of difficultyEasy
Reading time7 min
Views8K
Году в 2010-м я читал журнал с интервью одного из тогдашних топов диджитал-сферы и мне запомнилась фраза про то, что тот, кто может спрогнозировать ситуацию в отрасли на пять лет вперёд, тот идиот или мошенник. В наше время горизонт планирования сократился чуть ли не до квартала: трудно прогнозировать, понимая, что на твой бизнес, твою карьеру, твои инвестиции может оказать влияние что угодно, от международного конфликта до вируса или пожара в ЦОДе за тысячи километров от тебя. Уже давно пропало ощущение «островка стабильности» дома, в семье, среди коллег и друзей. В таких условиях остаётся одно, на что можно положиться, рассчитывать и что нужно ценить, — это люди. Увы, современные компании, да и сами люди этого не понимают. Я хочу вас предостеречь: берегите людей — это главный актив. И теперь это не фигуральное пафосное выражение, а формула выживания. 

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

Читать дальше →
Total votes 68: ↑64 and ↓4+60
Comments58

Небанальные игры на новогодние праздники

Level of difficultyEasy
Reading time5 min
Views4.5K

Бывало так, что ищете вы себе игры на новогодние праздники, и все списки рождественско-новогодних тайтлов плюс-минус одни и те же? Попробую разбавить все эти скучные списки чем-то не очень банальным. Я постарался добавить в этот список как старые, но хорошие игры, так и современные, которые достойны прохождения.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments3
1
23 ...

Information

Rating
Does not participate
Works in
Registered
Activity