Обновить
512K+

Веб-разработка *

Делаем веб лучше

331,27
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Пишем свою стратегию для виртуального скролла из Angular CDK

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

Привет!


В Angular CDK в седьмой версии появился виртуальный скролл.


Он отлично работает, когда размер каждого элемента одинаков, — причем прямо «из коробки». Мы просто задаем размер в пикселях и указываем, к какому элементу нужно прокрутить контейнер, сделать ли это плавно, а также можем подписаться на индекс текущего элемента. Однако что делать, если размер элементов меняется? Для этого в CDK предусмотрен интерфейс VirtualScrollStrategy, реализовав который мы научим скролл работать с нашим списком.


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


image

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

Новый фронтенд Одноклассников: запуск React в Java. Часть I

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


Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд.

В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и начать миграцию в огромной системе с большим количеством legacy-кода, а так же как на этом пути помогает GraalVM.

Во время написания статьи оказалось, что весь объём материала не влезает в традиционный для ХАБРа размер и если выложить публикацию целиком, то на её прочтение уйдет несколько часов. Поэтому мы решили разделить статью на 2 части.

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

Хаос зависимостей в Python

Время на прочтение11 мин
Охват и читатели23K
Знакомы ли вы с историей Python packaging? Ориентируетесь ли в форматах пакетов? Знаете ли, что распутывать клубок зависимостей придется даже когда кажется, что вот оно чудо — zero dependency? Уверен, что знакомы со всем этим не так хорошо, как автор библиотеки DepHell.



Мне удалось поговорить с Никитой Вороновым, больше известным как Gram или orsinium, и расспросить его о теме будущего доклада, болях плохих решений резолвинга зависимостей, о DepHell, pip, принципе first match wins, о Гвидо, Pipfile, инкрементальном развитии Python и будущем экосистемы.
Читать дальше →

6 GitHub проектов для веб-разработчиков, на которые стоит взглянуть

Время на прочтение2 мин
Охват и читатели21K
Привет, Хабр! Представляю вам перевод статьи 6 Github Repos for web developers you should have a look at автора lampewebdev.

Однажды я пролистывал ленту dev.to и наткнулся на пост 6 GitHub проектов для быстрой прокачки знаний.

Я согласен с автором, что список действительно впечатляет, но порой списки ссылок в этих проектах очень большие.

Поэтому, вот список моих любимых проектов GitHub для быстрой прокачки знаний, но созданный специально для веб-разработчиков.
Читать дальше →

Бандлинг JavaScript-кода и производительность: передовые методики

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



Автор статьи, перевод которой мы сегодня публикуем, собирается исследовать три подхода к бандлингу JavaScript-проектов на примере простого Hello World-приложения, созданного с помощью React. Некоторые из приводимых им примеров подразумевают знание читателем основ сборщиков модулей, таких, как Webpack, который, похоже, является сегодня самым популярным среди подобных инструментов.
Читать дальше →

Чем программирование сегодня отличается от программирования 20 лет назад?

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


Я увидел этот вопрос на Quora и начал писать ответ. Но ответ получился слишком большим, так что я превратил его в эту статью.


Вот часть изменений в случайном порядке, которые я заметил в программировании за последние 20 лет:


  • Многие концепции, которые были лишь теоретическими 20 лет назад, сегодня широко применяются на практике. Например, такие функциональные парадигмы как неизменяемость объектов, хвостовая рекурсия, ленивые коллекции, сопоставление с шаблоном, функции первого класса и взгляд свысока на тех, кто всё это не использует.
  • «Десктопным приложением» многие неиронично называют упакованный браузер со страницей по умолчанию и без адресной строки.
Читать дальше →

32 совета веб-разработчику, который хочет вырасти над собой в 2020 году

Время на прочтение7 мин
Охват и читатели44K
Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular и Svelte. Но это, конечно, далеко не всё. Есть ещё генераторы статических сайтов, JAMstack, бессерверные технологии, Git… Этот список можно продолжать и продолжать.

Хотя в экосистеме веб-разработки каждый может найти что-то такое, что нужно именно ему, проблема тут заключается в том, чтобы поспеть за постоянно изменяющимися технологиями. Но и технологиями дело не ограничивается. Есть ещё множество вопросов, на которые должен найти ответы каждый разработчик. Где мне хочется работать и с кем? Стать ли мне фулстек-разработчиком или нет? Нужна ли мне постоянная работа или мне ближе фриланс? Как мне развиваться и приобретать новые знания и навыки?



Автор статьи, перевод которой мы сегодня представляем вашему вниманию, говорит, что он вложил в приведённые здесь 32 совета веб-разработчику все свои знания и весь свой опыт. Он надеется на то, что эти советы пригодятся и тем, кто только начал свой путь, и тем, кто уже кое-что понимает в веб-разработке. Хотя нельзя говорить о том, что тут каждый найдёт советы на все случаи жизни, и о том, что все эти советы идеально подойдут любому, автор хочет верить в то, что читатель этого материала сможет найти среди них такие, которые его вдохновят или послужат руководством к действию в 2020 году.
Читать дальше →

PHP-Дайджест № 171 (1 – 13 января 2020)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: 4 свежих RFC из PHP Internals и интересные пул-реквесты в PHP 8, порция полезных инструментов, подкасты, стримы и многое другое.

Приятного чтения!


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №397 (6 — 12 января 2020)

Время на прочтение3 мин
Охват и читатели12K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Свойства Min и Max width/height в CSS

Время на прочтение10 мин
Охват и читатели145K
Перевод «Min and Max Width/Height in CSS» Ахмада Шадида.

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

В этой статье мы познакомимся с CSS-свойствами максимума и минимума для ширины и высоты, а также детально рассмотрим каждое из них и сценарии их использования.

The Ember Times — Выпуск 130

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


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


С Новым годом, Эмберисты!


На этой неделе мы хотим представить вам специальный номер нашего издания, посвященный Ember Octane!


Мы собрали как можно больше информации об этом новом издании Ember. Таким образом, в этом посте вы найдете полезную информацию, которая поможет вам получить максимальную отдачу от Ember Octane.


В этом выпуске: что такое редакция Octane? ‍♀️‍♂️, где я могу узнать больше?, как перейти на Octane? ️, отзыв от компании Outdoorsy, покорить Octane с помощью Ember Atlas и Octane на EmberConf 2020 !

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

JavaScript библиотека Webix глазами новичка

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


Я начинающий JS front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим первым опытом и оформить, своего рода учебное пособие по освоению этой элегантной и мощной библиотеки. Помимо этого, команда Webix предлагает собственный фреймворк для работы с библиотекой. Детальное описание работы с фреймворком Webix Jet, вы можете найти в статьях «Фреймворк Webix Jet глазами новичка. Часть 1. Композиция и навигация» и «Фреймворк Webix Jet глазами новичка. Часть 2. Взаимодействие с интерфейсом»
Читать дальше →

Клади плитку эффективно ( Про CSS, SVG, pattern и другое)

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

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


Сказ о том, как вставлять фоновые повторяющиеся изображения страниц, что бы всем было хорошо.


Ну, что готовы поиграть ..? Тогда погнали


Ближайшие события

Что такое *args и **kwargs в Python?

Время на прочтение4 мин
Охват и читатели550K
Функции — это жизнь. Правда? Если вы только начали осваивать Python, неважно — первый ли это ваш язык программирования, или вы пришли в Python из другого языка, то вы уже знаете о том, что количество параметров в объявлении функции соответствует количеству аргументов, которые передают функции при вызове.



Это — основы. Это то, что помогает людям понимать окружающий мир. Но утверждение «количество параметров равно количеству аргументов» закладывает в голову новичка бомбу замедленного действия, которая срабатывает после того, как он увидит в объявлении функции таинственные конструкции *args или **kwargs.

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

Тестирование двухфакторной аутентификации и возможные варианты обхода

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


Еще до того, как я начал постигать сложную науку информационной безопасности, мне казалось, что 2FA аутентификация — это гарантированный способ защитить свой аккаунт и никакие «эти ваши хакеры» не смогут, скажем, увести мою внутреннюю валюту для покупки одежды персонажам на игровом аккаунте. Но с течением времени опытным путем было доказано,  — система двухфакторной аутентификации может иметь большое количество уязвимостей. 
Читать дальше →

5 расширений и тем для VS Code, которые способны изменить жизнь фронтенд-разработчика

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


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

5 дел, которые можно сделать для того, чтобы подготовиться к приходу Vue 3.0

Время на прочтение5 мин
Охват и читатели17K
В 2019 году популярность фреймворка Vue невероятно сильно выросла. Количество еженедельных загрузок Vue удвоилось: в прошлом году это было 600 тысяч, а теперь это 1.2 миллиона. Долгожданная третья версия Vue, следующая итерация фреймворка, должна выйти где-то в первом квартале 2020 года.

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



Здесь я собрал некоторые советы, которые пригодятся тем, кто хочет подготовиться к появлению Vue 3.0. Надеюсь, что тот, кто последует этим советам, сможет очень быстро освоиться в новых условиях.
Читать дальше →

Модальные окна, которые мы заслужили

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

Начнем


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

Многие зададут вопрос: «Почему не использовать готовые решения?». Проблема в том, что этот функционал либо вообще не реализован, либо сделан очень плохо. Можно использовать самое простое и плохое решение:
Читать дальше →

Vue для самых маленьких a.k.a небольшой блог по всем канонам

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


Всем привет! В данной статье рассмотрим разработку фронта простенького блога на Vue с использованием всех прелестей Vue включая Vuex и Router. А также поговорим про структуру приложения и работу с контейнером и роутером.
Читать дальше →

Быстрая загрузка страниц на самых простых дешёвых телефонах

Время на прочтение18 мин
Охват и читатели34K
Те телефоны, о которых идёт речь в заголовке, по-английски называют «feature phone». Они отличаются крайне скромными возможностями. Кроме того, они весьма доступны, так как стоят в районе $20-25. Их можно сравнить с облегчёнными версиями современных смартфонов. Такие телефоны позволяют сотням миллионов человек из развивающихся стран пользоваться веб-ресурсами.


Телефон Jio

Если в основе сайта лежат технологии, ориентированные на обеспечение высокой скорости его работы, то от этого выиграют все — и владельцы простых дешёвых телефонов, и те, кто смотрит веб-страницы со свежих мощных смартфонов.
Читать дальше →