Шпаргалка по Linux для чайников

Заранее прошу прощения у опытных пользователей Linux, если допустил где-то ляпы… Что взять с чайника? 🙂 В тексте ниже в качестве приглашения (prompt) используется символ доллара. Package Management Разные дистрибутивы Linux включают в себя разные пакетные менеджеры. Например: — Debian — apt-get — RedHat — dnf или yum О том, что такое пакетные менеджеры, читайте статью Linux Package Management. Утилиты вроде apt-get и dnf — более высокоуровневые — они не заставляют пользователя указывать точную версию пакета и они сами устанавливают Читать дальше …

From Nand To Tetris — Как построить компьютер с нуля

В связи с карантином я открыл для себя платформу Coursera и в короткий срок прошел там уже несколько довольно объемистых курса. Один из них From Nand To Tetris (далее буду для краткости называть его N2T) осуществил одну из моих мечт — спроектировать компьютер с нуля (или хотя бы почувствовать как это) — об этом я задумывался, когда читал книжку Эндрю Таненбаума «Архитектура компьютера». Кстати, по моему, идеологически курс N2T близок книжке Таненбаума, но курс, в отличие от книжки — проектно-центрированный, Читать дальше …

Трудовая автобиография

Эта заметка предназначается, потенциальным работодателям — ссылку на нее я разместил в своих резюме. Но может, и широкому читателю будет интересно (т. е. если сюда забредет кто-то из моих студентов). Поехали. В 2010-м году я окончил (с отличием) кафедру Микроэлектроники Московского Инженерно-Физического Института. Будучи студентом-дипломником, я занимался исследованием радиационной стойкости транзисторов, усилителей и прочих аналоговых устройств. Проводил эксперименты, делал расчеты в системе компьютерной алгебры Wolfram Mathematica, писал статьи. Чтобы как-то автоматизировать лабораторные эксперименты, изучал программирование на C/C++ и написал тогда Читать дальше …

Machine Learning

Недавно я прошел 11-недельный курс Machine Learning на платформе Coursera. Курс великолепен. Чтобы помочь себе вспомнить материал через много лет, я решил написать краткий конспект, состоящий преимущественно из ключевых слов, поэтому текст ниже будет понятен, скорее всего, только тем, кто сам прошел этот курс. Supervised learning algorithms Постановка задачи. Есть входные переменные (x), от которых предположительно зависит выходная переменная (y). Есть набор данных, для которых известны конкретные значения (x) и (y). Цель — найти такую функцию, которая максимально точно будет Читать дальше …

Переход с Visual Studio на VS Code

Если вы используете Microsoft Visual Studio в коммерческих целях, то вам нужно покупать лицензию. Фирма, в которой я работаю, такую лицензию имеет. Однако, почему бы не избавиться от необходимости платить, и не перейти на бесплатные средства разработки? Вот и стали мы переходить… Оказалось, что не так это сложно, в конце концов интегрированная среда разработки (ее платная часть) — это лишь графическая оболочка, которая для своей работы пользуется различными бесплатными утилитами командной строки. Графическую Visual Studio часть можно компенсировать бесплатным редактором Читать дальше …

PowerShell, NuGet & Visual Studio postbuild event (продолжение)

В предыдущей заметке я начал рассказ о том, как я переходил к использованию NuGet package manager и как использовал в связи с этим скрипт PowerShell, чтобы копировать сторонние библиотеки из одного места в другое. Удаление недействительных ссылок Проектов в моем решении очень много. Многие из них ссылаются на одну и ту же стороннюю библиотеку. Сторонние библиотеки у меня живут в папке $(SolutionDir)Lib. С переходом на NuGet значительная часть библиотек перебралась в папку $(SolutionDir)packages. При установке пакета в NuGet вы указываете Читать дальше …

PowerShell, NuGet & Visual Studio postbuild event

На работе я много лет работаю над большим-пребольшим проектом на платформе C#/.NET. В проекте используется ряд сторонних библиотек. Но поскольку я — программист-любитель, я не до сих пор использовал для управления ими package-manager, а просто тупо скачивал архивы с нужными библиотеками с оф. сайтов. Но вот, я решил-таки все решение перевести на использование NuGet package-manager, и в процессе столкнулся с рядом проблем, которые решил при помощи скриптов PowerShell, о чем и расскажу в этой заметке. Почему я решил начать использовать Читать дальше …

Компьютерные сети

Недавно я в целях ликвидации безграмотности посмотрел видеокурс GeekBrains по компьютерным сетям (автор — Алексей Степченко). Курс великолепный, то как автор доносит информацию до слушателей — выше всяких похвал. Зиждется данный курс на практических примерах и заданиях, которые выполняются в программе Cisco Packet Tracer, которая эмулирует компьютерные сети, то бишь хосты, серверы, свичи, роутеры и пр. Причем эмулирует, я бы сказал, с высокой степенью реалистичности. В этой программе вы настраиваете сетевое оборудование и можете в реальном времени наблюдать функционирование сети. Читать дальше …

Как сделать свой проект открытым (open source)

Недавно мне довелось делать закрытый проект открытым, т. е. перевести его в разряд проектов с открытым исходным кодом (open source). Не уверен, что все сделал абсолютно правильно. Тем не менее, опытом хочу поделиться. Добавление лицензии в проект Copyright notice Зависимости (dependencies): как быть с их лицензиями Делаем репозиторий открытым Добавление лицензии в проект Если проект не снабжен лицензией, он тем не менее защищен авторским правом. Причем это подразумевает, что никто, кроме автора, не может распространять проект в оригинальном или модифицированном Читать дальше …