Pull to refresh
0
@FortyTworead⁠-⁠only

User

Send message

React.js: собираем с нуля изоморфное / универсальное приложение. Часть 1: собираем стек

Reading time22 min
Views195K
image

Лицо моей жены, когда она вычитывала эту статью


Я решил написать цикл статей, который и сам был бы счастлив найти где-то полгода назад. Он будет интересен в первую очередь тем, кто хотел бы начать разрабатывать классные приложения на React.js, но не знает, как подступиться к зоопарку разных технологий и инструментов, которые необходимо знать для полноценной front-end разработки в наши дни.


Я хочу с нуля реализовать, пожалуй, наиболее востребованный сценарий: у нас есть серверная часть, которая предоставляет REST API. Часть его методов требует, чтобы пользователь веб-приложения был авторизован.

Читать дальше →
Total votes 51: ↑46 and ↓5+41
Comments78

Гармонические колебания

Reading time10 min
Views268K
На хабре было несколько статей по преобразованию Фурье и о всяких красивостях типа Цифровой Обработки Сигналов (ЦОС), но неискушённому пользователю совершенно не понятно, зачем всё это нужно и где, а главное как это применить.


АЧХ шума.

Лично мне после прочтения этих статей (например, этой ) не стало понятно, что это и зачем оно нужно в реальной жизни, хотя было интересно и красиво.
Хочется не просто поглядеть красивые картинки, а так сказать, ощутить нутром, что и как работает. И я приведу конкретный пример с генерацией и обработкой звуковых файлов. Можно будет и послушать звук, и поглядеть его спектр, и понять, почему это так.
Статья не будет интересна тем, кто владеет теорией функций комплексной переменной, ЦОС и прочими страшными темами. Она скорее для любопытствующих, школьников, студентов и им сочувствующих :).
Читать дальше →
Total votes 116: ↑111 and ↓5+106
Comments52

Нейронные сети на Javascript

Reading time7 min
Views164K
image
Идея для написания этой статьи возникла прошлым летом, когда я слушал доклад на конференции BigData по нейронным сетям. Лектор «посыпал» слушателей непривычными словечками «нейрон», «обучающая выборка», «тренировать модель»… «Ничего не понял — пора в менеджеры», — подумал я. Но недавно тема нейронных сетей все же коснулась моей работы и я решил на простом примере показать, как использовать этот инструмент на языке JavaScript.

Мы создадим нейронную сеть, с помощью которой будем распознавать ручное написание цифры от 0 до 9. Рабочий пример займет несколько строк. Код будет понятен даже тем программистам, которые не имели дело с нейронными сетями ранее. Как это все работает, можно будет посмотреть прямо в браузере.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments79

Обзор 5 самых популярных JavaScript фреймворков и библиотек 2017

Reading time5 min
Views97K
Популярность JavaScript продолжает расти. В 2016 году мы стали свидетелями больших изменений с выходом полного апгрейда AngularJS и анонсом Angular 2, окончательного первенства jQuery, который применяют в 96,5% всех сайтов, эволюции ECMAScript, двух обновлений Node.js в апреле и октябре соответственно, и даже более того. Чего ожидать от 2017 года? Вот то, что мы знаем к этому времени: Angular 4 ожидается в марте 2017, выпуск ES2017 планируется в середине 2017, релиз Bootstrap v4 также ожидается в этом году.



Недавно JavaScript занял место среди лучших языков для изучения по версии IBM в 2017 году. На данном этапе он используется, как для клиентской, так и для серверной части и помогает проектировать привлекательные интерфейсы, обогащать веб-приложения многочисленными функциями и фичами, изменять веб-страницы в реальном времени и много другое.
Читать дальше →
Total votes 65: ↑37 and ↓28+9
Comments72

Чек-лист вёрстки

Reading time7 min
Views81K

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

Читать дальше →
Total votes 92: ↑87 and ↓5+82
Comments47

Как работает реляционная БД

Reading time51 min
Views534K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Total votes 232: ↑229 and ↓3+226
Comments134

PostgreSQL 9.3 Что нового?

Reading time9 min
Views43K

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

Подробней
Total votes 120: ↑118 and ↓2+116
Comments30

Правильное использование Exception’ов в PHP

Reading time16 min
Views120K
Я рад бы написать что “эта статья предназначена для новичков”, но это не так. Большинство php-разработчиков, имея опыт 3, 5 и даже 7 лет, абсолютно не понимают как правильно использовать эксепшены. Нет, они прекрасно знают о их существовании, о том что их можно создавать, обрабатывать, и т.п., но они не осознают их удобность, логичность, и не воспринимают их как абсолютно нормальный элемент разработки.

В этой статье не будет мануала по эксепшенам — это все отлично описано в документации php. Здесь я я расскажу о преимуществах использования эксепшенов, и о том, где их, собственно говоря, надо использовать. Все примеры будут для Yii, но это не особо важно.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments70

Эволюция маркетинга: от маленького интернет-магазина до гипермаркета

Reading time11 min
Views19K


Это история о том как создавался сайт интернет-магазина Сотмаркет и менялась работа с каналами привлечения трафика по мере роста компании.

Примечание автора. Ошибка выживших
«Живые трупы», — вот так описал историк Кевин Вильсон пилотов Второй мировой.

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



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

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

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

Систематическая ошибка выживших — это склонность фокусироваться на одной группе данных («выживших»), игнорируя или не имея данных по другой («погибших»).

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments12

Теплосъёмка разоблачила велогонщиков со скрытыми электромоторами

Reading time2 min
Views79K


Уже несколько лет ходят слухи о том, что элитные велогонщики прячут в велосипедах маленькие незаконные электромоторы. В 2010 году такой моторчик в велосипедной каретке впервые показали на видео, были и другие подозрительные случаи, когда колесо продолжало вращаться даже после падения гонщика. Но эти улики оставались косвенными: казалось, что прятать электромотор в раме — слишком возмутительное и наглое мошенничество, чтобы кто-то решился на него. Так считалось, пока в велосипеде известной бельгийской гонщицы Фемке Ван Ден Дрише на чемпионате мира по велокроссу для спортсменов до 23 лет в январе 2016 года действительно не нашли такое устройство.

С тех пор Международный союз велосипедистов начал регулярную проверку байков на «технодопинг» перед большими гонками. Они не обнаружили ни одного, но журналисты из итальянской «Коррьере делла Сера» совместно с французским телеканалом Télévisions Stade 2 провели собственное расследование — и привели доказательства скрытых электромоторов в гоночных велосипедах на трассе.
Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments236

Собираем свой собственный смартфон

Reading time6 min
Views125K


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

Необходимые навыки:
— базовые навыки пайки;
— знакомство с Raspberry Pi.
Или:
— много свободного времени и терпения.
Читать дальше →
Total votes 55: ↑50 and ↓5+45
Comments36

Делаем включение ПК по хлопку за вечер

Reading time10 min
Views38K

Предисловие


В детстве, смотря многие американские фильмы, был в восторге от того, как актеры выключали свет в помещении «хлопнув в ладоши», всегда хотелось такую же штуку у себя дома. В последние годы ПК стал неотъемлемой частью моей жизни: приходя домой и разувшись, первым делом идешь включать своего «железного коня» и ждать его загрузки. Конечно в последние годы с появлением SSD это ожидание свелось к минимуму, но тем не менее вместе с самим подходом к компьютеру все же какое-то время теряется. Да и собственно зачем вообще идти в комнату, бить с ноги по кнопке, если можно сделать какой-то дистанционный способ включения «моей прелести».

Собственно так со временем и слились две «мечты»: включать ПК по хлопку. На данный момент я учусь в университете и как раз пришло время делать курсовой по схемотехнике, причем преподаватель заявил о том, что можно сделать его в железе, а не на бумаге, что на мой взгляд интереснее. Таким образом подвернулся шанс «убить сразу двух зайцев» — реализовать старую идею и сдать курсовой проект. Первоначальной идеей было сделать некое устройство, которое можно будет разместить на корпусе, запитать его от блока питания, подключить через реле к кнопке и по хлопку замыкать цепь. Как итог решили немного отойти от этой идеи немного расширив ее: система теперь будет состоять из двух блоков, соединенных посредством Bluetooth. Один блок будет улавливать хлопок и посылать специальный сигнал на второй блок, второй же блок будет принимать этот сигнал и замыкать реле.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments53

Программирование и отладка микроконтроллеров ARM Cortex-M4 фирмы Atmel в среде операционной системы Linux. Часть 1

Reading time10 min
Views30K
Представляем электронную версию статьи из номера №2 за 2016 год журнала Компоненты и технологии. Автор Курниц Андрей.

В статье описан процесс развертывания экосистемы разработки приложений для микроконтроллеров Atmel серии SAM4S в среде операционной системы Linux. Читатель познакомится также с оценочной платой SAM4S-EK и семейством ARM Cortex-M4 микроконтроллеров фирмы Atmel. Приведены рекомендации по работе с адаптером отладки SAM-ICE (он же J-LINK) и программой OpenOCD.

Введение


Выбор операционной системы Linux в качестве среды для программирования микроконтроллеров ARM Cortex-M4 фирмы Atmel сложно назвать общепринятой практикой. Напротив, для разработки под свои микроконтроллеры Atmel свободно распространяет среду Atmel Studio 7, предназначенную исключительно для операционных систем Windows. Не будет секретом и тот факт, что разворачивание и настройка среды Atmel Studio 7 для новичка окажется куда проще, чем выбранный автором путь.
Автор предлагает использовать среду разработки Qt Creator в связке с инструментарием для кросс-компиляции GCC и с пакетом OpenOCD для отладки. В качестве операционной системы автор выбрал Linux Lubuntu 14.04 LTS (выполняющуюся на виртуальной машине, но это не существенно). Такой подход позволяет с легкостью переходить на другие ARM (и не только) микроконтроллеры, не меняя при этом привычный комплект инструментов. Например, в [1] приводится пример разработки для микроконтроллеров STM32F4 фирмы ST microelectronics с применением такого же комплекта инструментов.
Несколько слов об используемой терминологии. Аппаратное устройство, которое подключается к целевому микроконтроллеру и к рабочей станции, далее называется отладочным адаптером. Отладчиком же будет называться компьютерная программа, служащая для пошагового выполнения программы, просмотра значений ячеек памяти и т.д.

Аппаратная платформа



Рис. 1. Внешний вид платы SAM4S-EK с подключенным отладочным адаптером.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments15

Устройство на базе Ардуино вскрывает навесной замок за несколько секунд

Reading time2 min
Views38K


Неутомимый хакер Сэми Камкар опубликовал чертежи, схемы и список деталей, необходимых для создания системы автоматического открывания кодового замка Masterlock. Менее чем за $100 можно изготовить устройство, открывающее такой замок за несколько секунд.

Камкар увлекается различными аспектами безопасности. На его счету несколько интересных проектов. Например, наделавший 10 лет назад шуму червь для MySpace, работающий через XSS и AJAX, который позволил автору менее чем за сутки набрать миллион «друзей».

Также у него был интересный проект SkyJack – коптер, использующий Raspberry Pi для взлома и перехвата управления у других, оказавшихся поблизости коптеров. И довольно страшноватое «украшение» USBdriveby – USB-устройство на цепочке, которое после подключения к любому компьютеру превращает его в удалённо подконтрольный, и заметает все следы менее чем за 60 секунд (для этого используются эмуляция мыши, клавиатуры и несколько записанных в памяти программ).

Заинтересовавшись недавно схемой работы распространённого недорогого навесного замка Masterlock, Камкар узнал, что существует методика для уменьшения количества комбинаций, которые надо перебрать, чтобы открыть замок. Вместо теоретического количества в 64000 необходимо перебрать всего 100 штук. Хакер задумал изготовить устройство с мотором и контроллером, которое бы автоматически делало эту работу. Простейший шаговый мотор под управлением Ардуино взламывает такой замок менее чем за 5 минут.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments30

Быстрый-быстрый JavaScript

Reading time1 min
Views2K
Примечание: ниже расположен перевод статьи «Serving JavaScript Fast», написанной года два назад, но нисколько не потерявшей своей актуальности. Автор предлагает достаточно большой комплекс мер для ускорения загрузки и работы CSS/JS-файлов. Ссылки и частичные переводы данной статьи достаточно широко цитируются в Рунете, однако, полностью она еще нигде не появлялась, а полезных советов в ней довольно много. Мои комментарии далее курсивом.

Следующее поколение веб-приложений будет использовать весьма «тяжелые» JavaScript- и CSS-framework'и. Мы собираемся продемонстрировать, как увеличить скорость взаимодействия таких приложений и ускорить их работу.

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

читать дальше на webo.in →
Total votes 57: ↑54 and ↓3+51
Comments31

Цвет в дизайне

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



Базовый цветовой круг пригодится в выборе наиболее подходящего сочетания цвета (или поможет гармонично совместить между собой определенные оттенки). Он изображает базовые и известные еще со школы правила смешивания основных цветов: красного, синего и желтого. Если смешать красный и желтый — получится оранжевый, синий и желтый дадут зеленый, а красный с синим — фиолетовый. Оранжевый, зеленый и фиолетовый — это вторичные цвета. Третичные цвета, как красно-фиолетовый и фиолетово-синий, получены от смешивания основных с вторичными.

Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments10

Магия тензорной алгебры: Часть 1 — что такое тензор и для чего он нужен?

Reading time7 min
Views344K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение



Это было очень давно, когда я учился классе в десятом. Среди довольно скудного в научном плане фонда районной библиотеки мне попалась книга — Угаров В. А. «Специальная теория относительности». Эта тема интересовала меня в то время, но информации школьных учебников и справочников было явно недостаточно.



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



Читать дальше →
Total votes 60: ↑58 and ↓2+56
Comments89

7 правил создания красивых интерфейсов. Часть 2

Reading time9 min
Views104K


Недавно мы в «Я люблю ИП» закончили курсы по дизайну от trydesignlab.com. И это одна из самых важных статей, которую нам посоветовал ментор в процессе обучения. Сегодня мы публикуем вторую часть перевода. Посмотреть все наши работы с курсов можно в ВКонтакте по тэгу #design101@iloveip.

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

Вот эти правила:
  1. Свет падает сверху (Часть 1)
  2. Сначала черное и белое (Часть 1)
  3. Увеличьте белое пространство (Часть 1)
  4. Научитесь накладывать текст на изображения
  5. Научитесь выделять и утапливать текст
  6. Используйте только хорошие шрифты
  7. Крадите как художник

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments15

Обзор дополнений для Blender 3D

Reading time3 min
Views102K

Не секрет, что пакет Blender 3D набирает всё большую популярность среди 3D дизайнеров и Indie разработчиков игр, т.к. является очень мощным и бесплатным средством разработки. Обладая возможностью не только моделирования, но и скульптинга, рисования текстур по модели, подготовки модели для 3D печати, motion capture и еще многими и многими возможностями. Однако, разработчики Blender`а часто акцентируют внимание на то, что много полезных функций реализованы в виде addon`ов, которые включены в дистрибутив, но не включены для работы по умолчанию. Моделирование, это моё хобби и под катом, моя подборка дополнений, которые на мой взгляд сильно облегчают жизнь и упрощают моделирование. В данной статье, я рассмотрю дополнения, которые работают с актуальным на данный момент Blender 2.74.
Посмотрим...
Total votes 31: ↑30 and ↓1+29
Comments15

Программа практической подготовки в области ИБ: «Zero Security: A»

Reading time2 min
Views15K

«Zero Security: A» — программа практической подготовки в области ИБ
Рады сообщить о новом наборе на программу практической подготовки в области информационной безопасности — «Zero Security: A», которая состоится 16 мая 2015 г. Программа, в первую очередь, нацелена на практическую подготовку, которая осуществляется в специализированной пентест-лаборатории, содержащей распространенные уязвимости разных типов.

Вся практика подкрепляется интересными курсами-вебинарами, на которых инструктора из PENTESTIT расскажут о законодательстве в сфере компьютерной безопасности РФ, продемонстрируют работу различных инструментах тестирования на проникновение и поделятся собственным опытом. Кроме этого, программа включает уникальные занятия по социальной инженерии.
Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments7
1
23 ...

Information

Rating
Does not participate
Registered
Activity