Forwarded from Типичный программист
Код, написанный на JavaScript, обрабатывается движком. Но как именно это происходит «под капотом» и какие процессы в этом задействованы?
В общих чертах и с очень наглядными анимациями
А если решили погрузиться серьёзно, вот огромный цикл статей, которые раскроют внутреннее устройство Java Script лучше любой книги:
1. Обзор движка, механизмов времени выполнения, стека вызовов
2. О внутреннем устройстве V8 и оптимизации кода
3. Управление памятью, четыре вида утечек памяти и борьба с ними
4. Цикл событий, асинхронность и пять способов улучшения кода с помощью async/await
5. WebSocket и HTTP/2+SSE — что выбрать
6. Особенности и сфера применения WebAssembly
7. Веб-воркеры и пять сценариев их использования
8. Сервис-воркеры
9. Веб push-уведомления
10. Отслеживание изменений в DOM с помощью MutationObserver
11. Движки рендеринга веб-страниц и советы по оптимизации их производительности
12. Сетевая подсистема браузеров, оптимизация её производительности и безопасности
13. Анимация средствами CSS и JavaScript
14. Абстрактные синтаксические деревья, парсинг и его оптимизация
15. Классы и наследование, транспиляция в Babel и TypeScript
16. Системы хранения данных
17. Технология Shadow DOM и веб-компоненты
18. WebRTC и механизмы P2P-коммуникаций
19. Пользовательские элементы
20. Паттерны и анти-паттерны
21. JavaScript ES8 и переход на async/await
#javascript #веб
В общих чертах и с очень наглядными анимациями
А если решили погрузиться серьёзно, вот огромный цикл статей, которые раскроют внутреннее устройство Java Script лучше любой книги:
1. Обзор движка, механизмов времени выполнения, стека вызовов
2. О внутреннем устройстве V8 и оптимизации кода
3. Управление памятью, четыре вида утечек памяти и борьба с ними
4. Цикл событий, асинхронность и пять способов улучшения кода с помощью async/await
5. WebSocket и HTTP/2+SSE — что выбрать
6. Особенности и сфера применения WebAssembly
7. Веб-воркеры и пять сценариев их использования
8. Сервис-воркеры
9. Веб push-уведомления
10. Отслеживание изменений в DOM с помощью MutationObserver
11. Движки рендеринга веб-страниц и советы по оптимизации их производительности
12. Сетевая подсистема браузеров, оптимизация её производительности и безопасности
13. Анимация средствами CSS и JavaScript
14. Абстрактные синтаксические деревья, парсинг и его оптимизация
15. Классы и наследование, транспиляция в Babel и TypeScript
16. Системы хранения данных
17. Технология Shadow DOM и веб-компоненты
18. WebRTC и механизмы P2P-коммуникаций
19. Пользовательские элементы
20. Паттерны и анти-паттерны
21. JavaScript ES8 и переход на async/await
#javascript #веб
Что на самом деле нужно учить новичку, кроме языка программирования?
Многие новички сразу бегут писать «хэллоуворлды» на разных языках программирования. Но язык — это только один из необходимых инструментов. Чтобы стать продвинутым разработчиком, полезно понимать фундаментальные концепции.
И вот 8 таких концепций
Многие новички сразу бегут писать «хэллоуворлды» на разных языках программирования. Но язык — это только один из необходимых инструментов. Чтобы стать продвинутым разработчиком, полезно понимать фундаментальные концепции.
И вот 8 таких концепций
Джун или не джун, вот в чем вопрос. Чек-лист для проверки
Спойлер: если к техническим знаниям прилагается автономность — точно растете.
Границы грейдов могут быть размыты, но отличают их, как правило, две вещи: во-первых, стек технологий, во-вторых, умение работать самостоятельно.
Джун растёт, когда он:
– перестаёт делать поспешные выводы — это показывает, что человек смотрит не только на гипотетическое решение задачи, но и на проблему в целом;
– понимает, когда опыта хватает, а когда нужно проконсультироваться;
– знает, где можно найти ответы на сложные для него вопросы;
– задаёт открытые вопросы, на которые нельзя ответить «да» или «нет» и которые помогают понять, что получит заказчик, если решить задачу определённым образом;
– развивает Soft Skills. Важно уметь уточнять, что именно хочет менеджер от разработчика, объяснять РМ какие есть способы решения задачи и какие они несут риски, договариваться и доказывать, быть проактивным, ведь конечный результат зависит от работы всей команды.
3 способы проверить скиллы:
– проходите тестовые собеседования: с помощью карьерных консультантов, сервисов или старших коллег в компании;
– раз в три-четыре месяца смотрите какие новые требования появляются в вакансиях на вашу должность;
– смотреть конференции о технологиях из вашей сферы.
Если вы делаете что-то сами, находите решения, можете ответить на вопросы менеджеров, заказчика - однозначно растёте.
#советы
Спойлер: если к техническим знаниям прилагается автономность — точно растете.
Границы грейдов могут быть размыты, но отличают их, как правило, две вещи: во-первых, стек технологий, во-вторых, умение работать самостоятельно.
Джун растёт, когда он:
– перестаёт делать поспешные выводы — это показывает, что человек смотрит не только на гипотетическое решение задачи, но и на проблему в целом;
– понимает, когда опыта хватает, а когда нужно проконсультироваться;
– знает, где можно найти ответы на сложные для него вопросы;
– задаёт открытые вопросы, на которые нельзя ответить «да» или «нет» и которые помогают понять, что получит заказчик, если решить задачу определённым образом;
– развивает Soft Skills. Важно уметь уточнять, что именно хочет менеджер от разработчика, объяснять РМ какие есть способы решения задачи и какие они несут риски, договариваться и доказывать, быть проактивным, ведь конечный результат зависит от работы всей команды.
3 способы проверить скиллы:
– проходите тестовые собеседования: с помощью карьерных консультантов, сервисов или старших коллег в компании;
– раз в три-четыре месяца смотрите какие новые требования появляются в вакансиях на вашу должность;
– смотреть конференции о технологиях из вашей сферы.
Если вы делаете что-то сами, находите решения, можете ответить на вопросы менеджеров, заказчика - однозначно растёте.
#советы
Алгоритмы и структуры данных для начинающих
Уверенное применение структур данных и алгоритмов имеет важное значение при создании программ. Изучить основы поможет серия коротких видеоуроков с примерами на JavaScript. Например, что такое BinarySearchTree, LinkedList, Stack, Queue, их применение, а также другие структуры и алгоритмы:
https://youtube.com/playlist?list=PLIFGfLqvZ-yGHI2Fg0NCgi7FY0h1yh-af
#js #алгоритмы
Уверенное применение структур данных и алгоритмов имеет важное значение при создании программ. Изучить основы поможет серия коротких видеоуроков с примерами на JavaScript. Например, что такое BinarySearchTree, LinkedList, Stack, Queue, их применение, а также другие структуры и алгоритмы:
https://youtube.com/playlist?list=PLIFGfLqvZ-yGHI2Fg0NCgi7FY0h1yh-af
#js #алгоритмы
Топ реальных историй про первую работу: как начиналась карьера в IT у наших читателей
Недавно мы просили читателей рассказать о том, как они получали первую работу и какие советы дали бы начинающим специалистам, которые сейчас тоже ищут первую работу.
Делимся лучшими реальными историями про первую работу:
— Как таксист в тяжёлой депрессии стал Python-разработчиком
— С завода на завод. Как слесарь стал программистом всего за 8 месяцев
— Как пройти путь от галеры в Новосибирске до релокейта на Филиппины
— Как стать Golang-разработчиком и получить оффер на 100 000 рублей в 20 лет
— Как студент из Красноярска стал фронтенд-разработчиком
#карьера
Недавно мы просили читателей рассказать о том, как они получали первую работу и какие советы дали бы начинающим специалистам, которые сейчас тоже ищут первую работу.
Делимся лучшими реальными историями про первую работу:
— Как таксист в тяжёлой депрессии стал Python-разработчиком
— С завода на завод. Как слесарь стал программистом всего за 8 месяцев
— Как пройти путь от галеры в Новосибирске до релокейта на Филиппины
— Как стать Golang-разработчиком и получить оффер на 100 000 рублей в 20 лет
— Как студент из Красноярска стал фронтенд-разработчиком
#карьера
Назад в 80-е: как сделать аркадный автомат со своей 8-bit игрой?
Авторы статьи решили полностью погрузиться в 80-е и собрали несколько своих аркадных автоматов, к которым написали игру.
Вот, что из этого получилось
#история #gamedev
Авторы статьи решили полностью погрузиться в 80-е и собрали несколько своих аркадных автоматов, к которым написали игру.
Вот, что из этого получилось
#история #gamedev
Почему в байте именно 8 бит?
В байте могло быть 4, 6 или 16 бит, но почему мы остановились именно на 8 бит? Интересная статья на Хабре, в которой отвечают на этот вопрос.
#история
В байте могло быть 4, 6 или 16 бит, но почему мы остановились именно на 8 бит? Интересная статья на Хабре, в которой отвечают на этот вопрос.
#история
Ребят, ищем человека вести один из ваших любимых каналов
Нам нужен ответственный, грамотный и влюбленный в IT товарищ — развивать и облагораживать одну из многих, и при этом одну из главных площадок нашего проекта.
Если хотите стать частью нашей уютной команды, узнайте подробнее о вакансии и пишите нам. Давайте познакомимся и сработаемся: https://tprg.ru/bqed
Найдись, тот самый человек! Главред грустит.
#вакансии #работа
Нам нужен ответственный, грамотный и влюбленный в IT товарищ — развивать и облагораживать одну из многих, и при этом одну из главных площадок нашего проекта.
Если хотите стать частью нашей уютной команды, узнайте подробнее о вакансии и пишите нам. Давайте познакомимся и сработаемся: https://tprg.ru/bqed
Найдись, тот самый человек! Главред грустит.
#вакансии #работа
Битые файлы для продления дедлайна
Все мы были в ситуации, когда уже срочно нужно скинуть файл с работой преподавателю/заказчику/боссу. Но он ещё не готов и нужно потянуть время.
Делимся с вами подборкой битых файлов самых ходовых форматов: от .docx до .zip. Просто скачиваете нужный файл, отправляете заказчику и продлеваете дедлайн.
#инструменты
Все мы были в ситуации, когда уже срочно нужно скинуть файл с работой преподавателю/заказчику/боссу. Но он ещё не готов и нужно потянуть время.
Делимся с вами подборкой битых файлов самых ходовых форматов: от .docx до .zip. Просто скачиваете нужный файл, отправляете заказчику и продлеваете дедлайн.
#инструменты
Кстати, у нас на сайте вы можете подписаться только на интересные вам теги и отслеживать самые свежие новости и полезные статьи по этой теме.
Вот, например:
— Веб-разработка: https://tproger.ru/tag/web/
— Нейросети: https://tproger.ru/tag/neural-network/
— И геймдев: https://tproger.ru/tag/gamedev/
А ещё можно подписаться на годноту по конкретному языку:
— Python: https://tproger.ru/tag/python/
— JavaScript: https://tproger.ru/tag/javascript/
— C++: https://tproger.ru/tag/cpp/
Посмотрите все теги и выберите только те, которые интересны вам!
Вот, например:
— Веб-разработка: https://tproger.ru/tag/web/
— Нейросети: https://tproger.ru/tag/neural-network/
— И геймдев: https://tproger.ru/tag/gamedev/
А ещё можно подписаться на годноту по конкретному языку:
— Python: https://tproger.ru/tag/python/
— JavaScript: https://tproger.ru/tag/javascript/
— C++: https://tproger.ru/tag/cpp/
Посмотрите все теги и выберите только те, которые интересны вам!
MVP продукта: как внедрить фичу и не растерять пользователей?
MVP — это минимально жизнеспособный продукт. Его создают чтобы минимизировать потери, перед тем, как вывести новые фичи в продакшен. Благодаря ему можно проверить, понравятся ли изменения пользователям.
Как выглядит процесс проработки MVP продукта в крупных компаниях, рассказывают руководитель отдела продуктовой разработки Юрий Кочарян и руководитель группы продуктов для авторов Вера Советкина из Дзена: ссылка
https://tprg.ru/nQ3o
MVP — это минимально жизнеспособный продукт. Его создают чтобы минимизировать потери, перед тем, как вывести новые фичи в продакшен. Благодаря ему можно проверить, понравятся ли изменения пользователям.
Как выглядит процесс проработки MVP продукта в крупных компаниях, рассказывают руководитель отдела продуктовой разработки Юрий Кочарян и руководитель группы продуктов для авторов Вера Советкина из Дзена: ссылка
https://tprg.ru/nQ3o
Одни говорят, что без математики никуда. Другие, что нужно уточнять о какой математике идёт речь. Третьи считают что в программировании математики нет.
Нужна ли математика и что на самом деле надо знать для типовых проектов?
Давайте разбираться
#математика
Нужна ли математика и что на самом деле надо знать для типовых проектов?
Давайте разбираться
#математика
Типизация языков программирования: разбираемся в основах
Если вкратце, типизация языков программирования — это то, как различные языки распознают типы переменных. Она определяет, как вы будете работать с типами переменных: нужно ли их задавать изначально, можно ли изменять и так далее.
Давайте разбираться подробнее: https://tproger.ru/explain/tipizacija-jazykov-programmirovanija-razbiraemsja-v-osnovah/
Если вкратце, типизация языков программирования — это то, как различные языки распознают типы переменных. Она определяет, как вы будете работать с типами переменных: нужно ли их задавать изначально, можно ли изменять и так далее.
Давайте разбираться подробнее: https://tproger.ru/explain/tipizacija-jazykov-programmirovanija-razbiraemsja-v-osnovah/
gitignore — это своеобразное указание Git, какие файлы нужно игнорировать и не добавлять в репозиторий
Его необходимо устанавливать до создания репозитория, иначе в него будут добавлены все файлы. А чтобы потом их удалить, придётся делать лишние действия. Но содержание этого файла сильно зависит от проекта и языка, на котором он написан.
В этом репозитории вы найдёте огромное количество шаблонов .gitignore практически для всех языков и фреймворков: Ruby on Rails, Python, Perl, Laravel, Java и пр. В нем есть даже шаблон для Fortran! И у него уже больше 149 тысяч звёзд.
#github
Его необходимо устанавливать до создания репозитория, иначе в него будут добавлены все файлы. А чтобы потом их удалить, придётся делать лишние действия. Но содержание этого файла сильно зависит от проекта и языка, на котором он написан.
В этом репозитории вы найдёте огромное количество шаблонов .gitignore практически для всех языков и фреймворков: Ruby on Rails, Python, Perl, Laravel, Java и пр. В нем есть даже шаблон для Fortran! И у него уже больше 149 тысяч звёзд.
#github
Что такое JSON и чем может быть полезен?
JSON или JavaScript Object Notation — текстовый формат обмена данными. И хотя JSON основан на JavaScript, он применяется и при работе с другими языками программирования. Корректные значения JSON — это:
— JSON-объект — неупорядоченное множество пар «ключ:значение», заключённое в фигурные скобки { };
— массив — упорядоченный набор значений, разделённых запятыми и находящийся внутри квадратных скобок [ ];
— число (целое или вещественное) или строка;
— литералы true, false и null.
Давайте на примерах разберёмся, чем JSON может быть полезен и как использовать его правильно: https://tproger.ru/articles/chto-takoe-json-vvedenie/
JSON или JavaScript Object Notation — текстовый формат обмена данными. И хотя JSON основан на JavaScript, он применяется и при работе с другими языками программирования. Корректные значения JSON — это:
— JSON-объект — неупорядоченное множество пар «ключ:значение», заключённое в фигурные скобки { };
— массив — упорядоченный набор значений, разделённых запятыми и находящийся внутри квадратных скобок [ ];
— число (целое или вещественное) или строка;
— литералы true, false и null.
Давайте на примерах разберёмся, чем JSON может быть полезен и как использовать его правильно: https://tproger.ru/articles/chto-takoe-json-vvedenie/
Forwarded from Типичный программист
Почему всё вокруг ломается и виноваты ли в этом компании или такова цена прогресса?
Мы уже привыкли, что наши устройства периодически ломаются или быстро устаревают. Переход с LGA 1156 на «оптимизированный» LGA 1155, неразборные корпусы смартфонов и несъёмные аккумуляторы — как ещё производители организуют планируемое устаревание техники и как мы можем с ним бороться?
Рассказывает наш читатель Александр Клименков: https://tproger.ru/articles/kovarnyj-plan-pochemu-vsjo-vokrug-lomaetsja
#технологии
Мы уже привыкли, что наши устройства периодически ломаются или быстро устаревают. Переход с LGA 1156 на «оптимизированный» LGA 1155, неразборные корпусы смартфонов и несъёмные аккумуляторы — как ещё производители организуют планируемое устаревание техники и как мы можем с ним бороться?
Рассказывает наш читатель Александр Клименков: https://tproger.ru/articles/kovarnyj-plan-pochemu-vsjo-vokrug-lomaetsja
#технологии