Pull to refresh
0
0
Александр Высочанский @avys

Жму джейпег Малевича

Send message

JSX — подробности

Reading time9 min
Views140K

React. Продвинутые руководства. Часть Первая


Этой публикацией я открываю серию переводов раздела "Продвинутые руководства" (Advanced Guides) официальной документации библиотеки React.js.


JSX — подробности


Фундаментально, JSX является синтаксическим сахаром для функции React.createElement(component, props, ...children).


Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments11

Vite SSR BOOST — Наш собственный путь в мире React SSR

Level of difficultyMedium
Reading time3 min
Views3.4K

Всем привет! Меня зовут Михаил, и я являюсь СТО компании Lomray Software. Сегодня я хочу кратко рассказать вам о мотивах создания собственной библиотеки для разработки React-приложений с поддержкой SSR (серверный рендеринг) и поделиться результатами этой работы.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments2

Паттерны реактивности в современном JavaScript

Level of difficultyHard
Reading time12 min
Views13K



"Реактивность" — это то, как системы реагируют на обновление данных. Существуют разные типы реактивности, но в рамках этой статьи, реактивность — это когда мы что-то делаем в ответ на изменение данных.


Паттерны реактивности являются ключевыми для веб-разработки


Мы работаем с большим количеством JS на сайтах и в веб-приложениях, поскольку браузер — это полностью асинхронная среда. Мы должны реагировать на действия пользователя, взаимодействовать с сервером, отправлять отчеты, мониторить производительность и т.д. Это включает в себя обновление UI, сетевые запросы, изменения навигации и URL в браузере, что делает каскадное обновление данных ключевым аспектом веб-разработки.


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


Изучение паттернов приводит к уменьшению количества кода и повышению производительности веб-приложений, независимо от используемого фреймворка.

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

Читать дальше →
Total votes 10: ↑8 and ↓2+10
Comments8

Понимаем JIT в PHP 8

Reading time7 min
Views37K
Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP»




TL;DR


Компилятор Just In Time в PHP 8 реализован как часть расширения Opcache и призван компилировать операционный код в инструкции процессора в рантайме.

Это означает, что с JIT некоторые операционные коды не должны интерпретироваться Zend VM, такие инструкции будут выполняться непосредственно как инструкции уровня процессора.
Читать дальше →
Total votes 19: ↑17 and ↓2+21
Comments12

Структура React REST API приложения + TypeScript + Styled-Components

Reading time9 min
Views23K

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

Звучит интересно
Total votes 9: ↑9 and ↓0+9
Comments4

Подробно о том, как работают React Server Components

Reading time16 min
Views18K

React Server Components (RSC) — интересная новая фича в React.

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments1

Как я прошел путь от игрушек на Objective-C к реальным проектам на Swift в большой компании

Reading time6 min
Views4.8K

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

Но теперь и мне есть о чём рассказать. Сразу скажу, что этот пост вряд ли чем-то удивит людей с опытом 3+ лет, но надеюсь, мой путь поможет другим людям, которые, как и я когда-то, только смотрят в сторону программирования. Ведь все мы, когда-то были начинающими. И так, меня зовут Александр Рубцов, я iOS-разработчик и это история моего пути в разработку…

Читать дальше
Total votes 10: ↑10 and ↓0+10
Comments5

Прямая печать на футболках с Epson SureColor SC–F и её отличие от шелкографии, термоаппликации и сублимации

Reading time8 min
Views42K

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


Пост будет интересен, если:


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



Обо всем этом — в сегодняшнем посте.

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments9

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

Reading time13 min
Views169K
Intro

Краткая предыстория


Привет, Хабр. Я читаю тебя без малого 10 лет, но ни разу не писал статей. Сначала сказать было нечего, потом — некогда. Но сегодня звёзды сошлись и подвернулась подходящая тема. Модульная сетка.


Казалось бы, набросать сетку — дело пяти минут. Всё разжёвано до нас, и бутстрапы есть на любой вкус, и «Аннушка уже пролила своё масло...». Но на практике у дизайнеров частенько возникают вопросы. Многих вводят в ступор даже небольшие отступления от привычных 12-колоночных сеток, потому что им не до конца понятны принципы построения.


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


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


Как работает сетка


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


Сетка помогает соблюдать это правило, не вычисляя каждое расстояние и размер в отдельности. Вы закладываете ключевые закономерности один раз, при построении сетки, а затем просто придерживаетесь их.


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

Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments4

Как реанимировать ваш PHP-проект с помощью Symfony2 компонентов

Reading time7 min
Views10K
Данный пост является переводом не статьи, как принято, а доклада+презентации, поэтому текст поста достаточно вольный.

Думаю, всем хорошо известно и очевидно, что PHP — один из самых популярных языков программирования, на котором написано множество веб-проектов, начиная с персональных homepage-страниц и заканчивая мастодонтами типа Facebook, Vimeo, WordPress и даже YouPorn.

PHP появился в 1995 году, при этом полноценная поддержка ООП была реализована только в PHP5, который вышел в 2005 году. За это время было написано большое количество кода, как хорошего, так и плохого, а точнее сказать сильно устаревшего и тяжело сопровождаемого.

Многие проекты, как и экосистема PHP в целом, к настоящему моменту стали представлять подобие оживленного городского квартала.

Читать дальше →
Total votes 56: ↑47 and ↓9+38
Comments73

Кто проектирует сайты?

Reading time2 min
Views1.7K
Поискав на Хабре материалы на тему проектирования и составления технических заданий, я обнаружил, что их очень немного, и те, которые есть, довольно поверхностны и содержат лишь ключевые рекомендации по производственному процессу…
Нет, слишком сложно начал. Люди, где примеры технических заданий? Где клёвые детальные прототипы? Где примеры решений задач с разработкой сложных сайтов, с различными ролями пользователей, с интерактивными приложениями? Где кейсы?
Читать дальше →
Total votes 11: ↑7 and ↓4+3
Comments7

Помнить все: Evernote и Anki

Reading time12 min
Views258K


Решил написать о системе, которую я использую, чтобы помнить практически все, что хочется, при минимальных затратах времени и других ресурсов. Под словом “помнить” имеется в виду любой способ найти нужную информацию — в личной памяти или в памяти компьютера, в зависимости от ситуации и от самой информации; основные требования при этом — экономия времени и контроль того, что мы запоминаем.

Я хочу достичь следующих целей при использовании системы:

  • помнить все термины и слова, которые когда-либо решил запомнить;
  • свободно использовать факты в разговорах и дискуссиях;
  • сохранять накопленный опыт: иметь информацию обо всех текущих и законченных проектах, о важных встречах и разговорах, об изученных темах;
  • моментально находить любые статьи, которые когда-либо показались интересными;
  • держать сознание свободным от любой текучки;
  • тратить на это все не более 20 минут в день.

Ниже я напишу о методах и правилах, которые составляют данную систему. Статья будет состоять из нескольких разделов:

  • Мой опыт по описанному вопросу
  • Проблемы запоминания
  • Теоретическое разрешение проблем
  • Практическое разрешение проблем с Evernote
  • Практическое разрешение проблем с Anki
Читать дальше →
Total votes 83: ↑78 and ↓5+73
Comments66

Организация работы с git submodules

Reading time2 min
Views81K
Начиная работать с git у меня почти сразу возник вопрос — как работать с проектом, если некоторые его компоненты часто обновляются. Ярким примером служит разработка с использованием Symfony2. Фреймворк обновляется почти каждый день, нужно постоянно «подтягивать» код, чтоб он работал с последней версией Symfony2.

Под катом маленький workflow по работе с проектом на Symfony2.
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments24

Создаем фотоблог на Drupal 6

Reading time3 min
Views3.2K
Почему же все таки Drupal? — Первоначально я остановил выбор на Wordpress, поскольку многопользовательская CMS меня не интересует, то решил попробовать именно Wordpress. Было это в 2008 году. Но на тот момент (возможно сейчас что-то изменилось) мне не удалось найти ни одного модуля или нескольких модулей, который бы удовлетворял следующим нехитрым требованиям (в порядке важности):
  1. группировка фотографий по альбомам, с возможностью добавления описания к альбому
  2. загрузка нескольких фотографий в альбом минимальным числом кликов
  3. группировка альбомов по категориям
  4. показ альбомов в виде топиков с описанием и превью из нескольких фотографий на главной странице
  5. прямая ссылка на любой альбом
  6. комментарии посетителей для альбома и отдельной фотографии (с премодерацией)
  7. управление размером отдаваемого формата

А вот с Drupal все это удалось реализовать, об этом и топик.

Читать дальше →
Total votes 29: ↑14 and ↓15-1
Comments19

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Specialist
Git
PHP
MySQL
JavaScript
WordPress
Web development
Gulp
PUG
SCSS
JQuery