Обновить
0
@Lifehack043read⁠-⁠only

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

Отправить сообщение

Погружение во внедрение зависимостей (DI), или как взломать Матрицу

Время на прочтение9 мин
Охват и читатели7.9K

Давным-давно в далекой Галактике, когда сестры Вачовски еще были братьями, искусственный разум в лице Архитектора поработил человечество и создал Матрицу… Всем привет, это снова Максим Кравец из Holyweb, и сегодня я хочу поговорить про Dependency Injection, то есть про внедрение зависимостей, или просто DI. Зачем? Возможно, просто хочется почувствовать себя Морфеусом, произнеся сакраментальное: «Я не могу объяснить тебе, что такое DI, я могу лишь показать тебе правду».  

Читать далее

Карманная книга по TypeScript. Часть 1. Основы

Время на прочтение7 мин
Охват и читатели86K

Обратите внимание: для большого удобства в изучении книга была оформлена в виде прогрессивного веб-приложения.



С сегодняшнего дня мы начинаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript".


Каждое значение в JavaScript при выполнении над ним каких-либо операций ведет себя определенным образом. Это может звучать несколько абстрактно, но, в качестве примера, попробуем выполнить некоторые операции над переменной message:


// Получаем доступ к свойству `toLowerCase`

// и вызываем его

message.toLowerCase()

// Вызываем `message`

message()

На первой строке мы получаем доступ к свойству toLowerCase и вызываем его. На второй строке мы пытаемся вызвать message.


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


  • Является ли переменная message вызываемой?
  • Имеет ли она свойство toLowerCase?
  • Если имеет, является ли toLowerCase вызываемым?
  • Если оба этих значения являются вызываемыми, то что они возвращают?

Ответы на эти вопросы, как правило, хранятся в нашей памяти, поэтому остается только надеяться, что мы все помним правильно.

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

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

Время на прочтение13 мин
Охват и читатели70K
image

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

В общем, медицина — довольно дорогая штука вообще. Средний гражданин России платит, грубо говоря, 40 тысяч рублей в год только за ОМС (в виде отчислений с зарплаты) — и получает за это предельно дешёвый сервис на базе многих вещей, цены на которые удерживаются низкими с помощью федеральной антимонопольной службой и субсидиями. Но как только речь заходит о чём-то хоть немного немассовом — всё становится интереснее.

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

Практическое руководство по именованию классов, функций и переменных

Время на прочтение4 мин
Охват и читатели57K

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

Читать далее

SVGator.com на практике

Время на прочтение4 мин
Охват и читатели6.1K

Как мы пришли к SVGator.com

Digital-рынок сегодня насыщен хорошими решениями, тренды не стоят на месте, одним
из доминантных признаков качества становится анимация интерфейса. В рамках разработки группы продуктов Своё и банковских сервисов Россельхозбанка мы с командой рассматривали
различные решения.

Наш путь начался с lottie, как с более популярного сервиса. Ключевой недостаток: встроенная api. Нам хотелось найти более прагматичное решение без интеграции, поэтому выбор пал на SVGator. В наши цели попадало закрытие микроанимаций элементов интерфейса, оформительские детали и т.п.

Что за зверь и какие задачи решает

SVGator.com — это web-платформа для создания svg-анимаций, то есть svg-файлов со встроенными анимациями, которые без каких-либо проблем интегрируются в html. Можно задать последовательную обработку таких анимаций. Возможен экспорт как js, так и чистым CSS. Возможности js немного шире, но разница не существенная.

В рамках продуктов группы Своё мы создавали различные анимации для лоадеров, микроэлементов (таких как стрелка дропдауна), логотипов и элементов оформления. Мы ещё находимся на стадии экспериментов с SVGator, но уже чётко понимаем, в каких моментах он имеет преимущества и что можно создать с его помощью:

 Небольшие функциональные элементы интерфейса. Например, интерактивные состояния компонентов и вытекающая микроанимация

 Регулярные объекты, которые можно усилить посредством анимации. Например, логотипы, в частности, кейс с кастомизацией лого под праздники

Элементы дизайна. Например, иллюстрации

Читать далее

Грязные трюки видеоигр

Время на прочтение11 мин
Охват и читатели19K

Бретт Дувилл, LucasArts

В начале 2002 года мы подготавливали Star Wars: Jedi Starfighter к передаче Sony для проверки. У нас оставался один пустячный баг TCR: при загрузке катсцен после миссий отключалась работа аналогового стика контроллера, что приводило и к отключению красного индикатора в центре контроллера. Этот баг проявился, когда мы обновились до версии библиотеки, которую требовала Sony, а программист, который писал и код загрузки видеороликов, и логику процессора ввода-вывода для контроллера, уволился из LucasArts за несколько месяцев до этого.

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

Существует старое выражение: если ты не понимаешь причины, то нельзя утверждать, что ты устранил баг. В данном случае у нас оставалось два-три дня до даты передачи игры Sony, и опоздание оказалось бы серьёзной проблемой. Поэтому я изменил все цвета сброса экрана на чёрный, пометил баг как устранённый и умыл руки. Мы выпустили игру вовремя, и никакие баги TCR больше не появлялись.

Читать далее

Инструменты для аудита CSS

Время на прочтение6 мин
Охват и читатели11K


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

Существуют некоторые инструменты, облегчающие выполнение указанных задач. Но давайте начнем с того, что понимается под «аудитом» CSS.

Аудит CSS — задача не из легких


Как правило, оценка качества кода включает в себя его анализ в поиске багов и других проблем, например, проблем с производительностью. Для большинства языков программирования концепция аудита кода проста: она работает или не работает. Но CSS — это особенный язык, большая часть ошибок которого игнорируется браузером. Один и тот же стиль можно применять совершенно по-разному. Это обуславливает сложность аудита CSS. И «сложность» — это еще мягко сказано.
Читать дальше →

Почему мы перешли с Webpack на Vite

Время на прочтение2 мин
Охват и читатели53K
image


Миссия Replit — сделать программирование более доступным. Мы предоставляем людям бесплатные вычисления в облаке, чтобы они могли создавать приложения на любом устройстве. Одним из самых популярных способов создания приложений в Интернете на сегодняшний день является React. Однако исторически инструменты React были медленными на Replit. В то время как экосистема JavaScript создала отличные инструменты для профессиональных разработчиков, многие из самых популярных из них, такие как Create React App и Webpack, становятся все более сложными и неэффективными.

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

Этот новый опыт основан на Vite, инструменте сборки JavaScript, который обеспечивает быструю и экономичную разработку. Vite поставляется с рядом функций, включая HMR или Hot Module Replacement, команду сборки, которая объединяет ваши инструменты с Rollup, и встроенную поддержку TypeScript и JSX.

Лингвистическая фантастика. Книги, в которых язык больше, чем просто средство для общения

Время на прочтение5 мин
Охват и читатели25K

Обычно когда речь идет про «научную фантастику», то наукой, которая лежит в основе сюжетов выступают физика, биология, может, компьютерные технологии. Что-то из области точных наук. Но некоторые фантасты не спешат идти проторенными путями, предпочитая удивлять читателя. Например, обращаясь к лингвистике и показывая миры или конфликты, в которых слово играет ключевую роль. 

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

Читать далее

Какие CSS-генераторы можно использовать в 2021 году

Время на прочтение2 мин
Охват и читатели38K
image

CSS генераторы экономят время и сокращают количество ошибок в коде. Они позволяют автоматизировать многие задачи, которые опытным верстальщикам или фронтендерам уже кажутся скучными. В то же время, они могут облегчить работу над задачами, которые сложны для начинающих специалистов.

Схема работы таких генераторов проста: достаточно ввести через простой визуальный интерфейс нужные вам параметры и на выходе получить готовые CSS-стили. Далее полученный код нужно скопировать и добавить в свой проект.

Известный full-stack разработчик Марко Денич предлагает свою подборку лучших CSS-генераторов. Возможно, о каких-то из них вы не знали, и, познакомившись с ними сейчас, начнёте использовать в работе.
Читать дальше →

KODI: собираем удобный и функциональный медиацентр для дома. Часть 4. Архив IPTV

Время на прочтение3 мин
Охват и читатели90K

Продолжаем «изобретать» домашний медиацентр с помощью Kubuntu и KODI. Сегодня добавим возможность работы с архивами телепередач (catchup) и сдвига для текущих трансляций (timeshift). О том, как изначально настраивали IPTV - читайте в первой части.

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

Погружаемся в логические свойства CSS

Время на прочтение5 мин
Охват и читатели19K

Поддержка логических свойств CSS со временем становится лучше. Однако мне по-прежнему трудно запомнить их, когда использую их в проекте. Что означают start и end? Несколько сложно охватить все детали без проб и ошибок.

В этой статье я нацелен прокачать вас и пробежаться по использованию логических свойств, чтобы возникло твёрдое понимание, у дизайнеров, говорящих на английском и арабском языках. Я попытался придумать визуальное объяснение логических свойств, которое, надеюсь, будет понятным. Готовы? Погружаемся!

Приятного чтения!

Таинство отбеливания пожелтевшего пластика

Время на прочтение9 мин
Охват и читатели78K

Если вы являетесь участником сообщества ретро-геймеров или любителей ретро-компьютеров, то у вас наверняка есть винтажные устройства, которые под гнетом лет поблекли и начали желтеть. Вы также могли слышать о методике Retr0bright или даже смотреть различные видео от 8-bit Guy, посвященные этой теме. Но самая суть все равно остается для большинства людей скрыта. Почему пластик желтеет, и что именно происходит в процессе Retr0bright? Да и вообще, безопасно ли использование этой техники для коллекционных экземпляров?
Читать дальше →

20 основных частей любого крупномасштабного React-приложения

Время на прочтение6 мин
Охват и читатели17K

За эти годы мне посчастливилось работать над некоторыми крупномасштабными проектами, написанными на React. Сегодня я соберу важные вещи, которые нужно учитывать при создании нового проекта или расширении функциональности любого крупномасштабного приложения. Мы начнём с самых основ, а затем пойдём глубже. Так что пристегнитесь!

Приятного чтения!

Дайджест свежих материалов из мира фронтенда за последнюю неделю №456 (22 — 28 февраля 2021)

Время на прочтение3 мин
Охват и читатели8.9K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Как составить резюме на английском для иностранной компании

Время на прочтение6 мин
Охват и читатели45K
Привет! Меня зовут Лео Скляр, я методист направления английского языка в Яндекс.Практикуме. Сейчас занимаюсь подготовкой курса английского для работы. Он может быть полезен как программистам, так и другим специалистам из digital-сферы. Я решил обобщить актуальную и самую ценную информацию из этого курса в гайд по грамотному составлению резюме на английском.

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



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

1. Специфика англоязычного резюме


В отличие от принятого в России резюме, которое больше похоже на CV (Curriculum vitae — описание профессионального пути на две–три страницы в хронологическом порядке) — резюме для американских и европейских компаний — это одностраничный документ, составленный по чёткой структуре. Такая лаконичность может казаться удивительной, но одна страница — это общепринятый стандарт резюме за рубежом. Даже если опыт большой, в резюме стоит сохранить упоминание только трёх–пяти последних мест работы, вашу позицию и ключевые достижения. Как правило, работодателя интересует актуальный опыт. Если ему потребуется узнать о вас больше, он может запросить расширенную версию резюме.
Читать дальше →

Сокеты в ОС Linux

Время на прочтение5 мин
Охват и читатели125K

В данной статье будет рассмотрено понятие сокета в операционной системе Linux: основные структуры данных, как они работают и можно ли управлять состоянием сокета с помощью приложения. В качестве практики будут рассмотрены инструменты netcat и socat.

Читать далее

Хидео Кодзима. Одинокий человек, избранный Богом

Время на прочтение5 мин
Охват и читатели7.8K
imageПривет, Хаброжители! Мы сдали в типографию очередную новинку "Хидео Кодзима. Гены гения". «Я на 70 процентов состою из фильмов» — так говорит про себя Хидео Кодзима, чье имя в индустрии игр знает каждый. Так что же подтолкнуло знаменитого разработчика на создание произведений, каждое из которых вызывает больше вопросов и обсуждений, чем дает ответов? «Гены гения» — это сборник эссе Кодзимы, посвященных мемам — единицам культурной информации, которые формируют личность точно так же, как биологические гены. Эти эссе проливают свет на все книги и фильмы, которые сформировали Хидео Кодзиму как личность и дали ему творческую энергию для создания шедевров геймдизайна. Единственная книга Кодзимы о Кодзиме теперь доступна на русском!

Вашему вниманию представлен отрывок одной главы из книги «Одинокий человек, избранный Богом».
Читать дальше →

Новая история Млечного Пути

Время на прочтение9 мин
Охват и читатели13K

За последние два года астрономы переписали историю нашей Галактики



Цифровая симуляция столкновения крупной галактики, похожей на Млечный Путь, с карликовой галактикой. Астрономы считают, что в процессе формирования Млечного Пути он участвовал, по меньшей мере, в одном подобном столкновении.

Представители койсанских народов из Чёрной Африки, наблюдая за извилистой полосой из звёзд и пыли, разделяющей ночное небо, видели в ней угли костра. Полинезийские моряки видели в небе акулу, пожирающую облака. Древние греки видели поток молока, и называли эту дорожку «млечной» – galaxias – откуда в последствии и взялся термин "галактика".

Вакцины COVID, их сравнение и принципы действия

Время на прочтение11 мин
Охват и читатели48K

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

Какие вакцины бывают, как работают, и, самое главное - что из этого следует ? В каких случаях стоит применять какие, насколько это безопасно, есть ли научный консенсус, всё ли ясно ?

Постараюсь ответить на эти вопросы в статье.

Читать далее

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность