Pull to refresh
3
0

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

Send message

VimPorn

Reading time6 min
Views57K

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

Читать далее, под катом много картинок ...
Total votes 46: ↑44 and ↓2+42
Comments71

Теория типов

Level of difficultyMedium
Reading time43 min
Views30K

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

Что можно узнать из этой статьи?
Total votes 75: ↑75 and ↓0+75
Comments70

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

Reading time8 min
Views49K

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

Читать далее
Total votes 8: ↑4 and ↓40
Comments5

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

Reading time5 min
Views38K

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

В этой статье мы поговорим о том, что такое 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.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments7

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

Reading time14 min
Views3.5K


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

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

Reading time18 min
Views83K

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments7

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

Reading time9 min
Views60K

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

Читать далее
Total votes 41: ↑38 and ↓3+35
Comments45

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

Reading time6 min
Views5.9K

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

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

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

Reading time27 min
Views3.3K

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

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

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments12

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

Reading time6 min
Views13K

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

Читать далее
Total votes 42: ↑42 and ↓0+42
Comments8

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

Reading time8 min
Views4K

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

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

1) Primary Adapters,

2) Secondary Adapter

3) Logic aka Domain.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments1

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

Reading time22 min
Views15K

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

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

Reading time6 min
Views14K

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

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments11

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

Reading time10 min
Views35K

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

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

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

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

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments26

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

Reading time14 min
Views284K

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

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

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

Читать далее
Total votes 76: ↑72 and ↓4+68
Comments44

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

Reading time6 min
Views26K

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

Читать далее
Total votes 43: ↑43 and ↓0+43
Comments31

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

Reading time10 min
Views14K

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

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

Читать далее
Total votes 43: ↑38 and ↓5+33
Comments72

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

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

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

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

Reading time6 min
Views40K

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

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

Читать далее
Total votes 98: ↑95 and ↓3+92
Comments168

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

Reading time5 min
Views11K

О чем статья

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

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

Что такое Availability?

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments0
1
23 ...

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Senior