Pull to refresh
25
Наумов Роман@himysay

User

9
Subscribers
Send message

Что же стало с рынком it у нас?

Level of difficultyEasy
Reading time4 min
Reach and readers9.7K

На самом деле странная ситуация происходит в последнее время на рынке, я довольно не плохой программист и работал над архитектурой, и занимался управлением и так далее. Но к сожалению расстался с бывшим работодателем, не буду тут говорить о подробностей но суть была в том что работодатель неадекватно оценивал сроки, и к примеру функционал генерации PDF на pdf тимлид оценивал в 1 день, и скидывал разработчикам. При условие что надо сделать пиксельперфикт по дизайну, а дизайн с использованием глубины шрифта, плотности, сетки типа bootstrap и так далее то есть это профессиональному фронтенд разработчику понадобиться до 3-х дней, про fullstack'а с уклоном в backend вообще молчу. На самом деле тогда директор нас просил с переработками работать и в выходные что бы сдать весь проект. Я честно обозначил 3 вида генераций pdf с учетом добавления в базу данных всех возможных полей, разработка backend модуля, верстка документа в пиксель перфект, тем более на dompdf, который только таблицы поддерживает и так далее, при этом надо еще страницы предпросмотра документов сделать тоже в пиксель перфект (уж простите за туфтологию) Я сразу сказал меньше 10 дней не смогу, в итоге под давлением ушло 7 дней... 7 дней жутких переработок и вот мне звонок "мы в твоих услугах не нуждаемся". Что бы больше понимать меня Я отец одиночка, и встал на своем что увольняйте сами и вообще у меня есть льготы потому что я родитель ребенка не достигшего 11 лет. Далее было развитие конфликта какие то месяца не платили вообще где то платили по 57000 рублей в итоге мой иск в суд, и история так и не закончилась. И это компания была ГБУ МО "ЦРЦТ", в общем если вас угораздит хоть как то с ними контактировать то пожалуйста подумайте над тем на сколько вам это нужно.

Читать далее

Интеграция xdebug в свой проект idea

Level of difficultyEasy
Reading time4 min
Reach and readers5.7K

Одной из первых задач, когда я начинал разработку idea, была интеграция xdebug в свой инструмент разработки и реализация основных возможностей работы дебагера. Первым делом надо было изучить документация по протоколу xdebug. В нем используется общий протокол дебагера DBGP. В целом ничего сложного, есть сокет через который мы отправляем команды в сам xdebug он нам отвечает в формате xml, парсим xml и получаем результат. Все просто подумал Я, но как всегда не без приключений.

Первая проблема возникла от недопонимания в какой момент создается сокет, тот самый порт 9000. Читаем документацию пункт 5.3 и 5.4 первый говорит про стандартный порт второй пункт говорит о инициализации подключения и что xdebug отвечает при готовности объектом <init>

Читать далее

Разработка своего компонента для JavaFX

Level of difficultyEasy
Reading time6 min
Reach and readers8.1K

На самом деле, JavaFX есть механизм кастомизации уже существующих компонентов (StackPane, Pane, HBox, VBox, ScrollPane и т.д.) с помощью css. css javafx поддерживает псевдоклассы (after, before, hover, focused, presed и так далее). В целом все гибко и можем довольно легко взять любой компонент и превратить его в свое родное.

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

Читать далее

Как подумать о том что хорошо бы реализовать idea для php и вляпаться в разработку

Level of difficultyEasy
Reading time6 min
Reach and readers7.9K

Статья о том как Я начал разработку собственной Idea и чуть не бросил 2 раза эту затею. Как я выбрал неподходящий готовый пакет редактора кода, и начал разработку своего снова.

Читать далее

Assembler 6502 переключение CHR мапером MMC3

Level of difficultyMedium
Reading time8 min
Reach and readers1.4K

Одна из ключевых функций мапперов это переключить программных банков памяти и банков памяти с графикой CHR. Если брать для сравнение маппер MMC1 то он переключает графику постранично, по факту переключая полностью. MMC3 имеет 5 банков CHR памяти и позволяет их переключать по отдельности, не переключая полностью pattern table. Под катом подробности как это реализовать на ассемблере...

Читать далее

assembler 6502 (nes, famicom, dendy), миграция с мапера MMC1 на MMC3 прерывание IRQ

Level of difficultyMedium
Reading time6 min
Reach and readers1.8K

Не так давно я задумался о том что, неплохо бы было сделать своей игре статус бар в низу экранной области. Алгоритм sprite 0 hit отпал практически сразу ввиду того что в проекте есть уже довольно сложные и тяжелые механики и данная механика нагрузит выполнение nmi вектора. По этому было принято решение использовать прерывание IRQ, а такое прерывание может генерировать распространенный маппер MMC3, на который я и решил мигрировать свой код.

Читать далее

Дизассемблер 6502 (nes/famicom/dendy) на php

Level of difficultyEasy
Reading time6 min
Reach and readers4K

Я продолжаю изучать ассемблер 6502, но для экспериментов мне понадобился дизассемблер, Я пробовал использовать da65 собственно тот что идет вместе с ассемблером и линкером ca65 и ld65 соответственно. Но заметив в документации коды команд в hex представление. И вдруг понял что если прочитать файл nes то можно просто взять код инструкции, взять ее длину и спарсить аргумент. И мы получим дизассемблированный код в его простом представление.

Под катом небольшой рассказ о том как я написал скрипт дизассемблера на PHP.

Читать далее

Имплементация маппера MMC1 ассемблер 6502 nes/famicom/dendy

Level of difficultyMedium
Reading time6 min
Reach and readers3.2K

Игры не использующие мапперы в NES ограничены, 16 кб PRG ROM (хранилище программного кода) и 8 кб CHR ROM (хранилище графики). С развитием разработки игр на NES, встал вопрос, а как увеличить данные ограничения и на помощь пришли микросхемы мапперы. Что же такое мапперы мы и разберем сегодня и как их использовать в своем коде.

Читать далее

Статус флаги ассемблера 6502 nes/famicom/dendy

Level of difficultyMedium
Reading time3 min
Reach and readers3.5K

Для более глубокого понимания как происходит ветвление в программах написанных на ассемблере 6502 необходимо углубиться в флаги и понять какие команды влияют на тот или иной флаг. Это поможет избежать множество ошибок связанных с не очевидностью ветвления вашей программы.

Читать далее

Вывод спрайтов, создание анимации, программирование nes/famicom/dendy

Level of difficultyMedium
Reading time4 min
Reach and readers1.9K

Ранее я уже писал статью о выводе спрайтовой графики на экрана с использованием регистра OAMDATA ($2004), но это подходит лишь для экспериментов и вывода некой статической картинки. Но движение либо анимация будет приводить к появлению различных артефактов наслоению спрайтов, моргание кадра, и так далее. Что бы этого избежать следует сформировать для каждого кадра буфер спрайтов и вывести на экран.

Читать далее

Программирование assembler 6502 nes/famicom/dendy векторы прерывания, процедуры и их вызов

Level of difficultyEasy
Reading time2 min
Reach and readers4.7K

Векторы прерывания в формате программирование на ассемблере 6502, можно представить как всем хорошо известный патерн event-observer в высокоуровневых языках программирования. Конечно же можно реализовать данный патерн и на ассемблере но я его привел для большего понимания работы вектора прерывания...

Читать далее

Программирование nes/dendy скроллинг фона

Level of difficultyMedium
Reading time3 min
Reach and readers2.8K

Я несколько раз задавался вопросом а как сделать прокрутку фона как в марио или черном площе, и постепенно подобрался к выводу что надо перерисовать nametable динамически в момент аппаратной прокрутки. Объяснение и код как это сделано на ассемблере 6502 в данной статье.

Читать далее

Программирование nes (dendy) вычисление коллизий

Reading time5 min
Reach and readers4.4K

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

Столкновения под катом

Создание графики для nes/dendy

Reading time3 min
Reach and readers5.3K

Предыдущие мои статьи рассказывают о том как начать программировать под денди на ассемблере. Мы научились отрисовывать спрайты и background, так же мельком обсудили что такое таблица атрибутов и таблица имен, так же мы разобрались как прочитать контроллер. В тех статьях Я использовал chr от игры super mario bros 2 потому как не художник, но все же для создания игры мне пришлось искать инструменты какое мне помогут в создание своей графики для игры. Под катом этапы разработки графики.

Читать далее

Считывание контроллера nes (dendy) на ассемблере

Reading time3 min
Reach and readers4.1K

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

Читать далее

Программирование NES (dendy), assembler 6502

Reading time6 min
Reach and readers13K

У меня с детства была мечта написать игру для любимой приставки денди, шло время, мечта то появлялась то затихала снова. Она меня направляла в сторону магии программирование, и вот прошло больше 20-ти лет я программист, и снова в который раз пытаюсь постигнуть магию той самой денди что так будоражило моё воображение в тяжелом но счастливом детстве. Сегодня Я расскажу вам как постиг секреты этой магии, наконец то смог вывести спрайты на экран и научился рисовать фон, и надеюсь это будет не последняя мая статья на Хабре.

Мечта под катом

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity