Pull to refresh
94
0
Роман @BosonBeard

Технический писатель / системный аналитик

Send message

Почему существует так много Питонов?

Reading time9 min
Views138K
Питон изумителен.

Удивительно, но это довольно неоднозначное заявление. Что я имею ввиду под “Питоном”? Может, абстрактный интерфейс Питона? Или CPython, распространенная реализация Питона (не путать с похожим по названию Cython)? Или я имею ввиду что-то совсем иное? Может, я косвенно ссылаюсь на Jython, или IronPython, или PyPy. Или может я отвлекся так сильно, что говорю о RPython или RubyPython (которые очень сильно отличаются).

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

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

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

Все начинается с понимания того, чем на самом деле является “Питон”.
Читать дальше →
Total votes 169: ↑161 and ↓8+153
Comments74

Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas

Level of difficultyEasy
Reading time15 min
Views1M


Открытый курс машинного обучения mlcourse.ai сообщества OpenDataScience – это сбалансированный по теории и практике курс, дающий как знания, так и навыки (необходимые, но не достаточные) машинного обучения уровня Junior Data Scientist. Нечасто встретите и подробное описание математики, стоящей за используемыми алгоритмами, и соревнования Kaggle Inclass, и примеры бизнес-применения машинного обучения в одном курсе. С 2017 по 2019 годы Юрий Кашницкий yorko и большая команда ODS проводили живые запуски курса дважды в год – с домашними заданиями, соревнованиями и общим рейтингом учаcтников (имена героев запечатлены тут). Сейчас курс в режиме самостоятельного прохождения.

Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments61

Квантовый компьютер: большая игра на повышение. Лекция в Яндексе

Reading time15 min
Views34K
Мы то и дело слышим, что не за горами эпоха активного использования квантовых вычислений, что такие системы уже скоро станут доступны специалистам, включая аналитиков данных. Но сколько осталось ждать на самом деле? Научный сотрудник Российского квантового центра Алексей Фёдоров вводит в курс дела и рассказывает, как идут дела с разработкой квантовых компьютеров.


Под катом — расшифровка и часть слайдов Алексея.

Total votes 57: ↑55 and ↓2+53
Comments11

30+ онлайн ресурсов для изучения программирования в 2022

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



Составить рейтинг ресурсов для изучения программирования, предлагаю пользователям хабра, исходя из личного опыта их использования. В конце статьи вы сможете проголосовать за любимый сайт для изучения программирования.
Читать дальше →
Total votes 45: ↑37 and ↓8+29
Comments44

Графика для инди игр. Что делать если кругляшки и палочки вас не устраивают

Reading time3 min
Views26K
И снова добрый день. Вчера я опубликовал статью по разработке игры на Kotlin и вполне ожидаемо первый блин вышел комом. Ну да ничего страшного, любая ошибка это опыт. Главное сделать правильные выводы и двигаться дальше. Что было неправильно вчера и что я рассчитываю исправить сегодня. Не стоит мешать в кучу разные материалы, это первое. И второе — имеет смысл сдобрить статью иллюстрациями и ссылками на внешние источники. Итак, погнали.

Графика, это первое что бросается в глаза пользователю, запустившему ваше приложение. И хотя в Google Play есть несколько игр чисто текстовых, это исключение из правил. И в разработке подобных игр без сомнения полно своих подводных камней. Что же следует сделать инди-разработчику, чтобы не провалить то самое первое впечатление? В первую очередь следует на первых этапах разработки определиться с основным интерфейсом. Есть несколько практик как сделать это быстро и дешево:
Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments15

Из физиков в Data Science (Из двигателей науки в офисный планктон). Вторая часть

Reading time22 min
Views46K


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


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


Total votes 63: ↑61 and ↓2+59
Comments29

Типичные распределения вероятности: шпаргалка data scientist-а

Reading time11 min
Views130K

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →
Total votes 86: ↑85 and ↓1+84
Comments28

Выбор и редактирование пользовательских примитивов в MultiCAD.NET

Reading time3 min
Views3.2K


В одной из прошлых статей мы рассказывали о том, как можно создавать пользовательские примитивы с помощью MultiCAD.NET API, взяв за основу пример CustomObjects из SDK. В этой статье мы уделим внимание процедуре поиска и выбора пользовательских объектов и расширим имеющийся пример, добавив возможность выбора одного или нескольких примитивов с помощью инструментария MultiCAD.NET для последующего редактирования. Подробности — под катом.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments5

Сериализация объектов в MultiCAD.NET. Управление совместимостью чертежей и прокси-объектами

Reading time4 min
Views3.2K

При создании пользовательских объектов на традиционном C++ API (NRX в nanoCAD, ObjectARX в AutoCAD) для обеспечения сохранения объектов и чтения их из файла чертежа необходимо в явном виде описывать запись (сериализацию) и чтение (десериализацию) каждого поля. В MultiCAD.NET API применён более привычный .NET разработчикам описательный подход, в основе которого лежит стандартная .NET сериализация.

Применение сериализации, нечувствительной к версии объектов (Version Tolerance Serialization), предоставляет разработчикам более гибкий механизм управления совместимостью объектов разных версий, чем существующий в традиционном C++ API, где предусмотрено чтение предыдущих версий, но чтение файлов «из будущего» невозможно.

В MultiCAD.NET при описании новых версий объектов можно указать, что вновь добавленные поля необязательны, и тогда чертёж, сохранённый в формате новой версии приложения, прочтётся и в предыдущей версии. Разумеется, без изменений остался и традиционный подход, приводящий к созданию прокси объектов (кешированной графики объектов) при загрузке чертежа в предыдущую версию приложения.

Под катом мы обсудим, как достичь совместимости двух версий объекта, а также, как обеспечить традиционный уровень совместимости, когда новые версии приложения читают старые чертежи, но не наоборот.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments0

Импорт координат из текстового файла в чертёж nanoCAD на классическом .NET API

Reading time7 min
Views17K


Одним из наиболее популярных вопросов по программированию под nanoCAD является «Как мне импортировать точки из текстового файла?». Задача это несложная, но профессиональный проектировщик не обязан быть профессиональным программистом, поэтому эту статью мы написали в стиле «для начинающих».

Импортировать координаты в чертёж можно на любом из существующих в nanoCAD видов API. Мы решили выбрать .NET и сравнить два близких API: классический .NET API и кросс-САПР-платформенный MultiCAD.NET API. Под катом — первая часть — импорт точек на классическом .NET API.
Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments4

Создание плагинов для AutoCAD с помощью .NET API (часть 1 – первые шаги)

Reading time10 min
Views66K
Hello, Habr!

Решил рассказать о своем опыте работы с AutoCAD. Может быть, кому-то это поможет – ну или хотя бы интересным покажется.

public static string disclaimer = "Автор не является профессиональным разработчиком и не обладает глубокими знаниями AutoCAD. Этот пост – просто небольшой рассказ о начальном этапе создания плагина.";


Предыстория


Началось все достаточно просто: в очередной раз почувствовав острую нехватку денег, я решил, что пора бы уже начать их где-нибудь разыскивать. И вот после пары недель поиска на «Фрилансим» обнаружилась вакансия разработчика для создания программы, взаимодействующей с AutoCAD.

Скажу сразу: до того дня общаться с AutoCAD мне не доводилось. Однако объявление содержало в себе фразу «Опыт работы не требуется», которая наполнила мою душу надеждой. Я связался с разместившим вакансию человеком и получил тестовое задание.

Для пробы предлагалось создать на чертеже пару объектов, а также вывести текст. Несколько дней я искал информацию об API и пытался подружиться с непривычной программой. В конце концов фигуры были нарисованы, текст выведен, а тестовое задание отправлено на проверку. И через несколько дней я неожиданно узнал, что принят! Чудеса, да и только.

В следующих абзацах – мои впечатления, синяки и шишки, мысли и советы (возможно, вредные). Разработка велась под AutoCAD 2010, в качестве IDE использовалась верная Visual Studio 2013 Express. Язык разработки – C#.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments14

Видеоматериалы, блоги и подкасты для .NET разработчика

Reading time5 min
Views17K
Видеоматериалы


В одной из своих статей Бьёрн Страуструп (папа С++) признался, что он не признает видео материалы в качестве источника для самообразования. И с ним сложно не согласиться, когда речь касается изучения с нуля языка программирования или технологии. Я правда сомневаюсь, что можно одолеть такого монстра, как С++ или стать гуру WPF лежа на диване и просматривая обучающее видео типа «Узнай все за 24 часа». Но если вы ставите себе цель познакомиться с некоторой технологией или новой возможностью языка программирования, или просто послушать философско-компьютерные размышления умного товарища, то в этом случае веб-касты, записи конференций или другой вид видеоматериалов может быть очень кстати.
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments19

Все способы вертикального выравнивания в CSS

Reading time6 min
Views800K
image

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

Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments20

Фонд Бортника – «легкие деньги» во благо или во вред

Reading time5 min
Views59K
Каждый стартап выбирает себе путь развития: личные вложения, инвесторы или фонды. В каждом есть плюсы и минусы. Наша компания получает уже третий грант. И хочется поделиться личным опытом, насколько это сложно и что с этим делать.
Началась история с идеи проекта «Онлайн видеоредактор». Собралась команда из группы гиков, девелоперов и одного толкового менеджера. Денег на проект ни у кого не было. Вариант кредитования нас не устраивал, потому что ни у кого тогда не было гарантий, что проект взлетит, да и под залог оставить было нечего. Были еще варианты: инвесторы и фонды. И до первых и до вторых достучаться «с нуля» — задача не из простых. Мы пробовали оба варианта. Все же рабочим для нас оказался вариант с фондом.

В 2009 году Фонд содействия развитию малых форм предприятий в научно-технической сфере, также называемый фондом Бортника в честь его основателя, Ивана Михайловича Бортника, проводил конкурс совместно с Microsoft. Назывался он Microsoft Business Start. Мы подали заявку. Для группы разработчиков и одного менеджера, у которого на тот момент хоть и был кое-какой опыт управления компанией, заполнить заявку – отдельная эпопея. Но мы прошли отборочный тур, были допущены к очной защите, но на этом этапе проект «зарезали».
Читать дальше →
Total votes 14: ↑8 and ↓6+2
Comments19

Смарт лампы MiLight, или как найти приключений на свою gluteus maximus

Reading time5 min
Views23K
image
На дворе стояла весна. В облаках пели птички, а на грешной земле им вторили коты и запойный сосед Дядя Миша. Заканчивался второй месяц безудержного ремонта в новой квартире. Остались позади мучительный выбор обоев и ускоренные курсы таджикского языка по методике «Конечно, мы знаем, как сделать Ethernet-розетку!» Всё закончилось. Все ушли с тем же количеством пальцев, с которым пришли два месяца назад.

Я никогда не видел особой пользы от «умного дома» в тех реализациях, про которые обычно пишут на Хабре рукастые парни. Ну да, можно хлопнуть в ладоши, и веб-камера под потолком автоматически выложит ваше сэлфи в хипстограм. А что если вы однажды приведёте домой девушку, которая почему-то любит хлопать в ладоши в самый ответственный момент? Вот то-то и оно. Именно поэтому я и не стал закладывать в электропроводку никаких дополнительных проводов с заделом на будущий «умный дом». Вокруг и так полно умников, так хоть дома от них отдохну.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments28

Будущее влияет на прошлое? Учёные подтвердили мысленный квантовый эксперимент Уилера на примере отдельных атомов

Reading time5 min
Views124K
image
Профессор Эндрю Траскот и студент Роман Хакимов отважно заглядывают в квантовый мир

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

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

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

Кроме одного момента — квантовой физики. Там вообще много странного. Вот, например, классический эксперимент с двумя щелями. Если мы поместим препятствие со щелью на пути источника частиц (например, фотонов), а за ним поставим экран, то на экране мы увидим полоску. Логично. Но если мы сделаем в препятствии две щели, то на экране мы увидим не две полоски, а картину интерференции. Частицы, проходя сквозь щели, начинают вести себя, как волны, и интерферируют друг с другом.
Читать дальше →
Total votes 63: ↑57 and ↓6+51
Comments142

Учимся C#. Ведро второе.

Reading time6 min
Views28K

Результаты отзывов


Немного о C# и *nix


Многих заинтересовало, как же можно писать на C# в *nix системах. Попробую помочь нашим друзьям. Существует проект Mono и вот, что нам говорит Википедиа:
Mono — проект по созданию полноценного воплощения системы .NET на базе свободного программного обеспечения.
Mono включает компилятор языка C# — mcs, среду исполнения .NET — mono (с поддержкой JIT) и mint (без поддержки JIT), отладчик, а также ряд библиотек, включая реализацию ADO.NET и ASP.NET. В рамках проекта также разрабатываются привязки для графической системы GTK+ на платформу .NET.
Среда исполнения mono может исполнять модули, написанные на языках C#, Visual Basic .NET, Java, Boo, Nemerle, Python, JavaScript, PHP и Object Pascal (при наличии компилятора в среду .Net/Mono). Ожидается также поддержка языков C, Ada 2005 и Eiffel.
Реализации Mono существуют для следующих операционных систем: GNU/Linux, Solaris, Mac OS X, Microsoft Windows и Unix.

И это говорит нам о том, что мы спокойно можем программировать практически в любой ОС на C#. Последний релиз Mono Project — 2.2. Mono Project — здесь вы сможете загрузить самую последнюю версию, а так же посмотреть документацию.
Так же есть ещё одна хорошая новость. У группы разработчиков Mono есть дочерний проект — MonoDevelop. Это бесплатная IDE для C# и ASP.NET. Она поддерживает все необходимые функции для успешной и быстрой разработки в *nix системах.

Что там дальше...
Total votes 99: ↑71 and ↓28+43
Comments58

Перевод книги «Выразительный Javascript» в pdf

Reading time1 min
Views193K
Хабр, привет.

Не так давно SLY_G опубликовал цикл переводов книги Eloquent Javascript (за что ему большое спасибо). В комментариях раз за разом поднимались вопросы о сборке переводов книги, что, собственно, я и сделал при помощи сервиса Gitbook — «Выразительный Javascript», pdf, ePub, mobi и онлайн версия.

Репозитарий книги, pull requests принимаются.
Читать дальше →
Total votes 81: ↑81 and ↓0+81
Comments36

Умные светодиодные лампочки: что может предложить рынок?

Reading time4 min
Views52K


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

Например — установка энергосберегающего оборудования, включая умные светодиодные лампочки. Раньше такие устройства (а это полноценное устройство, а не просто источник света) стоили дорого, но сейчас рынок может предложить гораздо менее затратные решения. При этом такие лампочки могут быть очень функциональными. И ниже, под катом — обзор пяти умных светодиодных лампочек, плюс, в качестве бонуса — описание умного патрона под любую лампу.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments64

Некоторые рекомендации по организации автонумерации при написании научных статей и диссертаций средствами Microsoft Word

Reading time11 min
Views133K
– А ларчик просто открывался.
И.А. Крылов


О чём эта статья

В настоящей работе описываются способы автоматической организации нумерованных объектов при написании статей, рефератов, докладов, диссертаций и пр. При написании подобного рода материалов неизбежно возникает необходимость нумеровать те или иные объекты, например, формулы или пункты в списке используемой литературы. При этом многие авторы пользуются при написании текстовым редактором Microsoft Word.
В случае тривиальной «ручной» организации, при которой каждый номер прописывается непосредственно руками (обычно, в самом конце, когда текст полностью готов), автор работы может ошибиться в каком-либо номере, и все дальнейшие номера окажутся неверными. Более того, после рецензии те или иные части работы могут быть вставлены в текст или убраны из него. Последнее, зачастую, требует полной перенумерации объектов в документе. Таким образом, цель настоящей статьи состоит в доведении до читателя способов автоматической организации нумерации объектов, позволяющих избежать вышеописанные ситуации.
Предупреждение: в данную статью вошли лишь те приёмы, с которыми автор столкнулся при написании кандидатской диссертации. Описываемые способы организации нумерованных объектов не претендуют на единственность, полноту и оптимальность. Имеются другие интересные способы, например, в TeX. Несомненно, читатель сможет найти и иные способы достижения сформулированной цели. В любом случае, ознакомиться с подходами автора (хотя бы на досуге) следует любому заинтересованному читателю.

Основы работы с полями MS Word


В данном разделе описываются основные поля текстового редактора MS Word, необходимые для организации списков и ссылок на них, а также методы работы с ними.
Поле MS Word – это объект, принимающий то или иное значение в зависимости от ключевых слов и параметров этого поля. Для вставки поля в текст необходимо нажать сочетание клавиш Ctrl + F9 или выбрать соответствующее меню на ленте.
image
После вставки поля в тексте появятся серые фигурные скобки.
image

Читать дальше →
Total votes 52: ↑40 and ↓12+28
Comments27

Information

Rating
Does not participate
Location
Россия
Registered
Activity