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

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

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

Как мы ржавели. История внедрения и обучения

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

Все говорили – переходи на rust! Начинай пользоваться самым-самым языком, который самый любимый язык на stackoverflow и всё такое.

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

Профессионально я программирую уже 17 лет. В далёкие-предалёкие времена я начал изучать программирование с x86 Assembly. Такой жестокий подход к изучению компьютера дал мне глубокое понимание того как работает процессор и что делают другие языки программирования. Учить новые языки для меня никогда не было проблемой. Я их просто учил. C, C++, шарпы, ГО, тысячи разных скриптов и фреймворков. Чего уж там, ещё один язык, можно и выучить.

Ага.

Только вот не с этой ржавой развалюхой. Я просидел две недели над официальным руководством, пялился в VSCode и не мог выдавить из себя больше чем fn main() {}. Ну какого же чёрта? Я просто закрыл глаза, открыл руководство на рандомной странице и начал его читать. И прикол в том, что я понял о чём там говориться. И тут до меня дошло… Руководство написано наизнанку. Начало и конец ничуть не лучше чем в Мементо Кристофера Нолана. Они как-то умудрились запутать в общем-то нормальное руководство. После этого всё пошло получше.

Ржавые шестерёнки заскрипели и начали крутиться. Программа пошла-поехала. Если хотите знать как я внедрил rust в продакшин, как я ему научился и что из этого вышло – добро пожаловать под кат. Реальные люди, коммиты, примеры и никаких todo-list и хеллоу-ворлдов.

Ржаветь так ржаветь.
Всего голосов 113: ↑109 и ↓4+134
Комментарии315

Зачем тестировать код к статье в машинном обучении. Разбираем пример

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

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

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

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

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

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

2037. Смерть копирайту — 2

Время на прочтение4 мин
Количество просмотров42K
Добрый день, меня зовут Алексей, мне 33 года и я копираст, – он криво ухмыльнулся небритому отражению, чокнулся с зеркалом и махом опустошил стакан.

— Хотя какой я копираст, так самый обычный банкрот и алкоголик…

А что еще остается делать, когда на счету долг почти полтора микрокоина? Два дня назад его аккаунт был окончательно переведен из режима «Read only» в «Access denied». Жизнь кончилась и выхода нет.

image

Хотя вот он выход, лежит на столе антрацитовой визиткой с лаконичной надписью «Мистер Руби» и крохотным тачпадом мгновенного вызова. Приложи палец – и все проблемы буду решены…

Проблемы начались полтора года назад, когда Алексей вместо того чтобы обновить железо на своей майнинговой ферме взял в ипотеку новую капсулу виртуальной реальности…

Странная вещь язык — почему вдруг майнинг и на ферме? А на шахте тогда что? Впрочем, последний год ферма все равно почти не приносила дохода — все съедали арендные платежи и плата за электричество…

много слов
Всего голосов 182: ↑123 и ↓59+64
Комментарии77

Женщина-математик, любившая матанализ и Бога

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

Аньези была итальянским математиком, философом, теологом и филантропом.

Возможно, я вас разочарую, но «ведьма Аньези» — это кривая, которую студенты-математики обычно изучают на курсе матанализа. Она не похожа ни на ведьму, ни на шляпу, ни даже на метлу. Это просто покатая, плавная кривая.

Если в современных математических учебниках упоминают Аньези, по имени которой названа кривая, то обычно пишут, что Мария Гаэтана Аньези была математиком 18-го века, ставшая первой женщиной, написавшей серьёзный учебник по математическому анализу. Также там могут добавить, что название кривой является неверным переводом итальянского versiera — термина, придуманного математиком Гвидо Гранди на основании слова на латыни, обозначавшего «поворачивающая кривая». Переводчик Джон Колсон перепутал его со словом «avversiera», означающим «демоница» или «ведьма».

Это иронично, если не сказать больше — благочестивая католичка, посвятившая десятилетия своей жизни службе бедным, стала ассоциироваться с ведьмой благодаря кривой, которую даже не она придумала. Но в каком-то смысле это кажется уместным. По словам историка науки Полы Финдлен из Стэнфордского университета, это похоже математическую «оговорку по Фрейду» — итальянское слово «кривая» превратилось в итальянское слово, обозначающее одержимую дьяволом женщину. Замечательная математическая шутка. Была ли она намеренным каламбуром, или нет, но ошибочный перевод Колсона увековечил место Аньези в преподавании матанализа.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии18

Познаем промисы на основе Ecmascript спецификации. Знакомство

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

Здравствуйте. Изучая JavaScript (да и в принципе любую другую технологию), всегда возникают разнообразные вопросы, главный из которых: «А почему это работает таким образом и не иначе?» И очень важно в этот момент не просто найти ответ на вопрос, но и полученное объяснение встроить в единую систему уже полученных знаний. Иначе осиротевшую информацию придется зазубрить или забыть.


Совместное изучение чего-либо очень помогает искать ответы. Когда ученик / напарник задает вопрос про то, как понимать фразу — «… в следующий по цепочке промис „проваливается“ результат предыдущего… » — невольно задумываешься… Вот ведь какое странное дело. А ведь лучше уже не скажешь, неужели и это не понятно? Смотришь в чистые, немного наивные, глаза товарища и понимаешь — необходимо сказать как-то еще. Желательно так, чтобы даже запоминать не пришлось. Чтобы просто новая информация органично вписалась в уже существующие мысли человека.


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

Читать дальше →
Всего голосов 6: ↑5 и ↓1+10
Комментарии3

Многопоточность на Node.js. Event Loop

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

Инфа будет полезна JS-разработчикам, которые хотят глубоко понимать суть работы с Node.js и Event Loop. Вы сможете осознанно и более гибко управлять потоком выполнения программы (web-сервера).


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


Как устроена Node.js. Возможности асинхрона


Давайте посмотрим на этот код: он отлично демонстрирует синхронность выполнения кода в Node.js. Делается запрос на GitHub, затем записываем данные в файл и выводим результат в консоли. Что понятно из этого синхронного кода?


image

Читать дальше →
Всего голосов 14: ↑13 и ↓1+15
Комментарии17

Повышение продуктивности при работе с Jupyter Notebook за 5 минут

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

Для начала повторим основные горячие клавиши. Если вы их ещё не используете — начните обязательно. В долгосрочной перспективе время на изучение окупится многократно.


0. Основные горячие клавиши


  • Esc: Переключение между режимом выполнения и редактирования
  • A: Добавление пустой ячейки сверху
  • B: Добавление пустой ячейки снизу
  • DD: Удаления ячейки
  • C: Копирование ячеек
  • X: Вырезание ячеек
  • V: Вставка ячеек

1. Перезапуск блокнота


Для рестарта просто нажмите ESC + 00.


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

Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных

Время на прочтение5 мин
Количество просмотров30K
Когда я только начал своё путешествие к науке о данных, я потратил много времени на то, чтобы понять, с чего начать, что я должен узнать в первую очередь и какие ресурсы должен использовать. За последние два года я узнал несколько вещей, о которых хотел знать раньше, например о том, стоит ли сначала сосредоточиться на программировании или статистике, какие ресурсы я должен использовать для изучения новых навыков, как я должен подходить к изучению этих навыков и так далее. Таким образом, эта статья написана, чтобы дать направления и идеи для тех, кто изучает Data Science.

Приятного чтения!
Всего голосов 30: ↑29 и ↓1+35
Комментарии3

Интуитивное объяснение интеграла. Часть I — от умножения натуральных чисел до Ньютона и Лейбница

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

Если у Вас нет математического образования, если Вы хотите по-настоящему разобраться в том, что из себя представляет интеграл и интегрирование, зачем всё это надо, как математика пришла к идее интеграла, то в таком случае Вы пришли по адресу — добро пожаловать!

Читать далее
Всего голосов 17: ↑14 и ↓3+16
Комментарии67

Информация

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