Пожалуй каждый программист, который сталкивался с вопросом: "А как устроиться на работу в FAANG?" - получал ответ, что ему нужно разобраться с алгоритмами, со структурами данных и прорешать порядка 300-400 задач на leetcode по алгоритмам.
Однако вслед за этим советом тут же появляются люди, которые говорят, что это никоим образом не делает тебя лучше, как программиста. Да и вообще - просто пустая трата времени.
Поэтому, в этой статье я постараюсь дать ответ, насколько это может быть полезным для работы и развития, и как может сказаться на карьере.
User
15 ошибок начинающего Хабр-автора
В один прекрасный момент случается «8 чудо света»: эксперт хочет написать статью в блог на Хабре. Искра, буря, безумие — и если всё это происходит в компании, то на горизонте появляется редактор, с которым можно вместе размышлять над черновиком. Примерно так я уже 6 лет работаю рука об руку с авторами корпоративных блогов.
У некоторых быстро и с первого черновика получается готовый материал на выпуск, требующий минимальных правок, другим же требуется больше времени и вовлечения редактора в процесс создания статьи. Но есть ошибки, которыми грешат почти все.
Если вы задумываетесь написать свой первый пост на Хабр или (внезапно) начинаете карьеру редактора корпблога, то заглядывайте под кат — там найдете 15 самых распространенных ошибок: перед началом написания, в процессе и после публикации. Разбираю, почему они вообще появляются и как можно их избежать.
Знакомьтесь, MiSTer
Я долго придумывал вступление к теме FPGA-реимплементации в контексте ретро, но это сложнее чем кажется. Давайте попробуем издалека. Сейчас электроника довольно неплохо стандартизирована, но ведь 40-50 лет назад ситуация была гораздо сложнее. То, что мы сейчас принимаем как должный и абсолютный незыблемый стандарт, когда-то таковым не являлось. Как, например, то, что в 1 байте 8 бит. Были машины и с 6 и с 9 битными байтами и много чего еще. Тем собственно старая техника и интригует. Сколько человекочасов было убито на её проектирование, какие гениальные и не очень решения принимались. И всё это будет утеряно? Да и просто - как это всё работало? Вопрос, который, думаю, интересовал многих ретро-энтузиастов ещё с детства.
Как пропатчить ОС 1996 года с помощью Ghidra
Не так давно автор материала работал над сложной головоломкой: как пропатчить операционную систему сэмплового синтезатора 1996 года Kurzweil K2500. О путешествии автора в старый код музыкального инструмента рассказываем к старту курса по разработке на C++.
Где и как изучать машинное обучение?
Всем привет!
Ни для кого не секрет, что интерес к машинному обучению и искусственному интеллекту растет в лучшем случае по экспоненте. Тем временем мой Яндекс Диск превратился в огромную свалку пейперс, а закладки в Google Chrome превратились в список, длина которого стремится к бесконечности с каждым днем. Таким образом, дабы упростить жизнь себе и вам, решил структурировать информацию и дать множество ссылок на интересные ресурсы, которые изучал я и которые рекомендую изучать вам, если вы только вначале пути (буду пополнять список постоянно).
Путь для развития новичка я вижу примерно так:
Лекции по биоинформатике: анализ данных, нейросети, и их применение в биологии и медицине
Именно этим активно и занимались участники летней школы. В этом посте собрано 22 видеозаписи лекций со слайдами и описанием для всех интересующихся темой анализа данных в биоинформатике. Лекции, которые можно смотреть без дополнительной подготовки, отмечены звёздочкой «*» (таких половина).
Не просто ностальгия: самодельные игры для NES продолжают выпускаться
Моё детство пришлось на эпоху Nintendo Entertainment System, и я всегда хотел создать собственную игру для NES. Я записывал идеи в блокнотах, чертил уровни на миллиметровке и тратил кучу времени, сочиняя MIDI-саундтреки для несуществующих игр. Все эти идеи оставались погребёнными в прошлом до 2018 года, когда я увидел документальный фильм Джо Гранато The New 8-bit Heroes о его одиссее по созданию игры своей детской мечты. Сегодня, после успешного сбора средств на его ПО NESMaker в Kickstarter, этот проект может упростить процесс создания собственных игр для NES. Однако Джо был не первым, самодельные (homebrew) игры имеют длинную историю. Сегодня мы исследуем этот уголок истории NES и расскажем о создании игр для NES на протяжении 20 лет после завершения официальной коммерческой жизни системы.
Редизайн с большой буквы: изучаем перезапуск Smashing Magazine в 2017-м
Сооснователь Smashing Magazine Виталий Фридман рассказал об этом на нашей конференции HolyJS подробнейшим образом, начав с общего дизайнерского подхода, продолжив деталями реализации фронтенда и в итоге дойдя до бэкенда. А теперь в ожидании следующей HolyJS, где Виталий выступит с новыми темами, мы сделали для вас текстовую версию этого доклада, переведя всё с английского на русский.
Получился подробнейший текст с 70 иллюстрациями (осторожно, трафик). А на случай, если вы предпочитаете смотреть англоязычный оригинал или если в нашем переводе какие-то места окажутся неясными, прикладываем и видеозапись:
Поиск и устранение неисправностей Node.js-приложений под капотом
Мы расшифровали для Хабра доклад Николая Матвиенко из Grid Dynamics с нашей конференции HolyJS. Далее повествование идёт от лица спикера.
Топ VSCode расширений, которые ускорят вашу разработку на JavaScript
Для VSCode созданы тысячи расширений. Я намерен представить несколько из них, которые использую каждый день. Приступим!
SEO оптимизация статьи: актуальный план
Осторожно! Лонгрид.
Речь пойдет об оптимизации страницы статьи для поисковых систем. Данный материал больше подходит для продвижения в Яндексе.
Специально для Хабровцев, в заключении есть список всех разделов применимых к Хабрастатьям.
27.04.2018 UPD// Эта страница уже в ТОПе Яндекса "оптимизация статьи". И в топе Google.
Как работает JS: отслеживание изменений в DOM с помощью MutationObserver
Клиентские части веб-приложений становятся всё сложнее, требуют всё больше системных ресурсов. Происходит это по разным причинам, в частности из-за того, что таким приложениям нужны продвинутые интерфейсы, благодаря которым раскрываются их возможности, и из-за того, что им приходится выполнять сложные вычисления на стороне клиента.
Всё это ведёт к усложнению задачи контроля состояния интерфейсов приложений в процессе их жизненного цикла. Эта задача становится ещё масштабнее в том случае, если речь идёт о разработке чего-то вроде фреймворка или даже обычной библиотеки, когда, например, нужно реагировать на то, что происходит со страницей и выполнять какие-то действия, зависящие от DOM.
«Репетитор: математика» для подготовки к ЕГЭ и ВПР — от идеи до релиза. Рассказ об уникальном образовательном проекте
Содержание
Вступительное слово
С чего все началось?
— Зарождение идеи и задач
Как перевести в цифровой формат то, что делает профессиональный репетитор?
— Основные идеи приложения
— Как обеспечить индивидуальный подход к каждому пользователю?
Продумывание основных элементов проекта
— Дизайн приложения и его флоу-чарт
— Дизайн бэк-энда (системы создания и управления ресурсами приложения)
— В какой последовательности все делать?
Создание контента
— Авторский контент
— Перевод авторского контента в систему создания и управления ресурсами
Разработка IT-решения
— Разработка бэк-энда
— Разработка фронт-энда
— Разработка дизайна
Трудности перед релизом
— Функционал покупки
— Единство дизайна
— Логотип приложения
Релиз
Дальнейшие планы развития проекта: что мы делаем сейчас?
— Функционал экспертной поддержки
— Чат
— Кроссплатформенная покупка
Партнерская программа
Блог для учеников и их родителей, учителей и репетиторов и другой контент
Эпилог
Вступительное слово
Уже более года назад — в декабре 2016 г. мы начали продумывать идею приложения «Репетитор: математика», которое позволило бы любому школьнику самостоятельно, просто и эффективно готовиться к экзаменам, которые встретятся в его жизни. При этом хотелось, чтобы наше приложение также было полезно учителям, репетиторам и родителям, являясь для них своего рода "готовыми рельсами" для работы с детьми.
Самый актуальный экзамен в жизни любого школьника — своего рода кульминация всего 11-летнего обучения — это Единый государственный экзамен, известный всем под аббревиатурой ЕГЭ. Подготовка к нему сложна и терниста, особенно если учесть, что в современных реалиях нашего образования далеко не каждый школьный учитель может подготовить своих учеников к сдаче этого экзамена на максимальный балл.
Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 2 — Hello World
В этой части, мы допилим серверную часть и напишем изоморфный «Hello World» на Ractive, а также соберем все это с помощью Webpack.
Как работает JS: веб-воркеры и пять сценариев их использования
Часть 2: О внутреннем устройстве V8 и оптимизации кода
Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними
Часть 4: Цикл событий, асинхронность и пять способов улучшения кода с помощью async / await
Часть 5: WebSocket и HTTP/2+SSE. Что выбрать?
Часть 6: Особенности и сфера применения WebAssembly
Часть 7: Веб-воркеры и пять сценариев их использования
Часть 8: Сервис-воркеры
Часть 9: Веб push-уведомления
Часть 10: Отслеживание изменений в DOM с помощью MutationObserver
Часть 11: Движки рендеринга веб-страниц и советы по оптимизации их производительности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 13: Анимация средствами CSS и JavaScript
Часть 14: Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация
Часть 15: Как работает JS: классы и наследование, транспиляция в Babel и TypeScript
Часть 16: Как работает JS: системы хранения данных
Часть 17: Как работает JS: технология Shadow DOM и веб-компоненты
Часть 18: Как работает JS: WebRTC и механизмы P2P-коммуникаций
Часть 19: Как работает JS: пользовательские элементы
Публикуем перевод седьмой части часть серии материалов об особенностях работы различных механизмов JavaScript. Наша сегодняшняя тема — веб-воркеры. В частности, речь пойдёт о различных типах веб-воркеров, о том, как организована совместная работа тех частей, из которых они состоят, а также об их возможностях и об ограничениях, с которыми можно столкнуться в разных сценариях их использования. Здесь же будет показано 5 вариантов практического применения веб-воркеров.
Фронтенд-2017: о самом важном
В этом материале мы поговорим о некоторых важных событиях, которые произошли в этом году в экосистеме клиентской веб-разработки, обращая особое внимание на общие тренды.
Дайджест свежих материалов из мира фронтенда за последнюю неделю №294 (18 — 24 декабря 2017)
Дайджест свежих материалов из мира фронтенда за последнюю неделю №293 (11 — 17 декабря 2017)
Список лучших инструментов для web-анимации
Список лучших инструментов для web-анимации. SVG/CSS/Canvas/DOM анимация + GUI инструменты для генерации кривых Безье и CSS анимации.
Репозиторий: github.com/sergey-pimenov/awesome-web-animation
Страница-каталог: awesome-web-animation.netlify.app
В будущем список будет дополнен книгами и видео-курсами по web-анимации. Если вы заметите, что какого-то стоящего инструмента не присутствует — пожалуйста, напишите об этом и я добавлю его.
Также буду рад отзывам на инструменты из текущего списка, с помощью ваших отзывов я смогу сделать описание инструментов более полным.
Stryker, мутационное тестирование в JavaScript
Недавно я познакомился с методом тестирования ПО под названием «Мутационное тестирование» и уже успел стать фанатом такого подхода к написанию тестов.
Сначала теория
Цель мутационного тестирования состоит в выявлении неэффективных и неполных тестов, то есть это по сути тестирование тестов.
Идея состоит в том, чтобы изменять небольшие случайные фрагменты исходного кода и наблюдать за реакцией тестов. Если после внесения изменений тесты всё равно пройдены, то такой набор тестов неэффективен или неполон.
Information
- Rating
- Does not participate
- Registered
- Activity