Рубрика «код» - 5

image

Это перевод поста Майкла МакКи. Майкл — профессиональный программист, который время от времени делится своим опытом и навыками с коллегами, как начинающими кодерами, так и профессионалами.

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

Перед вами перевод статьи Xiang Zhou, опубликованной на сайте freeCodeCamp. Если вы разработчик-самоучка и хотите преодолеть все преграды на пути к цели, добро пожаловать под кат!

Сложности самообучения программированию и как их преодолеть - 1
«Белая книга на коричневом деревянном столе», фото Alexander Michl на Unsplash
Читать полностью »

Пример создания на Node.js спортивного приложения, работающего в режиме реального времени - 1

В этой статье я покажу, как создать веб-приложение с использованием Node.js, которое позволяет отслеживать результаты матчей NHL в реальном времени. Показатели обновляются в соответствии с изменениями счета по ходу игр.

Мне очень понравилось писать эту статью, поскольку работа над ней включала две любимые мною вещи: разработку ПО и спорт.
Читать полностью »

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

Читать полностью »

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

Дольше всего приходится вычитывать не хитрые алгоритмы, и не решения с алгебраическими типами данных и монадами, а огромные куски простого кода: методы на 500 строк, скрипты на 1000 строк, классы на 1500 строк. Все они доставляют индустрии проблем не меньше, чем печально известное NullPointerException.

Читать полностью »

Как пользоваться интерфейсами в Go - 1

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

Этот пост содержит рекомендации автора материала об оптимальном использовании интерфейсов в Go, основанные на его опыте в написании кода.

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

Как делать не надо

Очень распространенное явление, которое я наблюдаю:

package animals 

type Animal interface {
	Speaks() string
}

// применение Animal
type Dog struct{}
func (a Dog) Speaks() string { return "woof" }

Читать полностью »

Возможно, вы узнали о выпуске пакета средств квантовой разработки Quantum Development Kit и подумали, что это звучит безумно круто… а потом вспомнили, что про квантовую механику почти ничего не знаете. Но ничего страшного. Через 30 минут вы будете знать о кубитах, суперпозиции и квантовой запутанности достаточно, чтобы написать свою первую программу и, что более важно, неплохо понимать, что она делает.

Квантовые вычисления и язык Q# для начинающих - 1Читать полностью »

Как правильно чистить лук, или Почему разработка ПО выходит из-под контроля - 1

Вы придумали стартап и с самыми лучшими намерениями нанимаете разработчика для реализации своей идеи. Но идет неделя за неделей, а приложение по-прежнему нуждается в доработке. Как-то незаметно появляются новые функции, и масштаб задачи понемногу расширяется.

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

Как правильно чистить лук, или Почему разработка ПО выходит из-под контроля - 2

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

Возможно. Но часто проект бывает с самого начала обречен на провал из-за недопонимания одного важного момента.

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

Это предположение — неверно.

Проект — это не лист бумаги, не двумерный объект — у него есть глубина.

Каждую функцию на поверхности можно раскрыть — и так слой за слоем. Будь у меня склонность к громким заголовкам, я бы сказал, что всякое приложение — это лук, и нужно уметь правильно его чистить. Не очень понятно? Тогда давайте я поясню, что имеется в виду, и расскажу, почему не получается раскрывать слои приложения без слёз.

Переведено в AlconostЧитать полностью »

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

Немного из истории криптографии СССP: M-105 под кодовым названием Агат - 1
Кабинет перлюстрации при почтовом отделении в Российской империи

В истории отечественной криптографии времен СССР образовалось много пробелов, так как информация находилась под семью замками, строго хранилась в тайне. Читать полностью »

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

image

Информационно-аналитический подход к криптовалютным рассуждениям

Посвященные криптовалютам вроде Биткоина и Ethereum статьи изобилуют рассуждениями и теориями. Сотни самопровозглашенных экспертов приводят аргументы в пользу трендов, которые, по их мнению, проявят себя в скором времени. Чего точно не хватает многим подобным анализам, так это прочного фундамента в виде данных и статистики, способных поддержать те или иные утверждения.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js