Как живется в США «айтишнику». Три года спустя
Всем привет, меня зовут Виктор. Мне 32 года, 12 из которых работаю "в айти". Начинал с простого сисадмина подай-принеси в Ульяновске, по окончании универа продолжил карьеру в Москве и вот оказался тут. Пока не женат, живу с местной девушкой, которую встретил на просторах Америки. Карьерный путь начал с поддержки инфраструктуры, после получения MBA попробовал себя в менеджменте, потом ушел в разработку изучать пайплайны и скрам и теперь вот снова вернулся в инфраструктуру в позиции тим лида, применяю свой опыт менеджера, но уже с новыми скиллами, все в рамках своей специализации, которая сейчас именуется максимально широким словом DevOps. Никакого специального блога о переезде не вел и это будет мой первый большой обзор своего опыта проживания тут.
Читать...
Анимация аккордеона и свойства height (max-height) в чистом CSS
Всем привет, мне пришлось очень долго промучаться с анимацией Аккордеона и свойства max-height не прибегая к помощи Js в вычислениях, и сейчас я поделюсь с вами оптимальным решением.
Читать...
Grade.js
Всем привет!
Ребята запилили клевый опенсорс проект GradeJS который умеет анализировать минимизированные JS бандлы, собранные с помощью Webpack и определять в них пакеты с точностью до конкретной версии (без доступа к исходному коду, сорс-мапам или stats файлам вебпака)
Сервис анализирует абстрактные синтаксические деревья «склеенных» JavaScript файлов и определяет границы оригинальных модулей. Для каждого из таких модулей, генерируется набор специальных сигнатур, которые сопоставляются с индексом в базе данных. Финальное решение о той или иной версии пакета принимается на основе вероятностной оценки.
Так вот, у них сейчас проходит открытый бета тест и они хотели бы собрать фидбек от разработчиков. Если у вас есть желание то вы можете принять участие в нем и оставить свой отзыв.
👉 Вот ссылка на репу https://github.com/gradejs/gradejs
👉 А вот тут вы можете посмотреть проект в работе gradejs.com
Всем привет!
Ребята создали чат-бота Masterhub, который рассылает разработчикам релевантные Frontend вакансии без спама.
Настрой бота за 1 минуту и получай до 50 вакансий в неделю, отобранных по твоим предпочтениям.
@MasterHuBot
Hoisting, один из самых часто задаваемых вопросах на собесах
Постараюсь объяснить как можно проще.
И так что это:
Hoisting - означает, что объявления переменных и функций перемещаются вверх их области видимости перед выполнением кода.
Например:console.log(dog); // undefinedvar dog = “Bobik”;1. Мы объявляем переменную dog и присвоили ей значение “Bobik” сразу после того, как попытались вывести ее в консоле. Результат - undefined.
Почему undefinedа не ошибка в консоли?👉 При инициализации переменная перемещается вверх, но значение еще не присвоено и поэтому движок автоматически присваивает undefined
👉 Выполняется console.log(dog)
👉 Присваивается значение переменной
Это можно было бы написать примерно так:var dog = undefined;console.log(dog); // undefineddog = “Bobik”;C letи constесть нюансы
Объявленные переменные с помощью ключевого слова let или const, поднимается так же, как и в случае с var, но они не инициализируются движком javascript с помощью undefined и выдадут ошибку ReferenceError.
Функции:
Точно так же, как и с переменными, объявление функции с помощью function declaration поднимается на этапе создания глобального контекста, а вот при использовании function expression - вы получите сообщение об ошибке.
JavaScript: заметка о побитовых операторах и числах с плавающей точкой
В этой небольшой заметке я хочу поговорить с вами о манипулировании битами в JavaScript, а также о двоичном представлении чисел с плавающей точкой (floating point numbers).
Обратите внимание: заметка носит, в основном, теоретический характер и направлена на углубленное изучение JavaScript, поэтому предполагается, что вы имеете некоторый опыт работы с данным языком программирования.
Читать...
Есть много способов сделать это: Vue 3 и взаимодействие компонентов
Vue 3 принёс в жизнь разработчиков возможность организации более гибкой структуры приложений. Всё чаще я стал замечать, что разные команды, а порой и разработчики внутри одной, используют целый зоопарк сомнительных подходов для организации взаимодействия между компонентами. Применяются какие-то крайности, либо всё в state manager, либо в composable (composition API), либо мутация props внутри дочерних компонентов!
Хотелось бы поднять эту тему и рассмотреть варианты взаимодействия компонентов доступные нам во Vue 3.
Читать...
Давно мечтаете сменить скучную работу, но нет денег на обучение? Станьте разработчиком абсолютно бесплатно.
Примите участие в розыгрыше и выиграйте бесплатное обучение на курсе по программированию с наставником.
Не упустите свой шанс начать обучаться востребованной профессии уже этим летом!
Регистрируйтесь скорее, розыгрыш пройдёт уже 9 июня в 13:00.
Развертывание React-приложения
Когда мы имеем дело с большим проектом, в репозитории которого накопились десятки тысяч строк кода, иногда единственным здравым решением кажется все переписать с нуля, а не оптимизировать. С точки зрения бизнеса может возникнуть вопрос: а почему вообще нужно оптимизировать или даже переписывать приложение, если оно работает? Дело в том, что по мере роста кодовой базы есть вероятность увеличения дублирующихся компонентов/фрагментов кода, появления устаревших участков, которые тормозят сборку, но полезной нагрузки уже не несут. Это негативно влияет на скорость работы приложения и увеличивает срок разработки.
В этом кейсе мы покажем, как улучшить имеющееся решение с точки зрения архитектуры, а также рассмотрим библиотеки и их особенности, которые помогут сделать приложение быстрее.
Читать...
Азбука вкуса, Nuxt и наш тернистый путь к микрофронтам
Уже больше года мы в Азбуке вкуса мигрируем с jQuery на Nuxt. По мере роста, делали свою реализацию микрофронтов, чтобы хорошо организовать работу и решить ряд проблем.
В процессе наступили на пару граблей, долго думали и наконец сделали.
Приглашаем узнать о проделанной нами работе, о сложностях, с которыми мы столкнулись, и оценить итоговую реализацию.
Читать...
Типы JavaScript кажутся сложными?
В этой статье автор рассказывает о статической и динамической типизации в языках программирования с поправкой на исторический контекст, что поможет лучше разобраться в их назначении и области применения.
Читать...
Курс «Английский для разработчиков» от Яндекс Практикума
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде. Рассчитан на специалистов с опытом от года.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Определим ваш уровень языка, расскажем про обучение и ответим на все вопросы
Коды ответа HTTP
Всем привет!
Какое то время назад я выкладывал похожий пост, но этот дополнен и содержит в себе больше нужной инфы. А еще я узнал что в спецификации существует код 418 - I'm a teapot, без приколов. Подробнее о нем тут.
Основные категории:1xx. Информационные 100 - 1992xx. Успешные 200 - 2993xx. Перенаправления 300 - 3994xx. Клиентские ошибки 400 - 4995xx. Серверные ошибки 500 - 599Чуть подробнее о самых часто встречающихся:👉 200 - ОК. Cервер успешно обработал запрос.
👉 201 - Created. Сервер обработал запрос и создал новый ресурс
👉 204 - No Content. Сервер обработал запрос, но никакого содержимого нет.
👉 301 - Moved Permanently. Данные, которые запрашиваются, были перемещены по другому адресу навсегда.
👉 304 - Not Modified. Означает, что запрашиваемый ресурс не изменялся, а значит может использовать кэшированную версию.
👉 400 - Bad Request. Был отправлен запрос, который сервер не может обработать (например в запросе передан не верный формат данных)
👉 401 - Unauthorized. В доступе отказано по причине отсутствия авторизации.
👉 404 - Not Found. Связь с сервером установлена но данных по запросу нет.
👉 500 - Internal Server Error. Внутренняя ошибка сервера, причин ошибки может быть множество.
Если вам нужны совсем-совсем все коды то вот ссылочка.
В общем как то так, думаю вам это пригодится.
237 000₽ — средняя зарплата на вакансии мидл фронтенд-разработчка со знанием TypeScript.
64% вакансий мидл фронтенд-разработчика продуктовых компаний требуют знания TypeScript. TypeScript — одна из самых популярных и востребованных технологий на сегодняшний момент, так как она позволяет эффективнее и надёжнее писать код.
Прочитав статью вы узнаете:
1. Что такое TypeScript
2. Где точно необходимо владеть навыками работы с TypeScript
3. Как грамотно применять TypeScript
Читать статью📝
Как выбрать куда иммигрировать. 10 главных критериев
Сейчас многим как никогда нужен совет бывалого иммигранта в том, как выбрать место для переезда. А у меня, пожалуй, самый большой нетворк среди русскоязычных IT-иммигрантов от Канады до Чили, от Австралии до Португалии (можем померяться 😉), да и сама я уже больше 6 лет живу в Кремниевой долине, а последние 3 занимаюсь релокейтом IT-специалистов в США. В общем наконец у меня появился повод собрать все знания и структурировать их в серию статей.
Читать...
Курсов стало так много, что непонятно, какой выбрать, — в потоке предложений есть риск наткнуться на купленные отзывы и потерять деньги.
Как выбрать нормальный курс и не пожалеть?
У Тинькофф Журнала есть решение. «Сравнятор» — это сервис, в котором более 700 онлайн-курсов по разработке, дизайну, аналитике, управлению и английскому языку. В нем собраны подтвержденные отзывы реальных людей, с помощью которых вы поймете, подойдет ли курс именно вам.
Переходите по ссылке, выбирайте и покупайте понравившийся курс!
EasyUI: действительно easy?
В этой статье автор хочет поделиться опытом избавления от жуткой головной боли, возникшей при разработке веб-приложения для одного маленького, но весьма могучего устройства.
Читать...