Обновить
512K+

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

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

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

Почему мы предпочитаем CSS(--variable) переменным SASS($variable)?

Время на прочтение8 мин
Охват и читатели52K
С момента релиза CodyHouse Framework, пару месяцев назад, многие пользователи спрашивали нас, почему мы выбрали переменные CSS вместо переменных SASS, хотя мы используем SASS в этой среде. В этой статье я расскажу о преимуществах использования пользовательских свойств и о том, почему они стали решающими в нашем рабочем процессе.


В эту пятницу 21 июня пройдет юбилейная DevConfX, 22 июня эксклюзивные мастер-классы

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

В эту пятницу пройдет юбилейная конференция DevConfX.

Как всегда — все участники получают значительную фору в знаниях на год вперед и шанс оставаться востребованным инженерами WEBa

Доклады которые могли бы Вас заинтересовать:

  • PHP 7.4: стрелочные функции, типизированные свойства и др
  • Symfony: Разработка абстрактных компонентов и бандлов
  • Domain Driven Design
  • TDD: как уйти от мучений и войти в поток
  • Погружение в блокчейн для веб-специалиста
  • Инфраструктура большой платежной платформы
  • NoSQL + SQL = MySQL 8 Document Store!
  • Предвкушая двенадцатый PostgreSQL
  • Сертификация PostgreSQL. Вопросы и ответы
  • Tarantool. Добавляем SQL в noSQL СУБД
  • Ceph: настройка и тестирование
  • Как мы построили сервис распределённых очередей в Яндексе
  • Экстрим-улучшения — работа в рамках высокой нагрузки

Остальные доклады программы
Читать дальше →

Рассказ о том, как команда фрилансеров пишет фулстек-приложения на JavaScript

Время на прочтение11 мин
Охват и читатели14K
Автор материала, перевод которого мы сегодня публикуем, говорит, что GitHub-репозиторий, над которым работал он и ещё несколько фрилансеров, получил, по разным причинам, около 8200 звёзд за 3 дня. Этот репозиторий попал на первое место в HackerNews и в GitHub Trending, за него отдали голоса 20000 пользователей Reddit.



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

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

Время на прочтение14 мин
Охват и читатели39K
TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того, что на самом деле умеет фреймворк.

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



Для освоения Angular нужно очень много всего изучить. Многие разработчики застревают на начальных этапах освоения Angular. Происходит это из-за того, что они не знают о том, куда им двигаться, или не знают того, по каким ключевым словам им искать информацию, которая позволит им сделать шаг вперёд. Автор этого материала говорит, что ей, когда она начинала осваивать Angular 2+, хотелось бы, чтобы ей попалось бы руководство по данному фреймворку, похожее на это.
Читать дальше →

Оптимизируем ассеты для WebGL правильно

Время на прочтение4 мин
Охват и читатели8.7K
Так часто бывает, что техники оптимизации, хорошо работающие для обычной десктопной или мобильной графики, не всегда дают нужный эффект в случае WebGL. В этой статье я собрал (а точнее перевёл на русский язык и изложил в текстовом виде нашу презентацию с Verge3Day) те методы повышения производительности, которые хорошо себя зарекомендовали при создании интерактивных веб-приложений.


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

Тёмный режим не решит проблем с экранами

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

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


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


Фото: Andrew Brookes/Cultura/Getty

Ночь застилает экраны наших компьютеров.



Она приходит в виде тёмного режима, модной в технологической отрасли функции, когда привычные яркие фоны заменяются тёмно-синими или чёрными. Twitter выпустил тёмный режим для сайта в 2017 году, а Facebook Messenger представил аналогичную функцию в апреле 2019. Особенно примечательным было объявление Apple на WWDC на прошлой неделе, что выходящая осенью iOS 13 тоже получит подобную опцию. Компания утверждает, что с тёмным режимом «каждый элемент на экране будет чуть меньше напрягать глаза», а некоторые люди заявляют, что включение функции помогает бороться с мигренью.

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

Tic Tac Toe, часть 0: Сравнение Svelte и React

Время на прочтение4 мин
Охват и читатели10K
Tic Tac Toe, часть 0: Сравнение Svelte и React
Tic Tac Toe, часть 1: Svelte и Canvas 2D
Tic Tac Toe, часть 2: Undo/Redo с хранением состояний
Tic Tac Toe, часть 3: Undo/Redo с хранением команд
Tic Tac Toe, часть 4: Взаимодействие с бэкендом на Flask с помощью HTTP

На сайте React'a есть туториал, в котором описывается разработка игры Tic Tac Toe. Я решил повторить разработку этой игры на Svelte. Статья охватывает только первую половину туториала, до реализации истории ходов. Для целей ознакомления с фреймворком этого вполне достаточно. Каждый раздел статьи соответствует разделу туториала, содержит ссылки на исходный код обоих фреймворков.

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

Сборка библиотеки angular-компонентов в виде веб-компонентов

Время на прочтение6 мин
Охват и читатели6.5K
Про Angular Elements сейчас пишут много статей и регулярно читают доклады. Мол, больше не нужно разворачивать несколько полноценных ангуляров — достаточно собрать веб-компоненты и использовать их на своей странице.

Но, как правило, эти материалы ограничиваются рассмотрением довольно утопичной ситуации: мы делаем отдельный проект, создаем angular-компонент, настраиваем проект на сборку Elements и, наконец, компилируем несколько JS-файлов, подключение которых к обычной странице даст нам необходимый результат. Ура, компонент работает!..

image

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

Правила выбора JS-фреймворка

Время на прочтение13 мин
Охват и читатели6.7K
TL;DR

  • В статье не рассматриваются JS-фреймворки из списка TOP-3
  • При разработке на JS-фреймворке не из списка TOP-3 приходится решать на порядок больше технических вопросов, чем это ожидается в начале разработки
  • История основана на реальных событиях
Читать дальше →

Oracle APEX. Отчеты

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

В этой статье описываются три типа отчетов апекса: Classic Report, Interactive Report (IR) и Interactive Grid (IG). Classic Report — самый простой из них, но в сочетании с другими компонентами позволяет делать достаточно неожиданные вещи. IR и IG обладают намного более широкими возможностями из коробки, но это в значительной степени вещи в себе. С одной стороны, их широкие возможности делают ненужным какой-то дополнительный тюнинг, с другой, эти же возможности довольно жестко ограничивают возможность сделать что-то дополнительно. Многое из того, что применимо к Classic Report, применимо и к ним тоже.


КДПВ

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

История четырёхкратного ускорения React-приложения

Время на прочтение6 мин
Охват и читатели17K
Почти 60% посетителей сайта покидают его в том случае, если его загрузка занимает более 3 секунд. 80% таких посетителей на сайт уже не возвращается. Это говорит о том, что успех веб-проекта не в последнюю очередь зависит от его скорости. Автор материала, перевод которого мы сегодня публикуем, хочет рассказать о методиках повышения производительности React-приложений.


Результаты оптимизации приложения
Читать дальше →

Открытые библиотеки для визуализации аудиоконтента

Время на прочтение4 мин
Охват и читатели9.2K
Мы изучили несколько тематических тредов на GitHub, Hacker News и Reddit, посвященных инструментам для визуализации аудиоконтента. Рассказываем о часто упоминаемых открытых библиотеках и решениях, которые пригодятся разработчикам веб-приложений или игр.

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

Встречайте Codeception 3.0

Время на прочтение4 мин
Охват и читатели5.3K
Настало время воплотить в жизнь новую мажорную версию Codeception! За годы эволюции и постоянных улучшений мы многому научились, и сегодня представляем вам лучшую версию Codeception. Мы по-прежнему считаем, что простота тестирования важна: чтение, написание и отладка тестов должны быть легкими.

Поддерживать проект, который пытается охватить все виды фреймворков и CMS, от Symfony до WordPress, от Laravel до Magento, сложно. Но мы видим, что люди из этих сообществ регулярно присылают нам патчи, и наша философия — отделить тесты от фреймворка, поделиться похожими решениями через модули — правильный путь. Наше удивительное сообщество продолжает улучшать этот проект.

Хорошо, а как насчет Codeception 3.0?
Читать дальше →

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

PHP-Дайджест № 158 (3 – 17 июня 2019)

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

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

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


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №369 (10 — 16 июня 2019)

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


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

DevOps в разработке: автоматизация написания кода веб-приложений

Время на прочтение12 мин
Охват и читатели13K
Доброго времени суток, уважаемые Хабражители!

Сегодня DevOps находится на волне успеха. Практически на любой конференции, посвященной автоматизации, можно услышать от спикера мол “мы внедрили DevOps и тут и там, применили это и то, вести проекты стало значительно проще и т. д. и т. п.”. И это похвально. Но, как правило, внедрение DevOps во многих компаниях заканчивается на этапе автоматизации IT Operations, и очень мало кто говорит о внедрении DevOps непосредственно в сам процесс разработки.

Мне бы хотелось исправить это маленькое недоразумение. DevOps в разработку может прийти через формализацию кодовой базы, например, при написании GUI для REST API.

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

Надеюсь данный материал будет вам интересен и полезен.

Ну что ж, начнем!
Читать дальше →

Обзор Python-пакета Datatable

Время на прочтение8 мин
Охват и читатели20K
«Пять экзабайт информации создано человечеством с момента зарождения цивилизации до 2003 года, но столько же сейчас создаётся каждые два дня». Эрик Шмидт


Datatable — это Python-библиотека для выполнения эффективной многопоточной обработки данных. Datatable поддерживает наборы данных, которые не помещаются в памяти.

Если вы пишете на R, то вы, вероятно, уже используете пакет data.table. Data.table — это расширение R-пакета data.frame. Кроме того, без этого пакета не обойтись тем, кто пользуется R для быстрой агрегации больших наборов данных (речь идёт, в частности, о 100 Гб данных в RAM).

Пакет data.table для R весьма гибок и производителен. Пользоваться им легко и удобно, программы, в которых он применяется, пишутся довольно быстро. Этот пакет широко известен в кругах R-программистов. Его загружают более 400 тысяч раз в месяц, он используется в почти 650 CRAN и Bioconductor-пакетах (источник).

Какая от всего этого польза для тех, кто занимается анализом данных на Python? Всё дело в том, что существует Python-пакет datatable, являющийся аналогом data.table из мира R. Пакет datatable чётко ориентирован на обработку больших наборов данных. Он отличается высокой производительностью — как при работе с данными, которые полностью помещаются в оперативной памяти, так и при работе с данными, размер которых превышает объём доступной RAM. Он поддерживает и многопоточную обработку данных. В целом, пакет datatable вполне можно назвать младшим братом data.table.
Читать дальше →

PHP в 2019: лучше, чем вы о нём думаете

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


Помните некогда популярную публикацию: «PHP: фрактал плохого дизайна»? Я, когда впервые её прочитал, работал в дурацком месте с большим количеством устаревших PHP-проектов. Она заставила меня задуматься: должен ли я уйти и заняться чем-то совершенно другим, нежели программирование.

К счастью для меня, вскоре я смог сменить место работы, и, что более важно, PHP сумел «немного» развиться со времён 5.* версий. А сегодня посредством этой статьи я хочу обратиться к людям, которые либо больше не программируют на PHP, либо застряли в устаревших проектах.
Читать дальше →

Делаем таблицу с бесконечной прокруткой без event listener

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

Что ж оно так лагает-то?



Если при рендеринге огромной таблицы с какой-нибудь transition анимацией не делать ничего дополнительно, то приложение будет лагать, а пользователь страдать.


И что же делать?

Пришло время заменить GIF на AV1 видео

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


Сейчас 2019 год, и нам пора бы принять решение относительно GIF (нет, речь не об этом решении! Здесь мы никогда не договоримся! — тут речь о произношении в английском, для нас это не актуально — прим. перев.). GIFы занимают огромное количество места (обычно по несколько мегабайт!) что, если вы веб-разработчик, полностью противоречит вашим желаниям! Как веб-разработчик, вы хотите минимизировать вещи, которые пользователям нужно скачать, чтобы сайт загружался быстро. По той же причине вы минимизируете JavaScript, оптимизируете PNG, JPEG, а иногда и конвертируете JPEG в WebP. Но что же делать со старичком GIFом?