Pull to refresh
2
0
Вадим @Solar5503

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

Send message

«Документы Facebook»: как всё начиналось и что стало известно из слитых данных

Reading time9 min
Views43K

Последние пару месяцев компания Facebook, переименованная в конце октября в Meta, переживает не лучшие времена — зарубежные СМИ пестрят новостями с обзорами внутренних расследований, раскрывающих печальные факты из деятельности компании, государственные ведомства США заводят дела против Meta, инвесторы подают в суд за махинации с отчётами, стоимость акций стремительно снижается. Всё это произошло после того, как бывшая сотрудница Meta Френсис Хауген перед увольнением слила в СМИ и Конгрессу США внутренние документы компании. Что такого страшного в этих документах, кто такая Хауген и что на данный момент известно — рассказываем в материале.

Читать далее

Типы значений в CSS. Абсолютные, относительные и всякие другие

Reading time5 min
Views16K

Давайте без лишних слов разберёмся, какие бывают типы значений у CSS-свойств, и определим, чем отличаются абсолютные и относительные значения (все эти em, rem, vh, vw), как задать красный цвет шестью способами, и зачем нужны CSS-директивы.

Читать далее

20 вещей, которые я узнал за 20 лет работы инженером-программистом

Reading time8 min
Views100K

Наткнулся на любопытный материал, в котором автор систематизировал и записал свой опыт инженера-программиста в 20 тезисов. Я работаю в коммерческой разработке ПО больше 25 лет, и этот текст отозвался во мне практически каждой буквой — большинство советов я тоже регулярно практикую, не облекая их в формат ёмких афоризмов. В общем, решил сделать перевод.

Особенно отзываются пункты «стройте компактные системы» и «лучший код — это отсутствие кода». Последний совет я превращаю в цитату из какого-то второсортного фильма про самураев: «Лучшая победа — та, которую ты одержал, не доставая меч из ножен» (думаю, сослуживцы за моей спиной уже закатывают глаза). И, конечно, бесконечные разговоры про легендарных 10x-программистов постоянно хочется прервать советом не связываться с 0,1x-программистами (которые реально существуют, в отличие от 10x).

Читать далее

История о CSS-сбросах и все, что о них нужно знать. Еще раз об этом

Reading time40 min
Views30K

Небольшое вступление: меня заинтересовали CSS-сбросы по вполне практичной причине. Я инженер-консультант по программному обеспечению, поэтому работаю с разными клиентами и время от времени начинаю новые проекты.

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

Читать далее

Что за черт, Javascript

Reading time17 min
Views165K


Этот пост — список забавных и хитрых примеров на JavaScript. Это отличный язык. У него простой синтаксис, большая экосистема и, что гораздо важнее, огромное сообщество.


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

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

DOM, который построил Chrome. Или не построил? Или не Chrome? Или не DOM?

Reading time15 min
Views25K

Обычный, теневой, виртуальный, инкрементальный… Как получилось, что простой программный интерфейс доступа к элементам веб-страниц обзавелся таким количеством «родственников»? Чем современные фреймворки не устраивает стандартная объектная модель документа или просто DOM? Что и как на самом деле отрисовывает браузер в процессе рендера веб-страницы?

Всем привет, это Макс Кравец из Holyweb. Помните сцену из Матрицы, в которой один из юных кандидатов в Избранные наставляет Нео: «Не пытайся согнуть ложку. Первое, что ты должен понять — ложки не существует!»? Давайте переформулирую: «Не пытайся изменить DOM...». А вот о том, что прячется под многоточием, мы сегодня и поговорим.

Читать далее

JavaScript: разрабатываем приложение для записи звука

Reading time12 min
Views14K


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


В этом небольшом "туториале" я хочу показать вам, как разработать приложение для записи и воспроизведения аудио-файлов.


Функционал нашего приложения будет следующим:


  • запись аудио
  • отображение записи с возможностью ее предварительного прослушивания и последующего сохранения или удаления
  • хранение аудио-файлов на сервере
  • извлечение аудио-файлов, хранящихся на сервере, и их отображение в браузере

Основная технология, которую мы будем использовать, это MediaDevices. Данная технология входит в состав глобального объекта Navigator. Основным методом, предоставляемым указанным интерфейсом является getUserMedia(). Запись данных (в простых случаях вроде нашего) выполняется с помощью интерфейса MediaRecorder.


Интерфейс MediaDevices на сегодняшний день поддерживается всеми современными браузерами.


Для небольшой стилизации нашего приложения мы будем использовать Sass.


Выглядеть приложение примерно так:





Исходный код приложения.


Основным источником вдохновения для меня послужила эта замечательная статья.


Обратите внимание: данная статья рассчитана, преимущественно, на начинающих разработчиков, хотя, смею надеяться, что и опытные найдут в ней что-нибудь интересное.


Вы готовы? Тогда вперед!

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

«Рост зарплат в IT это плохо? Вы же шутите, да?»

Reading time16 min
Views86K

Недавно мы выпустили статью «Дефицит в IT: платите больше» о росте зарплат. Совпадение или нет, но чуть позже вышла статья о минусах большого заработка у российских айтишников. Автор рассуждал о том, как высокие зарплаты могут навредить IT-отрасли. На первый взгляд аргументы выглядят логично. Но это только на первый взгляд.

Читать далее

Приемы оптимизации веб-графики в 2021 году

Reading time4 min
Views11K

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

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

Читать далее

Лучший язык программирования

Reading time6 min
Views110K

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

Можно ли на него ответить?

Читать далее

Термо принтер и JavaScript

Reading time6 min
Views20K

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

Читать далее

35 инструментов для веб-разработчика на каждый день

Reading time4 min
Views46K

Кроме редактора кода, терминала, браузера и гита веб-разработчики пользуются вагоном и маленькой тележкой маленьких инструментов, которые выполняют какую-то одну задачу, но могут пригодиться в ежедневной работе. Предлагаем вам нашу подборку — надеемся, что что-то пригодится, а по поводу чего-то вы и вовсе скажете «А что, так можно было?».

Краткое содержание: проверка кода по стандартам, проверка вёрстки и стилей, работа с кодом, работа с графикой (SVG, фавиконки, конвертеры и сжималки), работа с текстом (типографы и конвертеры всего во всё).

Дисклеймер: подборка не претендует на полноту, но в комментариях собираем другие полезные инструменты.

Читать далее

Используйте фавиконки правильно

Reading time6 min
Views121K

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

Фавиконки — ответственность верстальщика. Под катом рассказ о том, как подключить обязательную фавиконку и каким должен быть набор иконок, как использовать иконки в SVG, что нужно дополнительно сделать для устройств от Apple, и почему хорошо использовать webmanifest для подключения всех фавиконок к вашему сайту.

Читать далее

48 полноценных бесплатных книг для программистов (happy developer's day)

Reading time2 min
Views113K

Привет, Хабр! Немного запоздало (ко дню программиста) делюсь подборкой бесплатных книг по программированию. Все они полезные, уровень скорее профессиональный, хотя и для развития от базового тоже подойдет, но, к сожалению, на английском. Среди тем книг: .NET, Алгоритмы, Android, iOS, Angular, C, C++, C#, JS, Linux, Python. В целом, найдется почти любая тема, которая приходит в голову.

Дисклеймер. Все эти книги взяты с одного ресурса, который существует за счет донейшенов. Получить книги можно без осуществления донейшенов, ресурс полностью бесплатный, пожертвования опциональны. Все книги написаны на основе контента со StackOverflow и являются код-ориентированными. Книги со временем обновляются. По ссылкам -- книги, актуальные на 15.09.2021.

Читать далее

Что нужно знать о популярных JS-фреймворках

Reading time22 min
Views85K

Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Group, Front-end, ABBYY.


Студенты недавно задали мне вопрос: «Что лучше: Angular или React?». Я начал отвечать и понял, что мне понадобится для этого статья. Позже я понял, что и одной статьи не хватит.


О том, какой фреймворк выбрать, я расскажу в другой раз. А в этой статье опишу историю создания фреймворков и их особенности. Выбрать рабочий инструмент статья не поможет. Зато поможет вести споры с другими разработчиками на кухне (если не будет карантина) и в сети. Статья будет полезна новичкам, которые только начинают своё знакомство с фреймворками и библиотеками, и поможет взглянуть на «зоопарк» веб-технологий сверху.


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

Дизайн без дизайнера

Reading time12 min
Views9K

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

Чтобы всё не запороть с самого начала, можно попробовать воспользоваться рекомендациями, которые изложены в этой статье. Они относятся к трём основным аспектам хорошего дизайна: работа с формами, типографика, композиция. Воспользовавшись этими рекомендациями вы не станете отличным дизайнером, но сможете избежать неприятных ошибок, способных свести продукт в могилу. А заодно узнаете немного нового про дизайн и просто начнёте немного лучше разбираться в UI/UX.

Немедленно прочесть

Что же такое этот GraphQL?

Reading time9 min
Views704K

Вашему вниманию предлагаю перевод статьи Sacha Greif "Что же такое этот GraphQL?"


Если вы такой же, как и я, вы обычно проходите через три этапа, когда узнаёте о новой технологии:


  • Отрицание: Ещё одна JavaScript библиотека?! Зачем? У меня уже есть jQuery!
  • Интерес: Хм, наверное мне следует взглянуть на эту библиотеку...
  • Паника: Помогите! Мне нужно изучить эту библиотеку прямо сейчас, иначе мои знания устареют!

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


Именно поэтому сейчас самое время узнать, что же такое этот GraphQL, о котором вы повсюду слышите.

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

Улучшаем карму: раскручиваем гайки на Хабре

Reading time5 min
Views39K

Карма была одним из первых механизмов, появившихся на Хабре. И сколько она существовала, столько же времени были посты о том, что она работает не так, как ожидает конкретный автор. И что если срочно не принять меры, то Хабр вот-вот загнётся.

Большинство предложений разбивались о какие-то специфические особенности Хабра и ситуации, которые изначально не брались в расчёт. Иногда присутствовало здоровое зерно логики. Встречались и чрезмерно сложные фантазии. Мы читали каждый такой пост и комментарии к нему, мотали на ус, делали какие-то расчёты, но всё же не спешили вносить изменения. В функцию, которая может и не идеально, но всё же 15 лет проработала основой пользовательской регуляции.

Но сегодня мы анонсируем два изменения в механизме кармы.

Читать далее

Ключевое слово this в javascript — учимся определять контекст на практике

Reading time4 min
Views185K
По просьбам некоторых читателей решил написать топик про контекст в javascript. Новички javascript часто не понимают значение ключевого слова this в javascript. Данный топик будет интересен не только новичкам, а также тем, кто просто хочет освежить данный аспект в памяти. Посмотрите пример ниже. Если вы затрудняетесь ответить на вопрос «что будет выведено в логе» хотя бы в одном из пунктов или хотите просто посмотреть ответы — добро пожаловать под кат.

var f = function() {
    this.x = 5;
    (function() {
        this.x = 3;
    })();
    console.log(this.x);
};

var obj = {x: 4, m: function() {
    console.log(this.x);
}};


f();
new f();
obj.m();
new obj.m();
f.call(f);
obj.m.call(f);

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

Как я получил 4 оффера в FAANG в Европе или из Воронежа в Лондон

Reading time16 min
Views45K


Очередная история успеха после череды неудач. Расскажу, чего мне стоило получить офферы от Facebook*, Google, Amazon, JP Morgan в Европе, как я готовился, сколько собесов зафейлил перед тем, как удача повернулась ко мне правильной стороной.


TL;DR. Послал сотни резюме. Прорешал около 100 задач на Leetcode. Прочел книжку по архитектуре (не той, которая про дома, а той, которая system design). Прошел 9 интервью. Получил 4 оффера. Принял 1. Жил, пока что, не очень долго, но, вполне себе, счастливо в Лондоне.
Читать дальше →

Information

Rating
Does not participate
Location
Курск, Курская обл., Россия
Date of birth
Registered
Activity