Как стать автором
Обновить
4
0

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

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

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

Время на прочтение7 мин
Количество просмотров41K
К сожалению, не все покупки с пересылкой в другой город на онлайн-барахолках удачные. Иногда продавцы умалчивают серьёзные дефекты ништяков, а на почте всё проверить невозможно: ведь очередь тоже ждать не будет! Так и случилось в рамках сегодняшней статьи, когда я заказал Samsung Galaxy J3 и S4 за 1.000 рублей, а у них обоих оказались очень серьёзные косяки, о которых продавец конечно же умолчал! У J3 был сколот дисплей (на фотографии не было видно), он стоял на пароле (об этом было оговорено заранее) и у него варварски, вместе с пятачками был выдран один из сим-лотков! Но он отнюдь не бесполезен и из него можно сделать вполне себе полноценный сервер. Как? Читайте в статье!

image
Читать дальше →
Всего голосов 49: ↑43 и ↓6+43
Комментарии73

«Эстонская айтишница» Юлия рассказала о том, что на волне скандала в Твиттере ее уволили одним днем

Время на прочтение2 мин
Количество просмотров35K

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

Читать далее
Всего голосов 69: ↑41 и ↓28+28
Комментарии275

Сравниваем async/await и then/catch с примерами

Время на прочтение10 мин
Количество просмотров42K

 В JavaScript есть два основных способа обработки асинхронного кода: Promise (ES6) и async / await (ES7). Эти синтаксисы дают нам равные базовые функции, но по-разному влияют на читаемость и область видимости. В этой статье мы увидим, как один синтаксис помогает, а другой отправляет нас в callback hell! Материал адаптирован на русский язык совместно с Тимофеем Тиуновым, автором курса “JavaScript” в Skillbox.

Читать далее
Всего голосов 16: ↑8 и ↓8+6
Комментарии26

Самый крутой бесплатный ресурс по обучению программированию с нуля

Время на прочтение3 мин
Количество просмотров86K
image


Куинси Ларсон, основатель бесплатной образовательной платформы для программистов freeCodeCamp

Куинси Ларсон


Путь Куинси Ларсона в программирование был замысловатым. Он 6 лет был директором школы и вдруг ему захотелось повысить эффективность системы образования, поэтому стал учиться программированию. Куинси Ларсон проанализировал, какие были учебные программы (буткэмпы) на тот момент и понял, что ни о какой доступности и открытости нет речи, и тогда решил сделать свой инклюзивный-диверсити-бесплатный образовательный лагерь в 2014 году. Куинси Ларсон хотел помочь начинающим программистам, чтобы те не шли таким корявым путем как он сам. Благодаря freeCodeCamp теперь никто больше не должен есть стекловату и смотреть в бездну. Узнав про мотивацию Куинси Ларсона, я обрадовался, ибо не один я такой странный и хочу собрать концентрат, Ontol, самых полезных бесплатных материалов в одном месте.

Помимо работы над freeCodeCamp, Куинси Ларсон борется за свободный интернет, контрибьютит в open-source и играется со своими двумя детишками.

freeCodeCamp


Образовательной платформой FreeCodeCamp пользуются 350 000 студентов в день из 160 стран. За 2021 год студенты провели за обучением 2,1 млрд минут или 4000 лет. 217 000 учеников считают себя выпускниками этой школы, 40 000 получили работу ИТишника впервые, после обучения тут.

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

На русском языке про FreeCodeCamp нет странички в Википедии (хотя есть на сербском, албанском, португальском, манипури, румынском, малаяльском языках), зато есть сотни более кривых «пересказов» их курсов на русском языке, но не бесплатно, а за 150к+
Читать дальше →
Всего голосов 26: ↑16 и ↓10+11
Комментарии11

МВД отжало у меня телеграмм, или о дыре в защите

Время на прочтение2 мин
Количество просмотров103K

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

Читать далее
Всего голосов 265: ↑244 и ↓21+294
Комментарии427

Откровенности от Bayer: обе мРНК-вакцины — это замаскированные инъекции «клеточной и генной терапии»

Время на прочтение1 мин
Количество просмотров18K

В Берлине с 24 по 26 октября проходил Всемирный саммит по здравоохранению. Перед 6 000 участников из 120 стран президент фармацевтического подразделения компании Bayer Стефан Элрих (Stefan Oelrich) сообщил, что обе мРНК-«вакцины» от Pfizer-BioNTech и Moderna — это вовсе не вакцины, а скорее замаскированные инъекции «клеточной и генной терапии» (источник — LifeSiteNews.com).

Он объяснил, что если бы эти инъекции были представлены на рынке в том виде, в каком они есть на самом деле, то Bayer получил бы 95% отказов от этих уколов, но пандемия и маркетинг инъекций как «вакцины» сделали их популярными среди населения.

Читать далее
Всего голосов 123: ↑25 и ↓98-65
Комментарии67

React.js: размышления об управлении состоянием и повторном рендеринге

Время на прочтение14 мин
Количество просмотров17K



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


В этой статье я хочу поговорить с вами об управлении состоянием и повторном рендеринге в React.js.


Что такое состояние и зачем им управлять?


Состояние/state можно определить как любые данные, которые влияют на рендеринг/rendering компонентов. Состояние хранится в реактивных переменных/reactive variables ](в терминологии RxJS).


Управление состоянием/state management — это механизм, позволяющий создавать реактивные переменные, фиксировать изменения их значений и уведомлять об этом "заинтересованные" компоненты. Как правило, такой механизм реализуется с помощью паттерна Издатель-Подписчик/Publisher-Subscriber/Pub-Sub.


Реакция компонентов на изменение состояния часто, но далеко не всегда завершается добавлением/модификацией/удалением HTML-элементов в/из DOM. Как известно, операции, связанные с манипулированием DOM, являются очень медленными. Это обуславливает необходимость грамотного управления состоянием приложений.

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии18

Отладка React для самых маленьких

Время на прочтение3 мин
Количество просмотров19K

Эта статья для тех, кто только начинает свой путь в написании больших React приложений, но все еще использует только console.log для их дебага. Мы с вами рассмотрим работу с расширением для браузера "React Developer Tools" на простом примере, который в дальнейшем вы сможете применить в своих проектах. Это расширение дает возможность просмотра дерева компонентов, их props, состояния и контекста. Также достаточно просто отловить неэффективные компоненты, которые подвергаются повторному рендерингу, посмотреть сколько на это уходит времени и построить графики для визуализации эффективности компонентов. Благодаря этой информации вы не только сможете оптимизировать ваше приложение, но и более глубоко изучить React и понять все тонкости работы с ним.

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии1

Создание кастомизируемого Dropdown для React на TypeScript

Время на прочтение11 мин
Количество просмотров33K

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

В этой статье будет рассмотрен пример создания такого компонента с использованием React, TypeScript и styled-components (замечу, что использование css-in-js - опционально. Вы можете использовать любой способ стилизации, который вам по душе).

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии20

Пишем кастомный Хук для фильтров используя параметры страницы (query string)

Время на прочтение5 мин
Количество просмотров10K

Пишем кастомный Хук для фильтров используя параметры страницы(query string). Если вам нужно использовать параметры страницы в качестве источника некоторых данных, то возможно данная статья будет для вас полезной.

Читать далее
Всего голосов 4: ↑2 и ↓2+2
Комментарии12

Teaful — крошечная, простая и мощная библиотека управления состояниями React

Время на прочтение9 мин
Количество просмотров4.4K

Способов управления состоянием между компонентами в React множество. Из-за простоты автор остановился на React Context, но есть проблема. Если изменить значение одного поля, повторно будут отрисованы все компоненты, работающие с полями состояния.

Библиотека Teaful, которая в начале разработки называлась Fragmented store, решает эту проблему. Результат вы видите на КДПВ. Рассказываем о Teaful, пока начинается наш курс по Fullstack-разработке на Python.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии12

Неудобная правда: как Tesla стала триллионной компанией

Время на прочтение10 мин
Количество просмотров89K

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

Читать далее
Всего голосов 277: ↑195 и ↓82+157
Комментарии766

Настоящий компьютер в Майнкрафте

Время на прочтение3 мин
Количество просмотров40K

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

Читать дальше
Всего голосов 42: ↑39 и ↓3+43
Комментарии26

Полное руководство по созданию классических приложений на JavaScript

Время на прочтение8 мин
Количество просмотров16K

Еще недавно разработка классических приложений считалась сложной задачей — для этого приходилось учить специальный язык программирования, например Java или C++. К счастью, сейчас веб-разработчики могут создавать прекрасные классические приложения, конвертируя код JavaScript в полноценные программы. Давайте разберемся, что для этого нужно.

Читать далее
Всего голосов 12: ↑4 и ↓8-4
Комментарии3

Линейные двигатели внутреннего сгорания — в роли портативных источников энергии и не только

Время на прочтение9 мин
Количество просмотров29K


Более 100 лет известен такой механизм, как двигатель внутреннего сгорания.

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

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

Всего голосов 61: ↑57 и ↓4+71
Комментарии101

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

Время на прочтение4 мин
Количество просмотров27K

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

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

Читать далее
Всего голосов 107: ↑107 и ↓0+107
Комментарии55

Самодельный миниатюрный лазерный гравер на Arduino Uno

Время на прочтение4 мин
Количество просмотров36K

Полагаю, что проект, о котором я хочу рассказать, будет интересен всем, кто занимается электроникой. А именно, речь идёт о миниатюрном лазерном гравере, с помощью которого можно наносить изображения на картон, на дерево, на виниловые наклейки и на прочие подобные материалы. Идею проекта я почерпнул из этого руководства, сделав кое-что по-своему.
Как сделать гравер?
Всего голосов 41: ↑38 и ↓3+42
Комментарии21

Дорогой Хабр, формат GIF устарел, включи пожалуйста H.264

Время на прочтение1 мин
Количество просмотров53K
image
Анимированная GIF. Файл весит 4МБ

Эта анимированная гифка весит 4МБ, хотя может весить В ДЕСЯТЬ РАЗ МЕНЬШЕ — 380кб! Это ужасно, потому что нагружает интернет-каналы в десятки раз больше, чем должно.

Почему GIF должен умереть


  • Вес файла GIF ровно в 10 раз больше чем H264
  • Анимированный GIF поддерживает только 256 цветов
  • Формат H264 поддерживают ВСЕ современные браузеры
  • Так как H264 это по сути видео, к нему опционально можно добавить элементы управления: перемотку, паузу.

Я делаю сложные большие статьи с кучей видео, демонстраций функций, анимаций. Совесть не позволяет мне вставлять гифки по 20МБ в статью, потому что это преступление против современных технологий и каналов провайдеров. Поэтому я прошу хабр добавить возможность вставлять H264 с автовоспроизведением БЕЗ звука, при этом скрывать элементы управления плеера.
Всего голосов 245: ↑222 и ↓23+269
Комментарии270

Что читать на английском языке чтобы не умереть от скуки

Время на прочтение9 мин
Количество просмотров49K

Читать на английском – интересно и полезно. Однако, многолетнему обитателю рунета непросто найти хорошие иностранные ресурсы. Плюс, многое из найденного оказывается скучным или слишком сложным. Я постарался подобрать интересные сайты для практики английского и понять, какие из них имеют доступный уровень сложности, а какие – более 9999999.

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

Читать далее
Всего голосов 20: ↑19 и ↓1+23
Комментарии16

CSS, JavaScript и блокировка парсинга веб-страниц

Время на прочтение5 мин
Количество просмотров15K
Недавно мне попался материал, посвящённый проблеме загрузки CSS-файлов, которая замедляет обработку материалов страниц. Я читал ту статью, стремясь научиться чему-то новому, но мне показалось, что то, о чём там говорилось, не вполне соответствует истине. Поэтому я провёл собственное исследование этой темы и поэкспериментировал с загрузкой CSS и JavaScript.


Читать дальше →
Всего голосов 29: ↑26 и ↓3+33
Комментарии9

Информация

В рейтинге
4 418-й
Зарегистрирован
Активность