Как стать автором
Обновить
1
0

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

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

Отслеживание метрик SSD на Linux и какой софт для этого пригодится

Время на прочтение6 мин
Количество просмотров23K
Привет, Хабр! Любой, кто хоть раз сталкивался с неожиданной смертью флешки, жесткого диска или SSD-накопителя, расскажет вам, насколько важно отслеживать SMART-параметры и замерять скорость в бенчмарках. Независимо от системы. И если с Windows достаточно вбить в поиске CrystalMark, то пользователям Linux подобный лайфхак не подойдет. Зато подойдет этот текст, где вся история пропитана поисками.


Читать дальше →
Всего голосов 13: ↑8 и ↓5+4
Комментарии16

ByeDPI + Redsocks на OpenWRT: дарим свободу локальной сети на дровах (на примере ASUS RT-N12 ROM/ОЗУ: 8/32 Мб)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров31K

Решение проблемы зачастую упирается в использование роутеров с ограниченными ресурсами, таких как ASUS RT-N12 VP B1 с ROM/ОЗУ 8/32 Мб. В этой статье я расскажу, как настроить связку ByeDPI и Redsocks на роутере с OpenWRT, даже если ваш роутер далеко не топ по характеристикам.

## Зачем нужны ByeDPI и Redsocks?

ByeDPI — это утилита для обхода DPI (Deep Packet Inspection), которая изменяет сетевые пакеты таким образом, чтобы они не распознавались системами фильтрации трафика.

Redsocks — это прокси-инструмент, который перенаправляет трафик через SOCKS или HTTP прокси, даже если приложение не поддерживает прокси напрямую.

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

Ставим ByeDPI и Redsocks на OpenWRT
Всего голосов 31: ↑31 и ↓0+42
Комментарии40

Алгоритмы поиска путей на пальцах. Часть 2: Алгоритм Дейкстры

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.8K

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

Теперь вы, как специалист на посту разработчика 2GIS изучили местность более подробно и поняли, что BFS не подходит для решения вашей задачи, так как дороги имеют разную протяженность и маршрут от A до B не может исчисляться в условной единице.

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

Как AMD выкрутилась и научилась воспроизводить операции ядер CUDA на своих видеокартах. История ROCm

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров28K

Как AMD смогла обойти монополию NVIDIA в мире ИИ? История о том, как команда AMD создала ROCm — технологию, позволяющую запускать CUDA-приложения на своих видеокартах. Как компании удалось совершить этот технологический прорыв? Разберём путь от первых экспериментов с HSA до современных версий ROCm, поддерживающих самые популярные фреймворки для машинного обучения. А главное — в конце расскажу, как установить ROCm на Windows и Linux, избежав всех подводных камней.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+56
Комментарии48

Детское программирование: 10 проектов, которые могут создать дети

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.9K

Детское программирование пусть и кажется спорной и даже сомнительной темой, но навыки, которые ребята получают на курсах кодинга или путем самостоятельных занятий, закладывают основы формирования личности XXI века. Знания и умения, связанные с IT, способствуют развитию компьютерной грамотности, часто становятся полезными в школьном обучении, домашних делах и даже в момент профессионального самоопределения. 

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

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

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

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

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

Немного про UEFI и GRUB

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров17K

В данной статье пойдёт речь об особенностях UEFI на примере переноса Debian Stretch с MBR на UEFI. Опишу так же разницу между MBR и UEFI, так как я её воспринимаю.

Кроме общей части, ключевая часть статьи про формирование GRUB EFI файла grubx64.efi во время grub-install и про то, что этот файл не так прост, как кажется на первый взгляд.

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

«Удалённо» управляем компьютером с доступом в BIOS

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров39K


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

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

Но как это сделать? Вот этим мы тут и будем заниматься…
Читать дальше →
Всего голосов 108: ↑106 и ↓2+135
Комментарии77

Уменьшать срок или платёж, что выгоднее: наглядное сравнение способов досрочного погашения кредита

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров103K

Большинство из нас так или иначе сталкивается с кредитами, а потом и с досрочными платежами по ним. Эта статья в блоге ЛАНИТ на Хабре посвящена подробному сравнению двух способов внесения частичных досрочных платежей по кредиту: с уменьшением срока и с уменьшением платежа.

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

Читать далее
Всего голосов 81: ↑71 и ↓10+83
Комментарии323

Кратко о сетях

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров9.1K

Этот материал продолжает серию статей, посвящённых семинарам внутреннего обучения, которые проводятся в IT-компании Nauka и служат для развития кругозора её сотрудников. Надеемся, что сведения, представленные в ней, могут быть полезными для школьников старших классов, студентов младших курсов ВУЗов, сотрудников IT-компаний, не связанных в своей работе с IT-инфраструктурой.

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

Собираем бюджетный домашний NAS на 14 ТБ. Часть 2 — софт, железо и всё такое

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров37K


Сборка из статьи «Собираем бюджетный домашний NAS на 14 ТБ» и по сей день работает прекрасно, позволяя взаимодействовать с файлами по сети через SMB шару. Но мои задумки обширнее того, что реализовано сейчас. Об апгрейдах, новых приложениях и разных удобных фишках TrueNAS поведаю далее в статье.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+82
Комментарии107

Mount — ещё один способ уменьшения размера Docker-образа

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров15K

Делюсь лайфхаком по уменьшению размеров Docker-образов. Как-то нам попалась на поддержку и развитие CRM-система, написанная на Ruby...

Обновили Ruby-пакеты и под них код, написали Dockerfile. Первая сборка была удручающей: образ в 2Гб. Это нормальный размер, если ты собираешь образ с Torch и другой ML-штуковиной, но CRM - нет. В результате дальнейших действий, удалось сократить размер образа до 200Мб.

Cделали следующее, чтобы сократить размер
Всего голосов 32: ↑29 и ↓3+32
Комментарии16

Взлом старого ZIP-файла с криптопрограммами подпольщиков ЮАР

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

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

Недавно я заинтересовался защищёнными коммуникациями, которые использовались Африканским национальным конгрессом в рамках операции «Вула», проводившейся в конце 1980-х годов. Операция «Вула» заключалась в проникновении лидеров АНК (и передаче снаряжения) в ЮАР для подготовки тайной сети, реализующей различные элементы политической активности АНК внутри страны.

Для успеха операции требовались защищённые коммуникации, организованные на основе 8-битных компьютеров, DTMF-сигналов, акустических преобразователей и различного другого оборудования для обмена сообщений с одноразовым шифрованием, использующих программы, написанные на PowerBASIC.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+41
Комментарии9

Как написать свой первый модуль ядра Linux

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров16K

Linux Kernel — это, пожалуй, один из самых распространённых (и, возможно, до сих пор недооценённых) программных продуктов в мире. Он является основой всех дистрибутивов Linux (что очевидно), но на этом его роль не заканчивается. Ядро также работает на множестве встроенных устройств практически повсюду. У вас есть микроволновка? Скорее всего, она работает на ядре Linux. Посудомоечная машина? Тоже. Если у вас достаточно средств на автомобиль Tesla, вы даже сможете найти несколько багов, исправить их и отправить патч в код Model S или Model X на GitHub. А что насчёт схем, которые не позволяют Международной космической станции сойти с орбиты и врезаться в Землю? Конечно, и там тоже Linux. Ядро легковесное — значит, отлично работает даже в условиях невесомости.

В этой статье напишем свой первый модуль ядра под Linux

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

Экспорт данных из базы данных в Excel на C#: 5 проверенных методов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.9K

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

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

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

Пишем приложение на C#-стеке

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров9.6K

Всем привет! Меня зовут Дмитрий Бахтенков, и я .NET-разработчик. Сегодня мы проведем эксперимент — напишем полноценное веб-приложение с использованием решений, которые написаны на C# и платформе .NET. Больше моих статей можно прочитать в медиа вАЙТИ.

Что я имею в виду?

Как мы знаем, в общем случае веб-приложение состоит из бэкенда, фронтенда, базы данных и иногда из кеша. С бэкендом и фронтендом всё понятно: у нас есть замечательный фреймворк ASP.NET Core для сервера и blazor или razor pages для клиента. Однако инфраструктурные части приложения — БД, кеши — чаще всего пишутся на других, более низкоуровневых языках, таких как C и C++.

К счастью, недавно Microsoft выпустила решение для кеширования — аналог Redis, который называется Garnet. В качестве основной базы данных можно использовать документную БД RavenDB, которая как раз написана на C#.

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

Docker для разработки C#

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

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

С помощью Docker, приложение будет безопасно изолированно в контейнере. Есть возможность управлять и ограничивать характеристики контейнера такие как CPU, Memory и другие, а также мониторить производительность и затрачиваемые ресурсы.

Возможности Docker достаточно обширны, однако в данной статье хотелось бы остановиться на трех:

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

Рецензия на книгу «Изучаем Git: пошаговое руководство с наглядными примерами»

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров10K

Если и есть инструмент, который на 100% обязаны освоить все слушатели ИТ‑курсов и начинающие разработчики еще в начале карьеры — то это Git. Книга «Изучаем Git: пошаговое руководство с наглядными примерами» (Learning Git. A Hands‑On and Visual Guide to the Basics of Git) от издательства O'Reilly Media, в переводе от Alist (БХВ Петербург) — это руководство «с нуля» по самой популярной системой контроля версий. Изложены основы Git: установка, графический интерфейс и командная строка, локальные репозитории и коммиты, ветки и слияния.

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

Обход SSH Keystroke Obfuscation

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.4K

В OpenSSH версии 9.5 были добавлены меры предотвращения keystroke timing‑атаки за счет анализа трафика. Патч включал добавление обфускации таймингов нажатий клавиш в клиенте SSH. Согласно информации о релизе, эта функция «пытается скрыть тайминги между нажатиями за счет отправки трафика взаимодействия через фиксированные интервалы времени (по умолчанию — 20 мс), когда отправляется малое количество данных». Также отправляются фейковые chaff‑пакеты после последнего нажатия, что значительно усложняет анализ трафика, скрывая реальные нажатия среди потока искусственных пакетов. Эта функция может настраиваться с помощью опции ObscureKeystrokeTiming в конфигурации SSH.

Я исследовал влияние использования анализа задержек между нажатиями клавиш для определения отправляемых внутри сессии SSH команд клиентом в рамках моей бакалаврской диссертации. В ходе этого я обнаружил способ обхода этого метода обфускации, работающий вплоть до текущего релиза. Я оповестил разработчиков 24 апреля и получил ответ от самого Дэмьена Миллера (разработчик, добавивший данный патч), но, к сожалению, дальнейшая переписка была проигнорирована. Отсюда и публикация данной статьи.

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

.NET Digest #3

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

Добро пожаловать на третий выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!

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

«Всегда закрывай за собой двери!»: краткое пособие по работе с портами

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

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

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

Привет! Меня зовут Иван, я ведущий инженер по информационной безопасности в Selectel. Давно хотели научиться настраивать сетевые интерфейсы? Хорошая новость: мы в Selectel запускаем цикл статей по работе с портами в разрезе ИБ. В этом материале разберем, как с помощью различных межсетевых экранов: локальных, облачных и МСЭ в составе NGFW — обеспечить дополнительную защиту сервисов. Подробности под катом!
Читать дальше →
Всего голосов 38: ↑37 и ↓1+54
Комментарии6
1
23 ...

Информация

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