Pull to refresh
-10
0

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

Send message

О развитии навыка говорения

Reading time8 min
Views727

«Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка». Эту фразу из несуществующих слов предложил в начале XX века академик Л.В. Щерба. Из неё ясно, что "будлану́ла" — действие, которое ку́здра (ж.р.) совершила в отношении бо́кра (м.р.); бокрёнок, скорее всего, детёныш бокра. Для русского это очевидно сразу. Иностранцу придётся сначала выучить русский. Фраза показывает, что язык — это НЕ СЛОВА. Слова легко переходят из одного языка в другой. Язык  это принципы, по которым слова связываются друг с другом.

В том, чтобы научиться говорить, ничего сложного нет — проблема это придуманная. А основная причина частых неудач — это то, что люди, как говорится, put the cart before the horse, ставят телегу впереди лошади. Пытаются говорить, не разобравшись, как связываются слова в языке. Это как пытаться бегать, не научившись ходить.

Не будем обсуждать уровень руссо туристо, когда говорят наполовину инфинитивами, наполовину знаками — это вообще не язык, строго говоря. Под умением «говорить» подразумеваются три уровня:

1-й уровень: можем по-простому, но грамматически правильно выразить мысли. Например, не зная выражения «прикрой форточку», говорим проще: «закрой окно, но не до конца».

2-й уровень: говорим на конкретные темы именно теми фразами, которые используют носители языка («прикрой форточку»).

Есть реальная история про русского математика, который читал лекцию на английском в Оксфорде. Упоминал степени, корни, дроби и прочие математические штуки, которые не каждый переводчик сумеет описать без подготовки. После лекции к нему подошла студентка и обратилась с простой разговорной фразой. Математик улыбнулся: «Sorry, I don’t speak English». То есть говорил-то он неплохо, но только на одну тему — описание математических формул и действий.

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments3

Многообразие связных списков

Level of difficultyMedium
Reading time12 min
Views369

Связный список – классическая структура данных, которая позволяет быстрые вставки/удаления, но при этом просаживает другие операции (случайный доступ к элементу). Мы пройдёмся от базовой реализации до других возможных вариаций этой структуры данных и, надеюсь, вместе узнаем что-то новое. Краем глаза увидим возможные применения связных списков. И в конце, для любителей C++, бонус: использование связного списка для сбора диагностики выделений динамической памяти в вашем коде.

Связать себя со знаниями!
Total votes 1: ↑1 and ↓0+1
Comments0

Рассвет и закат мобильного программирования

Reading time10 min
Views4.6K

Представьте, что вы сидите на скучнейшем уроке литературы: кто-то спит, кто-то рисует в тетради, кто-то чатится в ICQ, кто-то проходит очередной уровень Gravity Defied, а вы люто набираете на своём Sony Ericsson программу на Бейсике, которая случайным образом выводит имя одного из одноклассников и какой-нибудь слегка обидный неправдивый факт о нём. Наконец, последние строчки дописаны, вы запускаете программу и показываете её соседу по парте, потом телефон уходит на другой ряд и… к концу урока добрая половина класса уже потирает ладони, чтобы хорошенько отвесить вам подзатыльников за такие приколы. Но последствия не так важны, как эйфория от того, что путь мобильной разработки для вас только-только начинается.

Это был 2006 год. У многих из нас ещё не было ПК, зато были мобильные телефоны с небольшими экранами, ограниченный доступ в Интернет и много свободного времени, которое хотелось потратить на реализацию какой-нибудь идеи.

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

Коммивояжер на GPU

Level of difficultyMedium
Reading time8 min
Views972

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

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

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

Читать далее
Total votes 4: ↑4 and ↓0+7
Comments0

Неожиданные применения 3D-печати

Level of difficultyMedium
Reading time11 min
Views2.8K
Картинка Freepik

В последнее время всё больше и больше распространяются фотополимерные принтеры, делая реальным то, что вчера ещё было в области фантастики.

В связи с этим посмотрим, какие интересные возможности такой принтер может дать, и изучим несколько необычных (нет, фигурок под раскраску не будет:-) ).
Читать дальше →
Total votes 14: ↑14 and ↓0+23
Comments6

Обфускация и деобфускация JavaScript: основы и инструменты

Level of difficultyMedium
Reading time5 min
Views1.1K

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

Читать далее
Total votes 6: ↑4 and ↓2+4
Comments1

Ускорение слива воды с помощью диффузора

Level of difficultyMedium
Reading time7 min
Views945

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

В соответствии с формулой Торричелли, максимально достижимая скорость струи, вылетающей из сужающегося сопла, определяется формулой:

V = (2×g×h)^½, где g‑ускорение силы тяжести, h — высота напора воды

Например, при напоре воды, равном 1метру, скорость струи составляет 4,43 м/сек, а при напоре воды в 2 метра струя разгоняется до 6,26 м/сек.

Фактически формула Торричелли олицетворяет собой частный случай закона сохранения энергии, когда потенциальная энергия водяного напора: m×g×h преобразуется в кинетическую энергию водяной струи: (m×V^2)/2.

В реальности скорость струи бывает чуть меньше теоретического предела. Так коэффициент скорости у коноидального сужающегося сопла равен 0,98. Понижение скорости на 2% объясняется незначительными вихревыми потерями и потерями на трение.

А как ведет себя поток жидкости при вылете из расширяющегося конического сопла?

Рассмотрим таблицу экспериментальных результатов исследования истечения воды в атмосферу из диффузорных насадков со скругленной входной кромкой.

Читать далее
Total votes 3: ↑0 and ↓3-3
Comments0

Хочу ферму васаби в Подмосковье

Level of difficultyEasy
Reading time11 min
Views15K

С детства люблю растения. Не скажу, что между нами было что-то серьезное, но связь поддерживалась всю жизнь. Вместо растений я с головой ушел в IT, программирование и ML. И так бы жил, пока однажды мне не попалась статья, пробросившая мостик от моих навыков к давней любви. Это запустило цепочку событий (посмотрите у меня в профиле последние посты), которая длится уже 3 года и привела к идее строительства фермы по выращиванию настоящего васаби в Подмосковье.

Читать далее
Total votes 208: ↑206 and ↓2+259
Comments95

Создание видеоадаптера своими мозгами

Level of difficultyMedium
Reading time8 min
Views2.7K

Меня всегда интересовало, как же реализуются видеоадаптеры и искал примеры как их можно реализовать. Я много занимаюсь разной разработкой, в основном программированием, но периодически вспоминаю радиотехнику/схемотехнику. И, исходя из опыта программирования и не только я вспомнил об одной достаточно важной вещи: если хочешь что‑то реализовать, начни с самого простого и потом дорабатывай полученный результат. Таким образом можно будет понять, что же мы всё‑таки хотим сделать и правильным ли путём идём?

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

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

Читать далее
Total votes 9: ↑7 and ↓2+10
Comments18

Go напишем шахматный сервер? Часть первая — Введение и пока ни слова про Golang

Level of difficultyEasy
Reading time6 min
Views2K

Сегодня мы порассуждаем об одной из самых древних и знаменитых настолок — шахматах. Что вообще нужно для комфортной игры двух человек по сети?

База данных, где будет храниться информация об играх? Удобный и понятный интерфейс? Движок, подсказывающий возможные ходы? Прежде чем хвататься за код, нужно понять, что (кроме возможности играть на расстоянии в тысячи километров) может дать игрокам вычислительная техника оснащённая соответствующим софтом.

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

Предлагаю с этого и начать.

Давайте порассуждаем
Total votes 12: ↑10 and ↓2+13
Comments8

Берём ноутбук и отсекаем всё лишнее. Попытка №2

Level of difficultyEasy
Reading time3 min
Views11K

Продолжение эксперимента по разработке корпуса для материнской платы от ноутбука.

В данной части рассмотрена попытка из частично сломанного ноутбука сделать мини ПК.

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

Режимы работы блочного шифра

Reading time5 min
Views1.2K

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

Читать далее
Total votes 5: ↑3 and ↓2+4
Comments1

YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2

Reading time10 min
Views2.5K

Привет, Хабр! В прошлой части я рассказал, как автоматизировать простую нарезку YouTube-видео на Shorts, добавить туда текст и размытый фон. Сегодня займемся более комплексной задачей — генерацией вертикальных видео на основе записи с геймплеем и текстом. В тексте узнаете, как генерировать аудио с помощью библиотеки Bark и настроить анимацию ASCII-маскота. Подробнее — под катом.
Читать дальше →
Total votes 28: ↑28 and ↓0+33
Comments4

Создан 256-ядерный мегакластер на базе RISC-V в формате мини-ПК. Что это за проект и какие у него особенности?

Reading time4 min
Views3.4K

Звучит всё это несколько странно, но заголовок отражает действительность — инженер создал 256-ядерный RISC-V-мегакластер. И он неплохо работает, выполняя поставленные задачи. Автору проекта удалось не всё, но большую часть задуманного он воплотил в реальность. Подробности — под катом.

Читать далее
Total votes 11: ↑6 and ↓5+8
Comments3

Методы расшифровки трафика

Reading time12 min
Views5K

Добрый день, дорогие читатели Хабра!

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

Читать далее
Total votes 12: ↑12 and ↓0+16
Comments6

Как построить бастион-хост и превратить его в неприступную крепость

Level of difficultyEasy
Reading time9 min
Views6.5K

Привет, меня зовут Сергей Истомин, я DevOps‑инженер в KTS.

Осталось ли бастион‑хостам место в мире, в котором инфраструктуру можно защитить оверлейными сетями, нативными прокси и VPN? Задавшись этим вопросом, мы провели анализ материалов некоторых авторов (ссылки на материалы в конце статьи), перевели, порассуждали и обобщили полученные выводы.

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

Читать далее
Total votes 24: ↑24 and ↓0+27
Comments7

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views30K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Total votes 240: ↑240 and ↓0+286
Comments101

Копаемся в встроенном приложении камеры старого Xiaomi. Часть 2

Level of difficultyMedium
Reading time22 min
Views4.1K

Попытаемся отреверсить и заглянуть в реализацию фото-эффектов приложения камеры Xiaomi 8 летней давности

[Начать реверс!]
Total votes 6: ↑6 and ↓0+6
Comments6

Собираем балансирующий куб

Level of difficultyEasy
Reading time8 min
Views16K

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

Первоначальная идея этого устройства взята у исследователей Швейцарской высшей технической школы Цюриха, продемонстрировавших в этом видео свой Cubli. За последующие годы дизайн в определённых аспектах был усовершенствован. В частности, Bobrow et al (Университет Сан-Паулу) предложили улучшенную концепцию управления, уменьшающую количество IMU (блоков инерциальных датчиков) с шести до всего одного.

Я решил собрать такое устройство. Хотя идея и не нова, все предыдущие работы по этой теме в основном имели закрытые исходники. Я планирую изменить ситуацию. Это значит, что мне придётся выполнить реверс-инжиниринг и начертить всё с нуля. Результат моей работы, полностью опенсорсный (GitHub), показан в видео.
Читать дальше →
Total votes 108: ↑108 and ↓0+129
Comments31

Сколько можно заработать и потерять на картошке? Мой опыт на поле размером с Ватикан

Level of difficultyEasy
Reading time13 min
Views14K

Расскажу, сколько нужно заплатить немцам, чтобы тебе разрешили выращивать картошку, как сети обходят минимальную наценку на товары первой необходимости, почему Европа, алкоголизм против фермера? Знаете, сколько соток в 1 гектаре, ставьте лайк. А если выращивали картошку, пишите в комментариях. 🥔

Читать далее
Total votes 34: ↑25 and ↓9+21
Comments80

Information

Rating
Does not participate
Registered
Activity