Обновить
4
0

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

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

Математика в JavaScript

Время на прочтение20 мин
Охват и читатели206K

Введение


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

От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы решили, что мы не будем говорить о модных и полезных штуках типа ReactJS, Angular, TypeScript и других. Сегодня мы уделим внимание математике в JavaScript. Если вам нравится математика, вы можете заниматься ей всё свободное время, но если вашей целью являются не научные изыскания, а работа программистом, математика вряд ли станет лучшим объектом для изучения.
Читать дальше →

Невидимые друзья вашего github-репозитория

Время на прочтение13 мин
Охват и читатели18K
image
Github это незаменимый инструмент, прочно вошедший в жизнь практически каждого разработчика.

Хотя многие из нас используют его постоянно, не все знают, что существует большое количество сторонних (и бесплатных) сервисов и инструментов, которые тесно интегрированы с github и расширяют его функциональность.

В данной статье мы уделим внимание, в основном, инструментам, работающим в инфраструктуре npm. Полный список сервисов, интегрирующихся с github, можно посмотреть на странице github integrations directory.

Сегодня в выпуске:




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

Асинхронный JavaScript против отложенного

Время на прочтение3 мин
Охват и читатели73K

В моей статье «Понимание критического пути рендеринга» (перевод статьи) я писала о том, какой эффект оказывают JavaScript-файлы на Критический Путь Рендеринга(CRP).


JavaScript является блокирующим ресурсом для парсера. Это означает, что JavaScript блокирует разбор самого HTML-документа. Когда парсер доходит до тега <script> (не важно внутренний он или внешний), он останавливается, забирает файл (если он внешний) и запускает его.

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


К счастью, элемент <script> имеет два атрибута async и defer, которые дают нам возможность контролировать то, как внешние файлы загружаются и выполняются.


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

Три ключевых принципа ПО, которые вы должны понимать

Время на прочтение13 мин
Охват и читатели256K

Разрабатывая приложения, мы постоянно сталкиваемся с новыми подходами, языками и концептами. И постоянно мы мечемся в сомнениях «смогу ли я быть на волне, оставаться конкурентоспособным, учитывая все изменения и тренды?». Давайте задумаемся на мгновение, вспомнив фразу из моего любимого фильма «Касабланка» — в любви законов новых нет — так создан свет.

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

Выразительный JavaScript: Структура программ

Время на прочтение15 мин
Охват и читатели142K

Содержание




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

_why, Why's (Poignant) Guide to Ruby


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

Оптимизация фронтенда под браузеры

Время на прочтение19 мин
Охват и читатели54K

enter image description here


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


  • С точки зрения User Experience (UX) фронтенд должен обеспечивать быструю загрузку и работу веб-страниц.
  • А с точки зрения Developer Experience (DX) нам хочется, чтобы и сам фронтенд тоже работал быстро, был прост в использовании и вообще являлся примером для подражания.

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

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

Сравнение производительности процессоров Intel разных поколений

Время на прочтение6 мин
Охват и читатели64K
Почти каждый год на рынок выходит новое поколение центральных процессоров Intel Xeon E5. В каждом поколении попеременно меняются сокет и технологический процесс. Ядер становится всё больше и больше, а тепловыделение понемногу снижается. Но возникает естественный вопрос: «Что даёт новая архитектура конечному пользователю?»

Для этого я решил протестировать производительность аналогичных процессоров разных поколений. Сравнивать решил модели массового сегмента: 8-ядерные процессоры 2660, 2670, 2640V2, 2650V2, 2630V3 и 2620V4. Тестирование с подобным разбросом поколений является не совсем справедливым, т.к. между V2 и V3 стоит разный чипсет, память нового поколения с большей частотой, а самое главное — нет прямых ровесников по частоте среди моделей всех 4-х поколений. Но, в любом случае, это исследование поможет понять в какой степени выросла производительность новых процессоров в реальных приложениях и синтетических тестах.
Читать дальше →

Извечный вопрос: CMS или свой движок

Время на прочтение5 мин
Охват и читатели58K
Именно с этого вопроса я начал сегодняшний рабочий день.
Уже в который раз встал перед этой дилеммой, которую, впрочем, уже не однократно решал в пользу своих кодов, но сомнения грызть не прекращают.
Вот и сейчас — в день когда пора начинать верстать новый интернет-магазин, эта дилемма стоит передо мной.
А предыстория следующая:
Читать дальше →

Навигация по сайту: задачи и инструменты

Время на прочтение7 мин
Охват и читатели31K

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

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

10 грехов в системах навигации сайтов / приложений

Время на прочтение1 мин
Охват и читатели38K
Новый формат статьи: без текста, только схемы. Надеюсь, нарисовал понятно.


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

Синдром самозванца: сражение с усталостью от фронтенда

Время на прочтение8 мин
Охват и читатели33K
Недавно я разговаривал с другом из бэкенд-разработки о том, сколько часов провожу за программированием и изучением кода в свободное время. Он показал отрывок из книги Дяди Боба «Чистый код». Там разработчики, которые репетируют код перед запуском в работе, сравниваются с музыкантами, которые много часов готовят инструменты к концерту.

Мне понравилась аналогия, но я не уверен, что готов полностью подписаться на такое; это тот самый тип мышления, который в первую очередь приводит к выгоранию. Хорошо, если вы хотите углубить своё мастерство и расширить навыки, но если делать это непрерывно в течение всего дня — долго не протянешь.

Усталость от фронтенда очень реальна. Я видел много постов об усталости от JavaScript, но мне кажется, что проблема распространяется за пределы этого конкретного языка.
Читать дальше →

Умер ли MVC для фронтенда?

Время на прочтение5 мин
Охват и читатели46K

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

В то время как все больше и больше фронтенд-разработчиков перенимают подходы с однонаправленной архитектурой, возникает вопрос — есть ли будущее у классического MVC? Чтобы понять, как мы дошли до такого вопроса, давайте немного проанализируем эволюцию архитектуры фронтенда.
Читать дальше →

Как я сделал самый быстрый ресайз изображений. Часть 0

Время на прочтение7 мин
Охват и читатели36K

Здравствуйте, меня зовут Саша, я написал самый быстрый ресайз изображений для современных х86 процессоров. Я так утверждаю, поскольку все остальные библиотеки, которые я сумел найти и протестировать, оказались медленнее. Я занялся этой задачей, когда работал над оптимизацией ресайза картинок на лету в Uploadcare. Мы решили открыть код и в результате появился проект Pillow-SIMD. Любой желающий с легкостью может использовать его в приложении на языке Python.


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

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

Упрощаем работу с русскими текстами в Sublime Text 3 + Vintage

Время на прочтение3 мин
Охват и читатели6.3K

Если вы недавно начали: 1) пользоваться Sublime Text и/или 2) пользоваться плагином Vintage и/или 3) редактировать много текста на русском (или наоборот английском) языке с использованием ST3+Vintage, то скорее всего уже почувствовали какая боль связана с командами назначенными на символы пунктуации — "$", ";", ".", ",", """ и т.п. В небольшой заметке под катом я хочу предложить вам пару костылей, которые помогают эту боль в значительной степени облегчить.

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

Где живут ваши объявления?

Время на прочтение8 мин
Охват и читатели42K
image

Мы открываем техно-блог компании Avito. Многие знают бренд, но не так много тех, кто знает, как сервис устроен с технической стороны. В своём блоге мы приоткроем завесу неизвестного и расскажем о технической кухне сервиса.

Начнем с небольшой истории о том, что проект представляет из себя сегодня, чем занимается команда инженеров, и что мы планируем делать в ближайшем будущем. Еще мы собрали в этом посте множество ссылок на уже опубликованные материалы, доклады и презентации нашей команды, которыми давно хотели поделиться. Хотите знать, где живут ваши объявления? Добро пожаловать под кат!
Читать дальше →

Заметка про лицензирование Windows Server или как не обанкротить компанию при лицензионном аудите

Время на прочтение3 мин
Охват и читатели108K
Лицензионная политика Microsoft — вещь достаточно сложная и запутанная. Тем не менее, многие уже изучили все основные правила и знают, как лицензировать тот или иной продукт. Но проблема в том, что не учтя всего один небольшой нюанс, можно ошибиться на несколько порядков. И такая ошибка может попросту привести к банкротству компании при процедуре лицензионного аудита от Microsoft.

Взять, например, Windows Server, который используется практически в любой компании. Почти все системные администраторы знают, чем отличается лицензирование Windows Server Standard от Windows Server Datacenter. Опустим отличия в функционале, которое снова появилось в версии 2016. Основное отличие в том, что 1 лицензия Windows Server Standard может быть установлена на 2 виртуальных машинах в пределах 1 хоста, а Datacenter на неограниченном числе виртуальных машин в пределах одного хоста. Второе важное требование — это лицензирование всех физических ядер (ранее процессоров) сервера. Это, казалось бы, все знают. Но дьявол, как известно, кроется в деталях.
Читать дальше →

Крэш-курс по UI-дизайну

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


Мы всегда в поисках хороших статей о дизайне, чтобы потом использовать их в работе над сайтом «Я люблю ИП». Сегодня мы перевели ещё одну статью, которая рассказывает, чем отличается UI-дизайн от UX-дизайна и на каких основных принципах строится дизайн интерфейсов.


UI vs. UX


Если вы хоть немного интересовались дизайном приложений, то наверняка слышали термины «UI» и «UX». Но чем же они отличаются?


В самой простой форме, UX-дизайн — это то, что делает интерфейс полезным, а UI-дизайн — делает его красивым. Дизайн интерфейсов — это смесь визуальной иерархии и элементов интерфейса. Чтобы разобраться, чем отличается прекрасный дизайн от просто хорошего, необходимо понять, что дизайн интерфейсов — это всего лишь один из слоев целого дизайн-процесса. Возможно, именно поэтому эти два термина так часто путают. В этой статье я постараюсь рассказать, в чём же заключается разница между ними с точки зрения дизайн-процесса.


Согласно книги Дж. Гарретта «Элементы опыта взаимодействия», UX-дизайн можно определить через пять основных уровней. Давайте начнём с самого абстрактного.


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

Секреты быстрого кодинга в WebStorm

Время на прочтение4 мин
Охват и читатели141K
Сегодня — немного практических советов по работе с WebStorm.

Вначале пишем совсем простой HTML, после color: нажимаем <Ctrl-пробел> и получаем список цветов.

image

КО подсказывает: во всех IDE от JetBrains <Ctrl-пробел> — это контекстная подсказка.

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



А теперь представим себе проект посложнее, небольшое приложение под node.js.
Читать дальше →

camelCase против under_score

Время на прочтение3 мин
Охват и читатели83K
В настоящее время существует много стандартов наименования переменных, но два из них являются наиболее популярными среди программистов: это camel case («Верблюжья» нотация) и underscore (именование переменных с использованием символа нижнего подчеркивания в качестве разделителя). Кто-то может возразить, что существуют и другие популярные стандарты, но в рамках данной статьи мы сравним эти два, и узнаем у программистов — какого стандарта придерживаются они. Конечно, некоторые программисты связаны рамками стандартов кодирования языка или фреймворка, который они используют, но мы постараемся сделать независимое сравнение.
Читать дальше →

Админка за 10 минут

Время на прочтение4 мин
Охват и читатели147K
Здравствуйте, уважаемое Хабрасообщество!

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

Долгое время я использовал Twitter Bootstrap, но он не мог удовлетворить все потребности. Приходилось верстать дополнительные кнопочки и писать скрипты. Но вот однажды, я познакомился с замечательным UI-фреймворком KendoUI от Telerik. Что из этого получилось под катом.

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

Информация

В рейтинге
6 402-й
Зарегистрирован
Активность