Рубрика «Программирование» - 903

Казалось бы… Всё субъективно. Но сама приставка «всё», если вдуматься — замечательно разрушает это распространенное утверждение. У дураков при всей их субъективности — процессы очень даже идут, но «самолеты не летают» (реальных результатов — нет).

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

Люди целые и люди дробные…

Есть такой неприятный «эффект критика». Очень распространенный на постсоветском пространстве: Тут все про всё знают всё. Только делать сами не умеют. Но критике это не мешает. Наоборот — способствует. Однако, такое деление: на постсовок и прочих — не проясняет картину. Не несет в себе явных корреляций.

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

image

Некоторое время назад я писал вводную статью о хуках (что это, зачем нужно, Hello world). Статья задумывалась простой, минималистичной и, вроде бы, такой и получилась. Единственный упрёк, который я услышал в комментариях — «Зачем же брать библиотеку Microsoft Detours, которая для коммерческого использования стоит 10 000$ ?». Замечание справедливое. В этой статье я приведу тот же пример с использованием другой библиотеки ценой примерно в 20 раз меньше (что уже вполне себе в рамках разумного) — madCodeHook.

Для лучшего понимания данной статьи рекомендуется сначала прочитать первую часть.
Читать полностью »

Сегодня я расскажу о реализации шейдера, позволяющего сделать fade in/out по палитре, как это делалось в старых NES-играх и т.п.

Суть состоит в том, что при наличии ограниченной палитры цветов нельзя было постепенно затемнить (или наоборот вывести из темноты) картинку, т.к. просто напросто не существовало нужных цветов в палитре. И это решалось путем использования разных цветов, которые воспринимаются как более темные. То есть нужно вам сделать fade in желтого объекта, а в палитре нет темно-желтых оттенков — вот и приходится сначала делать объект синим (выглядит темным), потом — красным и т.п.

Ниже я покажу, как выглядит конечный вариант написанного шейдера:

Создание игры на ваших глазах — часть 4: Шейдер для fade in по палитре (а ля NES)

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

Эта статья продолжает мои предыдущие:
Простейший кросcплатформенный сервер с поддержкой ssl
Кроссплатформенный https сервер с неблокирующими сокетами
Кроссплатформенный https сервер с неблокирующими сокетами. Часть 2
Кроссплатформенный https сервер с неблокирующими сокетами. Часть 3

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

Самолетное: 10 категорий людей — те, которые умеют и которые нет

Года три назад я наткнулся на статью, где автор перечислял навыки, которые он бы рекомендовал прокачать каждому человеку. Ну, знаете, там — «получить водительские права», «научиться скорочтению» и прочая муть в стиле бизнес-молодости. Среди списка было один странный совет — научиться программировать.

Тогда я счёл это идиотизмом. Меня это даже разозлило. Я хорошо разбирался в программировании и считал этот навык элитарным и далеко не для всех. Слесарю слесарево, так сказать. А вот сегодня, пролетая где-то над Уралом рейсом Барнаул-Москва и разбирая подготовленные для меня одним сотрудником файлы, с кучей мелких косяков, логических нестыковок и недочетов — осенило: он просто не видит причинно-следственные связи и не обращает внимания на мелочи. Потому что его этому никогда не учили!

Освойте какой-либо язык программирования.

Зачем?
Читать полностью »

Практически все дети (бывшие и нет) знают про деревню Простоквашино и помнят письмо Дяди Федора.

Нечто подобное, когда любой человек присоединяется к тексту письма, можно сделать на Хабре, где нет кота Матроскина и пса Шарика, но обитает много других замечательных персонажей с прекрасным чувством юмора, тактом и расстановкой.

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

В топиках на Хабре авторский пост четко отделен от комментариев. Иногда, уже после публикации, автор по своему желанию добавляет комментарии некоторых пользователей в свой пост.
Но все можно кардинально изменить…

Идея реализации коллективного поста

Автор поста придумывает название: “Тема письма и адрес послания”, при желании пишет краткую вступительную часть, ставит HabracutЧитать полностью »

010 Editor — пожалуй, один из самых многофункциональных hex-редакторов. Основной его полезной возможностью является написание шаблонов (templates), с помощью которых можно легко описывать структуры любых файлов. Это значительно облегчает процесс обратной инженерии и технического анализа, многочасового копания в hex.

Навыки написания шаблонов и работы в hex редакторе 010 Editor
Примечание: статья аналитическая, предназначена для тех, кто не имеет большого опыта hex-исследований (надеюсь, картинки покажут процесс максимально наглядно).
Читать полностью »

Иногда необходимо предоставить доступ к приложениям которые не всегда есть возможность установить локально, да и не всегда это нужно. Наверное, лучшим выходом тут был бы web интерфейс на JS/PHP и иже с ними. Но возможно есть другие, более простые в некоторых случаях пути? Особенно если приложение должно оставаться портативным, а ещё лучше не делать почти ничего дополнительно в коде для реализации такого функционала.
Такую возможность предоставляет Broadway — уже давно не новый, но остающийся в тени backend для GTK3, позволяющий привнести новые возможности туда, где казалось бы уже все давно протоптано.

Broadway — рендеринг интерфейса GTK3 в браузере (HTML5)

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

Приглашаем принять участие в первой в этом году конференция серии DEV Labs, которая состоится в субботу 1 марта и будет посвящена разработке на платформе .NET. Как и на предыдущих мероприятиях серии, постараемся в доступной форме и в сжатое время донести до аудитории максимум полезной информации. Акцент при формировании программы – практические навыки, полученные при решении нетривиальных задач.

Утверждённые доклады конференции:

  • Сборка мусора в .NET. Особенности работы, скрытые проблемы и лучшие практики
  • Как сделать публичное API. Ошибки и сложности при разработке API приложения
  • Создание системы управления контентом за 45 минут на ASP.NET MVC
  • Entity Framework Code First & Migrations. Технология доступа к данным EF Code-First
  • C# Tips and Tricks. Тонкости поведения «продвинутых» возможностей языка C#

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

Полгода назад мы рассказывали о том, как реализовали сервис бронирования переговорных комнат у крупного заказчика с территориально разнесенными офисами и штатом несколько тысяч человек. Мы продолжаем работать с SharePoint-порталом этой компании, в рамках его развития специалисты EastBanc Technologies создали еще один модуль — сервис управления заявками на отпуска в интеграции с автоматизированной системой управления персоналом БОСС-Кадровик.

Назначение этого сервиса, как нам кажется, не нуждается в пространном разъяснении: попросту говоря, сервис автоматизирует учет отпусков в компании. Гораздо интересней, какие практические задачи стояли перед нами в данной конкретной компании, об этом — дальше.

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


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