Как стать автором
Обновить
0
0

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

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

Тайная жизнь домашних V8: как движок JavaScript оптимизирует твой код

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.1K

Всем привет. Меня зовут Виктор Степанов, я frontend chapter lead на платформе СберТеха GitVerse. Хочу рассказать про внутреннюю «механику» V8 и показать, как писать более быстрый код. Поехали!

Читать далее

Не так страшен чёрт, как его малюют. Пошаговый план создания собрания собственников для смены Управляющей компании

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров4.3K

Привет, Хабр! Меня зовут Вячеслав. В какой-то момент мне надоел произвол, творимый управляющей компанией в доме, где я живу. Вечная грязь, обшарпанные коридоры, отсутствие видеонаблюдения, эпопеи в случае аварий с отоплением, водоснабжением, электрикой. Я задался вопросом: “А можно ли в принципе как-то решать эти проблемы?”. Оказалось, можно! В статье расскажу, как я начал борьбу с управляющей компанией за комфортную жизнь. А начал я с самого сложного - организовал собрание собственников. Да, звучит страшно! Некоторые боятся даже думать о том, что их ждет, если они возьмутся за этот вопрос. Но не тот это черт, которого надо бояться, с ним надо просто разобраться! Вооружившись сильным желанием, энтузиазмом, законами и знаниями, я преодолел этот путь, а значит, и вы сможете. В статье расскажу, что вас ждет, если вы решите сменить управляющую компанию, какие подводные камни и неожиданные повороты могут встретиться на этом пути, как можно оптимизировать процесс и не потратить все свои нервы. А если останутся вопросы, с радостью отвечу на них.

Для того, чтобы быть максимально полезным читателю, я решил влить сюда немного теории (законодательства) и описать свой личный опыт.

1. Начало

Я живу в Санкт-Петербурге, в небольшом 14-ти этажном кирпичном доме 70-ых годов постройки. Дом в спокойном спальном районе с малоэтажной застройкой, вокруг много зелени, детских площадок, в соседних кварталах торговые центры, поликлиники, фитнес-центры.  В самом доме всего 97 квартир с удобными планировками, два лифта, мусоропровод. На площадке всего по 7 квартир, нет ощущения общежития. С соседями по этажу быстро сложились дружеские отношения.  Единственная проблема – плохая работа управляющей компании. Надоела вечная грязь в холле, в лифтах, на этажах, периодически забитый мусоропровод. На придомовой территории вечно разбросанный мусор. В случае аварий чаще всего проблемы приходится решать самим жителям (отопление, вода, электрика). О текущем ремонте вообще бесполезно говорить. Даже простейшие работы вроде замены перегоревшей лампочки и замены разбитого стекла выполняется в среднем за полгода.

Читать далее

MyCivGame. Как я сделал свою Civilization?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров10K

MyCivGame - Как я сделал свою Civilization! Я расскажу, как я в одиночку делаю свою пошаговую стратегию, вдохновленную играми Civilization и Total War...

Читать далее

Что внутри APK. App Bundle. Google Play Dynamic Feature

Время на прочтение9 мин
Количество просмотров10K

Разбор содержимого APK и какие способы доставки используются в Google Play, чтобы уменьшить объем передаваемых данных и ускорить получение обновлений конечным пользователем.

Читать далее

Как работает Node.js

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров14K



После прочтения этой статьи вы хорошо поймете следующее:


  • как работает цикл событий (event loop) в Node.js, включая все его фазы
  • как Node.js выполняет JavaScript в одном потоке (single thread)
  • как Node.js использует библиотеку libuv и внутренние API для обработки асинхронных операций
  • почему знание работы цикла событий так важно для написания эффективного серверного кода

Понять, как JS работает "под капотом" в браузере (см. эту короткую 15-минутную статью), проще, чем понять устройство Node.js. В браузере нет сложных фаз и многослойных механизмов, как в Node.js.


Но почему в Node.js все устроено сложнее? Зачем столько фаз, которые так непросто понять?

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

Веб-разработка на ванильном HTML, CSS и JavaScript

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров16K

В этой серии статей мы расскажем, как выполнять веб-разработку исключительно на ванильных технологиях. Ни инструментов, ни фреймворков, лишь HTML, CSS и JavaScript.

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

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

Как заставить TS работать на вас

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.6K

Привет! Меня зовут Дмитрий, и я уже много лет работаю с TypeScript. За это время я был частью разных команд с разным уровнем владения этим языком, в том числе тех, кто только готовился перевести проект с JavaScript. И нередко я замечал, что разработчики воспринимают TypeScript не как инструмент, упрощающий работу, а как рутинную обязанность, которая лишь замедляет процесс. В этой статье я расскажу, как сделать TypeScript своим союзником и заставить его работать на вас, а не против.

Читать далее

Более быстрые хеш-таблицы: претенденты на место SwissTable

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров15K

24 ноября 2021 года на сайте ArXiv.org была опубликована научная статья «Крошечные указатели» (Tiny Pointers) с описанием новой структуры данных — «крошечных» указателей, которые указывают путь к фрагменту хранимых данных и занимают меньше памяти, чем традиционные указатели.

Осенью 2021 года эту статью заметил Андрей Крапивин (Andrew Krapivin), студент Ратгерского университета в Нью-Джерси, и не придал ей особого значения, пишет Quanta Magazine, журнал о последних достижениях в математике (перевод статьи на Хабре). Только через два года он нашёл время, чтобы внимательно ознакомиться с материалом. И понял, насколько это прорывное изобретение, если применить его для оптимизации хеш-таблиц.

Данная тема уже упоминалась на Хабре, но заслуживает более подробного обсуждения.
Читать дальше →

Публикация пакета npm с ESM и TypeScript

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.1K



За последние 2 года поддержка ESM в TypeScript, Node.js и браузерах сильно улучшилась. В этой статье я объясню мою современную настройку, которая является относительно простой по сравнению с тем, что нам приходилось делать раньше:


  • она предназначена для пакетов, которые могут пренебречь обратной совместимостью. Настройка хорошо работает для меня некоторое время — начиная с TS 4.7 (24.05.2022)
    • помогает то, что Node.js теперь поддерживает require(esm) — запрос библиотек ESM из модулей CommonJS
  • я использую только tsc, но упоминаю поддержку других инструментов в разделе "Компиляция TS с помощью других инструментов"

Обратная связь приветствуется: что вы делаете по-другому? Что может быть улучшено?


Пример пакета: в @rauschma/helpers используется настройка, описываемая в этой статье.

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

Некоторые тонкости использования Service Workers

Время на прочтение7 мин
Количество просмотров27K


Предисловие


Сервис-воркеры (Service Workers, да простят меня читатели) сегодня являются полезным дополнением к основной функциональности сайта: тут и работа в оффлайне, и фоновая синхронизация данных, и модные пуш-уведомления.

Однако большое количество статей про сервис-воркеры выглядят достаточно сжато и описывают простые примеры. Я попробую обратить внимание на некоторые особенности работы сервис-воркеров, так что требуются какие-то базовые знания. Отправной точкой может быть эта статья (перевод) или чуть более подробная статья.
Читать дальше →

Что такое Style Queries?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.3K

Size container queries и container query units недавно достигли стабильной поддержки во всех современных браузерных движках.

Читать далее

Основы веба, которые должен знать начинающий разработчик

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров49K

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

  • Клиент-серверную модель
  • Жизненный цикл запроса веб-страницы
  • Hypertext Transfer Protocol
  • Как браузеры рендерят контент
Читать дальше →

Как достичь производительного рендеринга в браузере

Время на прочтение10 мин
Количество просмотров6.3K

Один великий китайский философ сказал: «каждый разработчик должен понимать, как исполняется его программа». Что ж, давайте разбираться. Говорить будем про рендеринг и его производительность.

Меня зовут Глеб Михеев, я CTO Skillbox Holding, а также руководитель программного комитета FrontendConf. Уже как 19 лет работаю в коммерческой разработке. Сегодня я расскажу, как устроен браузерный конвейер поставки кадров на экран и что нужно знать каждому разработчику, чтобы его интерфейсы были отзывчивыми, не лагали, а анимации были плавными и выдавали 60fps даже при высокой вычислительной нагрузке на main thread.

Читать далее

Объясняю Pattern Memento (Снимок)

Время на прочтение4 мин
Количество просмотров15K

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

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

Читать далее

Как работает интернет

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров130K

Если вы полный ноль в интернет-технологиях, и хотите получить общее понимание Интернета, прочитав всего одну статью, то эта статья - для вас.

Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC-адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.

Читать далее

Чеклист для tsconfig.json

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров8.4K



В этой статье я расскажу о настройках TypeScript, определяемых в файле tsconfig.json, которых я использую в своих проектах.


❯ 1. Возможности, не затрагиваемые в этой статье


В этой статье описывается в основном настройка проектов, в которых все локальные модули являются ESM. Мы почти не будем говорить об импорте CommonJS.


Также мы не будем говорить о следующем:


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

Hail to the Rainbow. Разработка игры длиною в вечность. Часть 2. 3D контент и шейдеры

Время на прочтение9 мин
Количество просмотров4.6K

Всем привет! Данная статья является продолжением начатого ранее цикла на тему разработки моего инди‑проекта «Hail to the Rainbow». В этой части я хочу рассказать о визуале игры, создании 3d контента и аспектах, связанных с материалами, шейдерами и некоторыми техническими приемами.

Читать далее

Пока Apple саботирует развитие PWA, мы сделали демо с контактами, пуш-уведомлениями и биометрией

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.3K

Хабр не раз выручал нашу команду, когда заказчик ставил задачу, которую мы никогда не делали. В недавнем кейсе по разработке демо-приложения PWA мы подсмотрели в статьях несколько полезных советов и тоже решили написать о своем опыте. Поговорим о PWA, развитие технологии и про то, кому это выгодно и не очень. Кстати, меня зовут Сергей Филатов и я веб-разработчик в R-Style Softlab. 

Читать далее

Как PWA помогло клиентам ЮMoney продолжать получать пуши — даже без приложения

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3K

Привет, Хабр! Меня зовут Оля, я ведущий программист в отделе разработки интерфейсов ЮMoney. Работаю в команде «Портал» и занимаюсь главной страницей, страницами настроек, онлайн-оплаты и аналитики расходов.

В 2022 году мы, как и многие компании, столкнулись с удалением своих приложений из сторов и искали альтернативные решения. Одним из вариантов было сделать своё прогрессивное веб-приложение (Progressive Web App, PWA).

Всю вторую половину 2023 года мы превращали наш сайт в PWA-приложение, чтобы им было удобно пользоваться на устройствах iOS. Рассказываю, что из этого получилось и какие у нас планы на будущее. 🙌

Читать далее

Вкатиться в ИТ со страниц детского журнала — как «Мурзилка» знакомил советских детей с ЭВМ и кибернетикой

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4.4K

Привет! В этой статье погрузимся в прошлое: посмотрим, как в журнале «Мурзилка» (и других детско-подростковых советских газетах и журналах) школьников знакомили с кибернетикой. И заодно посмотрим, как эти материалы соотносились с реальным положением айтишечки в Стране Советов. Залетайте под кат, будем ностальгировать и просвещаться!

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность