Pull to refresh
0
@Ba4rimanread⁠-⁠only

User

Send message

Сколько стоит разработка сайта с нуля в 2024 году?

Level of difficultyEasy
Reading time5 min
Views24K

Бизнес услуг может очень сильно разниться в стоимости: вы можете заказать сайт как за 100 000р., так и за несколько десятков миллионов. Давайте разберемся, в чем отличие дешевого сайта от дорогого и из чего сегодня формируется стоимость разработки с нуля.

Читать далее
Total votes 23: ↑20 and ↓3+17
Comments40

Вопросы на собеседовании к вакансии Middle Unity-разработчик + полезная информация

Reading time9 min
Views25K

Некоторое время назад пытался устроиться на подобные вакансии (меня не взяли). Но теперь есть список вопросов, которые помогут подготовиться и углубиться в мир программирования (список вопросов взят из самого долгого интервью, остальные были в разы короче).

Читать и радоваться
Total votes 12: ↑10 and ↓2+8
Comments43

Разработка hexapod с нуля (часть 9) — завершение версии 1.00

Reading time3 min
Views11K

Всем привет! 2 года разработки, 9723 строчек кода и килограммы пластика сделали свое дело — разработка гексапода подошла к заключительному этапу в рамках текущей версии. К этому этапу проект полностью перешел на красивые зеленые железки, слегка изменен дизайн и появилась трансляция видео. Так же будет клёвое демо-видео. Все выходные были успешно слиты на его съемки и монтаж, надеюсь понравится.

Этапы разработки:

Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00
Total votes 31: ↑31 and ↓0+31
Comments18

Технологии фронтенд-разработки, на которые вы, возможно, не обратили внимания

Reading time13 min
Views30K
«Хочешь жить — умей вертеться». Это — про работу фронтенд-программиста. Для того чтобы успешно справляться со своими обязанностями, такому специалисту приходится решать массу задач и необходимо обладать множеством способностей. Очень важно, кроме того, не забывать о главной цели, ради которой разрабатывают сайты. А именно, о том, что сайты должны помогать людям упрощать решение их повседневных задач.



В этом материале я собираюсь рассказать о различных аспектах веб-разработки, о которых стоит знать любому программисту соответствующего профиля. Я, если это возможно, буду приводить ссылки на материалы, демонстрирующие примеры применения соответствующих возможностей и рекомендации по их правильному использованию. Здесь я буду ориентироваться на реализацию тех или иных механизмов в Angular, React и Vue.
Читать дальше →
Total votes 43: ↑35 and ↓8+27
Comments12

22 совета Angular-разработчику. Часть 2

Reading time7 min
Views16K
Сегодня мы публикуем вторую часть перевода статьи, которая содержит набор рекомендаций для Angular-разработчиков. В предыдущей части были представлены 11 советов, в этой мы рассмотрим ещё столько же.


Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments1

Создание шейдерной анимации в Unity

Reading time7 min
Views13K
Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс.


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

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

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

Я подробно опишу создание вот этой анимации:

Rat animation
Total votes 32: ↑32 and ↓0+32
Comments10

8 полезных регэкспов с наглядным разбором

Reading time2 min
Views272K
О мощи и гибкости регулярных выражений написано много, и их использование давно уже является стандартом для различного рода операций над текстом. Пожалуй, чаще всего регэкспы работают при валидации вводимых данных — здесь им практически нет альтернативы, если не считать громоздкий циклический разбор с кучей неочевидных проверок. Начнём с самого простого:

1. Часть ЧПУ (человекопонятный URL)


По сути, слово с дефисами.

Паттерн: /^[a-z0-9-]+$/
short_url

Примеры посерьёзнее
Total votes 176: ↑132 and ↓44+88
Comments119

Как сделать первые шаги в робототехнике?

Reading time3 min
Views54K


Роботизация и автоматизация становятся всё востребованнее, и многим хотелось бы научиться создавать подобные системы и устройства. Но с чего начать, как освоить азы? Мы сделали для вас небольшую подборку русскоязычных и англоязычных YouTube-каналов с учебными материалами и методическими пособиями по робототехнике.
Total votes 37: ↑37 and ↓0+37
Comments6

Создаём голосовое приложение на примере Google Assistant

Reading time21 min
Views35K
Каждый пятый житель США владеет умной колонкой, а это 47 000 000 человек. Помощник может создать напоминание, список дел, будильник, таймер, прочитать новости, включить музыку, подкаст, заказать доставку, купить билеты в кино и вызвать такси. Все это «навыки» или «skills» помощников. Еще их называют голосовыми приложениями. Для Alexa и Google Assistant таких приложений на 2018 год разработано 70 000.

В 2017 году Starbucks запустил функцию по заказу кофе домой для Amazon Alexa. Кроме того, что выросли заказы на доставку, об этом написали все возможные СМИ, создав классный PR. Примеру Starbucks последовали Uber, Domino’s, MacDonald’s, и даже у стирального порошка Tide появился свой skill для Alexa.

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


Total votes 29: ↑28 and ↓1+27
Comments2

Рассылай и властвуй: инструменты для создания и тестирования рассылки

Reading time8 min
Views22K


Верстать электронные письма — это боль. Верстать и тестировать адаптивные письма с интерактивом (например, с формами и слайдерами) — боль в квадрате. Однако, не всё не так плохо, если выбрать правильные инструменты. В статье расскажу об email-фреймворках — MJML и Foundation for Emails — и моих любимых ресурсах для тестирования рассылки — Litmus и Email On Acid.
Победить Outlook
Total votes 43: ↑40 and ↓3+37
Comments6

Программируем квадрокоптер на Arduino (часть 1)

Reading time18 min
Views357K


Здравствуйте, хаброжители!
В этой серии статей мы с вами приоткроем крышку квадрокоптера чуть больше, чем этого требует хобби, а также напишем, настроим и запустим в воздух собственную программу для полетного контроллера, которым будет являться обычная плата Arduino Mega 2560.

У нас впереди:
  1. Базовые понятия (для начинающих коптероводов).
  2. PID-регуляторы с интерактивной web-демонстрацией работы на виртуальном квадрокоптере.
  3. Собственно программа для Arduino и настроечная программа на Qt.
  4. Опасные тесты квадрокоптера на веревке. Первые полёты.
  5. Крушение и потеря в поле. Автоматический поиск с воздуха средствами Qt и OpenCV.
  6. Окончательные успешные тесты. Подведение итогов. Куда дальше?

Материал объемный, но постараюсь уложиться в 2-3 статьи.
Сегодня нас ожидает: спойлер с видео, как наш квадрокоптер полетел; базовые понятия; PID-регуляторы и практика подбора их коэффициентов.
Читать дальше →
Total votes 107: ↑106 and ↓1+105
Comments96

Научите меня проводить собеседования

Reading time4 min
Views41K
Так получилось, что за многолетнюю карьеру в IT я провел более 200 собеседований, нанял и вырастил большое количество профессионалов от инженеров по тестированию до архитекторов и менеджеров. Мне часто приходится давать советы по проведению собеседований своим сотрудникам, поэтому я решил обобщить свой опыт и заметки. В результате родилась статья, которую вы читаете.

В ней нет золотого грааля, как нужно нанимать лучших сотрудников, только здравый подход к проведению собеседований. Скорее всего статья будет полезна тем, кто только начинает собеседовать людей. Однако, принесет пользу и остальным, чтобы посмотреть со стороны на свой подход к проведению собеседований.
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments263

Очень простое объяснение принципов SOLID

Reading time5 min
Views67K
Disclaimer: Всем можно, ну а я чем хуже?!

SOLID — это набор принципов по организации кода. Фактически они декларируют некие правила, которые помогут вам сохранить свои и чужие нервы и время. А могут и не помочь.

Попробуем разобраться в этих принципах на пальцах, без примеров кода и СМС.
Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments60

Приложения реального времени на TypeScript: разработка чата с применением WebSocket, Node и Angular

Reading time7 min
Views28K
Недавно я создал простой чат, используя исключительно TypeScript. Главной целью этого проекта было написание приложения, демонстрирующего использование этого языка и на клиенте, и на сервере. Клиентская часть чата основана на свежей версии Angular. Сервер базируется на Node.js. Взаимодействие между ними организовано с помощью протокола WebSocket.

Из этого материала вы узнаете о том, как создать чат, о котором идёт речь, с нуля. Вот, кстати, как выглядит работа с ним.


Чат, написанный на TypeScript
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments3

8 учебных проектов

Reading time3 min
Views144K
«Мастер совершает больше ошибок, чем новичок — попыток»

Предлагаем 8 вариантов проектов, которые можно сделать «по фану», дабы получить реальный опыт разработки.

Проект 1. Клон Trello


image


Клон Trello от Indrek Lasn .

Что вы освоите:

  • Организация маршрутов обработки запросов (Routing).
  • Drag and drop.
  • Как создавать новые объекты (доски, списки, карточки).
  • Обработка и проверка входных данных.
  • Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
  • Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

Тут пример репозитория, сделанного на React+Redux.
Читать дальше →
Total votes 36: ↑30 and ↓6+24
Comments18

Раздача фронтенда через CDN

Reading time22 min
Views22K
В мире современных веб-технологий все стремительно развивается и меняется. Пару лет назад совершенно нормальным было по запросу клиента рендерить DOM структуру на сервере (например, при помощи PHP) и отдавать уже полностью сформированную страницу. Сейчас все чаще появляются сайты c полным отделением фронтенда (Angular, React, Vue.js...) от бэкенда (некие API эндпоинты), где на фронтенде почти весь контент формируется посредством скриптов, а сервер отдает только данные по запросу. Тут можно было бы упомянуть SSR (Server Side Rendering), но не об этом данное произведение.

В любые времена перед разработчиками и владельцами сайтов стояла непростая задача: доставить контент как можно быстрее, как можно большему количеству клиентов. Одно из самых правильных решений — использовать CDN (Content Delivery Network) для раздачи статичных файлов. В случае с динамическим рендером страниц на сервере мы должны были ограничиваться небольшим списком объектов, которые можно было разместить в CDN: таблицы стилей, файлы скриптов, изображения. Однако, фронтенд, написанный на Angular (React, Vue.js...), статичен целиком, включая индексную страницу. Вот тут и возникает мысль: а почему бы не организовать раздачу через CDN всего фронтенда?

В данной статье пойдет речь о настройке комплексного решения для разработки, контроля версий, автоматической сборки и доставки статического сайта с использованием Gitlab CI, Amazon S3 и Amazon CloudFront. Также речь пойдет о настройке сопутствующих вещей: git, безопасное соединение по протоколу HTTPS, доменная почта, DNS хостинг, бэкенд сервер…

Если вас заинтересовала эта тема, добро пожаловать под кат. Осторожно! Много скриншотов.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments12

Математика игры 2048

Reading time22 min
Views34K

Часть 1. Расчёт минимального количества ходов для победы с помощью цепей Маркова


Screenshot of 2048

После недавнего обновления экран «You win!» игры 2048 начал показывать количество ходов, потребовавшихся для победы, и я задался вопросом: сколько же нужно ходов, чтобы выиграть?

В первой части статьи мы ответим на этот вопрос, смоделировав игру 2048 в виде цепи Маркова и проанализировав её, чтобы показать, что вне зависимости от мастерства игрока для победы в среднем нужно не менее 938,8 ходов. Это даёт нам неплохое мерило отсчёта — если вы можете выигрывать примерно за такое количество ходов, то неплохо играете.

Количество ходов, необходимых для победы, зависит от случайности, потому что игра добавляет тайлы 2 и 4 случайным образом. Анализ также покажет, что распределение минимального количества ходов до победы имеет стандартное отклонение в 8,3 хода, и что его общая форма хорошо аппроксимируется смесью биномиальных распределений.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments24

Angular 2 и внедрение зависимостей

Reading time19 min
Views74K

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


Одна из тем, вызывающая много вопросов — внедрение зависимостей. Некоторые люди не сталкивались с подобной технологией. Другие не до конца понимают, как она работает в рамках Angular 2, так как привыкли к другим реализациям, которые бывают в других фреймворках.


А разгадка кроется в том, что DI во втором ангуляре действительно несколько отличается от других, и связано это в первую очередь с общим подходом и философией 2-й версии. Заключается она в том, что сущностями из которых строится всё приложение, являются компоненты. Сервисный слой, роутер, система внедрения зависимостей — вторичны и они имеют смысл только в рамках компонента. Это очень важный момент, который лежит в основе понимания архитектуры нового фреймворка.

Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments53

Руководство для дизайнера по DPI

Reading time27 min
Views318K


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

Автор — Sebastien Gabriel.

Я не знаю всего, так что, если по вашему мнению я где то ошибаюсь или вам нужно уточнить что-то, либо у вас есть предложения или вопросы для улучшения данного руководства, отправьте письмо (на англ) на sgabriel.contact@gmail.com. Вы также можете найти на меня Twitter, G+ или Facebook.
Читать дальше →
Total votes 92: ↑88 and ↓4+84
Comments19

Information

Rating
Does not participate
Registered
Activity