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

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

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

Математика верстальщику не нужна, или Временные функции и траектории для покадровых 2D анимаций на сайтах

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


«Математика верстальщику не нужна!», — говорили они. «Арифметики за 2 класс школы хватит!», – говорили они. «Верстальщик – не программист, так что нечего себе голову забивать точными науками!», — чего только не услышишь на просторах интернета на тему нужности тех или иных знаний при разработке сайтов. И на самом деле в большинстве случаев человеку, который делает интерфейсы, и правда хватает умения складывать числа. Что-то более сложное встречается редко и обычно уже есть готовый алгоритм где-то в недрах NPM. Но сайты – понятие растяжимое, и иногда все же нужно включить голову, и разобраться в каком-то вопросе. И один из таких вопросов – это траектории в 2D анимациях.


Наблюдая за людьми, которые осваивают JS, и, в частности, покадровые анимации в вебе, я заметил, что у многих возникают сложности, когда нужно сделать движение какого-то объекта на странице по определенной траектории. И, если эта траектория не нарисована заранее заботливым дизайнером в виде path в SVG-картинке, а формулируется какими-то общими словами и ссылками на референсы из сети, или, что еще хуже, должна генерироваться на лету, то задача приводит их в полный ступор. По всей видимости все упирается в тотальное непонимание того, как получить кривую той или иной формы в рамках JS. Об этом мы сегодня и поговорим в формате своеобразной лекции о временных функциях для анимаций в самых разных их проявлениях.


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

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

Некоторые аспекты управления VDS-сервером под Linux

Время на прочтение9 мин
Количество просмотров14K
VDS (Virtual Dedicated Server) — услуга, в рамках которой пользователь получает виртуальный выделенный сервер с максимальными привилегиями. Это эмуляция реального физического сервера, у него есть рутовый доступ, возможность установки произвольных операционных систем и любого софта. При этом он обходится значительно дешевле аренды сопоставимого по мощности физического сервера.

На сервер можно поставить ОС со своего образа или воспользоваться готовым образом в панели управления.



Предположим, мы поставили Debian 10 и веб-сервер Nginx, который идёт в стандартном репозитории (apt install nginx). Давайте посмотрим, какие полезные утилиты и команды помогут в управлении сервером под Linux. Рассмотрим и отдельно Nginx, и сам VDS-сервер в целом.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+36
Комментарии9

ESP8266 с чего начать или первый опыт

Время на прочтение7 мин
Количество просмотров331K
В этой статье я хочу поделиться опытом того, что делать, когда в руки впервые попадают платки ESP8266. Сразу оговорюсь, что ковыряние в таких железках, равно как и программирование, это моё хобби за мои деньги и в свободное от основной деятельности время. Поэтому прошу отнестись с определенной скидкой к степени критики данного материала.

Почему я это решил написать? Всё просто: я убил 3 недели времени на то, чтобы разобраться с чего начинать и как это работает. Кроме того, попробую собрать небольшой каталог ссылок по работе с ESP8266. Надеюсь, что эта информация поможет сэкономить вам хоть толику времени.

image

Итак, приступим!
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии51
НЛО прилетело и оставило необычный электронный дневник из будущего. К сожалению, большая часть материалов повредилась – все, что осталось – в нашей текстовой расшифровке.
Подробности – под катом
Всего голосов 52: ↑41 и ↓11+30
Комментарии25

Несколько полезностей по работе с NPM

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

NPM — пакетный менеджер для node.js, аналог GEM в RoR. В статье несколько советов по его использованию.

Установка пакетов


Все знают
# Устанавливает пакет express
npm install express

Какие варианты еще есть?
Читать дальше →
Всего голосов 96: ↑84 и ↓12+72
Комментарии12

Мозг. Голографическая память. Биология квантовых вычислений

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


Говорят, что чтобы правильно задать вопрос надо знать большую часть ответа. Основной вопрос, который обычно задают про мозг – это как он устроен и каковы принципы его работы? Вопрос хороший и вполне корректный. Но предположим, что нам удалось узнать «большую часть ответа». Допустим, что возникла теория, которая исключительно правдоподобно описывает работу мозга. Какой вопрос теперь будет «правильным»?
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии35

Технокнига, часть 2: литература по СУБД, разработке фронтенда, проектированию интерфейсов и углубленному программированию на Java

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


Недавно мы начали публиковать обзорный список литературы, рекомендуемой к прочтению студентам наших образовательных проектов: Технопарка, Техносферы и Технотрека. Но это не значит, что остальным эти книги будут не интересны. Так что если вы жаждете знаний по вынесенным в заголовок темам, то наверняка найдете что-нибудь интересное во второй части обзора.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии12

«Дайте два!» или о пользе и вреде мультимониторной конфигурации

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



Несмотря на всё это, чаще всего смена стандартной конфигурации происходит после того, как под рукой находится ненужный экран. Эксперименты по физическому разделению уже после пары дней оказывается настолько удачными, что возврату может поспособствовать только дисплей с гигантской диагональю. Однако если верить исследованиям, такая альтернатива вряд ли будет уместна.
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии60

Лекции Технопарка. 2 семестр. Java

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


В эфире очередной выпуск материалов рубрики «Лекции Технопарка». На этот раз вы можете изучить лекции курса, посвящённого углублённому программированию на Java. Цель курса — получение студентами практических навыков создания клиент-серверного приложения на примере разработки сервера простой многопользовательской online-игры в малых группах (4-6 человек).
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии6

Кнопок много не бывает

Время на прочтение6 мин
Количество просмотров13K
LessПримерно полгода назад я прочитал статью «Почему стоит использовать препроцессоры». В ней автор описывает преимущества препроцессоров на примере реализации кастомных кнопок. Статья оказалась познавательна и очень интересна. Автор приводил в примеры разные препроцессоры и объяснял почему остановился на Sass. На счет цвета карандашей и вкуса я не вправе спорить, у каждого свои взгляды. Но еще тогда мне показались несправедливыми описания о том, что Less не достаточно мощный. Еще тогда хотелось сделать что-то подобное, воплотить идею автора на других препроцессорных языках (Less, Stylus). На момент прочтения статьи времени что-то сделать свое не было. И вот недавно, в один из выходных, я вспомнил об этой статье и решил реализовать идею автора — только средствами Less. Делать что-то новое я не видел смысла, поэтому решил помочь автору в развитии проекта, сделал форк с его репозитория, проделал необходимую работу и создал pull request.
Читать дальше →
Всего голосов 21: ↑12 и ↓9+3
Комментарии16

Делаем «mindmap» на Javascript с локальным хранением в базе данных браузера

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

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

Я опишу особенности создания редактора карты памяти, который использует базу данных браузера. Причём, это будет не LocalStorage, который не может превышать 5 мегабайт. Объём данных сможет превысить 100-200 мегабайт, так как используется IndexedDB или webSQL, смотря что доступно в конкретном браузере.

Исходники выложены в открытый доступ на Github.

Мы уложимся в 520 строк кода, при этом в нашей карте можно будет перетаскивать узлы между собой, удалять, переименовывать и создавать новые. А также можно будет назначать одну из 120 иконок через контекстное меню.

Секрет минимализма в том, что мы будем использовать проверенные в бою плагины:
  1. Ydn.db — хранение информации в базе данных браузера с автоматическим выбором лучшего метода и единым API
  2. jQuery context menu — контекстное меню, которое можно наполнять динамически при помощи Javascript
  3. jsPlumb — расширение позволяющее рисовать линии между HTML элементами
  4. jQuery UI — Drag&drop — перетаскивание элементов между собой


PS: Также мы научимся создавать «синглтон», облегчать себе асинхронное программирование при помощи jQuery и встроенного объекта $.Deferred(), а также при помощи плагина LiveReload, сохраним краску на клавише F5 при изменении свойств CSS и кода в HTML и Javascript.
Читать дальше →
Всего голосов 116: ↑108 и ↓8+100
Комментарии45

Мысли вслух о разработке javascript-приложений на примере небольшого Line Of Business фреймворка

Время на прочтение21 мин
Количество просмотров19K
Привет, Хабр!

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

Тема SPA-приложений и javascript-приложений в целом не нова, но нам не удалось найти даже на платных ресурсах основательных руководств по разработке приложений. Они являются скорее рассказом о той или иной MV*-библиотеке, чем примером для подражания. При этом не рассматриваются примеры разбиения по слоям, построения иерархий наследования и тонкостей наследования в javascript и т.д.

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

Мы считаем, что данная статья будет полезна:

  1. Front-end разработчикам, у которых уже есть небольшой опыт, но хочется вырасти.
  2. Back-end разработчикам, которым в какой-то момент пришлось начать заниматься js-разработкой и которые чувствуют некую неуверенность при работе с javascript.
  3. Верстальщикам, которые начали заниматься js-разработкой и хотели бы прокачать свои навыки.



Чтиво получилось весьма объемистым, но надеемся, что настолько же полезным.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии8

Структура белка: введение для айтишников

Время на прочтение17 мин
Количество просмотров156K
Приятно видеть, что хабравчане регулярно интересуется другими предметными областями – например, биологией (более конкретно – структурой и функцией биологических макромолекул). Однако некоторые посты (например, этот), вызывают у специалиста просто физическую боль из-за обилия совершенно диких фактологических ошибок. В этом посте мне хочется рассказать о структуре и функции белка. О том, что мы знаем и о том, чего не знаем, а так же об имеющихся в этой области вычислительных задачах, требующих решения и интересных IT-специалистам. Постараюсь рассказывать сжато и тезисно, чтобы информации было больше, а воды – меньше. Всех, интересующихся структурой белков, прошу под кат, там очень много букв.
Читать дальше →
Всего голосов 146: ↑145 и ↓1+144
Комментарии72

Выжимаем максимум производительности из клавиатуры

Время на прочтение7 мин
Количество просмотров253K
Чем вы занимаетесь большую часть своего рабочего дня? Скорее всего, создаёте или редактируете информацию. И у многих из вас эта информация — тексты: программный код, конфигурационные файлы, письма, строчки чатов и всё тому подобное.
Хотите создавать их быстрее и при этом расходовать на ввод текста меньше внимания? Я расскажу вам несколько эффективных способов увеличить производительность при работе с главным инструментом в этом деле — QWERTY-клавиатурой.

Сомневаетесь, стоит ли тратить на это время? Вспомните — за 30 лет в мире ПК изменилось всё, но клавиатура осталась такой же. Альтернативные способы ввода текста — распознавание речи, письма, жестов, «птичьих» языков (привет, граффити!), аккордные клавиатуры — не сработали и не стали популярными — и, вероятнее всего, ещё очень долго вы будете всё так же вводить тексты с клавиатуры.
Читать дальше →
Всего голосов 126: ↑98 и ↓28+70
Комментарии226

Почему у пространства три измерения? Доказывается при помощи «Трех апельсинов»

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

Дворец китайского императора, парадная зала, заседание Дивана. Перед надменной принцессой Турандот влюбленный в нее принц Калаф.
Турандот: И ты, чужестранец, готов рискнуть жизнью в напрасной надежде добиться моей руки?
Калаф: Готов, моя возлюбленная принцесса.
Турандот: Ну отлично, ты подписал себе смертный приговор. Чтобы поскорей покончить с формальностями, ограничусь одним вопросом вместо трех. Вопрос такой: ПОЧЕМУ У ПРОСТРАНСТВА ТРИ ИЗМЕРЕНИЯ, А НЕ ДВА ИЛИ ЧЕТЫРЕ?
Калаф: Нет ничего проще. Но для ответа мне потребуется доска с принадлежностями для письма и три апельсина.
Турандот: Принесите ему, что просит. А палач пусть приготовится.

Читать дальше →
Всего голосов 99: ↑40 и ↓59-19
Комментарии276

Шестиногий робот двигается почти как живой

Время на прочтение1 мин
Количество просмотров89K
Робот PhantomX от Trossen Robotics обладает впечатляющей гибкостью и подвижностью и способен бегать со скоростью около одного метра в секунду. Он работает под управлением Arduino-совместимого контроллера, и может управляться дистанционно с пульта или компьютера. Робот уверенно передвигается по пересечённой местности.



Стоимость комплекта для сборки робота составляет 1200 долларов.
Всего голосов 107: ↑92 и ↓15+77
Комментарии93

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

Время на прочтение4 мин
Количество просмотров87K
Сразу дискламер: я редко пишу посты на широкую аудиторию, и более правильного ресурса для этого текста в рамках моего кругозора не нашлось. Тем не менее, если кто-то найдет это интересным, значит не зря… Поехали.

С чего все началось



Как-то я услышал от одного человека мысль о том, чтобы заниматься бизнесом, ему приходится «выращивать в себе Мистера Хайда», типа некая альтернатива его личности способна придумать что-то такое, что не способен придумать он сам. Конечно же, он шутил, по большей части, и тогда я этому значение не придал. Вспомнил эту точную метафору лишь, когда сам решил, что мне нужно развивать креативность, умение продуктивно фантазировать, придумывать нестандартные решения.
Читать дальше...
Всего голосов 163: ↑156 и ↓7+149
Комментарии84

Lumia можно взять у Nokia попробовать — на две недели

Время на прочтение2 мин
Количество просмотров58K
Финский вендор предпринял любопытную инициативу в деле популяризации своих смартфонов — теперь ряд моделей Lumia (модели 920 пока нет) и пару других устройств вроде колонок можно взять у Nokia в аренду на 14 дней. Цель довольно очевидна — попробовать, что это за устройство, оценить достоинства, попробовать найти недостатки и тому подобное.

Процесс получения устройства выглядит довольно просто но, по-видимому, закончится успешно не у всех. Тому, кто захочет испробовать Lumia, придётся заполнить небольшую форму здесь, в которой предполагается, что желающий поучаствовать в акции, должен предоставить некую идею, блог, арт-проект, нечто оригинальное, для чего вам нужен смарфтон от Nokia (хотя, как указано, возможно вы просто устали от своего старого девайса) и отправить заявку на рассмотрение в Nokia Connects.

После того, как она будет проанализирована и, в случае удачной и оригинальной предложенной идеи, вы «почти гарантированно» получите Lumia на две недели — при этом стоимость доставки устройства к вам и обратно будет оплачена самой Nokia. При этом обращается особое внимание, что участник акции должен прочитать Trial Terms and Conditions и согласиться с ним. Интересно, что оно довольно короткое и ясное и никаких ограничений по странам нет — проблемы только у Турции и Сербии в связи с какими-то местными законами, по которым доставка невозможна, и участнику должно быть более 16 лет.
Узнать подробности
Всего голосов 59: ↑53 и ↓6+47
Комментарии59

Плакаты на IT тематику

Время на прочтение1 мин
Количество просмотров29K
Почитывая «Банду четырех», всё чаще думаю как хорошо было бы иметь отдельный плакат на стену в офисе, резюмирующий и объясняющий шаблоны проектирования. Как здорово было бы не держать все их в голове, а имея проблему, взглянуть и найти подходящее решение. Но найти подходящий постер оказалось не так то просто, да и тот оказался не идеальным.
Читать дальше →
Всего голосов 69: ↑57 и ↓12+45
Комментарии38

Ruby: cheatsheet для изучения

Время на прочтение14 мин
Количество просмотров60K
Это — статья-roadmap-cheatsheet для изучающих Ruby. Вместо того, чтобы рассказывать очередной how-to я постараюсь расписать все те вещи, которые, на мой взгляд, можно изложить кратко и емко, с упором на то, что программисту пришедшему с других языков и платформ может показаться не очевидным, антипоисковым и просто затратным по времени на изучение без подсказок — на остальное просто дам ссылки. Не смотря на то, что в природе существует множество туториалов/кастов/книг/чего угодно по чему угодно — именно такого формата мне самому всегда не хватает. И по сути, это те вещи, которые чаще всего рассказываю при вопросах «а как оно вообще?», «с чего начать?», «а как делается такая вот штука?», «а какой gem лучше?». Кстати, пока работал над этой статьей на Хабре появилась похожая про Python — видимо, идея витает в воздухе.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии20

Информация

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