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

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

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

VimPorn

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

На reddit большое комьюнити, которое посвящено vim: neovim, vim, vimplugins, vimporn. И чтобы не пропускать какие-то интересные вещи, которые случаются в мире vim, я накидал bash-скрипт. Скрипт выводит топ-5 лучших постов за год по каждому сабредиту. В статье будет сам скрипт, а также я своими словами расскажу о каждом посте, который попал в топ.

Читать далее, под катом много картинок ...
Всего голосов 46: ↑44 и ↓2+42
Комментарии71

Теория типов

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

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

Что можно узнать из этой статьи?
Всего голосов 75: ↑75 и ↓0+75
Комментарии70

Что такое транскрибация: рост популярности, возможности заработка и программы

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

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

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

Что такое Netcat? Bind Shell и Reverse Shell в действии

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

Друзья, всех приветствую!

В этой статье мы поговорим о том, что такое Netcat и с помощью него реализуем Bind и Reverse Shell соответственно.

Netcat

Netcat, впервые выпущенный в 1995 году (!), является одним из "оригинальных" инструментов тестирования на проникновение в сеть. Netcat настолько универсален, что вполне оправдывает авторское название "швейцарский армейский нож" хакера. Самое четкое определение Netcat дают сами разработчики: "простая утилита, которая считывает и записывает данные через сетевые соединения, используя протоколы TCP или UDP".

Подключение к порту TCP/UDP

Как следует из описания, Netcat может работать как в режиме клиента, так и в режиме сервера. Для начала давайте рассмотрим клиентский режим. Мы можем использовать клиентский режим для подключения к любому порту TCP/UDP, что позволяет нам: Проверить, открыт или закрыт порт или подключиться к сетевой службе.

Давайте начнем с использования Netcat (nc), чтобы проверить, открыт ли порт 80 на тестируемой машине (в качестве тестируемой машины мы будем использовать основную машину на которой установлена ВМ !!!).

Мы введем несколько аргументов: опцию -n, чтобы отключить DNS и поиск номеров портов по /etc/services; -v для вывода информации о процессе работы; IP-адрес назначения; и номер порта назначения:

P.S. Чтобы узнать IP-адрес основной машины выполните команду ipconfig в командной строке если у вас основная машина Windows, и ifconfig если у вас Linux или MacOS.

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

Когда иммунитет мешает: маскировка полезных бактерий

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


Даже в абсолютно пустой комнате, где на первый взгляд никого нет, бурлит жизнь. Речь, конечно же, о микроорганизмах, которых не увидеть без специального оборудования. Но, как говорится, суслика не видно, а он есть. Микробы по распространенному мнению — это злобные мелкие существа, от которых добра не жди. И в этом есть смысл, так как огромное число разнообразных микроорганизмов (бактерий, вирусов и грибков) являются патогенами самых разных заболеваний. Однако даже в такой недружелюбной толпе имеются и весьма полезные индивиды. Мы (т.е. ученые и врачи) это можем прекрасно понимать, чего не скажешь про нашу иммунную систему. А потому ученые из Колумбийского университета (США) создали систему, которая маскирует полезные бактерии, главной функцией которых является обнаружение и ликвидация раковых клеток. На чем основана данная система, каков ее функционал, и насколько она эффективна? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Как создать своего бота: 4 способа для новичков и профи

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

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

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

Cron — лучшие практики

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

Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.

Читать далее
Всего голосов 41: ↑38 и ↓3+35
Комментарии45

Оптическое распознавание символов с помощью Rust и WebAssembly

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

После переписывания Cyberscore я захотел отправить на сайт какие-нибудь результаты. Последнее, во что я играл, это Pokémon Legends: Arceus, по которой на Cyberscore есть около 3000 таблиц результатов. Я не собирался отправлять столько рекордов вручную, поэтому начал придумывать инструмент для автоматизации этого процесса.

Эта статья посвящена двум вещам: процессу извлечения результатов из JPG с помощью Rust и встраиванию этого функционала во фронтенд Cyberscore.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии0

Генерируем Rust обёртку для FMOD

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

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

Это руководство содержит общий обзор и конкретные приемы написания сложной Rust обёртки для звукового движка FMOD с помощью парсера pest и квази-цитирования.

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии12

Разбираем алгоритмы компьютерной графики. Часть 3 – анимация «Пламя»

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

Рассмотрим алгоритм рисования простейшего пламени. Придуман он довольно давно и использовался в огромном количестве демо и игр.

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

Scala: Гексагональная архитектура и DDD на Free Monad в функциональном программировании

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

Привет Хабр! Пятничного тру ФП хардкора с Free Monad, Таглес Финал, Монад трансформерами, Refined Types, Smart Constructors и прочим таким вам в ленту. Хардкор сам себя в ленту не принесет так что погнали.

Гексагональная архитектура делит наш код на три основные части.

1) Primary Adapters,

2) Secondary Adapter

3) Logic aka Domain.

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

Лямбда-исчисление в 397 байтах

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

Лямбда-исчисление — это язык программирования с единственным ключевым словом. Это асфальтовая топь Тьюринга, обнаруженная научным руководителем Тьюринга. В этом посте я расскажу о совершенно новой 397-байтной реализации двоичного лямбда-исчисления в виде Linux ELF для x86-64. Также в нём представлены удобно портируемый код на C и собранные двоичные файлы APE для других платформ.
Читать дальше →
Всего голосов 70: ↑69 и ↓1+68
Комментарии13

Калькулятор на типах TypeScript

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

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

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

Первый древнейший: в чём уникальность языка программирования LISP

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

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

Лисп, или LISP (от англ. LISt Processing language — «язык обработки списков», современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются в виде списков.

Существует альтернативная расшифровка названия LISP: Lots of Irritating Superfluous Parentheses («Много раздражающих лишних скобок») — намёк на особенности синтаксиса языка.

Шутливое «Десятое правило Гринспена» гласит: «Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp».

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии26

Основы Linux (обзор с практическим уклоном)

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

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

В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическом уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).

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

Читать далее
Всего голосов 76: ↑72 и ↓4+68
Комментарии44

Абстрактная алгебра в действии

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

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

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

Вы снова здесь, изменчивые тени. О поисках истинно четырехмерных объектов

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

Ранее в этом блоге я уже рассказывал о современных научных представлениях по поводу четвертого измерения. Особо упомяну статью «Большой взрыв и песочные часы, или куда на самом деле течет время», где я писал о математически смоделированной двухмерности времени. В рамках теорий, освещенных в той статье, стрела времени может быть направлена сразу в прошлое и в будущее. Такая трактовка позволила бы уточнить многомировую эвереттовскую интерпретацию квантовой механики (она превратилась бы из «бесконечномировой» в «конечномировую»). Но под этой статьей развернулась обширная дискуссия, в которой меня в особенности заинтересовали замечания уважаемых @SergioShpadi (тут) и @kauri_39 (тут) – о том, что не все, что можно смоделировать при помощи математики, на самом деле воплощается в реальности.

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

Читать далее
Всего голосов 43: ↑38 и ↓5+33
Комментарии72

Tcl/tk: интегрированная среда разработки TKproE-2.30

Время на прочтение10 мин
Количество просмотров4.7K
Прошло без малого пять лет как я впервые столкнулся с интегрированной средой разработки программ на tcl/tk TKproE-2.20. В апреле 2021 года вышла новая версия этого продукта — TKproE-2.30 и я полностью погрузился в её мир. Он меня заворожил. Название TKproE является аббревиатурой от TCL/TK Programming Environment. TKproE — это интегрированная среда разработки программ для языка сценариев TCL/TK. Сам TKproE полностью написан на языке TCL/TK. В преамбуле к TKproE подчёркнуто, что он поддерживает быструю разработку сложных графических пользовательских интерфейсов.

Что же принципиально нового появилось в новой версии по сравнению с версией 2.20 помимо нового логотипа?
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии8

Шесть уровней метавселенной математики

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

Когда я был маленький, я думал, что математика - это очень формальная наука. Как бы не так! Когда о нас, математиках, говорят как о сухарях — это ложь! (с) 17 мгновений весны.

Приглашаю вас в путешествие по 6 уровням вселенной математики - от полностью формального до философско-поэтического, и заодно мы ответим на вопрос, является ли теорема Геделя теоремой или мета-теоремой.

Читать далее
Всего голосов 98: ↑95 и ↓3+92
Комментарии168

Базовые принципы Availability

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

О чем статья

В этой статье речь пойдет о БАЗОВЫХ подходах и принципах к такому quality attribute (QA) как Availability. Никаких сложных случаев, ничего слишком сложного, только теория с двумя примерами, скипайте, если искали что-то эдакое.

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

Что такое Availability?

Перед тем, как рассматривать паттерны и техники для обеспечения availability мы должны определить сам термин.

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

Информация

В рейтинге
3 859-й
Зарегистрирован
Активность

Специализация

Backend Developer, Fullstack Developer
Senior