Обновить
  • по релевантности
  • по времени
  • по рейтингу

Программируем «на уровне операционной системы»

Ненормальное программирование *
b.s Сразу отбросим вопросы производительности, безопасности и оптимальности. Для данной зарисовки они не важны.

Последние топики про программирование на языке bat файлов напомнили вот такую концепцию. Оно конечно написано в шутку, но почему бы и нет. Может у кого-то в голове что-то и перевернет. ;)

Не претендую на авторство — наверняка такая идея уже кем-то была придумана ранее.

Итак. Возьмем для примера программку на языке C. Пишем, компилируем, получаем черный ящик бинарного кода. Он выполняется в отдельной области памяти и недоступен для простого обывателя (ну разве что вооруженного дебагером).

Для программки на скриптовом языке примерно то же самое — хоть исходники и под рукой, но что происходит в памяти интерпретатора — темный лес.

А не вывернуть ли все это наружу? На уровень доступный пользователю ОС. На уровень файловой системы. :)
Читать дальше →
Всего голосов 26: ↑16 и ↓10 +6
Просмотры 7.4K
Комментарии 14

Два подхода к выполнению странных заказов

Анализ и проектирование систем *
Картинка: Мужик с лопатой, из http://office.microsoft.com/ru-ru/images/Бывает, пользователь заказывает сделать для него нечто непонятное и странное. Решать подобное желание пользователя можно двумя путями:
  1. либо помочь заказчику сформулировать его желание поконкретнее и чётче, и затем просто это воплотить, доверившись невербализованной интуиции просящего
  2. либо разобрать желание глубже и выяснить, что оно — производное одного или несколько других желаний, одна часть из которых обычно оказывается желаниями уже исполненными (просто заказчик этого не знает), вторая — неоправданными (и это удаётся продемонстрировать пользователю в процессе дополнительного обучения), а третья — более внятными и конкретными, с существенно более чёткими обоснованиями и задачами для реализации понятной дополнительной функциональности.

Будучи апологетом второго подхода, я однажды задумался и осознал — хоть второй путь и не в пример лучше, но всё же не стоит полностью отрицать и первый.
Читать дальше →
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 1.1K
Комментарии 4

Карманный сервер MiniX, или обзор серверных технологий для Android

Разработка мобильных приложений *
Tutorial

На этот раз из MiniX мы будем делать не Интернет-розетку, а самый настоящий веб-сервер. Правда, маленький, но с полноценным php, python, bash, MySQL.
Заглянуть под кат
Всего голосов 52: ↑47 и ↓5 +42
Просмотры 49K
Комментарии 40

Квантовое обогащение в многомировой интерпретации

Бизнес-модели Физика Лайфхаки для гиков Научная фантастика Квантовые технологии
image

Квантовое самоубийство мне не нравится. Мне вообще не нравятся всякие там убийства-самоубийства. А вот полмиллиона долларов «из ничего» я бы заполучил в собственность охотно. А Вы?..
Рецепт, как это можно сделать
Всего голосов 44: ↑29 и ↓15 +14
Просмотры 7K
Комментарии 77

Функциональное программирование, знакомься — ООП

Ненормальное программирование *Программирование *Функциональное программирование *Clojure *
Перевод

Мне нравится экспериментировать с разными парадигмами и играться с разными интересными (для меня) идеями (некоторые из них превращаются в посты: раз, два). Недавно я решил проверить, смогу ли я писать объектно-ориентированный код на функциональном языке.

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

Как я написал браузерный 3D FPS шутер на Three.js, Vue и Blender

Ненормальное программирование *JavaScript *Работа с 3D-графикой *WebGL *VueJS *
✏️ Технотекст 2021

На пути каждого коммерческого разработчика (не только кодеров, но, знаю, у дизайнеров, например, также) рано или поздно встречаются топкие-болотистые участки, унылые мрачные места, блуждая по которым можно вообще забрести в мертвую пустыню профессионального выгорания и/или даже к психотерапевту на прием за таблетками. Работодатели-бизнес очевидно задействует ваши наиболее развитые скилы, выжимая по максимуму, стек большинства вакансий оккупирован одними и теми же энтерпрайз-инструментами, кажется, не для всех случаев самыми удачными, удобными и интересными, и вы понимаете что вам придется именно усугублять разгребать тонну такого легаси… Часто отношения в команде складываются для вас не лучшим образом, и вы не получаете настоящего понимания и отдачи, драйва от коллег… Умение тащить себя «по-мюнхаузеновски за волосы», снова влюбляться в технологии, увлекаться чем-то новым [вообще и/или для себя, может быть - смежной областью], имхо, не просто является важным качеством профессионала, но, на самом деле, помогает разработчику выжить в капитализме, оставаясь не только внешне востребованным, конкурентоспособным с наступающей на пятки молодежи, но, прежде всего, давая энергию и движение изнутри. Иногда приходится слышать что-нибудь вроде: «а вот мой бывший говорил, что если бы можно было не кодить, он бы не кодил!». Да и нынешняя молодежь осознала что в сегодняшней ситуации «честно и нормально» зарабатывать можно только в айти, и уже стоят толпою на пороге HR-отдела... Не знаю, мне нравилось кодить с детства, а кодить хочется что-нибудь если не полезное, то хотя бы интересное. Короче, я далеко не геймер, но в моей жизни было несколько коротких периодов когда я позорно «загамывал». Да само увлечение компьютерами в детстве началось, конечно же, с игр. Я помню как в девяностые в город завезли «Спектрумы». Есть тогда было часто практически нечего, но отец все-таки взял последние деньги из заначки, пошел, отстоял невиданно огромную очередь и приобрел нам с братом нашу первую чудо-машину. Мы подключали его через шнур с разъемами СГ-5 к черно-белому телевизору «Рекорд», картинка тряслась и моргала, игры нужно было терпеливо загружать в оперативную память со старенького кассетного магнитофона [до сих пор слышу ядовитые звуки загрузки], часто переживая неудачи... Несмотря на то что ранние программисты и дизайнеры умудрялись помещать с помощью своего кода в 48 килобайт оперативной памяти целые миры с потрясающим геймплеем, мне быстро надоело играть и я увлекся программированием на Бейсике)), рисовал спрайтовую графику (и векторная «трехмерная» тогда тоже уже была, мы даже купили сложную книжку), писал простую музыку в редакторе... Так вот, некоторое время назад мне опять все надоело, была пандемийная зима и на велике не покататься, рок-группа не репетировала… Я почитал форумы и установил себе несколько более-менее свежих популярных игр, сделанных на Unity или Unreal Engine, очевидно. Мне нравятся РПГ-открытые миры-выживалки, вот это все... После работы я стал каждый вечер погружаться в виртуальные миры и рубиться-качаться, но хватило меня ненадолго. Игры все похожи по механикам, однообразный геймплей размазан по небольшому сюжету на кучу похожих заданий с бесконечными боями… Но самое смешное - это реально безбожно лагает в важных механиках. Лагают коммерческие продукты которые продают за деньги… А любой «баг», имхо, это сильное разочарование - он мгновенно выносит из виртуальной среды, цифровой сказки в реальный мир… Конечно, отличная графика, очень круто нарисовано. Но, утрируя, я понял что все эти поделки на энтерпрайзных движках, по сути - даже не кодят. Их собирают менеджеры и дизайнеры, просто «играясь с цветом кубиков», но сами кубики, при этом практически «не меняются»... Вообщем, когда стало совсем скучно, я подумал что «а я ведь тоже так могу», да прямо в браузере на богомерзком не предназначенным для экономии памяти серьезного программирования джаваскрипте. Решил наконец полностью соответствовать тому что все время с умным видом повторяю сыну: «уметь делать игры, намного интереснее чем в них играть». Одним словом, я задался целью написать свой кастомный браузерный FPS-шутер на открытых технологиях.

Читать далее
Всего голосов 21: ↑18 и ↓3 +15
Просмотры 12K
Комментарии 37