Pull to refresh
19
0
Даниил Васильев @hello_my_name_is_dany

Backend Engineer

Send message

Изучаем C++ через программирование игр

Reading time3 min
Views82K
Привет, Хабрахабр.

В этом посте мы хотим вам рассказать о хорошей книге Майкла Доусона «Beginning C++ Through Game Programming». Многие знакомы с творчеством Майкла по книге «Программируем на Python», которая многим пришлась по вкусу. Когда-то мы рассказывали о ней в нашем блоге. Мы еще не приняли окончательное решение по поводу издания книги, поэтому решили в очередной раз посоветоваться с вами. В качестве рецензии мы перевели мнение сайта www.gamedev.net. По содержанию книга по С++ напоминает Python, так как в ней выдержан такой же стиль — обучение через программирование игр.


Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments35

16 занимательных проектов для вашего нового Raspberry Pi

Reading time4 min
Views260K


Новый Raspberry Pi стал меньше, дешевле (всего $20) и энергоэффективней. Неплохое обновление для устройства, которое и так отлично продаётся. Мы собрали наиболее крутые проекты на базе Pi, которые можно реализовать как на новой, так и на оригинальной модели.
Читать дальше →
Total votes 41: ↑27 and ↓14+13
Comments52

.NET Server Core, кросс-платформенная разработка, Visual Studio 2015 и другие анонсы Microsoft Connect()

Reading time6 min
Views86K

Сегодня в Нью Йорке проходит конференция Microsoft Connect(), на которой анонсированы новые продукты и технологии. Выпущена предварительная версия Visual Studio 2015, специальная бесплатная редакция Visual Studio Community 2013, Visual Studio 2013 update 4, открывается исходный код .NET Server Core, выпущена предварительная версия .NET 2015, обновлены инструменты кросс-платформенной разработки на базе Apache Cordova, в Visual Studio появился эмулятор ОС Android. Это действительно новый этап в развитии инструментов разработки Microsoft, и мы рады рассказать о деталях.
Читать дальше →
Total votes 110: ↑104 and ↓6+98
Comments83

Как свободное ПО способствовало успеху Стива Джобса и Apple

Reading time4 min
Views2.6K
Все мы отмечаем успешную карьеру Стива Джобса и благодарны ему за огромные улучшения в компьютерных интерфейсах и электронных устройствах. Он просто великолепен. Но в то же время Apple — централизованная, контролируемая организация с жёстким надзором за App Store и анонсами новых продуктов. Скрытая причина того, что сейчас недовольные пользователи и приверженцы свободного ПО обратили свою историческую антипатию к Microsoft в сторону Apple — то, что эта компания представляет собой блестящую бизнес-историю в новой эпохе. Поэтому я хочу примирить обе стороны и рассказать, насколько важным является свободное ПО для успеха Джобса и Apple.
Читать дальше →
Total votes 141: ↑93 and ↓48+45
Comments149

ВКонтакте API для .Net

Reading time1 min
Views65K
image
Добрый день, друзья!

Хочу рассказать вам о своём небольшом open source проекте, а именно реализация ВКонтакте API для .Net. В общей сложности пилю его уже полтора года. Сделано еще не всё, а что сделано под катом.
Читать дальше →
Total votes 44: ↑35 and ↓9+26
Comments17

Как я писал свой чат

Reading time13 min
Views65K
Привет, Хабр!
В статье я написал, о том как разрабатывал чат. О его архитектуре и о технических решениях принятых в ходе его разработки.

Чат представляет собой клиент-серверное приложение с элементами p2p.
С поддеркжой:
  • Личных сообщений.
  • Комнат.
  • Передачи файлов.
  • Голосового чата.




Исходный код проекта: GitHub
Читать дальше →
Total votes 65: ↑33 and ↓32+1
Comments20

Вышла книга «Getting Started with LLVM Core Libraries»

Reading time2 min
Views13K
Думаю, многим, также, как и мне, книга «Getting Started with LLVM Core Libraries» покажется интересной. Это первая книга, посвященная целиком и полностью LLVM. В основном, как следует из названия, ориентирована на новичков, которые только обратили свое внимание на LLVM, но уже имеют опыт программирования на C++.
Небольшое описание содержимого книги
Total votes 25: ↑25 and ↓0+25
Comments8

Где регистрировать домен. Сравнение цен

Reading time5 min
Views53K
До недавнего времени у меня было три проблемы с регистрацией доменов:

  • Выбрать домен и быстро проверить его занятость.
    Любой регистратор доменных имен предлагает вам форму, в которую вы вводите желаемое слово, просит ее отправить, подождать несколько секунд, узнать свободно ли имя. Затем повторить. Если вы в высококонкурентной нише, где все словарные имена заняты, то провести за этим увлекательным занятием можно несколько часов. Эту проблему для меня несколько лет подряд решал domainr, который проверяет домены как только ты вводишь их названия.

  • Отложить несколько удачных доменов, чтобы после выбрать лучший.
    Это невероятно, но практически ни один сервис, кроме namemesh, не дает добавить домены в избранное. К сожалению, он просит зарегистрироваться, как мы все это любим. На сайтах регистраторов задача решается при помощи корзины. Сначала добавляем все в заказ, затем выкидываем лишнее. Долго, неудобно, нет вариантов перед глазами.

  • Купить домен там, где его продают и где он дешевле.
    Проблема аккредитации регистраторов касается в первую очередь newTLD-доменов (.bike, .restaurant, .tools и прочие). У вашего любимого регистратора легко может быть .travel, но отсуствовать .work. Узнать, кто может зарегистрировать для вас уже привычный домен .io нетривиальная задача, не говоря уже о том, чтобы найти место, где сделать это дешевле.

    Задача регистратора в том, чтобы внести запись о домене в единую базу данных и предоставить набор сервисных услуг, связанных с адресом (DNS, SSL и прочие). Текущие реалии таковы, что почти все регистраторы предлагают одинаковые услуги, но берут за это совершенно разные деньги. И если разница в 300 рублей на покупку .ru-домена у разных регистраторов не особенно принципиальна, то зарегистрировать десяток typo-доменов в зоне .net может стоить от 3 000 до 13 000 рублей в зависимости от регистратора ($8.99 / 650 р / $34.99).

Три недели назад была закончена работа над очередным проектом и я оказался в свободном плавании. Думая над тем, чем заниматься дальше, я просматривал накопившийся список идей. Хотелось сделать что-то простое, освоить пару новых технологий и решить насущную проблему. Внезапно, пазл сложился.
Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments68

Pythonista. Пишем на Python для iOS

Reading time3 min
Views100K
Планшет iPad от компании Apple — всем известное и не нуждающееся в рекламе устройство. Но очень часто хочется использовать всю мощь этого устройства не только для игр и развлечения, а для серьёзной работы. Например для написания программ. Несмотря на 4-x летнею историю развития этого гаджета и наличие разных моделей удобных сред для программирования под iOS существует крайне мало. (Оговорюсь сразу, во избежании дальнейшей путаницы: программирование на iOS — значит написание кода и запуск программы на iPad или iPhone, а программирование для iOS — написание приложения, которое может быть выложено в App Store.)



Недавно я наткнулся на великолепную программку Pythonista, которая позволяет писать на iOS для iOS.
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments17

Microsoft раскрыла исходный код компилятора С#

Reading time1 min
Views75K
После ухода Стива Балмера компания Microsoft продолжает радовать приятными новостями: спустя несколько лет наконец-то вышел MS Office для iPad, опубликован исходный код JS-библиотеки WinJS (Windows Library for JavaScript), и даже в IE11 внедрили достойные инструменты веб-разработки.

А вот теперь самый большой сюрприз: сегодня запущен сайт .NET Foundation, на котором «для начала» собрано 24 проекта с открытыми исходными кодами, в том числе недавно вышедший .NET Compiler Platform (Roslyn)!


Читать дальше →
Total votes 135: ↑129 and ↓6+123
Comments137

Пишу игрушечную ОС (доступнее о планировщике)

Reading time4 min
Views17K

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

Итак, что такое планировщик? Планировщик — это часть ОС, реализующая многозадачность. Число процессоров, обычно, намного меньше числа выполняемых задач. Поэтому на каждый процессор приходится несколько задач. В силу своей последовательной природы процессор не может выполнять эти задачи одновременно — и он поочерёдно переключается с одной задачи на другую.

По способу переключения между задачами планировщики делятся на кооперативные и вытесняющие. При кооперативном планировании ответственность за переключение задач несут сами задачи. Т.е. задача сама решает, когда можно уступить место следующей. В отличие от кооперативных, вытесняющие планировщики самостоятельно принимают решение о смене задачи. Легко понять, что второй метод планирования в общем случае является более предпочтительным для ОС в силу своей предсказуемости и надёжности.

Далее задачи будем называть потоками. Изначально задачи были однопоточными, и поток выполнения всегда соответствовал задаче. В настоящее время это уже не так, поэтому задача логически разделилась на два родственных понятия: процесс, как контейнер ресурсов, и поток, как независимая последовательность исполнения кода.
Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments29

Разбираемся в С, изучая ассемблер

Reading time11 min
Views90K
Перевод статьи Дэвида Альберта — Understanding C by learning assembly.

В прошлый раз Аллан О’Доннелл рассказывал о том, как изучать С используя GDB. Сегодня же я хочу показать, как использование GDB может помочь в понимании ассемблера.

Уровни абстракции — отличные инструменты для создания вещей, но иногда они могут стать преградой на пути обучения. Цель этого поста — убедить вас, что для твердого понимания C нужно также хорошо понимать ассемблерный код, который генерирует компилятор. Я сделаю это на примере дизассемблирования и разбора простой программы на С с помощью GDB, а затем мы используем GDB и приобретенные знания ассемблера для изучения того, как устроены статические локальные переменные в С.
Читать дальше →
Total votes 76: ↑70 and ↓6+64
Comments31

Игра в 30 команд Ассемблера

Reading time29 min
Views61K
В прошлом году были популярны темы, как написать программу за 30 строк кода. Все примеры были сделаны на JavaScript. Для запуска таких программ требуется не только веб страница, но и браузер, разные библиотеки, ядро ОС. На самом деле работают не 30 строк кода, а десятки, сотни мегабайты программного кода, находящиеся в памяти компьютера.
А можно ли написать не полностью бесполезную программу за 30 строк ассемблера, без лишних библиотек и мегабайт ОС?
В этой статье я опишу, как можно сделать крестики-нолики за 30 строк ассемблера. UPD Теперь всего за 20 строк. UPD2 И 18 или 16 строк без единого условного ветвления.
Читать дальше →
Total votes 121: ↑107 and ↓14+93
Comments32

SASM – IDE для ассемблера

Reading time4 min
Views119K
Здравствуйте, уважаемые хабравчане!

Данным постом хочу представить сообществу проект, который время от времени писался мной последний год: SASM (SimpleASM) — IDE для разработки программ на языке ассемблера x86 и x86-64.

image

SASM — простая кроссплатформенная (доступна на Windows и Linux) среда разработки для языков ассемблера NASM, MASM, GAS, FASM с подсветкой синтаксиса и отладчиком. Программа работает «из коробки» и хорошо подойдет для начинающих изучение языка ассемблера. Основана на Qt. Распространяется по свободной лицензии GNU GPL v3.0.

Исходники лежат в репозитории на GitHub.
Бинарники можно скачать на сайте программы.

Под катом Вы найдете немножко истории и более подробное описание возможностей.
Читать дальше →
Total votes 131: ↑126 and ↓5+121
Comments39

Information

Rating
4,292-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity