Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614

Очередной флуд Fulcrum_013 о бесполезном GC

14.04.2019, 06:11. Показов 1812. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Перенесено из темы Уничтожаются ли когда нибудь объекты, реализующие IDisposable?



Usaga, В условиях реальной жизни в Dispose каждого класса нужно прописывать разрыв взаимосвязей и освобождение ресурсов перед потерей каждой ссылки вызывать оный Dispose вручную. А то уборка рискует просто не состояться. Это кстати причина по которой из профессиональных языков GC выбросили еще в начале 80-х.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.04.2019, 06:11
Ответы с готовыми решениями:

Флуд
Здравствуйте! Почему к примеру если дата ровняется 06:00 то она отправляет 3-4 раза сообщение. Хотя в скрипте написано отправка...

SYN флуд
Уважаемые пользователи форума, прошу помочь с IPFW фаерволом, так как с ним работал очень мало Нас очень часто досят синфлудом, вот...

Флуд о мечтах
Скоро новый год, и почему бы немного не помечтать? Пофлудим о мечтах: больших и маленьких, легко выполнимых и несбыточных. И вообще,...

20
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
14.04.2019, 06:42
Fulcrum_013, это чушь. Содержимое Dispose() дублируется финализатором. Поэтому высвобождение ресурсов произойдёт вне зависимости от вашей ненависти к GC. Взаимосвязи с объектом же, лежат вне его компетенции и к Dispose не относятся.

По этой причине GC стал основой профессиональных языков начиная с середины девяностых. Что, очевидно, очень сильно бесит фанатиков.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
14.04.2019, 13:49  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Поэтому высвобождение ресурсов произойдёт вне зависимости от вашей ненависти к GC.
Не произойдет вне зависимости от ваших мантр. Потому что без разрыва взаимосвязей при потере ссылки GC не посчитает объекты мусором. Именно поэтому GC и бесполезен и именно поэтому выброшен из всех профессиональных языков в 80-х.

Добавлено через 6 минут
Цитата Сообщение от Usaga Посмотреть сообщение
По этой причине GC стал основой профессиональных языков начиная с середины девяностых.
Пруф в студию. Назовите хоть один профессиональный язык имеющий GC или хоть один профессиональный язык спроектированный после 80-х. Таких не существует. На самом деле на сегодняшний день существует ровно 4 профессиональных языка - фортран, паскаль/дельфи, C++ и ада.
Или вы считаете что Страуструп, Хейлсберг и Ишбиа которые независимо друг от друга выбросили GC из проектируемых ими языков тоже типа фанатики и типа тупее вас?

Добавлено через 3 минуты
Цитата Сообщение от amr-now Посмотреть сообщение
кните мне пальцем. где в этой теме написано, что единственное предназначение Dispose() - принудительно самим программистом из программы дать команду операционной системе закрыть неуправляемые объекты.
Для решения задачи разрыва взаимосвязей и высвобождения ресурсво вовремя необходимо просматривать мусор образующийся при потере каждой ссылки инстантно. Другого способа гарантировать возможность уборки и высвобождения объектов не существует.
Цитата Сообщение от amr-now Посмотреть сообщение
Про синтаксический сахар над Dispose - using( F...) {…} тоже надо было упомянуть.
Это кстати так о птичках кастрированный по самые немогу unique_ptr.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
14.04.2019, 13:54
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Не произойдет вне зависимости от ваших мантр. Потому что без разрыва взаимосвязей при потере ссылки GC не посчитает объекты мусором. Именно поэтому GC и бесполезен и именно поэтому выброшен из всех профессиональных языков в 80-х.
Произойдёт. Ибо это я каждый день и вижу. И взаимосвязи к Dispose не относятся. Языки восьмидесятых в восьмидесятых и остались.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Пруф в студию. Назовите хоть один профессиональный язык имеющий GC или хоть один профессиональный язык спроектированный после 80-х. Таких не существует.
Java, C#.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Или вы считаете что Страуструп, Хейлсберг и Ишбиа
Не забываем, что именно Хейлсберг является автором C#. Так что тупее нас тут только ваша персона.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для решения задачи разрыва взаимосвязей и высвобождения ресурсво вовремя необходимо просматривать мусор образующийся при потере каждой ссылки инстантно. Другого способа гарантировать возможность уборки и высвобождения объектов не существует.
Для слабоумных: "разрыв взаимосвязей" не является "задачей". Это - мелочь.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Это кстати так о птичках кастрированный по самые немогу unique_ptr.
Dispose никакого отношения к unique_ptr вообще не имеет. Вызов метода произвольной логикой и механизм уникального владения - разные вещи.
4
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
14.04.2019, 18:20  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Произойдёт. Ибо это я каждый день и вижу. И взаимосвязи к Dispose не относятся. Языки восьмидесятых в восьмидесятых и остались.
И сами приводите пример где этого не происходит.

Добавлено через 36 секунд
Цитата Сообщение от Usaga Посмотреть сообщение
Не забываем, что именно Хейлсберг является автором C#.
Ну дак и шарп предназначался на замену вижуал васику а не как професииональный язык.

Добавлено через 1 минуту
Цитата Сообщение от Usaga Посмотреть сообщение
Для слабоумных: "разрыв взаимосвязей" не является "задачей". Это - мелочь.
Для слабоумных - эта "мелочь" абсолютно анологична ручному вызову delete для каждой ссыылки и делает GC ненужным от слова совсем.

Добавлено через 2 часа 53 минуты
Цитата Сообщение от Usaga Посмотреть сообщение
Dispose никакого отношения к unique_ptr вообще не имеет.
Вы вообще читать то умеете? Там про using написано вызывающий Dispose а не про сам Dispose.

Добавлено через 1 час 9 минут
Цитата Сообщение от Usaga Посмотреть сообщение
Java, C#.
C каких пор они стали профессиональными языками или хотя бы языками универсального назначения?
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
15.04.2019, 07:28
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
И сами приводите пример где этого не происходит.
Я вам уже раз двадцать сказал, что происходит. Но вы даже пример запускать не стали.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну дак и шарп предназначался на замену вижуал васику а не как професииональный язык.
Именно как профессиональный, каким и стал почти сразу.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для слабоумных - эта "мелочь" абсолютно анологична ручному вызову delete для каждой ссыылки и делает GC ненужным от слова совсем.
Никакой аналогии с удалением объекта (delete) и ручным расписыванием конструкторов в каждом классе.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вы вообще читать то умеете? Там про using написано вызывающий Dispose а не про сам Dispose.
И опять же это разные вещи. Совсем.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
C каких пор они стали профессиональными языками или хотя бы языками универсального назначения?
Со дня их создания.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
15.04.2019, 16:13  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Со дня их создания.
Да что вы. Шарп вообще со дня своего проектирования создавался как замена для визуал бейсика - т.е. средство для кастомизации предназначенное для непрофессионалов. А у явы с первого же дня ее существования реклама типа что профи для нее не нужны.
Цитата Сообщение от Usaga Посмотреть сообщение
И опять же это разные вещи. Совсем.
Один в один unique_ptr при подобном применении точно так же в конце скопа/при вылете экскепшина вызывает delete как using Dispose

Добавлено через 2 минуты
Цитата Сообщение от Usaga Посмотреть сообщение
Я вам уже раз двадцать сказал, что происходит. Но вы даже пример запускать не стали.
без вызова Dispose никакой уборки не происходит. Так что хватит расказывать сказки про то что GC что то может.

Добавлено через 1 минуту
Цитата Сообщение от Usaga Посмотреть сообщение
Никакой аналогии с удалением объекта (delete) и ручным расписыванием конструкторов в каждом классе.
Вы про С++? Да никакой. А в языках с GC полная. GC потому и выбросили что для управления ресурсами и взаимосвязми все равно нужен аналог деструктора и его вызов после каждой ссылки, иначе в реалиях ООП никакой уборки вообще не будет, а решение вопроса с ресурсами/взаимосвязяеми делает сканирование живых ненужным. А в С++ пошли по пути автоматизации именно этого процесса.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
16.04.2019, 06:30
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Да что вы.
Да, представьте. На этих языках можно создавать сложные вещи и не париться лишний раз о shared_ptr.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Один в один unique_ptr при подобном применении точно так же в конце скопа/при вылете экскепшина вызывает delete как using Dispose
Таки unique_ptr инкапсулирует владение объектом, позволяет это владение передавать дальше. Это его основная суть. А уделение по выходу из скоупа - бонус. Разница тут существенная: dispose, как правило, перевызывает код с освобождением ресурсов, который, если не был вызван самим dispos'ом, будет или вызван финализатором при сборке мусора, либо вообще такие ресурсы без "очистки" могут быть удалены. Т.е. вызов Dispose только уточняет момент, когда ресурсы надо высвободить. Если забыть это сделать, то такое высвобождение всё равно произойдёт и утечек не будет. А теперь покажите мне такое же, но без unique_ptr.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
без вызова Dispose никакой уборки не происходит. Так что хватит расказывать сказки про то что GC что то может.
Вы прикидываетесь дураком или нет? Dispose не мешает сборке и не начинает её. Этот метод - часть бизнес-логики, способ сказать объекту, что он переводится в неактивное состояние. Это может быть что угодно. Даже смена курсора с часиков песочных на обычную стрелку (да, даже такое практикуется) или возврат контролов из заблокированного состояния. Никакой связи со сборкой мусора нет и в помине. Запустите мой пример с окошком и байнднгами и лично посмотрите.

Пока вы этот пример не запустите, все ваши слова - трёп тупой и пустой.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вы про С++? Да никакой. А в языках с GC полная. GC потому и выбросили что для управления ресурсами и взаимосвязми все равно нужен аналог деструктора и его вызов после каждой ссылки, иначе в реалиях ООП никакой уборки вообще не будет, а решение вопроса с ресурсами/взаимосвязяеми делает сканирование живых ненужным. А в С++ пошли по пути автоматизации именно этого процесса.
Никто никого не выбрасывал. Я вам показал код, где в C# нет никаких деструкторов и умных указателей. И всё чётко и корректно работает. Вы же очконули этот пример запускать, ибо окажется, что вы не правы в своих словах.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
16.04.2019, 17:48  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
На этих языках можно создавать сложные вещи и не париться лишний раз о shared_ptr.
Но на каждом шагу парится о том о чем нужно парится один раз при определении типа взаимосвязи.
Цитата Сообщение от Usaga Посмотреть сообщение
Я вам показал код, где в C# нет никаких деструкторов и умных указателей
Где? точно такой же вызов аналога деструктора при помощи костыльной пародии на умный указатель. И какм боком в этом примере GC к обеспечению корректности поведения?

Добавлено через 1 минуту
Цитата Сообщение от Usaga Посмотреть сообщение
Этот метод - часть бизнес-логики, способ сказать объекту, что он переводится в неактивное состояние.
Так деструктор это тоже самое.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
16.04.2019, 17:49
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Но на каждом шагу парится о том о чем нужно парится один раз все равно
Ни о чём париться не надо. Примеры вам были показаны. Запарки там нет. Всё просто работает.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Где? точно такой же вызов аналога деструктора при помощи костыльной пародии на умный указатель. И какм боком в этом примере GC к обеспечению корректности поведения?
Никаких деструкторов, костылей и умных указателей. Ни одного.

Добавлено через 18 секунд
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Так деструктор это тоже самое.
Нет. Это уже про полное уничтожение объекта.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
16.04.2019, 17:53  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Никакой связи со сборкой мусора нет и в помине.
Есть и прямая. Без разрыва взаимосвязей производимых при деактивации объекта его уборка GC в общем случае невозможна.

Добавлено через 2 минуты
Цитата Сообщение от Usaga Посмотреть сообщение
Это уже про полное уничтожение объекта.
Вообще то уничтожением буфера объекта занимается ни разу не деструктор. Деструктор только подготавливает объект к безопасному уничтожению буфера. Т.е реализует абсолютно тe же бизнес-логики что и Dispose.
Еще раз - освойте матчасть перед тем как нести ваш бред.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
16.04.2019, 17:56
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Без разрыва взаимосвязей производимых при деактивации объекта его уборка GC в общем случае невозможна.
И тем не менее, в показанном примере такая сборка производится.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вообще то уничтожением буфера объекта занимается ни разу не деструктор. Деструктор только подготавливает объект к безопасному уничтожению буфера. Т.е реализует абсолютно тe же бизнес-логики что и Dispose.
Еще раз - освойте матчасть перед тем как нести ваш бред.
Dispose не уничтожает никаких буферов. Этот метод допустимо вызывать произвольное количество раз, а потом продолжать пользоваться объектом дальше, если он сам это позволяет. Кто тут матчасть не знает, но строит из себя профессионала STL-лописца?
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
16.04.2019, 17:58  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Dispose не уничтожает никаких буферов.
Так и деструктор не уничтожает буфер объекта. Это делает operator delete.

Добавлено через 28 секунд
Цитата Сообщение от Usaga Посмотреть сообщение
Этот метод допустимо вызывать произвольное количество раз, а потом продолжать пользоваться объектом дальше, если он сам это позволяет.
Дык тоже самое с явным вызовом деструктора.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
16.04.2019, 17:58
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Так и деструктор не уничтожает буфер объекта. Это делает operator delete.
Который идёт рука об руку с деструктором. Dispose никакой сборке не предшевствует. Разницу видите?

Добавлено через 28 секунд
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Дык тоже самое с явным вызовом деструктора.
Явно деструктор только мракобесы вызывают)
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
16.04.2019, 17:59  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Кто тут матчасть не знает,
Вы не знаете.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
16.04.2019, 17:59
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вы не знаете.
Да, да. Но подтверждения своих тупых слов, почему-то, привести не можете вы. Как это так?
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
16.04.2019, 18:03  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Который идёт рука об руку с деструктором.
Ну правильно. Потому что перед удалением буфера operator delete должен убедится в безопасности этой операции а соответсвенно она автоматически вставляется неявно.

Добавлено через 1 минуту
Цитата Сообщение от Usaga Посмотреть сообщение
Да, да. Но подтверждения своих тупых слов, почему-то, привести не можете вы. Как это так?
Тупые и ничем не подтвержденные слова и вообще какой то бред здесь виден только от вас.

Добавлено через 2 минуты
Цитата Сообщение от Usaga Посмотреть сообщение
Явно деструктор только мракобесы вызывают)
Ну вот GC и заставляет на каждом шагу занимаеться оным мракобесием с вызовом Dispose аки в паскале где деструктор вызывается только явно.
А в плюсах это достаточно только в библиотечном коде контейнеров делать.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
16.04.2019, 18:08
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну правильно. Потому что перед удалением буфера operator delete должен убедится в безопасности этой операции а соответсвенно она автоматически вставляется неявно.
Но Dispose и using не про удаление.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Тупые и ничем не подтвержденные слова и вообще какой то бред здесь виден только от вас.
Обвинителем выступили вы и вы же не смогли показать ни одного вменяемого примера. Только ерунду. Я вам рабочий код на каждое ваше тупое замечание предоставил.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну вот GC и заставляет на каждом шагу занимаеться оным мракобесием с вызовом Dispose аки в паскале где деструктор вызывается только явно.
А в плюсах это достаточно только в библиотечном коде контейнеров делать.
Он не заставляет. Этот метод нужен только для неуправляемых ресурсов, и не чтобы они не утекли (их GC отпустит), а чтобы их раньше освободить.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
16.04.2019, 18:20  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Этот метод нужен только для неуправляемых ресурсов, и не чтобы они не утекли (их GC отпустит), а чтобы их раньше освободить
А так же для любых объектов которые имеют/могут иметь подчиненные объекты владеющие ресурсами/имеющие ссылки из за пределов дерева подчинения, т.е. альтернативные трассы на рут. В реалиях ООП и тем более паттерна композит, который лежит в основе всего и вся на сегодняшний день, это абсолютно все объекты моделирующие сущности предметной области.
0
Эксперт .NET
 Аватар для Usaga
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,893
16.04.2019, 18:23
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А так же для любых объектов которые имеют подчиненные объекты владеющие ресурсами/имеющие ссылки из за пределов дерева.
Нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.04.2019, 18:23
Помогаю со студенческими работами здесь

ICMP флуд и др.
Всем привет. Проблема в том что, постаянно идёт icmp флуд, udp, и TCP запросы на мой ип... ...

Анти-флуд защита
Нужно добавить ограничение на количество отправленных пользователем сообщений за минуту. Максимальное количество сообщений должно...

Спам флуд смс
Всем привет. Кто может покинуть прогу для спама / флуда смс-ками на мобильный телефон без остановки, пока я сам не остановлю. Нашел в сети...

простите за возможный флуд
Обрыл весь гугль так и не нашел то что нужно. Качал некоторые примеры с форума, работает, а как не пойму. В общем как в аксесе 2007 убрать...

Микротик флуд 25 порт
Столкнулся с данной проблемой, дошло до того что я из микротика вытащи все провода , оставил только на интернет. В соединения захожу в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru