программирование

Подписчиков: 198     Сообщений: 602     Рейтинг постов: 7,655.9

Буквы на фоне отзыв программирование geek приколы для программистов 

Буквы на фоне,отзыв,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,приколы для программистов
Развернуть

it java программирование geek языки программирования пидоры помогите 

Джависты реактора, направьте меня на путь истинный!

Немного предыстории: Когда-то недавно, у меня было задание сварганить по быстрому приложение. Учитывая, что я как раз изучал джаву и искал, чем бы размять мозги, я его сделал. Споткнувшись на одном месте, но реакторчане помогли и я прозрел.

 На свою же голову, сделал я то приложение на Swing'е. И чёрт меня побрал в него влюбиться. Всё так... Логично. Понятно. Мечта. Из за этого ощущения "правильности" я в своё время и взял джаву.

 Прошло некоторое время, и у меня зародилась сделать кое-какое приложение для себя и узкого круга людей. Было решено взяться за JavaFX, ибо мне не многозначно намекнули, что Swing мёртв. Но я не могу. ФХ делает мне очень больно. Особенно этот сраный Scene Builder... 

Собственно, два пути передо мною: Использовать куски JavaFX в Swing. (По заветам Оракла
Или где-нибудь научиться строить приложения JavaFX методами Swing. (Т.е. создание кнопки прямо в коде, ивенты хандлеры рядом с кнопками, обойтись БЕЗ СРАНОГО FXML)

И какой путь выбрать? Может, есть дискорд-чат программистов, где я могу попросить помощи?

Чисто теоретически, я бы мог обойтись чистым Swing, но некоторые выкрутасы дорого обойдутся.
Для тех, кто скажет, мол, шли нахуй свинг, и учись чистому FX -- Я так не смогу. Гуй для джавы и так вещь второстепенная, а впереди ещё изучение spring, maven...

КУПОН НА 1 помощь,it,java,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,языки программирования,пидоры помогите,реактор помоги
Развернуть

firefox браузеры chrome программирование geek приколы для программистов css html 

Странности эффекта BLUR в браузерах

Захотелось мне сделать а всплывающего лайтбокса эффект матового стекла.
Первым делом гугл выдал мне ссылку на сайт: https://developer.mozilla.org
ну захожу беру код оттуда. Все просто : строка CSS {backdrop-filter: blur(8px);} и всё :)
но листаю ниже и :

firefox,браузеры,chrome,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,приколы для программистов,css,html

как так?

ведь код с мозиллы :

firefox,браузеры,chrome,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,приколы для программистов,css,html

возможно у меня FireFox старый? :

firefox,браузеры,chrome,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,приколы для программистов,css,html

да нет, тут все норм

firefox,браузеры,chrome,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,приколы для программистов,css,html

ЧТО НЕ ТАК ТО??
Развернуть

it юмор программирование geek twitter интернет 

it юмор,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,twitter,интернет
Развернуть

программирование geek OSDev операционная система ассемблер разработка длиннопост 

ОСдев №10: основной загрузчик, часть 3. GDT.

Подготовительный этап закончен, можно приступать к интересному. Кроме собственно загрузки файлов наша программа должна подготовить для ОС рабочую среду. Это значит: переключить процессор в 32/64-битный режим, настроить таблицу прерываний и создать базовую GDT. Сегодня разберёмся с последним пунктом.

GDT - сокращение от Global Descriptor Table, глобальной таблицы дескрипторов. Что это такое? По сути - набор записей одинакового формата, описывающих области памяти и разрешения, которые они имеют. Упрощённо это выглядит так:

//область 0

адрес области

размер области

параметры доступа

флаги

//область 1

адрес области

размер области

параметры доступа

флаги

...

В 32/64-битном режиме дескрипторные таблицы используются вместо старой схемы адресации сегмент:смещение. Зачем? Сегмент:смещение - небезопасная технология, которая позволяет переписать любой участок памяти. Надо ли говорить, что при неосторожном обращении это легко может закончиться бедой? Дескрипторная таблица даёт возможность ограничить запись или выполнение кода в отдельных областях RAM. Дескрипторные таблицы появились как часть аппаратной защиты памяти вместе с 286 процессором.

Как это работает? После выхода из 16-битного режима процессор больше не принимает адреса в формате сегмент:смещение. Если попытаетесь так сделать - получите исключение GPT (General Protection Fault). Вместо этого в сегментном регистре процессор ожидает получить смещение дескриптора внутри ДТ. При этом для операций над этим сегментом будут действовать правила, указанные в дескрипторе. Например, попытка обратиться к памяти за пределами сегмента или запись в защищённый от записи сегмент будут вызывать исключения (кстати, про обработку исключений поговорим позже, пока давайте примем, что это фатальная ошибка, которая приведёт к остановке программы).

Кроме глобальной таблицы дескрипторов существуют ещё локальные (ЛДТ), TSS и таблицы дескрипторов прерываний (IDT). Для того, чтобы наша ОС могла начать работу, обязательно наличие только двух таблиц: GDT и IDT. Давайте теперь взглянем на GDT поподробнее. Скажу сразу, зрелище будет не очень приятное. Но начнём с лёгкого. Так как GDT - часть аппаратной схемы защиты памяти, у неё есть свой регистр: GDTR. Это 48-битный регистр, 4 байта которого предназначены для смещения GDT, а 2 - для её размера. Таким образом, GDT не может быть больше 65536 байтов в размере. Размер записи в GDT - 8 байтов, значит,< таблица может иметь максимум 8192 дескриптора. Зная всё это, хорошим тоном было бы сразу зарезервировать 64К под GDT, но в моей архитектуре ОС создаёт свои таблицы, так что сейчас я обойдусь минимумом. Минимум в данном случае - 3 дескриптора. Нулевой, сегмент кода и сегмент данных. Зачем отдельно выделять нулевой дескриптор? Дело в том, что обращение к нему в GDT приводит к, вы угадали, исключению. Это тоже своего рода мера предосторожности.

А теперь время взглянуть на структуру дескриптора. И тут, увы, наследие тяжёлого прошлого во всей красе. Ради обратной совместимости в кодом для старых процессоров дескриптор GDT превратили в кашу.

Первые два байта - это первые 16 битов границы сегмента.

Следующие три байта - первые 24 бита основания сегмента.

Следующий байт - параметры доступа. Рассмотрим ниже.

Следующий байт совмещает в себе биты 16-19 границы и флаги. Об этом тоже подробнее ниже.

Ну и последний байт - биты 24-31 основания.

Неудобно? Не то слово. Когда будем писать ядро - обязательно замутим процедуру для комфортной работы с этим месивом. К счастью, сейчас у нас статичная структура всего из трёх сегментов, так что заполнить можно и вручную. Создадим и подключим модуль GDT.inc. Как это сделать, мы рассматривали в прошлый раз. И добавим в него вот такую таблицу:

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


Это и есть наша GDT, ничего ужасного. Значения в нулевом дескрипторе для нас не важны, а вот остальные давайте рассмотрим подробнее. У нас есть два дескриптора: один - для кода, другой - для данных. Оба начинаются с 0 и занимают FFFFF*4Kib = 4Gib. Фактически это значит, что, начав работать, ОС сможет использовать всю память по своему усмотрению. Давайте теперь разберём параметры доступа и флаги.

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

Таким образом, значение параметров доступа 10010010b даёт нам вот что: это сегмент данных, запись в него разрешена, сегмент растёт вверх, уровень привилегий - ring0. А теперь флаги. Биты 0-3 здесь заняты границей сегмента, не обращаем на них внимания.

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

Окей, теперь у нас есть GDT. Но как указать системе, что её нужно использовать? Процессор ведь не дурак, сам искать не станет. Всё просто, джентльмены из IBM в кои-то веки о нас позаботились. При помощи специальной ассемблерной команды lgdt (load GDT) мы можем передать в регистр GDTR линейный адрес таблицы и её размер. Для этого добавим перед GDT такую структуру:

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

Размер таблицы мы уже знаем, а вот адрес придётся посчитать, так что пока оставим 0 и напишем процедуру инициализации GDT:

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

На случай, если тут не всё очевидно, поясню. Мы помещаем в EAX смещение GDT относительно сегмента, а потом добавляем адрес сегмента*16. Это и есть линейный адрес, сохраняем его в структуре. После этого отключаем прерывания, передаём структуру процессору командой lgdt и включаем прерывания обратно. По идее прерывания можно не трогать, так как в 16-битном режиме GDT не используется, но я перестраховщик.

Собственно, на этом всё. Добавьте вызов init_GDT в конец загрузчика перед cli и дело в шляпе. Сегодня без картинки, но вот вам котик.

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

Чистая дискета: https://drive.google.com/file/d/1Bold4ds8oEruHQ7fJZKHglVo7A2Vc5MR/view?
Предыдущие части:
Развернуть

it-юмор geek programmers life программирование twitter интернет 

it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,programmers life,программирование,twitter,интернет
Развернуть

geek программирование я сделяль песочница видео 

Оно работает!

иии да, у меня экран 4 на 3

Развернуть

Буквы на белом фоне программирование geek работа 

Буквы на белом фоне,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,работа
Развернуть

Отличный комментарий!

Я как-то занимался выклянчиванием кофемашины и дивана для команды программистов, первое время руководство обещало принять во внимание, потом стали ссылаться на закупки на следующий сезон, в итоге приводили в пример ответственного работника из другой команды, который сам купил за свои деньги и принес кофемашину для своих, еще описывали трудяг-программистов, которые сами себе стулья в офис покупали. Даже и сказать нечего. Долго в этом месте я не проработал.
break_my_soul break_my_soul05.05.202118:44ссылка
+18.4
На моём первом месте работы начальник, как увидел сколько сахара я кладу в чай (9-10 ложек), сказал чтобы я пользовался своим.
DesuRider DesuRider05.05.202119:01ссылка
+0.4
9-10 ложек... Для меня 2 уже слишком сладко
htcmobila htcmobila05.05.202119:05ссылка
+34.9
Машина по переработке глюкозы в говнокод ¯\_(ツ)_/¯
DesuRider DesuRider05.05.202119:10ссылка
+51.8

it юмор it тимлид программирование geek 

it юмор,it,тимлид,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Развернуть

Отличный комментарий!

Помню, в первый раз в жизни, мне довелось посидеть за реальным компьютером в школе, на информатике. Я тогда, конечно, был тем еще пиздюком. Когда мы заканчивали свои задания по материалам урока, у нас было свободное время - можно было поиграть во всякое второсортное говно на этих компах. Это была пиздецки охуенная мотивация быстрее и правильнее справиться с заданием. Дак вот, во время игры, я в одном и том же месте нажимал на клавишу Windows, из-за чего игра сворачивалась, а я, так как нихуя не понимал и просто охуевал от произошедшего, снова кликал на иконку игры. И, вместо того, чтобы развернуться, запускалось новое окно игры. Не знаю, сколько окон у меня было открыто, когда комп начал гудеть как паровоз, а картинка на экране мерцать, но все они в строку пуска не помещались. Я позвал учительницу и вместо того, чтобы объяснить мне, что произошло, она сказала "ненавижу такую тупость!". Это был первый (и последний) раз в жизни, когда взрослый человек назвал меня тупым. Это было почти 20 лет назад. Хз, зачем я это здесь написал.
Оладушек Оладушек03.05.202115:32ссылка
+27.4
Теперь ты свободен.
prokrus prokrus03.05.202115:35ссылка
+32.0

geek hello world программирование 

настоящий герой остаётся в тени

geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,hello world,программирование
Развернуть
Тут лежат интересные картинки и комиксы по теме: программирование (+602 картинки, рейтинг 7,655.9 - программирование)