Pull to refresh

Вопросы и ответы для собеседования на позицию frontend-разработчик. Часть 2

Level of difficultyEasy
Reading time20 min
Views15K

Всем привет! В этой статье (части) рассмотрим вопросы, связанные с великим и могучим TypeScript'ом, которые задают на собеседованиях. Если вы не читали прошлую статью, где описаны вопросы по JS, вот ссылочка. Пожалуйста, не заучивайте вопросы, это вредно для вашего здоровья!)

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments14

Фреймворк-независимое браузерное SPA

Reading time23 min
Views12K

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

Оба варианта сопряжены с ущербом для бизнеса. Поддержка устаревшей кодовой базы означает проблемы с наймом новых и мотивацией текущих разработчиков. Перевод приложения на новый фреймворк стоит времени (следственно — денег) но не несет никакой пользы для бизнеса.

Данная статья является примером построения SPA с использованием высокоуровневых принципов дизайна архитектуры. При этом конкретные библиотеки и фреймворки выбираются для удовлетворения ответственностей, определённых желаемой архитектурой.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments42

Маппинг в C# на примере сериализатора для AMF

Reading time26 min
Views20K
Приветствую, друзья. Сегодня речь пойдёт о реализации маппинга на C#, а так же о применении сей реализации в решении реальных задач на примере отправки данных AMF на сервер. Всё нижеизложенное не претендует на какие-либо эталоны реализации алгоритмов и паттернов проектирования кода, это лишь описание одного из множества, далеко не всегда очевидных для новичков, решений.

В процессе изучения статьи, Вы узнаете как реализовать собственные атрибуты и как их применять, познакомитесь с методами расширений типов и применением рефлексии на практике, узнаете об основах MSIL в целом и OpCodes в частности, а так же о том, как можно сериализовать объекты в AMF с помощью потоков.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments6

Материалы продвинутого уровня по Питону

Reading time5 min
Views43K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

Подробнее
Total votes 136: ↑133 and ↓3+130
Comments23

Типичный Swagger без гмо

Level of difficultyMedium
Reading time6 min
Views9.8K

Кто из нас не был одурманен сказками про свагер? Мол, добавь эту волшебную штуку — да заживешь! Но плата за магию — зеленое болото нотаций. А нельзя ли обойтись только типизацией самого php? (Спойлер: онжом)

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

Применение машинного обучения для определения содержимого колонки в таблице

Reading time11 min
Views3.1K

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

Существуют специализированные системы подготовки и анализа данных. Большинство из них отлично справляются с определением атомарного типа колонки, такого как string, integer, boolean. Однако, с задачей определения семантического типа — собственно, того, что лежит в колонке (имя человека, название организации, город и пр.), не всё так хорошо. При этом, успешное определение семантического типа может дать гораздо больше, чем простое знание атомарного типа. Имея на руках семантические типы колонок можно скорее разобраться в незнакомой базе данных, и, например, быстро выделить все колонки, относящиеся к одной сущности реального мира.

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

TypeScript в деталях. Часть 1

Reading time6 min
Views26K


Привет, друзья!


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


Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments9

TypeScript в деталях. Часть 2

Reading time11 min
Views13K


Привет, друзья!


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


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

TypeScript в деталях. Часть 3

Reading time14 min
Views19K


Привет, друзья!


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


Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments0

User Defined Type. Что это и как его использовать, часть 1

Level of difficultyEasy
Reading time8 min
Views3.7K

Картинка: Designed by vectorjuice / Freepik

Большинство пользователей VBA прекрасно знают такую штуку как Type, он же User Defined Type (UDT). Кто-то, как я, использует его на повседневной основе. Кто-то, возможно, о нем слышал, но не мог понять как его применить.

Лично я помню, как не так давно смотрел на этот Type и пытался понять зачем он мне нужен, ведь он просто хранит в себе переменные, которые можно с тем же успехом объявить в функции/процедуре или на уровне модуля?

В этой статье я хотел бы показать на примере как можно использовать Type. Мы разберем некоторые его особенности, и возможно кто-нибудь из читателей найдет для себя один из примеров крайне интересным (а может быть даже будет использовать в своих проектах). Поехали!

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments8

Как сделать свой собственный менеджер состояния в React всего с одним хуком

Reading time5 min
Views5.4K

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

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

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

Что такое ngrx/createFeature и как это может облегчить жизнь frontend-разработчику

Reading time6 min
Views3K

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

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

Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 3: работа с задачами

Reading time8 min
Views4.1K

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрали, как создать аутентификацию с помощью библиотеки Passport, а сегодня мы рассмотрим такие манипуляции, как добавление, редактирование, удаление и получение задач. Для начала давайте разберём HTTP и некоторые типы запросов.

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

User Defined Type. Что это и как его использовать, часть 2

Level of difficultyEasy
Reading time3 min
Views1.3K

Итак, в первой части мы затронули применение UDT в обычном модуле, и в комментариях справедливо заметили, что UDT сильно проигрывает классам. И да, действительно, если использовать класс как DTO (Data Transfer Object), он более функционален, чем UDT.

В этой заключительной части, я хотел бы рассказать о применении UDT в классах, кто такой Mathieu Guindon и причем тут резиновая уточка.

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

10 советов по TypeScript для продвинутых пользователей в манере русских мифов

Level of difficultyEasy
Reading time3 min
Views6.9K

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

Читать далее
Total votes 32: ↑6 and ↓26-20
Comments15