Как стать автором
Обновить
869.65
Рейтинг

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга

Рассылка писем через Unione (php, Yii2)

PHP *Программирование *Yii *ООП *

В статье представлен код позволяющий отправлять транзакционные письма через сервис unione, делать HTTP запросы к REST апи, а так же отправлять обычные email по smtp используя общий класс отправитель различных сообщений.

(new UniversalReader($name))->read()
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 430
Комментарии 0

Новости

Rust 1.64.0: rust-analyzer в rustup, IntoFuture, ffi-типы в core и alloc, улучшения в Cargo

Open source *Программирование *Системное программирование *Компиляторы *Rust *
Перевод

Команда Rust рада сообщить о новой версии языка — 1.64.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.64.0 вам достаточно выполнить команду:


rustup update stable

Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.64.0 на GitHub.


Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta) или nightly (rustup default nightly) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 2.6K
Комментарии 3

Первый опыт написания полноценной программы

Программирование *C++ *Учебный процесс в IT
Из песочницы

Каждый начинающий программист мечтает реализовать свой собственный проект. Не написать простенький код, по заданию преподавателя, а воплотить в жизнь свои идеи. Так и я, изучая C++ 3-4 месяца, решился попробовать разработать макет электронного журнала для преподавателей.

Читать далее
Всего голосов 28: ↑15 и ↓13 +2
Просмотры 5.6K
Комментарии 24

Количество Биткоинов не будет 21.000.000

Программирование *Математика *Финансы в IT Криптовалюты

Различные источники утверждают, что последний Биткоин будет добыт в 2140 году и всего их будет 21.000.000, но нигде не сказано почему именно так, а не иначе? В этой статье я подробно раскрою ответ на этот вопрос.

Докопаться до истины
Всего голосов 43: ↑38 и ↓5 +33
Просмотры 11K
Комментарии 12

Рисуем карту сервисов при помощи Qt Quick и GraphViz

Программирование *C++ *Qt *

Решил запрототипировать два представления в дополнение к стандартному Jaeger UI. Это построение карты сервисов по трейсу; просмотрщик логов без пиксельхантинга и разворачивания спанов. Для виджетов есть обертка в виде nbergont/qgv, а хочется сделать на QtQuick.

Читать далее
Рейтинг 0
Просмотры 903
Комментарии 0

PowerShell: проверка совмещения имен БЭМ-сущностей на одном HTML-узле

Разработка веб-сайтов *Программирование *PowerShell *Регулярные выражения *
Tutorial

При написании HTML-страницы по методологии БЭМ («Блок, Элемент, Модификатор») БЭМ-сущности привязываются к узлам HTML-дерева. В предыдущих статьях я рассматривал, как можно выполнить в скрипте на языке PowerShell проверку правильности написания названий БЭМ-сущностей по отдельности с помощью регулярных выражений.

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

Читать далее
Рейтинг 0
Просмотры 350
Комментарии 0

Реализация Интернета вещей для промышленного оборудования простыми методами

Программирование *Анализ и проектирование систем *Промышленное программирование *Разработка на Raspberry Pi *Интернет вещей

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

Эту идею реализовал в работе, связанной с "умными" очистителями воздуха для помещений.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 1.7K
Комментарии 11

UseStdLibVars: используйте переменные стандартных библиотек

Блог компании Evrone Open source *Программирование *Go *

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 1.4K
Комментарии 3

GUI Генератор паролей на Python

Python *Программирование *Qt *
Tutorial

Штош. В этой статье я научу вас делать кроссплатформенное приложение генератор паролей с графическим интерфейсом. Мы будем использовать язык Python и библиотеку PySide6 - привязку к инструментарию фреймворка Qt.

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

В статье я постарался затронуть все моменты создания и сборки приложения. Ознакомиться с проектом можно на GitHub.

Штош
Всего голосов 26: ↑25 и ↓1 +24
Просмотры 5.7K
Комментарии 17

Как хранить сеть дорог в БД для построения маршрута?

PostgreSQL *Программирование *Java *OpenStreetMap *Геоинформационные сервисы *

Японцы уже в 2018 году научили немецкий GraphHopper строить маршруты по дорогам хранящимся в PostgreSQL.

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

Надо всего лишь...
Всего голосов 28: ↑28 и ↓0 +28
Просмотры 8.4K
Комментарии 17

Работаем с pdf из контекстного меню файлового менеджера

Программирование *PDF Разработка под Linux *
Tutorial

Замечательный файловый менеджер Dolphin всем хорош. И две панели, и разнообразные контекстные меню ускоряющие обработку всевозможных команд и заданий. Но что делать если нужно простенько и быстро собрать несколько одностраничных pdf-файлов?

Узнать больше
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.9K
Комментарии 5

Event sourcing+CQRS с помощью Spring

Программирование *Java *
Из песочницы

Пришел как-то на новый проект, а там Event sourcing+CQRS. Посмотре, как эта архитектура устроена тут и тут и очень вдохновился. На проекте были джава и спрингом, но архитектура настраивалась полностью вручную.

Как мы знаем, аннотации это хорошо. Давайте попробуем собрать handler’ы и applier’ы с помощью кастомных аннотаций.

Читать далее
Всего голосов 10: ↑6 и ↓4 +2
Просмотры 2.8K
Комментарии 4

Ликбез по диплинкам. Часть 2: диплинки с нуля

Блог компании OTUS Программирование *Разработка под Android *
Перевод

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

Чтобы получить доступ к определенному контенту в вашем приложении, пользователи могут переходить по этим ссылкам как извне, так и внутри вашего приложения. Их можно использовать на веб-страницах, уведомлениях, в качестве ярлыков или навигации между модулями в вашем приложении.

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 1.2K
Комментарии 0

Почему вам следует полностью переходить на Kotlin

Блог компании OTUS Программирование *Kotlin *
Перевод

Пришло время начать использовать современный язык программирования

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

Читать далее
Всего голосов 53: ↑30 и ↓23 +7
Просмотры 17K
Комментарии 57

Жизнь выдающихся программистов. Джей Фриман (saurik)

Блог компании RUVDS.com Программирование *Разработка под iOS *Системное программирование *Разработка под Android *

Прошлая серия про талантливую программистку Джастин Танни не оставила равнодушной хабрасообщество. Поэтому продолжаем заполнять нижние строчки хит-парада выдающихся программистов 21 века. Это особенные личности, которым карьера как будто не важна. В силу высокого IQ, врождённой любознательности и особого характера они не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.

Следующий герой — более публичный и известный персонаж, про него даже есть статья в Википедии. Гений реверс-инжиниринга Джей Фриман известен под ником saurik, а славу ему принёс каталог «запрещённых» приложений Cydia (для взломанных айфонов).
Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Просмотры 6.4K
Комментарии 0

Имитация трёхмерных зданий в 2D-игре

Программирование *Разработка игр *Игры и игровые консоли
Из песочницы

Создаём объём при помощи света и теней.

Игра двухмерная, разрабатывается на Game Maker Studio 2 и во время работы я столкнулся с множеством задач а-ля «должно быть красиво». Где-то пришлось придумать свой велосипед, где-то повезло наткнуться на описание решения похожих задач.

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

Внутри есть гифки и картинки!
Всего голосов 62: ↑62 и ↓0 +62
Просмотры 8.1K
Комментарии 14

Приручаем многопоточность в Node.js (часть 1: базовые концепты)

Блог компании Тензор Высокая производительность *JavaScript *Программирование *Node.JS *
Tutorial

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

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

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

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 2.1K
Комментарии 2

[Golang] Ошибки, которые нельзя обработать

Программирование *Go *

Бывает что мы хотим добавить новую функциональность в сервис и всегда хочется это сделать быстро. И иногда приходит мысль написать рабочий вариант, а после этого исправлять баги. Может показаться, что если мы разрабатываем новую функциональность, мы не можем затронуть существующий функционал - у нас же http или grpc фреймворк ловит все паники и обрабатывает их. Но это не всегда так и в этой статье я хочу рассказать о некоторых ошибках, за которыми нужно всегда внимательно смотреть, потому что они могут привести к падению сервиса.

Читать далее
Всего голосов 16: ↑12 и ↓4 +8
Просмотры 3.4K
Комментарии 5

Вклад авторов