Search
Write a publication
Pull to refresh
4
0.2

Developer

Send message

Домашний DPI, или как бороться с провайдером его же методами

Reading time16 min
Views308K

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

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

...При помощи NGINX!

Делаем вечную лампочку

Reading time3 min
Views303K
На упаковках светодиодных ламп указывают срок службы 30, 40 или 50 тысяч часов, но многие лампочки не живут и года.

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

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

PHP 8 и развитие языка в 30 вопросах и ответах

Reading time14 min
Views14K
В конце ноября мы провели стрим с Никитой Поповым и Дмитрием Стоговым, ключевыми контрибьюторами ядра PHP. За полчаса мы получили 100+ вопросов и ребята не успели ответить на все. Поэтому я сгруппировал оставшиеся сообщения по темам, отсеял совсем специфические и собрал ответы в текстовом виде. Все острые и холиварные вопросы оставил.



Готовя ответы, по многим пунктам я консультировался с Никитой и другими активными участниками сообщества. Кстати, в эту субботу, 27 февраля, мы проводим новый стрим! Будет пара докладов, несколько дискуссий, интересные гости и возможность задать новые вопросы. Читайте те, что под катом и подключайтесь, чтобы задать новые.

Всё, о чём должен знать разработчик Телеграм-ботов

Reading time15 min
Views706K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

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

Подробный гайд о том, как работать с ботами — под катом.

Читать далее

Что почитать (НаучПоп / Научная Фантастика)

Reading time6 min
Views66K

Некоторые время назад сильно увлёкся потреблением информации с научно-популярным уклоном. Но как не заблудиться в миллионах книг? Ресурс то ограничен. А значит придётся выбирать.

Удалось собрать библиотеку по 4 разделам:


Раздел 1. Законы науки и мышление
(Математика, Рациональность, Научный метод, Когнитивные искажения, Нейрофизиология, Ошибки мышления, Доказательная медицина)

Раздел 2. Законы природы
(Физика, Математика, Теория относительности, Квантовая механика, Астрофизика, Астрономия, Изобретения и открытия)

Раздел 3. Законы жизни
(Абиогенез, Теория эволюции, Молекулярная биология, Биоинформатика, Биология клетки, Антропогенез)

Раздел 4. Художественный научпоп / Научная фантастика

Обменяться рекомендациями

Букварь по F# для любопытствующих C#-разработчиков

Reading time13 min
Views10K

Предисловие


Мой переход на F# в качестве излюбленного языка был слегка усеян препятствиями. Примерно через десять лет почти постоянного использования C# у меня пробудилось любопытство, когда я услышал об этом другом #-языке. Моя первая реакция была той, которую с тех пор видел у других C#-разработчиков — отрицание, — C# является хорошим языком, и мне с ним комфортно, так зачем тратить силы на изучение другого? Но любопытство осталось — и, по крайней мере, несколько раз выделил вечер, чтобы прочитать базовый вводный пост и попытаться написать каких-нибудь ката на F#. Это не прижилось, потому что я просто чувствовал себя потерянным и не мог воплотить свой опыт использования C# в ощущение даже отдаленного комфорта с F#. Достаточно легко опустить фигурные скобки, немного замяться, чтобы не забыть let вместо var — но как сделать то, что я хотел?


Тогда я этого не осознавал, но, на мой взгляд, наблюдал потенциальный недостаток в том, как F#-разработчики говорят, описывают и представляют свой язык внешнему миру. Существует обширная база материалов обо всех возможностях и функциональности F#: Algebraic Data Types, Exhaustive Matching, Type Inference и т.д. Есть много статей, посвященных тому, как решать широкий спектр задач с помощью F#. Но, как мне кажется, не хватает чего-то вроде следующего: некоторых указаний о том, как взять то, что вам уже удобно в C#, и перевести их на F#. Так что мне интересно, можем ли мы как-то закрыть этот недостаток.

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

Пишем программу 3D-моделирования в 500 строках кода

Reading time28 min
Views26K
image

Введение


Люди от природы креативны. Мы постоянно проектируем и создаём новые, полезные и интересные вещи. Сегодня мы пишем ПО, помогающее процессу проектирования и творчества. Программы САПР (Computer-aided design, CAD) позволяют творцам проектировать здания, мосты, графику видеоигр, чудовищ для фильмов, объектов для 3D-печати и множество других вещей перед созданием физической версии проекта.

По своей сути, инструменты CAD являются способом абстрагирования трёхмерного проекта в нечто, что можно просматривать и редактировать на двухмерном экране. Чтобы справляться со своей задачей, инструменты CAD должны обеспечивать три основных элемента функциональности. Во-первых, они должны иметь структуру данных, описывающую проектируемый объект: это то, как компьютер понимает создаваемый пользователем трёхмерный мир. Во-вторых, инструмент CAD должен обеспечивать отображение проекта на экране пользователя. Пользователь проектирует физический объект с тремя измерениями, но экран компьютера имеет всего два измерения. Инструмент CAD должен моделировать способ восприятия нами объектов и отрисовывать их на экране так, чтобы пользователь смог понять все три измерения объекта. В-третьих, CAD должен предоставлять возможность взаимодействия с проектируемым объектом. Пользователь должен быть способен дополнять или модифицировать проект, чтобы создать нужный результат. Кроме того, все инструменты должны иметь возможность сохранения и загрузки проектов с диска, чтобы пользователи могли сотрудничать, обмениваться своей работой и сохранять её.
Читать дальше →

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Reading time12 min
Views68K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


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

Фантастические книги, которые вы могли пропустить в 2020 году

Reading time7 min
Views66K

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

Буду рад, если в комментариях поделитесь своими фантастическими находками.

Читать далее

Фильтры действий, или Как просто улучшить читаемость кода

Reading time10 min
Views13K


Введение


В свободное от работы время я, как и многие другие разработчики, занимаюсь созданием своих приложений, чтобы опробовать самые последние технологии, создать что-то полезное для повседневного использования или просто открыть для себя что-то новое. Одним из таких проектов было веб-приложение, которое обрабатывало данные, введённые пользователем, и планировало выполнение задач, основанных на введённых данных. Так как личные проекты не ограничены во времени, то мне хотелось по возможности избавить проект от всех раздражающих моментов. И одним из таких моментов были повторяющиеся строчки кода в методах контроллера. Я начал искать решение этой проблемы и наткнулся на фильтры. Идея использования фильтров для поддержания чистоты кода показалась мне не только интересной и эффективной, но в то же время простой, поэтому я решил поделиться этой информацией с вами.
Читать дальше →

Как удалить «неудаляемые» приложения со смартфона

Reading time5 min
Views277K


Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →

Проклятье Циолковского и благодать Оберта

Reading time15 min
Views35K

Здравствуйте, уважаемые читатели Хабра.

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

Эффект Оберта


Начнем пожалуй с Эффекта Оберта, хотя это крайне сложный эффект, но зато разобравшись с ним — мы поймем всю орбитальную физику. Для начала давайте зададимся вопросом — В чем сила, брат? — В лошадиных силах!

Сколько лошадиных сил у ракетного двигателя?

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

Давайте сразу рассмотрим 2 хороших и наглядных примера. Один из Ютуба от гаражного учёного Игоря Белецкого продемонстрировавшего эффект Оберта с помощью шприца, резинки и кое чего еще, а второй пример из Википедии.
Читать дальше →

Инфляционная мультивселенная

Reading time19 min
Views17K

Эта статья является первой частью конспекта книги «Скрытая реальность: Параллельные миры и глубинные законы Космоса». Материал статьи посвящен инфляционной модели Вселенной.

В середине XX в. впервые было осознанно, что в микроволновой части спектра повсюду в космосе однородное свечение. Где его начало? В начале. Физики обнаружили, что это свечение является дошедшим до наших дней отголоском рождения Вселенной. История этого достижения является очередным успехом теории Большого взрыва, но одновременно с этим вскрывает один из фундаментальных недостатков теории и создает площадку для последующего ключевого прорыва в космологии – инфляционной космологии.

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

Читать далее

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

Reading time22 min
Views85K

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


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


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


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

Компьютерное кресло: критерии выбора и обзор конкретной модели

Reading time42 min
Views296K
“Если ваш путь лишён препятствий, скорее всего он ведёт не туда.” — Че Гевара

КДПВНа Хабре не так много статей, посвящённых столь важному для долгой работы за компьютером атрибуту, как компьютерное кресло. Между тем, от того, насколько оно удобно, зависит не только продуктивность, но и здоровье. Особенно сейчас, в условиях тотального распространения формата home office. Кроме этого, кресло — предмет длительного пользования, а значит, подходить к его выбору следует основательно.

Перед тем как покупать компьютерное кресло себе любимому, я перечитал около дюжины тематических статей из различных источников, а также все отзывы на кресла с рейтингом Яндекс.Маркета от 5 до 4.5 включительно (это 6 страниц в результатах поиска, примерно 200 моделей, более 2000 отзывов).

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

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

Также поделюсь с вами личными впечатлениями о своей покупке — относительно недорогом игровом кресле AeroCool Knight Lite (далее — AKL, изображено выше). Чтобы не перемешивать мух с котлетами общее с частным, я отделил собственные комментарии от основного текста горизонтальной чертой (в конце каждого раздела).

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

Windows: достучаться до железа

Reading time11 min
Views58K

Меня всегда интересовало низкоуровневое программирование – общаться напрямую с оборудованием, жонглировать регистрами, детально разбираться как что устроено... Увы, современные операционные системы максимально изолируют железо от пользователя, и просто так в физическую память или регистры устройств что-то записать нельзя. Точнее я так думал, а на самом деле оказалось, что чуть ли не каждый производитель железа так делает!

Читать далее

Книга «Android. Программирование для профессионалов. 4-е издание»

Reading time13 min
Views13K
image Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах.

Эта книга посвящена прикладным методам разработки приложений на Kotlin, и подойдет для всех версий Android от 5.0 (Lollipop) до 8.1 (Oreo) и выше. Используйте Android Studio для создания приложений, чтобы проверять код на каждом этапе, интегрировать его с другими приложениями, работать с изображениями, воспроизводить аудио и делать многое другое. Каждая глава продумана (и протестирована) так, чтобы вы смогли получить максимум опыта и знания, необходимые для разработки под Android.
Читать дальше →

Операция «Глаз»: руки, линза и алмаз. Контрнаступление на катаракту

Reading time9 min
Views12K
В первой части я рассказал про предоперационную диагностику зрения, её результаты и муки выбора подходящих интраокулярных линз. Выбор пал на Oculentis Custom — индивидуальные мультифокальные ИОЛ без колец, оптимальные для людей с кератотомией. Оплатили, дождались изготовления и доставки в Россию (процесс занял около 10 дней) — осталось установить их вместо старых хрусталиков глаз. Что может быть проще? 

Осторожно / Caution / Achtung: под катом заботливо спрятаны в спойлеры далеко не самые эстетичные фотографии операции на глазах. Если в Quake III Arena вы не любили играть за Orbb (на фото выше), то заглядывать в спойлеры не рекомендуется.
Читать дальше →

Sub-Zero против катаракты или как восстановить зрение в 60+

Reading time12 min
Views13K
Как думаете, сколько заболеваний глаза (и его вспомогательного аппарата) существует по МКБ-10? Наверное, с сотню? Вот и нет — всего 59. Но даже одна и самая незначительная болячка будет ежедневно доставлять дискомфорт — ведь около 70—80% информации из окружающего мира мы получаем через такую суперспособность, как зрение. И здорово, что медицина не стоит на месте — современные технологии в волшебных руках способны лечить даже такие заболевания глаз, которые ещё каких-то лет 12 назад считались неизлечимыми.


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

Хабр ежемесячно посещает 8 миллионов пользователей — искренне рад, что основная часть из них (в возрасте от 25 до 44 лет) смогут прочитать эту статью без проблем и лишь для общего развития. Но предложите прочитать её своим мамам, папам, бабушкам и дедушкам — справятся ли они с этой задачей так же легко? Или им придётся прищуриться для лучшей фокусировки, увеличить шрифт на экране, а то и вовсе достать спецсредства в виде очков? Что ж, вот вам наглядная иллюстрация для первых двух абзацев этой статьи.

В этой статье я поделюсь своим опытом возвращения зрения бате — именно он был соавтором моего первого поста на Хабре (да-да, про неубиваемую флешку) каких-то 12 лет назад.
Читать дальше →

Information

Rating
4,956-th
Registered
Activity