Pull to refresh
6
0

Разработчик

Send message

Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill)

Reading time7 min
Views30K
Привет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal).


В этой статье, мы рассмотрим компоненты, которые необходимы для начала разработки под микропроцессоры Cortex-M3. После этого напишем простой пример — моргание встроенным светодиодом.
Читать дальше →
Total votes 34: ↑33 and ↓1+46
Comments40

3D своими руками. Часть 1: пиксели и линии

Reading time13 min
Views27K


Этот цикл статей я хочу посвятить читателям, желающим изучить мир 3D-программирования с нуля, людям, которые хотят узнать основы создания 3D-составляющей игр и приложений. Каждую операцию мы будем реализовывать с чистого листа, чтобы понимать каждый аспект, даже если есть уже готовая функция, которая делает это быстрее. Научившись, мы будем переходить на встроенные инструменты по работе с 3D. По прочтению цикла статей вы поймете как создаются сложные трехмерные сцены со светом, тенями, текстурами и эффектами, как все это сделать без глубоких познаний в математике и многое другое. Сможете все это делать как самостоятельно, так и при помощи готовых инструментов.
Начать обучение
Total votes 29: ↑27 and ↓2+36
Comments11

Мой способ знакомства учеников младших классов с Python

Reading time5 min
Views17K
В наше время большинство детей знакомится с миром программирования через создание проектов на платформе scratch.mit.edu Создание проектов происходит путем соединения разноцветных блоков без ввода кода с клавиатуры (вводим только значения переменных).

Однако, дети взрослеют, им становится тесно в мире Scratch, и в этот момент им можно предложить несколько путей развития.

Некоторые, как мой сын Артём, вдоволь поработав в графическом редакторе Scratch выбирают кружок изобразительного искусства.

Другие ребята — фанаты 2D игр, продолжают делать более профессиональные игры на платформе Construct.

Ну а фанатам программирования можно посоветовать Python, ведь это один из самых простых языков для изучения. Но как же быть, ведь ученики начальных классов совершенно не знакомы с клавиатурой?
Читать дальше →
Total votes 13: ↑12 and ↓1+16
Comments4

INVESTMENT-READY

Reading time52 min
Views6.2K
Или что следует иметь в виду, создавая стартап.

image

//при чем здесь котик? Что за странный вопрос ??


ПРЕДИСЛОВИЕ

Прочел несколько постов от людей, которые провалили стартапы и давали советы на тему чего не следует делать (сорри, хотел дать на них линки, но потерял).

Собирался ответить им в комментариях, но вышло слишком длинно, и решил написать отдельный пост.

Это не замена ценных советов по стартапам, которые Вы без труда найдете сами, но скорее дополнение к ним, заквашенное на личном опыте.

Как известно, опыт это то, что Вы получаете взамен того, что намеревались получить.

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

Возможно, статья пригодится тем, кто намерен создать свой стартап.

Она основана на многолетнем личном опыте, мнениях умных (реально) людей, и здравом смысле.

Вообще же, Здравый Смысл – это мерило всего, с чем Вы сталкиваетесь.



Читать дальше →
Total votes 20: ↑18 and ↓2+22
Comments10

На пальцах: ассоциированные типы в Rust и в чём их отличие от аргументов типов

Reading time5 min
Views9.7K

Для чего в Rust есть ассоциированные типы (associated types), и в чём их отличие от аргументов типов (type arguments aka generics), ведь они так похожи? Разве недостаточно только последних, как во всех нормальных языках? У тех, кто только начинает изучать Rust, а особенно у людей, пришедших из других языков ("Это же дженерики!" — скажет умудрённый годами джавист), такой вопрос возникает регулярно. Давайте разбираться.


TL;DR Первые контролирует вызываемый код, вторые — вызывающий.

Научите меня плохому!
Total votes 51: ↑50 and ↓1+49
Comments10

Письмо начинающему изучать Data Science

Reading time2 min
Views63K

Я бы хотел получить такое письмо три года назад, когда только начинал изучать Data Science (DS). Чтобы там были необходимые ссылки на полезные материалы. Статья не претендует на полноту охвата необъятной области DS. Однако для начинающего специалиста будет полезна.


Нейронные сети – это...

Читать дальше →
Total votes 51: ↑34 and ↓17+28
Comments21

Настольные игры для юных программистов 4-10 лет. Что можно найти на рынке в конце 2019 года

Reading time3 min
Views14K
Конец 2019 года. Настольные игры не собираются уступать место компьютерным и программирование (и немного робототехника) также становятся доступным для изучения в картонной форме.



А что можно найти на рынке в конце 2019 года для игры с детьми от 4 до 10 лет? Давайте посмотрим.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments5

Часть вторая. Как проходить code review по версии Google

Reading time3 min
Views26K
Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод").

Так как статья набрала много лайков, пишу обещанное продолжение про код ревью с другой стороны — со стороны автора изменений кода

Как обычно, будем говорить MR (Merge Request) вместо CL, потому что термин CL мало кто понимает.


Оригинал инструкции для авторов MR по версии Google можно посмотреть здесь, а я дам краткую выжимку.


Итак, поехали

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments36

Попытки начать обучение ребенка программированию с Minecraft pocket edition

Reading time5 min
Views57K


На дворе осень и сын все чаще остается дома, уткнувшись в телефон или планшет, слабо реагируя на внешние раздражители. Меня это огорчает. Сам я начал программировать, как мне кажется, с того, что к моему первому компьютеру БК 0010-01 игры то на кассетах в комплекте шли, а вот магнитофон не шел. Пока добывали магнитофон с подходящим линейным выходом, я успел попробовать Бейсик, спасибо отцу за первые уроки. Так что, когда смог со скрипом загрузить первую графическую игру, то смотрел на нее уже не как на то, во что наконец буду играть, а очарованно думал, как бы сделать свою не хуже. Сына же, в его 8 лет, давно поглотил мир видеоигр и ютуба, так что начинать программирование с трели на встроенном динамике, похоже, впечатления не произведет.

Total votes 59: ↑56 and ↓3+53
Comments103

7 недостающих факторов в подходе 12 Factor App

Reading time8 min
Views17K


Прим. перев.: Тот восторг, что испытали наши тимлиды, увидев в блоге IBM Cloud этот материал — своеобразное «расширение» легендарного Twelve-Factor App, — говорит сам за себя. Поднятые автором вопросы не просто на слуху, а по-настоящему жизненны, т.е. актуальны в повседневной жизни. Их понимание полезно не только для DevOps-инженеров, но и разработчиков, создающих современные приложения, запускаемые в Kubernetes.

Известная методология «12 factor application» представляет собой свод четко определенных правил для разработки микросервисов. Они широко используются для запуска, масштабирования и деплоя приложений. В облачной платформе IBM Cloud Private мы следуем тем же 12 принципам при разработке контейнеризированных приложений. В статье «Kubernetes & 12-factor apps» обсуждается специфика применения этих 12 факторов (они поддерживаются моделью оркестровки контейнеров Kubernetes).

Размышляя о принципах разработки контейнеризированных микросервисов, работающих под контролем Kubernetes, мы пришли к следующему выводу: вышеуказанные 12 факторов совершенно справедливы, однако для организации production-среды крайне важны и другие, а в частности:
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments12

YouTokenToMe: инструмент для быстрой токенизации текста от Команды ВКонтакте

Reading time2 min
Views11K
Хотим представить наш новый инструмент для токенизации текста — YouTokenToMe. Он работает в 7–10 раз быстрее других популярных версий на языках, похожих по структуре на европейские, и в 40–50 раз — на азиатских языках. Рассказываем о YouTokenToMe и делимся им с вами в open source на GitHub. Ссылка в конце статьи!

image
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments3

Экзорцизм программистскими методами

Reading time14 min
Views14K
Есть много материалов о том, как внедрение информационных систем помогло компаниям избавиться от потерь, сократить затраты, вырубить на корню воровство. Это прекрасно, когда получается избавляться от зла в таком большом объеме.

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

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

Просто опыт применения некоторых инструментов и примеры того, как они меня выручали.
Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments19

Оптимизируем торгового робота: генетический алгоритм

Reading time5 min
Views10K


В предыдущей статье я занялся сравнением методов параметрической оптимизации, т.е., подбора параметров, оценивая прибыльность торговли робота в ходе последующего бэктеста. Выяснилось, что банальный метод Монте-Карло — генерация случайных некоррелированных комбинаций параметров робота — работает вполне неплохо. Сейчас же я хочу протестировать популярный, в том числе, в сообществе программирующих трейдеров, алгоритм: генетический алгоритм оптимизации.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments10

Алгоритмы оптимизации торгового робота: эффективный способ наторговать миллион задним числом

Reading time10 min
Views19K
тизер

Я прочитал авторитетную книгу о торговых стратегиях и написал своего торгового робота. К моему удивлению, робот не приносит миллионов, даже торгуя виртуально. Причина очевидна: робот, как гоночный автомобиль, нуждается в «тюнинге», в подборе параметров, адаптированных к конкретному рынку, конкретному периоду времени.

Так как параметров настройки у робота достаточно, перебрать все их возможные комбинации в поисках лучшей, слишком затратная по времени задача. В свое время, решая задачу оптимизации, я не нашел обоснованного выбора алгоритма поиска квазиоптимального вектора параметров торгового робота. Потому решил самостоятельно сравнить несколько алгоритмов…
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments35

Как Microsoft переписала компилятор C# на C# и сделала его открытым

Reading time6 min
Views21K
Автор статьи — Мэдс Торгерсен, ведущий архитектор C# в Microsoft

Проект Roslyn

Roslyn — это кодовое название, которое закрепилось за open-source компилятором для C# и Visual Basic.NET. Проект начинался в самой глубокой тьме последнего десятилетия корпоративной жизни Microsoft — и завершился как проект с открытым исходным кодом, кросс-платформенный, публичный универсальный движок для C# (и VB, что я приму как данность в остальной части статьи).

Первые разговоры о проекте, который впоследствии станет известен как Roslyn, уже шли, когда я пришёл на работу в Microsoft в 2005 году — незадолго до выпуска .NET 2.0. Шёл разговор о переписывании C# на C#. Это нормальная практика для языков программирования — доказательство зрелости языка. Но была и более практичная и важная мотивация: мы, создатели C#, сами не программировали на C#, мы программировали на C++! Если же ежедневно программировать на C#, то вы меняете своё мнение: великая сила работы на том инструменте, какой разрабатываете (dogfooding).
Читать дальше →
Total votes 51: ↑39 and ↓12+27
Comments19

Пятница. Бредни программиста

Reading time11 min
Views35K
Привет, Хабр! Иногда в голове начинают бродить разные мысли. Кое-что записал. Получилось что-то вроде рассказа. Не судите строго — ведь это всего лишь фантазии.

image

Странные танцы


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

— Так кем же Вы работайте, Михаил?
Читать дальше →
Total votes 87: ↑77 and ↓10+67
Comments127

Новости Rust #1 (Сентябрь 2018)

Reading time6 min
Views6.9K

кдпв


Мой комментарий к новости про Rust 1.28 с обзором ржавых событий за месяц неплохо зашел, так что вот держите очень субъективный срез ржавых новостей за прошлый месяц.


В этой подборке: Rust 1.29, записи докладов с Rustconf 2018, gfx-rs, Rust2018, порт Flatbuffers, новые версии ripgrep и Alacritty.


Rust 1.29


Вышел Rust 1.29. Основные нововведения — доступные сразу из rustupcargo fix и cargo clippy (подробнее в хабропереводе).


Следом была выпущена версия 1.29.1, закрывшая ошибку в std::repeat (обсуждение).


Rust 1.30 и 1.31 будут очень значительными.

Точного списка пока нет, но ожидается что:


  • в 1.30 (2018.10.26) войдет частичная стабилизация процедурных макросов;
  • в 1.31 (2018.12.07) войдут Rust 2018 + non-lexical lifetimes (NLL).
Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments6

Yew — Rust&WebAssembly-фреймворк для фронтенда

Reading time14 min
Views17K
Yew — аналог React и Elm, написанный полностью на Rust и компилируемый в честный WebAssembly. В статье Денис Колодин, разработчик Yew, рассказывает о том, как можно создать фреймворк без сборщика мусора, эффективно обеспечить immutable, без необходимости копирования состояния благодаря правилам владения данными Rust, и какие есть особенности при трансляции Rust в WebAssembly.



Пост подготовлен по материалам доклада Дениса на конференции HolyJS 2018 Piter. Под катом — видео и текстовая расшифровка доклада.
Total votes 53: ↑50 and ↓3+47
Comments22

Переход с jQuery на Vue.js

Reading time10 min
Views40K
Автор статьи, перевод которой мы публикуем сегодня, полагает, что в мире существует ещё много программистов, которые, когда им нужно разработать простое веб-приложение, обращаются к jQuery. Обычно это случается тогда, когда некую страницу нужно оснастить простыми интерактивными возможностями, но использование для этого какого-нибудь JavaScript-фреймворка кажется явным перебором. Ведь это — килобайты ненужного кода, шаблоны, инструменты для сборки проектов, средства для упаковки модулей… При этом подключить к странице jQuery, воспользовавшись CDN-ресурсом, проще простого.



В этом материале речь пойдёт о том, как перевести проект, созданный с использованием jQuery, на Vue.js. Этот проект будет создан на jQuery, а потом переработан с применением Vue. Автор материала хочет продемонстрировать всем желающим то, что использование Vue, даже в сравнительно небольших проектах, не обязательно означает чрезмерное увеличение размера кода таких проектов и большую дополнительную нагрузку на программиста. Это, наоборот, при практически тех же размерах вспомогательного кода, что и при использовании jQuery, позволяет повысить производительность труда и улучшить качество приложений.
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments43

Information

Rating
Does not participate
Location
Cary, North Carolina, США
Registered
Activity