Pull to refresh
29
0
Send message

Математическая продлёнка. Из чего сделаны Пифагоровы штаны

Level of difficulty Easy
Reading time 10 min
Views 7.1K

Поводом для написания этой заметки послужила новость, облетевшая мир 18 марта этого года: две школьницы из Нового Орлеана, Кальцея Джонсон и Не`Кия Джексон «впервые доказали теорему Пифагора», опираясь на теорему синусов. В России эту новость встретили с иронией и стёбом, но не бывает плохих поводов поговорить о хороших теоремах.

Одним из ключевых результатов теории категорий является осознание, что знания о каком-то объекте даёт не его «внутреняя» структура, а структура его отношений и связей с другими объектами в его категории.

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

Читать далее
Total votes 40: ↑40 and ↓0 +40
Comments 8

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Level of difficulty Easy
Reading time 4 min
Views 99K

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Читать далее
Total votes 67: ↑66 and ↓1 +65
Comments 25

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

Reading time 19 min
Views 121K

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

Читать далее
Total votes 33: ↑31 and ↓2 +29
Comments 31

Чем программисту заняться в 1990 году: осваиваем чёрную магию ассемблера

Reading time 17 min
Views 26K

Итак, DeLorean доставил вас в США 1990 года. Как и полагается в таких случаях, в машине что-то сломалось, так что вам предстоит задержаться на некоторое время. Пока Док Браун занимается ремонтом, вам тоже надо чем-то заняться. 

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

Вы вспоминаете, что вы ж программист – можно заняться программированием! 

Читать далее
Total votes 115: ↑114 and ↓1 +113
Comments 161

Насколько быстр ASP.NET Core?

Reading time 15 min
Views 26K

В последние годы команда .NET усиленно рекламирует ASP.NET Core как один из самых быстрых веб-фреймворков на рынке. Источником этих утверждений всегда были бенчмарки TechEmpower Framework Benchmarks.

Скотт Хантер - директор по управлению программами .NET, утверждает, что .NET более чем в 10 раз быстрее, чем Node.js.

Скотт также утверждает, что .NET быстрее, чем Java, Go и даже C++.

Читать далее
Total votes 74: ↑73 and ↓1 +72
Comments 31

Блин! Да не сложно похудеть! Даже работая в IT

Reading time 5 min
Views 45K

Очень хочется выругаться прямо в текст! Прочитал длинную статью про похудение. Да вот она - Почему похудеть, работая в ИТ, так сложно. Хотел бы я увидеть фото автора в полный рост. Сомневаюсь что он в хорошей форме.

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

А ещё то кол-во лайков к посту. Люди, вы серьёзно? Вы серьёзно хотите верить в то, что жиреть за компом - это неизбежно, а похудеть нереально?

В статье автор был так убедителен, что я сам чуть было не поверил. Но вовремя вспомнил что сам похудел с 96кг до 82кг следуя одному правилу - 16/8. За 3 месяца, а не за всю жизнь, как пишет автор. Вес полгода стоит на этой отметке, а в спортзал я так и не записался.

Читать далее
Total votes 139: ↑123 and ↓16 +107
Comments 234

Топ вещей из Java, которых мне не хватает в C#

Reading time 5 min
Views 21K

Спор "Java vs. C#" существует чуть меньше, чем вечность. Есть много статей, затрагивающих разные участки его спектра: Что есть в C# чего нет в Java, что языки друг у друга позаимствовали, у одних LINQ, у других обратная совместимость, в общем, тысячи их.

Однако, я никогда не видел, чтобы писали о чём-то, что в Java, с точки зрения фич языка есть, чего в C# нет. Впрочем, я здесь не для того, чтобы спорить. Эта статья призвана выразить моё субъективное мнение и заполнить небольшой пробел по теме, озвученной в заголовке.

Читать далее
Total votes 27: ↑24 and ↓3 +21
Comments 71

Алгоритмы сортировки и их производительность

Reading time 17 min
Views 43K

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

Читать далее
Total votes 79: ↑77 and ↓2 +75
Comments 29

Как устроена виртуальная машина SQLite

Reading time 10 min
Views 17K

SQL — концептуально странный язык. Вы пишете ваше приложение на одном языке, скажем, на JavaScript, а затем направляете базе данных команды, написанные на совершенно другом языке — SQL. После этого база данных компилирует и оптимизирует эту команду на SQL, выполняет её и возвращает вам данные. Такой метод кажется ужасно неэффективным, но, всё-таки, ваше приложение может проделывать сотни таких операций в секунду. Просто безумие!

Но на самом деле всё ещё страннее.

Читать далее
Total votes 61: ↑60 and ↓1 +59
Comments 15

Доллары в глазах: сравниваем российские и американские зарплаты

Reading time 7 min
Views 114K

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

Данный материал будет полезен разработчикам, Product Manager-ам, аналитикам, тестировщикам, Data Scientist-ам, HR-ам, опытным специалистам уровня middle+, а также всем-всем-всем мечтающим релоцироваться в США.

Читать далее
Total votes 64: ↑60 and ↓4 +56
Comments 254

Памятка пользователям ssh

Reading time 13 min
Views 1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8 +344
Comments 148

Магия SSH

Reading time 11 min
Views 484K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →
Total votes 115: ↑106 and ↓9 +97
Comments 75

Заблуждения программистов о картах

Reading time 12 min
Views 53K


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

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

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Читать дальше →
Total votes 314: ↑310 and ↓4 +306
Comments 114

Магические сигнатуры методов в C#

Reading time 9 min
Views 30K

Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK.


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


  • Синтаксис инициализации коллекций
  • Синтаксис инициализации словарей
  • Деконструкторы
  • Пользовательские awaitable типы
  • Паттерн query expression
Читать дальше →
Total votes 82: ↑81 and ↓1 +80
Comments 70

Table-Maker's Dilemma, или почему почти все трансцендентные элементарные функции округляются неправильно

Reading time 19 min
Views 8K
С удивлением обнаружил, что на русском языке трудно отыскать информацию по данной проблеме, как будто мало кого волнует, что математические библиотеки, используемые в современных компиляторах, иногда не дают корректно-округлённого результата. Меня эта ситуация волнует, так как я как раз занимаюсь разработкой таких математических библиотек. В иностранной литературе эта проблема освещена хорошо, вот я и решил в научно-популярной форме изложить её на русском языке, опираясь на западные источники и пока ещё небольшой личный опыт.
Total votes 53: ↑53 and ↓0 +53
Comments 83

Взгляд программиста на гипотезу Коллатца

Reading time 4 min
Views 13K
Поделюсь интересными результатами анализа одной маленькой, но интересной теоремы, гипотезы Коллатца.

Формулировка такая: вам даётся натуральное число. Если оно чётное, вы его делите на два, а если нечётное, умножаете на три и добавляете единицу. И так по кругу. Гипотеза состоит в том, что для натуральных чисел иной судьбы, чем скатиться в цикл 1->4->2->1 нет. То есть, предположение состоит в том, что не появится других циклов — и тем более, таких чисел, которые при такой обработке в среднем всегда только возрастают.

Как бы на это посмотрел бы программист? Прежде всего, целое число для него это набор бит. Количество бит у числа подсчитывается логарифмом по основанию 2, с округлением в меньшую сторону, плюс единица. Семь это три бита «111», восемь это уже четыре бита «1000». Двоичная система счисления — как будто у вас отобрали все цифры с 2 по 9, а числа обозначать надо. Сперва трудно, но привыкнуть можно.

Деление в этой системе на два — это сдвиг всей расстановки в правую сторону. Но проще это назвать стиранием последнего нолика.

В цикле обработки числа именно это и происходит — если число чётное, то есть, последний бит нолик, то он стирается. Если не цепляться за отдельные циклы обработки, можно сказать, стираются сразу все завершающие нули.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Comments 4

Когда хуже отсутствия коммьюнити — только его наличие

Reading time 4 min
Views 20K

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

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

Классическое коммьюнити как правило не интересно карьеристам, менеджерам, пиарщикам, фрилансерам с горящими сроками, школьникам с горящими сраками, лицам неопределенного пола ищущих себе проты^Wмужа-программиста. За счет этого оно интересно обычным программистам, чем и ценно для других программистов.

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

Читать далее
Total votes 141: ↑100 and ↓41 +59
Comments 46

Айтишник в школе

Reading time 11 min
Views 25K

Работа IT-специалиста в неIT-компании обычно воспринимается как весьма неблагоприятный вариант трудоустройства. Ну а общеобразовательная школа в общественном сознании, несмотря на все попытки государства "повышать престиж", нередко считается плохим работодателем вообще для всех, и платят там мало, и работать заставляют в режиме 996. Можно предположить, что попадание айтишника в школу - участь вроде ссылки в отдалённые края, куда по доброй воле не попадают... Так ли это?

Итак, привет, Хабр! Последние полгода я - системный администратор и по совместительству звукорежиссёр в обычной московской школе. О том, как же меня угораздило, что здесь хорошего и что плохого, ну и об общей ситуации в школьном IT глазами доткомовца будет мой рассказ.

Читать далее
Total votes 38: ↑38 and ↓0 +38
Comments 40

Inkscape с 0 до Pro за 5 дней

Reading time 17 min
Views 40K

Создал мини курс по программе для векторной графики Inkscape в 2022.

Разработал методические материалы для изучения темы «Кодирование и обработка графической и мультимедийной информации» в школьном курсе информатики.

«Векторные графические редакторы позволяют пользователю создавать и редактировать векторные изображения непосредственно на экране компьютера, а также сохранять их в различных векторных форматах, например, CDR, AI, EPS, WMF или SVG». «Inkscape - редактор векторной графики, аналогичный по своим возможностям таким программам, как Adobe Illustrator, Corel Draw и другим».

Читать далее
Total votes 78: ↑77 and ↓1 +76
Comments 42

Босяцкий кластер высокой доступности

Reading time 8 min
Views 16K

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

Читать далее
Total votes 50: ↑45 and ↓5 +40
Comments 41

Information

Rating
Does not participate
Registered
Activity