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

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

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

6 Python декораторов, которые значительно упростят ваш код

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

"Простое лучше сложного".

Лучшая функция Python, которая применяет эту философию из "дзен Python", - это декоратор.

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

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

Болтать не буду. Давайте посмотрим на отобранные мной 6 декораторов, которые покажут вам, насколько элегантен Python.

Читать далее
Всего голосов 61: ↑57 и ↓4+69
Комментарии26

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

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

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

Эрик Дитрих* около 10 лет провел на должностях, где его основной функцией было написание кода. Еще 10 лет были связаны с управлением программистами, их обучением, консультированием организаций, практикой оценки кодовой базы, а в наши дни и контент-маркетингом. Но во всех этих ролях он в той или иной степени писал код. И, по своим расчетам, прошел больший путь, чем 94% работающих в отрасли. Получается некое противопоставление: программист со стажем, который общается с кучей новичков в программировании.

Специально для своего блога Эрик попытался обобщить весь свой опыт в виде кратких советов, которые он хотел бы дать молодым программистам. Под катом — наиболее важные, на взгляд автора, уроки и выводы из его 20-летней карьеры.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 82: ↑74 и ↓8+75
Комментарии111

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

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

Я люблю давать простые задачки студентам на лекции. Во-первых, понятно, скольких мы потеряли, во-вторых, это переключение из режима потребления информации в режим выдачи результатов, в третьих — возможность проявить себя для шустрых. Сплошные плюсы!

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

Это было бы смешно, если бы от способности быстро в уме прикинуть результат не зависела способность быстрее создавать сложные алгоритмы. 

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

Кому интересно как теряют мозг студенты масштабы бедствия и что с этим делать — добро пожаловать под кат!

Читать далее
Всего голосов 324: ↑308 и ↓16+373
Комментарии795

Зачем менять надёжный пароль? Брутфорс и энтропия

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


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

Недавно в индустрии информационной безопасности поднялась дискуссия на тему смены паролей. В частности, появились рекомендации против периодической смены паролей. Логика в том, что пользователям сложнее учить новые пароли каждую неделю, чем запомнить один большой и сложный пароль. В 2017 году рекомендации против смены паролей опубликовала организация NIST, отвечающая за принятие стандартов парольной защиты.
Читать дальше →
Всего голосов 17: ↑10 и ↓7+7
Комментарии46

Предчувствие будущего: фальшивые книги, победившие настоящий контент

Время на прочтение4 мин
Количество просмотров38K
В конце прошлого года, на пике ажиотажа вокруг невзаимозаменяемых токенов (non-fungible token, NFT), я приобрёл на Amazon с дюжину книг по NFT с самым высоким рейтингом:


Я поступил так, потому что хотел опубликовать сбалансированную критику NFT, решив, что честнее всего это будет сделать, ознакомившись с самыми красноречивыми аргументами, выдвигаемыми сторонниками этой технологии.

Вскоре я выяснил, что все книги склоняются к одному центральному аргументу: ценность — неотъемлемое следствие дефицита.

Моё опровержение этого аргумента было простым: это исключение, а не правило. Каракули моего ребёнка дефицитны, но в художественной галерее они заработали бы не особо много. Увы, хоть этого было достаточно для твита, для подробного поста оказалось маловато.
Читать дальше →
Всего голосов 198: ↑198 и ↓0+198
Комментарии209

Строки кода, которые изменили мир

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

{"__typename":"PageLikeAction","action_type":"LIKE","label":{"text":"Like"}


В 2009 году Facebook добавила в интерфейс своей социальной сети код, изменивший мир — кнопку «Like». «Лайк» был детищем нескольких программистов и дизайнеров — Лии Перлман и Джастина Розенштейна. Они предположили, что пользователи Facebook часто бывают слишком заняты, чтобы оставлять комментарии к постам своих друзей, и что поэтому им нужна простая кнопка, нажав которую можно было бы дать понять друзьям, что их пост вам понравился. Так оценивать и поощрять друг друга пользователям стало бы легче, а значит и делали бы они это чаще.

Это сработало — и даже слишком хорошо. К 2012 году пользователи прожали «лайк» триллион раз. У этого оказались и побочные эффекты. Многие стали публиковать фото/видео, чтобы потом сидеть и с тревогой обновлять страницу, ожидая, когда же число лайков возрастёт. Все стали гадать, почему кто-то другой получает больше лайков. Люди подсели на иглу одобрения (вместо того, чтобы сесть на чьё-то лицо), что отразилось на их повседневной онлайн-активности: старались публиковать как можно больше постов, чтобы казаться смешнее, умнее, красивее, спортивнее.

Небольшой фрагмент кода, который внёс почти незаметное изменение в пользовательский интерфейс социальной сети, изменил поведение людей. Ниже представлен список из примеров подобных важных фрагментов кода, которые изменили мир. И на самом деле это неполный список, учитывая огромное количество кода, который был написан.
Читать дальше →
Всего голосов 76: ↑65 и ↓11+69
Комментарии37

Почему я отказался от стандартной клавиатуры и никогда к ней не вернусь. Часть 1 (История клавиатуры)

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

Сколько не совершенствуй свои клавиатурные навыки, не достигнешь значительного прогресса, используя стандартную клавиатуру. Она давно устарела, но большинство готово с этим мириться. Чтобы понять почему она устарела, необходимо разобраться в её истории.

Читать далее
Всего голосов 138: ↑110 и ↓28+116
Комментарии646

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

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

Иногда приходится встречать статьи, в которых прямо или косвенно заявляется – дескать, физика «кончилась», всё уже открыто и всё понятно. Ну или почти всё. На самом деле нет: мы, конечно, давно и довольно успешно пытаемся понять и разложить по полочкам нашу Вселенную, но притворяться, что нам уже практически всё понятно, нет никакого смысла. Вот вам простой пример: у нас есть две невероятно хорошо работающие теории, которые мы уже много лет успешно подтверждаем экспериментами, и мы ещё ни разу не видели ни одного экспериментального факта, нарушающего либо Общую теорию относительности (ОТО) Эйнштейна, либо Стандартную Модель (СМ) физики частиц.
Читать дальше →
Всего голосов 53: ↑50 и ↓3+61
Комментарии135

Квантовое предсказание 70-летней давности сбылось: как ученые впервые создали что-то из ничего

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

Новые частицы возникают в графеновых трубках

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


Благодаря научному прогрессу, мы уже несколько лет как научились создавать даже саму материю, имитируя ситуацию через секунды после Большого взрыва. Для этого мы сталкиваем вместе два кванта в коллайдерах при настолько высоких энергиях, которые обеспечивают возникновение равных частей материи и антиматерии по формуле E = mc². А недавно человечеству впервые удалось создать реальные частицы материи вообще без столкновений и каких-то частиц-предшественников. С помощью сильных электромагнитных полей и эффекта Швингера впервые что-то возникло вообще из ничего.

Читать дальше →
Всего голосов 55: ↑51 и ↓4+60
Комментарии58

Когнитивные искажения или мои мысли о том, как мы мыслим

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

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

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

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

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

Читать далее
Всего голосов 71: ↑70 и ↓1+82
Комментарии161

Наглядное руководство по SSH-туннелям

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

Прим. переводчика: автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для лучшего понимания того, как это работает, графически показывает потоки трафика.

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

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

Новый ИИ открывает альтернативную физику

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

Новый ИИ от Колумбийского университета наблюдает за физическими явлениями и раскрывает соответствующие переменные. Именно они и стали неожиданностью. Подробности и код — к старту нашего флагманского курса по Data Science.

Читать далее
Всего голосов 23: ↑18 и ↓5+20
Комментарии112

4,2 гигабайта, или как нарисовать что угодно

Время на прочтение9 мин
Количество просмотров42K
В нашем мире мы можем сделать всё, что захотим. Всё что угодно.

Боб Росс, The Joy Of Painting, сезон 29, эпизод 1

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

Я представил огромный инопланетный объект, висящий в горящем оранжевом небе над давно покинутым Сиэтлом, здания которого покрыты зарослями.

Тем же вечером я за несколько часов создал вот такое изображение:


Простите за низкое разрешение — к сожалению, у моего GPU всего 12 ГБ памяти.

Поскольку очевидно, что я талантливый художник, имеющий за плечами буквально десятки минут опыта, мне захотелось поделиться тем, как я создал данный шедевр.
Читать дальше →
Всего голосов 160: ↑160 и ↓0+160
Комментарии92

Кто там, в толще скал?

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

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

Читать далее
Всего голосов 89: ↑82 и ↓7+104
Комментарии42

Почему ваш веб-сайт должен быть меньше 14 КБ

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

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.

Так происходит из-за алгоритма медленного старта TCP. В этой статье я расскажу, что это такое, как оно работает и почему это важно. Но сначала мы вкратце расскажем об основах.
Читать дальше →
Всего голосов 137: ↑134 и ↓3+167
Комментарии204

Почему ИИ в F.E.A.R. по-прежнему остается лучшим в шутерах от первого лица

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

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

Этот эпизод многое говорит о внимании к деталям в F.E.A.R. — игре 12-летней давности с искусственным интеллектом, которому могут позавидовать многие современные шутеры. Его армия солдат-клонов выглядит умнее любых врагов, с которыми я сталкивался в FPS впоследствии, и остается такой и по сей день.

Читать далее
Всего голосов 62: ↑56 и ↓6+68
Комментарии132

20 лет проблем приема платежей

Время на прочтение11 мин
Количество просмотров22K
image
За логотип спасибо yarbabin

Электронные системы расчетов существуют в интернете уже давно, а баги на них встречаются двадцатилетней давности. Мы находили критические уязвимости, позволяющие угнать деньги и накрутить баланс. Сегодня мы разберем типовые реализации приема платежей и связанные с ними проблемы безопасности.
Читать дальше →
Всего голосов 109: ↑108 и ↓1+131
Комментарии20

ТВ вместо монитора: HDR, 120 Гц и вот это всё

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

Разбираемся, зачем экранам 500 Гц, почему телевизор не монитор, за сколько часов выгорит OLED и как вообще это всё работает.

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

Влияет ли язык на мышление? или: «У вас на юго-восточной ноге сидит муравей»

Время на прочтение8 мин
Количество просмотров39K
Я давно лелеял мечту изучать лингвистику в Кембриджском университете. Каждое лето он проводит среди абитуриентов конкурс эссе на лингвистические темы; и профессор, отвечающий за связь факультета лингвистики с абитуриентами, посоветовал мне ради подготовки к поступлению поучаствовать вне конкурса. Летом 2016 тема эссе звучала так: «Часто утверждают, что наш язык влияет на наше мышление. Как это утверждение можно трактовать? Оцените его, приводя примеры из межъязыковых сравнений и/или психолингвистических экспериментов.» Осенью того года я получил от профессора крайне лестную оценку моего эссе; и тем не менее, в Университет меня не приняли. Этим летом я решил сдуть с того эссе виртуальную пыль, и перевести его на русский.



Вопрос «Влияет ли язык на мышление?» давно волнует умы, и немало статей озаглавлено этим вопросом. Связь между языком и мышлением была отмечена уже два века назад, и успела укорениться в массовом сознании: например, распространён миф о том, что у эскимосов необычно богатый набор слов для обозначения видов снега. Аргумент про «эскимосские названия снега» применяют двояко: указывая либо на то, что люди вырабатывают более богатый набор обозначений для того, с чем чаще имеют дело; либо на то, что более богатый словарный запас позволяет выражать более тонкие смысловые различия, незаметные носителю другого языка: «Мы, европейцы, так же неспособны различать виды снега, как дальтоники неспособны различать цвета.»

«Языковой дальтонизм», т.е. отсутствие в некоторых языках названий для некоторых цветов, интригует исследователей уже дольше века. Начиная с середины 20 в. проводились эксперименты, доказавшие, что людям легче различить два цвета, если в их языке эти цвета называются по-разному. Например, народу химба, живущему в Намибии, сложнее, чем нам, отличить синий от зелёного, зато проще отличить dumbu — так на языке химба называются жёлтый и бледно-зелёный цвета — от burou, соответствующего тёмно-зелёным, синим и фиолетовым оттенкам.
Читать дальше →
Всего голосов 91: ↑89 и ↓2+111
Комментарии188

Первое полноцветное фото от Джеймса Уэбба — стоит ли эта машина золота, из которого сделана?

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

Вчера, 12 июля 2022 года получены первые рабочие изображения от космического телескопа нового поколения Джеймса Уэбба.

Читать далее
Всего голосов 79: ↑71 и ↓8+86
Комментарии155

Информация

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