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

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

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

Программирование и ИТ во мгле, но это не точно

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров29K

Приветствую хабравчане!

В данной статье хочу поделиться проблемами в ИТ. Высказать об этом своё мнение. Обсудить в комментариях, всё ли так плохо на самом деле и каков выход из данной ситуации. Меня не покидает ощущение, что мы как программисты, что то потеряли при очередном витке ИТ прогресса. Обсудим?

Давай, чё там у тебя
Всего голосов 154: ↑127 и ↓27+100
Комментарии298

Лучший стек для питониста-джуна 2024 (2 часть)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров20K

Итак, что же поменялось за чуточку больше чем полгода? Если мы будем говорить об актуальности - ничего. Django до сих пор, а скорее всего так будет и всегда, остается "на плаву". Большая часть вакансий для back-end разработчика на Python имеет в себе требования по знаниям Django. Говорить вечно о том, что он удобен, постоянно поддерживаем, дает довольно обширный функционал и так далее - бессмысленно. Все основные моменты я упомянул в первой части.

Ладно, вступление в сторону! Лучше обсудить то, что изменилось с Django за это время.

Самое грандиозное из этого - выход Django 5! По сути скачок на пятую версию не принес в фреймворк особо крупных изменений, но парочку моментов хочу подчеркнуть. Первое и самое важное, на мой взгляд, это то, что разработчики решили добавить больше асинхронности без подключения таск-менеджеров. Для этого они добавили несколько декораторов и методов. Хотя это немного, на мой взгляд, противоречит самому принципу работы Django (напоминаю: Django синхронный фреймворк и для того, чтобы сделать очередь задач, нужно подключать таск-менеджеры, например, Celery), но тем не менее, это все равно крутой шаг в эволюцию. Надеюсь, что разработчики и дальше будут двигаться в этом направлении.

Далее, не могу не упомянуть очень важный момент - совместимость с Python. Django 5 будет работать только с версиями Python 3.10 и выше. Django 4.2.x - последняя версия, которая работает с Python 3.8 и 3.9.

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

Смотреть польностью
Всего голосов 10: ↑9 и ↓1+8
Комментарии22

Полный перевод Unix-коанов на русский язык

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


Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

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

Итак
Всего голосов 126: ↑123 и ↓3+120
Комментарии65

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров19K
image

Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций. Интересно? Жду вас в статье!
Читать дальше →
Всего голосов 93: ↑92 и ↓1+91
Комментарии38

Фантомный double в прошивках для ядер Cortex-M*

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров12K

В последнее время появилось много микроконтроллеров на ядрах ARM Cortex-M*, которые поддерживают аппаратную реализацию математики плавающей запятой (FPU). В основном FPU работают с одиночной точностью (float) и её вполне достаточно для работы с сигналами, полученными с АЦП. FPU позволяет забыть о проблемах дискретизации и проблемах переполнения целочисленных вычислений. FPU быстр - все математические операции с одиночными float, кроме деления и взятия корня, занимают на Cortex-M4F один такт. Поэтому после перехода на Cortex-M4F мы вздохнули свободно и стали писать математику на float. Как же мы удивились, найдя в скомпилированном коде математические операции над double с программной, очень медленной эмуляцией.

В статье рассказывается, как обнаружить и исправить присутствие double в прошивках, где ядро аппаратно поддерживает тип float, но не поддерживает double.

Работа ведётся в среде IAR Embedded Workbench на примере реального кода на языке Си.

Читать далее
Всего голосов 86: ↑84 и ↓2+82
Комментарии25

Как получить 30 удаленных работ? Опыт 300 собеседований. 9 неочевидных советов для соискателя

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров65K

Этот метод дал мне конверсию 50% из собеседования в оффер на вакансию «маркетолог» с доходом от 70к.

Меня зовут Слава, 4 года назад я работал маркетологом в агентстве. И решил поискать работу мечты на hh.ru. Я знал, что даже есть агентства, которые закрывают себе клиентов на hh.ru.

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

Читать далее
Всего голосов 58: ↑44 и ↓14+30
Комментарии52

Дорожная карта по изучению C++

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

Привет!

Представляем вашему вниманию дорожную карту для изучения языка программирования C++. Идея дорожной карты возникла после проведения десятков собеседований молодых разработчиков, которые претендовали на роль Junior Developer C++, но обладали довольно слабой подготовкой по различным причинам.

Заинтересовавшихся приглашаем к прочтению статьи, а также ознакомиться с дорожной картой.

Читать далее
Всего голосов 73: ↑69 и ↓4+65
Комментарии75

Дорожная карта навыков разработчика на C++

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров56K

Джеймс Гослинг как-то сказал, что Java — это C++, из которого убрали все пистолеты, ножи и дубинки, однако практика показывает, что «ножи и дубинки» становятся классным инструментом в руках опытных разработчиков. В общем, немалая часть проклятий в адрес C++ объясняется элементарным «вы просто не умеете его готовить». Мы в «Лаборатории Касперского» умеем готовить «плюсы» и поэтому любим их. C++ — низкоуровневый язык, который позволяет работать с железом и писать быстрый код и при этом содержит массу возможностей. В экосистеме «плюсов» куча проработанных паттернов, best practices и готовых библиотек под разные задачи. Язык динамично развивается — но сохраняет обратную совместимость. 

В этом посте мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++. Естественно, разбирать путь развития «плюсистов» будем на собственном примере — тем более что у нас в «Лаборатории Касперского» много очень разных проектов с отличающимися задачами. Однако наша карта по большей части универсальна и будет полезна всем, кто хочет развиваться в С++-разработке.

Отправляемся
Всего голосов 46: ↑38 и ↓8+30
Комментарии93

Ядро планеты Python. Интерактивный учебник

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

Добрый день! Меня зовут Михаил Емельянов, недавно я опубликовал на «Хабре» небольшую статью с примерным путеводителем начинающего Python-разработчика. Пользуясь этим материалом как своего рода оглавлением книги, я написал первые четыре главы мини-учебника «Ядро планеты Python», где постарался коротко, но достаточно ёмко раскрыть специфику, удобство, красоту и силу этого прекрасного языка.


Оригинал учебника лежит на GitHub, вы вольны сколько угодно дополнять и переделывать его. Самое главное — учебник написан на Jupiter Notebook, а это значит, что вы можете интерактивно редактировать код, мгновенно добавляя новые сущности или проясняя непонятные моменты.


Core of the planet Python

Читать дальше →
Всего голосов 66: ↑66 и ↓0+66
Комментарии25

Использование скрытого потенциала: как я активировал Intel AMT на мини-ПК от HP и получил удаленный доступ

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

Эксплуатируем аппаратную закладку от Intel на полную! В статье пойдет речь о том, как разблокировать функционал удаленного администрирования, залоченный производителем.

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

Как снимали первую Матрицу и в чём её феномен

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

В 1999 году на экраны кинотеатров вышло небывалое количество фильмов, ставших по-настоящему культовыми: «Зелёная миля», «Бойцовский клуб», «Красота по-американски», «Мумия», «Сонная лощина» и другие («Звёздные войны: Призрачная угроза» в этот список не включён осознанно, потому что ничего культового в нём нет). 

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

Следовать за белым кроликом 🐇
Всего голосов 130: ↑124 и ↓6+118
Комментарии140

SEO Выводы из утечки кода поисковика Яндекс

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

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

Читать далее
Всего голосов 212: ↑197 и ↓15+182
Комментарии130

Что такое ШИМ и почему мерцает OLED? РАЗБОР

Время на прочтение8 мин
Количество просмотров115K
ШИМ, все вокруг говорят про ШИМ. Ну фиг знает — я его не вижу. Что хотите сказать, если понижу яркость дисплея, это как-то будет меня утомлять? Кажется тут есть в чём разобраться!

Сегодня мы объясним как на самом деле работает ШИМ. Узнаем сколько FPS видит человек, а сколько муха.  Проведём тесты ШИМ на осциллографе. И, конечно, расскажем как избавиться от ШИМа на Samsung и на iPhone.



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

Почему так? Дело в том, что в отличие от большинства IPS-экранов большинство OLED-матриц мерцают. Примерно как дешевые люминесцентные лампы. И это не очень хорошо сказывается на зрении.
Всего голосов 26: ↑23 и ↓3+20
Комментарии45

Vim :bw, :bd, :bun, :quit, :close. Что со всем этим делать?

Время на прочтение3 мин
Количество просмотров10K
Vim имеет множество команд для закрытия чего угодно и в каких угодно сочетаниях, но чего он не умеет так это закрывать все одной командой. Человеку который начал использовать Vim недавно, это может показаться довольно странным. Попробуем разобраться, как исправить эту ситуацию.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии39

Как стареть в IT

Время на прочтение10 мин
Количество просмотров112K
После нескольких лет насмешек над предрассудками в области информационных технологий я — будучи белым мужчиной с совсем не седыми, густыми волосами — начинаю сталкиваться с предубеждением по отношению к моему возрасту. Это правда, дискриминация по возрасту реальна.

С 2008 года количество жалоб на дискриминацию по возрасту выросло до 25 000 в год. Можно возразить, что мы везде вынуждены «крутиться» сейчас и всегда найдётся кто-то, кто пожалуется на какую-то несправедливость. Конечно, ОК! Давайте не будем принимать во внимание жалобы. Просто посмотрим на средний возраст сотрудников известных IT-компаний. Фейсбук: 28. LinkedIn: 29. Гугл: 30. Чтобы увидеть объективно — средний возраст работника в США составляет 42 года. Это намного выше среднего возраста в названных выше компаниях. Даже сам Марк Цукерберг однажды публично высказался на каком-то мероприятии в Стэнфорде: «Я хочу подчеркнуть важность быть молодым и технически подготовленным. Молодые люди просто умнее.»
Читать дальше →
Всего голосов 132: ↑128 и ↓4+124
Комментарии214

Tcl/tk: интегрированная среда разработки TKproE-2.30

Время на прочтение10 мин
Количество просмотров4.7K
Прошло без малого пять лет как я впервые столкнулся с интегрированной средой разработки программ на tcl/tk TKproE-2.20. В апреле 2021 года вышла новая версия этого продукта — TKproE-2.30 и я полностью погрузился в её мир. Он меня заворожил. Название TKproE является аббревиатурой от TCL/TK Programming Environment. TKproE — это интегрированная среда разработки программ для языка сценариев TCL/TK. Сам TKproE полностью написан на языке TCL/TK. В преамбуле к TKproE подчёркнуто, что он поддерживает быструю разработку сложных графических пользовательских интерфейсов.

Что же принципиально нового появилось в новой версии по сравнению с версией 2.20 помимо нового логотипа?
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии8

Настройка среды для работы с Deep Learning в браузере, используя Облачную операционную систему

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

Привет Хабр! Меня зовут Ильдар. Сегодня я расскажу вам как настроить Visual Studio Code Server с плагином Jupyter ноутбук для работы с нейронными сетями в браузере на выделенном сервере используя Облачную ОС.

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

Это база. Сетевая модель OSI. Истоки

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

Ни один курс по сетевым технологиям не обходится без модели Open Systems Interconnection или попросту OSI. Как говорится, «это баааза», на принципах которой создавались другие современные модели. Хотя сегодня она не особо применяется на практике, это не значит, что сетевым специалистам не нужно понимать ее принципы. 

История модели OSI задокументирована не полностью, но нам известны имена людей и названия организаций, вовлеченных в ее создание. Поэтому в этой статье были собраны известные факты об OSI на основе материалов из Интернета, например, онлайн-книги Джеймса Пелки «History And Development Of The Osi Model» и данных из интервью 1 и интервью 2 с Чарльзом Бакманом. Также на Habr я наткнулась на перевод статьи «OSI: Интернет, которого не было», где представлена история о моделях OSI и TCP/IP. Однако я решила самостоятельно изучить истоки OSI и больше углубится в этот период. Если вам интересно понять, что же тогда происходило, то приступим.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии8

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

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

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

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

Мы разработали новый протокол операции. Через 3 года прошла первая операция.

В старом протоколе хирург бы снял слепки зубов, разместил бы модель фрагментов пациента в артикулятор и подготовил бы набор ручных вмешательств. Наша методика расчёта показала, что то, что мы всегда считали «визуально правильным», таким не является. Мы долго проектировали ту операцию за матмоделями, проверяя, что будет с костями. Во время операции хирург открывал мягкие ткани, ставил навигационный шаблон на костную ткань, перекраивал кости под новыми углами. Углы, под которыми скреплялись кости, выглядели контринтуитивно. Их рассчитывала матмодель на основе КТ и фотограмметрии. Она же дала сверхточную навигацию: ничего не делалось вручную, только по трёхмерной координатной привязке. Хирург быстро разрезал, поставил шаблоны, наложил пластины, скрепил пластины в расчётных точках. Что-то похожее я видел в ролике к игре Deus Ex. Хирург во время самой операции был лишь исполнителем своей заранее созданной программы.

Пациент восстановился за 4 месяца. Старый протокол подразумевал, что общее время лечения будет длиться 30 месяцев, а с этим протоколом мы сократили общее время лечения до 4–12 месяцев.

Сегодня эта операция стала новым стандартом сферы.

Потому что мы поставили под сомнение догму.
Читать дальше →
Всего голосов 86: ↑86 и ↓0+86
Комментарии7

За что именно вы платите такие деньги в премиум-сегменте стоматологии

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


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

За этот год к нам пришли сотни пациентов с Хабра, и приходили вы за другим. По сути, вы платите много за три основные вещи:

  • За решение проблемы (а не отдельные вмешательства), то есть мы несём риски по возможным осложнениям, переделкам и так далее.
  • За снижение рисков, в том числе хирургических (протоколы и техника дают возможность отыграть несколько процентов).
  • И за пятилетнюю гарантию на работы.

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

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

Вряд ли пациент готов платить за каждую отдельную услугу, но готов — за парадигму клиники и её уровень. Сейчас я приведу несколько примеров, чтобы была понятна разница подходов.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии30
1
23 ...

Информация

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