Pull to refresh
4
0.5
Максим @Metotron0

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

Send message

Как мы решили проблему хаотичной структуры проекта с Pug и Vite

Reading time4 min
Views1K

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

Если вы когда-либо работали с проектами на стеке Vite + Pug + SCSS + TypeScript, то наверняка сталкивались с хаосом в файловой структуре и рутиной, мешающей сосредоточиться на главном — решении задач бизнеса и создании удобного интерфейса для пользователя.

В этом материале мы поделимся тем, как столкнувшись с проблемой, создали решение, которое сделало процесс разработки более эффективным, а структуру проекта — интуитивно понятной. А ещё расскажем, как это решение родилось внутри команды и стало частью нашего вклада в open source.

Читать далее

Golang: когда make, когда new

Level of difficultyEasy
Reading time8 min
Views11K

Привет, Хабр!

В этой статье разберёмся, зачем в Go существуют два способа создавать значения — make и new, чем они отличаются, как они работают и когда выбирать каждый из них.

Читать далее

7 шаблонов конкурентности в Go, которые вам стоит знать

Level of difficultyEasy
Reading time5 min
Views6K

Конкурентность — одна из самых мощных возможностей Go, и её освоение критически важно для создания масштабируемых и эффективных приложений. В этой статье мы рассмотрим 7 шаблонов конкурентности в Go, которые помогут вам писать надёжный код.

Читать далее

Абсолютный минимум об Unicode на 2023 год (всё ещё — никаких оправданий!)

Level of difficultyMedium
Reading time18 min
Views19K

Двадцать лет назад Джоэл Спольски написал: «Не существует такой штуки, как «обычный текст». Если имеется строка, но неизвестно, какую кодировку символов она использует — смысла в этой строке нет. Больше нельзя спрятать голову в песок и притвориться, что «обычный» текст имеет кодировку ASCII.»

Многое изменилось за 20 лет. В 2003 году главный вопрос звучал так: «Что это за кодировка?». В 2023 году такой вопрос больше не стоит: с вероятностью в 98% это — UTF-8. Наконец то! Можно снова спрятать голову в песок!

Читать далее

Сравнение тяжеловесности популярных библиотек UI компонент для Vue 3

Level of difficultyEasy
Reading time3 min
Views14K

Библиотеки UI компонент популярны и удобны в некоторых случаях, но у них тоже есть обратные стороны. Одно дело, когда делаешь админку и используешь десятки компонент, другое - когда тебе надо всего пару компонент.

Было проведено исследование - взяты три HTML элемента: Button, Input и Select, и проверено, насколько увеличатся js и css бандлы если использовать для них одну из 10 распространенных UI библиотек для Vue 3.

Читать далее

Возможности JavaScript и TypeScript последних лет. Часть 2

Level of difficultyMedium
Reading time15 min
Views14K


Hello, world!


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


В первой части мы говорили о возможностях JS, во второй поговорим о возможностях TS.


Это вторая часть.


Вот ссылка на первую часть.


Обратите внимание: названия многих возможностей — это также ссылки на соответствующие разделы документации TypeScript.


Руководства, шпаргалки, вопросы и другие материалы по JavaScript, TypeScript, React, Next.js, Node.js, Express, Prisma, GraphQL, Docker и другим технологиям, а также Блог по веб-разработке.

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

Искусство типизации: TypeScript Utility Types

Reading time4 min
Views106K

Что вы чувствуете от познания нового? За себя скажу, что в такие моменты просветления меня переполняет неподдельная детская радость от свершившегося открытия. Жаль, что этих моментов становится всё меньше. К чему я это? Когда мне в голову мне пришла мысль о написании статьи на эту тему, я сразу вспомнил то ощущение прозрения, которое испытал в момент открытия Utility Types. Всё сразу встало на свои места, и я понял какого кусочка пазла мне всё это время не хватало. Именно о нём я расскажу далее.

Читать далее

Обсуждение: как стриминговые сервисы меняют музыкальную культуру и подход к написанию песен

Reading time4 min
Views9.2K
В прошлых публикациях мы рассказывали про успех Spotify в Индии и даже о том, как потоковые платформы подстегнули продажи винила. Сегодня речь пойдет о том, как стриминговые сервисы меняют подход к написанию песен и в целом влияют на отношение слушателей к музыке.

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

Символы Unicode: о чём должен знать каждый разработчик

Reading time7 min
Views446K


Если вы пишете международное приложение, использующее несколько языков, то вам нужно кое-что знать о кодировке. Она отвечает за то, как текст отображается на экране. Я вкратце расскажу об истории кодировки и о её стандартизации, а затем мы поговорим о её использовании. Затронем немного и теорию информатики.
Читать дальше →

Полезные консольные Linux утилиты

Reading time13 min
Views131K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

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

Детальный обзор Well-known Symbols

Reading time12 min
Views8.9K


Доброго времени суток, друзья!

Символ (Symbol) — это примитивный тип данных, представленный в ECMAScript2015 (ES6), позволяющий создавать уникальные идентификаторы: const uniqueKey = Symbol('SymbolName').

Вы можете использовать символы в качестве ключей для свойств объектов. Символы, которые JavaScript обрабатывает особым образом, называются хорошо известными символами (Well-known Symbols). Эти символы используются встроенными алгоритмами JavaScript. Например, Symbol.iterator используется для перебора элементов массивов, строк. Его также можно использовать для определения собственных функций-итераторов.

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

Будучи уникальными, использование символов в качестве ключей объектов (вместо строк) позволяет легко добавлять объектам новый функционал. При этом, не нужно беспокоиться о возникновении коллизий между ключами (поскольку каждый символ уникален), что может стать проблемой при использовании строк.

В данной статье речь пойдет о хорошо известных символах с примерами их использования.
Читать дальше →

Устройство современного веб-браузера Chrome (часть 4/4)

Reading time7 min
Views12K

Это последний пост из серии 4-х постов, посвященной заглядыванию внутрь Chrome, и исследующей, как он обрабатывает наш код для отображения веб-сайта. В предыдущем посте мы рассмотрели *рендер-процесс (renderer process) и узнали о *композ-потоке (compositor thread). В этом посте мы рассмотрим, как *композ-поток обеспечивает плавное взаимодействие при вводе данных пользователем.


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

Возможности SQLite, которые вы могли пропустить

Reading time8 min
Views45K
Если вы используете SQLite, но не следите за его развитием, то возможно некоторые вещи, позволяющие сделать код проще, а запросы быстрее, прошли незамеченными. Под катом я постарался перечислить наиболее важные из них.
Читать дальше →

Эволюция PHP — от 5.6 до 8.0 (Часть 1)

Reading time7 min
Views16K

После релиза PHP версии 7.3 я решил уделить больше внимания развитию PHP: что собственно развивается и в каком направлении искать понимание потенциала и оптимизации этого невероятно популярного языка программирования.

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

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

Читать далее

Платный доступ к статьям

Reading time8 min
Views7.8K
Я, MagisterLudi, сейчас делаю проект «Ontol» (прототип, канал @ontol), цель которого собрать в одном месте самые полезные и ключевые тексты всех времен и народов, которые формируют актуальную картину мира по каждой важной области жизни, с бесплатным доступом в 1 клик.

Хочу поделиться переводом статьи от 5 июня 2020 "Problems With Paywalls", сейчас на ее месте стоит заглушка со словами: «NYT угрожает раскрыть моё имя, поэтому я удаляю блог. Вот мои объяснения».


Problems With Paywalls


Часть I


Я ненавижу платные подписки. Категорически их не перевариваю.

Типичный аргумент в пользу бизнеса: компании могут либо сделать вашу жизнь лучше (предоставляя вам любимые продукты) либо никак на нее не повлиять (предлагая продукты, которые вам не нравятся, и вы ими не пользуетесь). Но навредить они вам точно не могут. Хотя есть парочка исключений. Например, если они вытесняют или уничтожают любимую компанию, или их деятельность все-таки вызывает какие-либо побочные эффекты, или они лоббируют правительство, во имя собственной выгоды. Но в целом, если некий бизнес вас раздражает, вы должны понять, как работает одно из этих необычных условий. В противном случае, “компании просто не приносят пользы, какой вам хотелось бы”, не причиняя при этом никакого вреда.

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

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

Node.js в 2020: Выйди и зайди нормально

Reading time2 min
Views24K


За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможностями, а если и узнает про них, то это не влияет на написание ежедневного кода. В Node.js, да и в JavaScript, слабо проникают фундаментальные знания по программной инженерии и архитектуре, параллельному программированию, GRASP, SOLID, GoF, а если и проникают, то не подвергаются адаптации и переосмыслению. Поэтому, среди других языков программирования JavaScript воспринимается, как несерьезный, а в среде разработчиков Java, C++, C#, распространено мнение, что Node.js, это платформа для малограмотных людей. Как преодолеть эту тенденцию и как изменить подход к разработке на Node.js в 2020 году, с использованием всех современных возможностей и знаний, а так же, что нужно изменить в ежедневных практиках написания кода, эти и другие вопросы рассматриваются в трех бесплатных вебинарах «Node.js в 2020: Выйди и зайди нормально» 11, 14 и 21 апреля, накануне выхода Node.js v14.

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

Лекции Техносферы. Нейронные сети в машинном обучении

Reading time3 min
Views32K


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

Курс лекций по JavaScript и Node.js в КПИ

Reading time2 min
Views125K

100 лекций по программированию в Киевском политехническом институте


Товарищи инженеры, как и было обещано в анонсе, половина лекций (а это 51) уже доступны для просмотра на ютюбе и я продолжу их записывать в 2019 году. Часть из нужно будет перезаписать, потому, что в первых лекциях не самый лучший звук и потому, что очень простые темы у меня пока не очень хорошо получаются. Лучше вышли сложные и актуальные темы, которые мне и самому более интересно рассказывать. Я бы не сказал, что это курс для начинающих, скорее, это курс для тех, кто уже знает синтаксис. За это время поступило множество предложений, как улучшить способ подачи материала: делить на более короткие лекции, подготовить задачи для практического освоения, записывать семинары и ответы на вопросы студентов, добавить в программу разбор целого ряда спорных и холиварных тем. Но не все сразу, я и так посвящаю этому треть жизни.

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

Современный курс по Node.js в 2020

Reading time4 min
Views112K


Дорогие товарищи инженеры, сообщество Метархия представляет вашему вниманию современный курс по Node.js, который включает глубокий разбор всех возможностей и аспектов платформы. Основной упор делается на то, как создавать надежные высоконагруженные сервера приложений и API без привязки к конкретному фреймворку и даже протоколу, т.е. абстрагировать бизнес-логику в отдельный слой. К лекциям прикреплено множество примеров кода, демонстрирующих гибкую структуру приложений и архитектурные приемы, в том числе работу с СУБД через слой доступа к данным, создание интерактивных приложений на вебсокетах, обеспечение безопасности, Graceful shutdown, межпроцессовое взаимодействие, предотвращение утечек памяти, масштабирование и кластеризацию при помощи процессов и потоков. На текущий момент в курсе 38 лекций (около 35 и ½ часов видео), 37 репозиториев с примерами кода, 4 PDF со слайдами. Перед основной частью курса по Node.js нужно сначала освоить хоть частично курс по асинхронному программированию.

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

Information

Rating
2,086-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Frontend Developer
Middle
From 200,000 ₽
Vue.js
TypeScript
SCSS