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

Web / Image Processing

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

Играем с KAT Walk C2. (часть 1: собственно, играем)

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

У меня есть дурная привычка: я играю в игры. Впрочем, понятие "играю в игры" довольно своеобразное.

Уже несколько лет как я обзавелся VR платформой от KAT VR. Согласно её внутренней статистики, я прошел на ней около 30 километров и сделал 40к шагов. Статистика, конечно, врёт и сильно, было гораздо, гораздо больше. Однако же да, на ней я играл гораздо меньше времени чем с ней.

Впрочем, обо всём по порядку.

React hooks, как не выстрелить себе в ноги. Часть 2: useEffect и useLayoutEffect

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

В этой статье разберем как с помощью useEffect воспроизвести методы жизненного цикла в функциональных компонентах. Поговорим как и когда использовать useEffect и useLayoutEffect. Обсудим особенности отправки запросов из useEffect. Также узнаем почему массив зависимостей необязателен и когда это может пригодиться.

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

Читать далее

Собираем бюджетный домашний NAS на 14 ТБ

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


Начав заниматься фотографией, я быстро ощутил нехватку места на компьютере. Фотографии в RAW имеют большой вес, а про видео говорить ещё страшнее. Решение проблемы очень простое — собрать NAS.

О моём опыте сборки бюджетного NAS на 14 ТБ я напишу далее в статье.
Читать дальше →

Редактируем CSV-файлы, чтобы не сломать данные

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


Продукты HFLabs в промышленных объемах обрабатывают данные: адреса, ФИО, реквизиты компаний и еще вагон всего. Естественно, тестировщики ежедневно с этими данными имеют дело: обновляют тест-кейсы, изучают результаты очистки. Часто заказчики дают «живую» базу, чтобы тестировщик настроил сервис под нее.

Первое, чему мы учим новых QA — сохранять данные в первозданном виде. Все по заветам: «Не навреди». В статье я расскажу, как аккуратно работать с CSV-файлами в Excel и Open Office. Советы помогут ничего не испортить, сохранить информацию после редактирования и в целом чувствовать себя увереннее.

Материал базовый, профессионалы совершенно точно заскучают.
Читать дальше →

Как я сделал симулянт лунного грунта в домашних условиях и вырастил на нем редис

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

Судя по планам, уже в следующем десятилетии человечество колонизирует Луну и Марс. В процессе придется решить много проблем, в том числе понять, где колонистам брать пищу. Один из вариантов — выращивать на месте. Но чтобы поэкспериментировать с этим на Земле, необходимо добыть достаточный объем почвы с другой планеты. С Луны уже привезли несколько центнеров, а вот с Марса еще никто не возвращался. 

Впрочем, есть компании, которые создают субстраты, близкие по составу к лунному и марсианскому грунтам, в лаборатории и продают их за приличные деньги. Однако покупка на стороне задорого — это не путь гика. Гораздо интереснее провести пару лет в экспериментах и сделать более точный и качественный симулянт, чем предлагают на рынке. Затем вырастить на нем что-то из полезных растений и выяснить, что употреблять это в пищу отнюдь не безопасно.

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

Читать далее

Нейросети и CV — основы теории и практика — система машинного зрения на одноплатнике Repka Pi

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

— Никто не обнимет необъятного!

Козьма Прутков, 1854

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

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

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

Так же рассмотрим основные понятия нейронных сетей. Разберём, как добавить функции обнаружения лиц и людей в видеопотоке от обычной веб-камеры, подключенной через USB к Repka Pi. При этом будут использованы каскады Хаара, нейросеть Yolo-FastestV2, фреймворки OpenCV и NCNN, а также репозиторий ml-repka от компании Rainbowsoft.

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

Так в статье есть целый ряд тщательно подобранных ссылок на материалы для более углубленного изучения предметной области. Надеемся, что эта статья сможет стать хорошим началом погружения в Мир ИИ и нейронных сетей вообще, и компьютерного зрения (CV) в частности, для всех, кто только собирался это сделать и ждал подходящего случая. Эта статья - как раз такой случай.

Читать далее

Как ваш браузер обрабатывает прикосновения к экрану телефона (js touch events)

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

Ссылка на github

Здесь я поделюсь своим опытом и постараюсь максимально подробно рассказать все основные фитчи которые есть в вашем javascript для обработки прикосновение к дисплею. touchstart и т.д.

ЧИТАТЬ

Есть много способов сделать это: Vue 3 и взаимодействие компонентов

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

Vue 3 принёс в жизнь разработчиков возможность организации более гибкой структуры приложений. Всё чаще я стал замечать, что разные команды, а порой и разработчики внутри одной, используют целый зоопарк сомнительных подходов для организации взаимодействия между компонентами. Применяются какие-то крайности, либо всё в state manager, либо в composable (composition API), либо мутация props внутри дочерних компонентов!

Хотелось бы поднять эту тему и рассмотреть варианты взаимодействия компонентов доступные нам во Vue 3.

Давай посмотрим...

Управление приватными данными классов ES6

Время на прочтение3 мин
Количество просмотров21K
В этой статье рассматриваются 4 подхода к управлению приватными данными классов ES6:

1. Хранение данных в конструкторе класса.
2. Маркировка приватных свойств через соглашение об именовании (например, префиксное подчеркивание).
3. Хранение приватных данных в WeakMaps.
4. Использование символов в виде ключей для приватных свойств.

Первый и второй подходы широко использовались в ES5, а третий и четвертый – появились только в ES6. Давайте поочередно рассмотрим каждый на одном примере.


Читать дальше →

Event Loop в деталях

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

В данной статье поговорим о том, почему Event Loop вообще был создан, как с ним работать и почему про него спрашивают на собесах.

JS был спроектирован как однопоточный язык программирования. Это значит, что он может выполнять только одну операцию одновременно. Тем не менее у JavaScript есть такой механизм как Event Loop, который как раз и позволяет выполнять "асинхронные" операции. Почему "асинхронные" в кавычках? Да просто потому что JavaScript тоже выполняет их синхронно, асинхронности в самом JavaScript как таковой нет. Вперед под кат, будем разбираться)

Promise.then()

Введение в ECMAScript 6 (ES-2015)

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

Введение в ES6



Оглавление
1. Template literals
2. let and const
3. Arrow function expressions
4. For...of
5. Computed property names
6. Object.assign()
7. Rest parameters
8. Default parameters
9. Destructuring assignment
10. Map
11. Set
12. Classes
13. Promise
14. Iterators
15. Generators
16. Sumbol

Template literals (Template strings)


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

Шаблонные литералы заключены в обратные кавычки (` `) вместо двойных или одинарных. Они могут содержать подстановки, обозначаемые знаком доллара и фигурными скобками (${выражение}). Выражения в подстановках и текст между ними передаются в функцию. По умолчанию функция просто объединяет все части в строку. Если перед строкой есть выражение (здесь это tag), то шаблонная строка называется «теговым шаблоном». В этом случае, теговое выражение (обычно функция) вызывается с обработанным шаблонным литералом, который вы можете изменить перед выводом. Для экранирования обратной кавычки в шаблонных литералах указывается обратный слэш \.
Читать дальше →

О, кинчик

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

Мы с друзьями любим играть в настольные игры, но не всегда под рукой оказываются громоздкие коробки с играми. Тут на помощь приходит смартфон. Раньше я написал игру Ну, этот, аналог коробочной игры Бум. Затем родилась идея игры с похожей механикой, но вместо слов - случайные фильмы с кинопоиска. В качестве основы проекта я взял SvelteKit. В статье расскажу об интересном функционале SvelteKit и быстром деплое на площадке Vercel.

Встречайте, О, кинчик!

Читать далее

Введение в 3D: основы Three.js

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

Cложность Web меняется ежедневно, и его возможности растут так же быстро, особенно с 3D-рендерингом. Кто только начинает вливаться в тему 3D — добро пожаловать под кат.


3D-сердце на Three.js

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


Расскажем сегодня, как определить, изменить и показать 3D-модель в браузере. Углубимся в технические детали и посмотрим, как отрисовать сцену, построить и визуализировать пользовательскую модель и управлять камерой, чтобы любоваться анимированной моделью во всей ее красе.

Читать дальше →

Основы внутреннего устройства JavaScript

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

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

Введение


Почти все уже слышали о концепции движка V8 и большинство людей знает, что язык JavaScript однопотоковый или что он использует очередь обратных вызовов.

В этом посте мы подробно разберём эти концепции и объясним, как же работает JavaScript. Благодаря знанию этих подробностей вы сможете писать более оптимальные приложения, надлежащим образом использующие API. Если вы работаете с JavaScript относительно недавно, этот пост поможет вам понять, почему JavaScript настолько «странный» по сравнению с другими языками. А если вы опытный разработчик на JavaScript, то он позволит вам по-новому взглянуть на внутреннее устройство JavaScript Runtime, с которым вы работаете каждый день.
Читать дальше →

Готовимся к собеседованию по PHP: ключевое слово «static»

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

image

Попробуем разобрать «по косточкам» один из таких вопросов — что значит слово «static» в PHP и зачем оно применяется?
Подробности, цитаты из мануала, стандартов и личного опыта - под катом

Всё о веб-анимациях в 2022

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

Анимация — это переход элемента от одного состояния к другому. Пользователям нравится, когда на сайте что-то вращается, появляются новые элементы или происходит что-то неожиданное. Если на сайте много таких «вау-эффектов», он может стать вирусным или получить какую-нибудь премию, например, Awwwards.

Чаще всего дизайнер отрисовывает анимацию в специальной программе, например, After Effects, и присылает верстальщику видео, по которому нужно повторить анимацию. А вот как реализовать эту идею — решать разработчику. Он может использовать три вида анимаций: CSS-анимации, SVG-анимации или JavaScript-анимации.

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

Анимация на КПДВ: Дилан Баунманн, codepen.

Читать далее

Реализуем визуальный эффект из фильма «Матрица»

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


Доброго времени суток, друзья!

На днях пересмотрел «Матрицу». Слушайте, до чего же классный фильм (это касается только первой части). В очередной раз обратил внимание на «падающие» строчки с иероглифами на ихних экранах (намеренно использовал слово «ихних» забавы ради). Задумался о том, как это можно реализовать… максимально простым способом (ибо лень). Вот что у меня получилось.
Читать дальше →

Ручная отладка мобильного фронтенда с нуля до PRO за 30 минут

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

Привет! Меня зовут Виталий, я фронтенд-тимлид в KTS.

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

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

• В responsive mode браузера на компьютере

• С помощью эмуляторов iOS и Android

• На физическом iPhone и Android-устройстве через USB

• С помощью Browserstack

Читать далее

Быстрый старт работы со Смарт-процессами в коробке Битрикс24 для разработчика. Часть 1. Базовые операции

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров10K
Представляю вашему вниманию цикл статей по работе с пока еще мало знакомым многим битрикс-разработчикам инструментом оперирования данными с CRM Битрикс24 через абстрактные фабрики. В первой статье рассмотрим базовые операции с элементами сущностей CRM — создание, изменение, удаление.

Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

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

Software Developer, Web Developer
Junior
HTML
SCSS
JavaScript
UI/UX design
Figma Design
Git
BEM
C++
OpenCV
Linux