Под этим солнцем и небом мы тепло приветствуем Вас, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Бухта 2.0. Тёплая. Ламповая. Твоя.

Автор Тема: Клуб программистов  (Прочитано 23642 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #60 : 11 Февраля 2022, 01:52 »
0
Итак, начнемс. Краткое вступление. Скачал бесплатную версию visual studio и стал пытаться скачать бесплатную версию delphi. Почему стал пытаться? Да потому, что меня настойчиво попросили создать аккаунт. Что я аккаунтов за свою жизнь мало создал. Но не тут-то было. Раз пять регистрация не проходила из за нарушения каких-то токенов безопасности. Потом оказалось, что номер телефона тоже нужно указать, но вот в каком формате его указывать нигде не написано. Методом тыка перепробовал все что можно и регистрауия прошла с чем-то вроде +3 (095) 7654321. В письме, в котором пришла ссылка на скачивание конечно же не было никаких данных моего аккаунта и поэтому теперь я и понятия не имею какой там логин, пароль, имя организации и номер телефона.
Следующим неприятным моментом были он-лайн установщики, которые закачивают установачные файлы непосредственно перед установкой в совершенно неожиданные места на жестком диске. Тут следует пояснить 2 момента. 1-й. Я всегда стараюсь использовать софт, который можно устанавливать в оффлайн режиме (пунктик такой) и если я ставлю какой-то большой пакет, то стараюсь делать полную установку на всякий случай, хотя бы первый раз пока точно не буду знать, что нужно, а что нет. 2-й на диске С: у меня было свободно 20 Гб места при размере диска в 50Гб. При попытке установить Делфи даже на диск D: мои свободные 20 Гб просто исчезли. Делфи занимает где-то 16 Гб + 8 Гб распакованных архивов. Чисто для поржать запустил установку Визуал Студио, чтоб узнать сколько нужно будет места под него. После того как были отмечены все нагрузки это недоразумение запросило у меня 113Гб места (113 Гб, Карл!) чисто для себя + неизвестно сколько для того, что оно собиралось тащить за собой. А тащить оно собиралось немало: node.js, python, виртуальную машину java, библиотеки для разработки под Андроид, движок Unity3D (движок, Карл!), и еще Акатош знает что еще. И тут я понял как ничтожно малы мои  50Гб на диске С:. Думал обойтись малой кровью и почистить WinSxS и установить Делфи. На всякий случай создал в Руфусе установочную флешку. Попутно узнал что такое Dism и с чем его едят, но он не помог. Тогда помытался загрузиться с ремонтной флешки и о чудо какое-то недоядро ХР запустилось на моем АМДх64. Дальше Unlocker и чистка WinSxS. Теоретически должно было сработать ведь там резервные копии. Но после такого вмешательства система запустилась, но корме черного квадрата Малевича ничего мне не показывала. Пришлось придумывать на ходу. Скопировать всю нужную информацию на внешний ХДД, снести все, выделить под С: больше места и установить всё по новой. Одна лишь проблема на внешнем ХДД 475Гб, а нужной информации 600 с лишком. Это был тот еще квест по отсеиванию, просеиванию и копированию. Наконец, спустя два вечера, можно было приступить к установке. Воткнув установочную флешку в порт и попытавшись с нее загрузиться я натолкнулся на тот факт, что флешка записана для UEFI, а у меня Legacy (ну забыл я). После 10 минутной панической атаки, загрузившись с ремонтной флешки я Руфусом переписал установочную флешку в нужном формате. Система установилась перед работой за 20 минут пока завтракал.
Придя с работы принялся за настройку. Сразу заглянул на диск С: - всего занято 13Гб, размер папки WinSxS 6Гб. Однако. Единственной приятностью оказалось то, что система добравшись до Интернета в фоновом режиме сама скачала и установила все драйвера без моего участия. А потом опять начался трэш. Сразу ставлю АнвирТаскМенеджер и
Clean Master 1.0. Так вот при запуске АнвирТаскМенеджер система сказала, что приложение заблокировано Администратором и работать не будет (блин ну а я тогда кто?) - оказалось, что мастдай принудительно блокирует старые версии программ. Clean Master 1.0, которым пользовался не один год, система втихую обновила до последней версии, а последняя версия там просто гуано. Но эти неприятности я преодолел скачав последний АнвирТаскМенеджер заменив Clean Master на Dism++ и пакет Glary Utilities. Перечитать пришлось просто гору информации. Я уж было решил расслабится и поставить остальной софт как тут получил сообщение: ваша система больше не поддерживается обновитесь до новой версии и выбор вариантов: сейчас, ночью, назначить время. Деваться было некуда. Теперь у меня версия 20Н чего-то там и что поразительно активация не слетела. После установки новой системы у меня внезапно стало на 30Гб меньше места. Эта сволочь умудрилась запихнуть мою только что установленную систему размером в 13Гб в Виндоус.олд размером 30Гб (Вот как!?) После этого я разозлился и выкорчевал автоматическое обновление виндоус совсем, с корнем, навсегда, под чистую. Для диска С: я выделил 230Гб и решил ставить весь софт на него. При этом возникла проблема с установкой Питона. Он никак не мог установить библиотеки туда куда ему было нужно, хотя на диск D: ставился с пол тычка. После 4-х установок-удалений и плясок с бубном удалось его образумить (Установить не в Програм файлс, а в корень диска ибо в Програм файлс был запрет системы на запись и библиотеки туда тупо не могли установится. Не бред ли это?) Вообще вот эта система, когда программы устанавливаются не в одну папку, а размазываются ровным слоем по десятку папок в разных местах мне недоступна для понимания. Напуркуа так было делать? Потом установил node.js, установил Электрон, Электрон-пакаджер и попытался по инструкции создать приложение. А вот фиг вам! Там версия электрон не та, там еще какая-то приблуда не соответствует. Взял простеникий сайтик - обернул его в main.js окошко открывается всё работает, но вот .exe из него сделать никак не получилось. Расстроился, Электрон снес начисто. Меня осенило - напуркуа я буду сайты в .exe заворачивать если на любой системе есть браузер. Напишу приложение на JS и его тупо можно будет запускать в любом браузере и пользоваться как пользуются JupiterNotebook-ом. В общем сейчас у меня есть Делфи, Лазарус, Перл, Питон, Нода и Пеллес С. Я даже сегодня смог на С простенькую консольную программку скомприлить. Пригадится. А то что я пароль 3 дня вспоминал так это по закону подлости - при переустановке системы файлик с логинами паролями обязательно остается на рабочем столе и благополучно изничтожается. ;D Все эти приключения заняли у меня общим счетом неделю времени. Зато сколько нового я узнал!  :D
Пираты - наше всё!

Оффлайн Аладор

  • *
  • Сообщений: 2883
  • Пол: Мужской
  • Странник между мирами
Клуб программистов
« Ответ #61 : 11 Февраля 2022, 16:23 »
0
А тащить оно собиралось немало: node.js, python, виртуальную машину java, библиотеки для разработки под Андроид, движок Unity3D (движок, Карл!)
А зачем ставить все что надо и не надо?  :D У меня VS занимает 12Гб, 8,5 на диске D и 3,5 на С.

Цитировать
Думал обойтись малой кровью и почистить WinSxS
Самый безопасный способ, это штатной очисткой диска, просто указав очистку обновлений и точек восстановления.
Цитировать
А вообще, чаще всего "раздувается" папка installer. Если часто ставить много софта, то все установочники остаются там, особенно жирная эта папка, если доступ к компу есть у детей, и они умеют устанавливать игры и софт, а удалять через панель управления - нет.


На всякий случай создал в Руфусе установочную флешку
С недавних пор перешел на Ventoy. Т.к. мне по работе порой приходится работать с различными ос, то перезаписывать, либо таскать кучу флешек, мне надоело, и как раз попался на глаза вентой. Фишка в том, что он отрезает от флешки раздел примерно в 50Мб, и прописывает там свой загрузчик. А на основной раздел, просто скидываешь нужный образ (или несколько), без распаковки - обычный iso. И все, дальше грузишься с флешки и выбираешь нужный образ. В качестве "лечебного" использую WinPE Strelec, там много различного диагностического софта.

Цитировать
Установить не в Програм файлс, а в корень диска ибо в Програм файлс был запрет системы на запись и библиотеки туда тупо не могли установится. Не бред ли это?
А установку точно с правами администратора запускал? Или может быть у тебя раньше был uac отключен и ты успел забыть о его существовании?

Цитировать
А то что я пароль 3 дня вспоминал так это по закону подлости - при переустановке системы файлик с логинами паролями обязательно остается на рабочем столе и благополучно изничтожается.
Давно перешел на использование KeePassXC. База паролей хранится локально, но для страховки синхронизируется с моим облаком, а для удобства, с облака подтягиваю в телефон. Из плюсов, есть расширение для браузеров, через которое можно подтягивать пароли из базы, а по комбинации клавиш, можно и вовсе в любое приложение ввести пароль. Например в клиент ESO, или Steam.

P.S. А вообще, перед любой "сомнительной операцией", нужно делать бэкап. Я пользуюсь AOMEI, бесплатной версии хватает с головой, но можно и спиратить фулл. Сделал бэкап, и можно "ломать" систему, и если что-то пойдет не так, всегда можно развернуть ее назад.
“Предупрежден, значит вооружен“
Никогда не кормите троллей, они не поддаются приручению, и от сытости лишь сильней дичают.
Награды Маяк - за неоценимую помощь в создании Бухты 2.0

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #62 : 11 Февраля 2022, 18:06 »
0
А зачем ставить все что надо и не надо?
если я ставлю какой-то большой пакет, то стараюсь делать полную установку на всякий случай, хотя бы первый раз пока точно не буду знать, что нужно, а что нет.
А установку точно с правами администратора запускал? Или может быть у тебя раньше был uac отключен и ты успел забыть о его существовании?
Чего не помню того не помню. Но это дико для любого чиха отдельно указывать запуск под админом, хотя у меня учетная запись админа.
А вообще, чаще всего "раздувается" папка installer. Если часто ставить много софта, то все установочники остаются там
Нужно будет заглянуть что у меня там.
Давно перешел на использование KeePassXC.
Не доверяю я пароли чужим программам. Мало ли. Каждый разраб бьет себя пяткой в грудь, что его программа никуда твои пароли не отсылает.  ;D
Пираты - наше всё!

Оффлайн Аладор

  • *
  • Сообщений: 2883
  • Пол: Мужской
  • Странник между мирами
Клуб программистов
« Ответ #63 : 11 Февраля 2022, 18:54 »
0
Но это дико для любого чиха отдельно указывать запуск под админом, хотя у меня учетная запись админа.
Отключаешь uac, и запросов не будет. Но я наоборот, лучше буду знать, когда то, чему я не хочу давать много прав, вдруг решает расширить свои возможности.

Не доверяю я пароли чужим программам. Мало ли. Каждый разраб бьет себя пяткой в грудь, что его программа никуда твои пароли не отсылает. 
Так ты их уже доверил, оставив на рабочем столе. Но я и сам так же, не особо доверяю, потому и выбрал open source решение, где уже давно бы народ нашел причину не доверять создателю, а keepass - потому что еще и локальная бд, а значит, если совсем боязно, то можно фаерволом заблочить доступ в сеть.
“Предупрежден, значит вооружен“
Никогда не кормите троллей, они не поддаются приручению, и от сытости лишь сильней дичают.
Награды Маяк - за неоценимую помощь в создании Бухты 2.0

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #64 : 14 Февраля 2022, 23:02 »
0
Посоветуйте хорошие книги. Кто по чем учился? Интересуют такие области как: Паскаль, Делфи, С, Алгоритмы, Ява Скрипт, Питон. А то я скачал библиотеку программиста в 6000 книг и слегка растерялся - сколько ж времени уйдет пролистать каждую.  ;D
Пираты - наше всё!

Оффлайн IgorLutiy

  • *
  • Сообщений: 920
  • Пол: Мужской
  • Выбраковщик
    • Oblivion, Skyrim & Fallout3 Modding
Клуб программистов
« Ответ #65 : 15 Февраля 2022, 14:37 »
+1
Паскаль, это однозначно и без вариантов Песни о паскале. После того, как эта книжка будет пройдена или, по крайней мере, все что есть в ней покажется детским лепетом, можно браться за первый том Столярова "Азы программирования".

По питону книг слишком много и я бы не советовал начинать с них (хотя ты вроде уже и не начинающий?). Лучше начинать с онлайн-курсов, типа Поколения питон на Степике. А уже по ходу дела шлифовать книгами. Их очень много. Есть много хороших, но как и что зайдет начинающему - мне уже несколько сложно судить.

А вот по computer science могу одну вещь однозначно порекомендовать - Гленн Брукшир Дж. - Компьютерные науки. Базовый курс, 13-е издание. Пока это наверное лучшее, что мне попадалось.

По алгоритмам тоже есть куча хороших книг. Но там я еще толком не разбирался, поэтому что-т опрям конкретное не смогу указать.

Мир друзьям - смерть врагам!
Награды Золотая Палитра - художнику (ПП 2013 года) Синяя Роза - за победу на Первом поэтическом конкурсе Бухты Плюшевый мишка - приз зрительских симпатий на Первом поэтическом конкурсе Бухты

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #66 : 15 Февраля 2022, 17:53 »
0
Песни о паскале.
Именно по ней и собираюсь учится. Еще нашел древнюю книгу по алгоритмам с реализацией на Паскале - я о таких математических приемах в жизни никогда не слышал, столько нового узнал. В современных книгах таких задач не встречал ни разу.
Лучше начинать с онлайн-курсов
Пока решаю задачи тут: http://pythontutor.ru Теории дают минимум, но когда есть направление в котором двигатся, то интернет и книги помогают. Уже почти закончил курс. Потом найду еще какой-нибудь.Осознал, что алгоритмы и математика неразрывно связаны. Не зная математики, не сможешь разработать более менее нормальный алгоритм.Попадаются задачи в которых я просто не могу составить алгоритм потому что не могу переформулировать задачу в понятном для меня виде. Например задача "Коровы в стойла" https://www.cyberforum.ru/python-beginners/thread2683659.html До сих пор не могу понять как оно работает.
Пираты - наше всё!

Оффлайн IgorLutiy

  • *
  • Сообщений: 920
  • Пол: Мужской
  • Выбраковщик
    • Oblivion, Skyrim & Fallout3 Modding
Клуб программистов
« Ответ #67 : 15 Февраля 2022, 18:19 »
0
Цитировать
Потом найду еще какой-нибудь.
Я лучше Поколения курса для начинающих не встречал. До этого был еще один курс, тоже на Степике, по которому я сам учился, но с появлением Поколения лавры первенства уверенно перешли к нему. И у него есть продолжение, для чуть более продвинутых. А в этом году обещают и третью часть, с ООП.

Цитировать
Например задача "Коровы в стойла"
В решении задач самое главное понимать зачем они нужны. Решение задач ради решения задач может оказаться путем в никуда. Более того, часто сложности бывают искусственными, вызванными проблемами с тем, что авторы не могут нормально сформулировать условия. И приходится больше сражаться с этим, чем с самой задачей. Яркий пример был в прошлогоднем Advent of Code. Задачи в плане решения довольно простые, но условие закручено так, что я решал только после их нормального объяснения на пальцах моим товарищем. Хорошего в этом мало, на самом деле.
Мир друзьям - смерть врагам!
Награды Золотая Палитра - художнику (ПП 2013 года) Синяя Роза - за победу на Первом поэтическом конкурсе Бухты Плюшевый мишка - приз зрительских симпатий на Первом поэтическом конкурсе Бухты

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #68 : 15 Февраля 2022, 22:44 »
0
А вот по computer science могу одну вещь однозначно порекомендовать - Гленн Брукшир Дж. - Компьютерные науки. Базовый курс, 13-е издание. Пока это наверное лучшее, что мне попадалось.
Не совсем понимаю, что такое computer science. Но книгу скачал. Нашел еще вот такой 4-х томничек:
http://www.stolyarov.info/books/pdf/progintro_e2v1.pdf
http://www.stolyarov.info/books/pdf/progintro_e2v2.pdf
http://www.stolyarov.info/books/pdf/progintro_e2v3.pdf
http://www.stolyarov.info/books/pdf/progintro_vol4.pdf
Посмотри как время будет. На вид вроде более менее серьезная книга.Жаль, что бумажные книги сейчас бешеных денег стоят.
Решение задач ради решения задач может оказаться путем в никуда.
Если каждый день набирать примерно похожий код, то это хорошо помогает заучить базовый синтаксис (а то я в 17-м году в танки играть начал и чего-то всё подзабыл  ;D ), попутно освежаю в памяти алгебру, геометрию и новые алгоритмы подучиваю (Никогда и никто мне не говорил, что квадрат натурального числа N равен сумме N нечетных числел: 2**2 = 1 + 3; 3**2 = 1 + 3 + 5; 4**2 = 1 + 3 + 5 + 7 и т. д. Для меня это было открытием. Есть такая же формула и для куба. Ни в школе, ни в универе об этом никто не упомянул. Прочитал об этом вчера в книге 89-го года.) Потом задачи уже буду писать те, которые мне для использования нужны в повседневной жизни.
Более того, часто сложности бывают искусственными, вызванными проблемами с тем, что авторы не могут нормально сформулировать условия.
Часто с таким сталкиваюсь. Стараюсь, конечно, решить, но если не вижу практической пользы, то тупо забиваю.
Пираты - наше всё!

Оффлайн IgorLutiy

  • *
  • Сообщений: 920
  • Пол: Мужской
  • Выбраковщик
    • Oblivion, Skyrim & Fallout3 Modding
Клуб программистов
« Ответ #69 : 15 Февраля 2022, 23:09 »
0
Цитировать
Не совсем понимаю, что такое computer science. Но книгу скачал. Нашел еще вот такой 4-х томничек:
Компьютер сайз - это типа нашей информатики, и даже чуть шире. Что-то вроде основ айти и программирования.
Про первый том Столярова я же писал в предыдущем сообщении и ссылку давал, но в целом у него трехтомник (изначально был четырех), да. Но Столяров товарищ специфический, его сходу не пройдешь. У него идет обучение на Паскале, потом переход на Си и потом на ассемблер. Потому я и советовал первый том, где про Паскаль. Но базу на момент чтений стоит уже иметь очень хорошую. Иначе можно сломаться.

Цитировать
Никогда и никто мне не говорил, что квадрат натурального числа N равен сумме N нечетных числел: 2**2 = 1 + 3; 3**2 = 1 + 3 + 5; 4**2 = 1 + 3 + 5 + 7 и т. д. Для меня это было открытием. Есть такая же формула и для куба. Ни в школе, ни в универе об этом никто не упомянул. Прочитал об этом вчера в книге 89-го года.
А ты не думал, что никто об этом не говорил как раз потому, что вероятность того, что тебе это где-то понадобиться стремительно приближается к нулю?
Мир друзьям - смерть врагам!
Награды Золотая Палитра - художнику (ПП 2013 года) Синяя Роза - за победу на Первом поэтическом конкурсе Бухты Плюшевый мишка - приз зрительских симпатий на Первом поэтическом конкурсе Бухты

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #70 : 16 Февраля 2022, 00:05 »
0
А ты не думал, что никто об этом не говорил как раз потому, что вероятность того, что тебе это где-то понадобиться стремительно приближается к нулю?
Как бы это могло пригодится если я об этом даже не знал? В школе преподавали формулу сокращенного умножения - (a + b)**2 = a**2 + 2ab + b**2. И никто не говорил, что с помощью нее можно находить квадраты двухзначных чисел в уме. ab**2 = a**2*100 + 2ab*10 + b**2. А я этим пользовался довольно часто.
в целом у него трехтомник (изначально был четырех)
Я чего-то в его изданиях запутался. Скачал вперемешку трехтомник и четырех томник. Какой только лучше выбрать?
Пираты - наше всё!

Оффлайн IgorLutiy

  • *
  • Сообщений: 920
  • Пол: Мужской
  • Выбраковщик
    • Oblivion, Skyrim & Fallout3 Modding
Клуб программистов
« Ответ #71 : 16 Февраля 2022, 00:40 »
0
Цитировать
Скачал вперемешку трехтомник и четырех томник. Какой только лучше выбрать?
Материал в них в целом идентичный, но трехтомник более свежий, а значит исправлены ошибки, найденные ранее. Материал остался тот же, просто он раскидал четыре тома более ровно в три.
Мир друзьям - смерть врагам!
Награды Золотая Палитра - художнику (ПП 2013 года) Синяя Роза - за победу на Первом поэтическом конкурсе Бухты Плюшевый мишка - приз зрительских симпатий на Первом поэтическом конкурсе Бухты

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #72 : 01 Марта 2022, 22:54 »
0
Почитал немного Столярова. Вот пару цитат.

"...эта книга ничему вас не научит, если командная строка ОС Unix не станет вашим основным средством повседневной работы с машиной.
Объяснение этому очень простое. Чтобы стать программистом, вам для начала придётся начать писать программы так, чтобы они работали; потом в какой-то момент нужно перейти от этюдов к попыткам извлечь из собственных программ какую-то пользу; затем требуется сделать последний важнейший шаг довести полезность своих программ до такого уровня, чтобы ими начал пользоваться кто-то кроме вас. Написать сколько-нибудь полезную программу, имеющую графический интерфейс, довольно сложно чтобы это сделать, нужно уже быть программистом, но чтобы им стать, вам, как уже было сказано, нужно начать писать полезные программы. Этот заколдованный круг можно разорвать, выбросив из рассмотрения графический интерфейс, но программы, не имеющие такового и при этом полезные, бывают только в ОС Unix, больше нигде."

"...дистрибутивов Linux вполне достаточно. Кстати, можете использовать появление в вашем хозяйстве нужной операционной системы в качестве проверки собственной готовности к дальнейшему: если прошло три-четыре недели, а ничего юниксоиодобного на ваших компьютерах всё ещё нет, можете не обманывать себя: дальнейшие попытки «научиться программировать» вам просто не нужны."

Я так понимаю, по мнению автора, если человек не использует Unix, то он говно и программистом никогда не станет, даже может не пытаться. Интересно, насколько вы согласны с его мнением? И почему настоящие программы без графического интерфейса могут быть только в Unix? Что за такая дикая неприязнь к Виндоус?

Пираты - наше всё!

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #73 : 08 Марта 2022, 23:03 »
0
В общем, раньше писал функции не особо углубляясь в смысл, лишь бы работало. Почитав книжки слегка призадумался, что не всё так просто. Посмотрел как Столяров лихо запускает программы на Паскале в командной строке Unix причем данные передавая параметрами. Просидев весь вечер над первоисточниками, я так таки освоил эту магию на Windows (раньше я, к примеру, в программе по переводу комплексных чисел из одной формы в другую делал бесконечный цикл с проверкой ввода, чтоб не запускать программу много раз, а сейчас могу тупо запускать ее в cmd с параметрами столько сколько мне нужно). Написал процедуру, которая подсчитывает сумму цифр числа. Но так как параметры в программу передаются в виде строк, то я и в процедуру передавал строки. Потом подумал, что это не правильно, что процедура, которая работает с числами требует на входе строки - исправил. Потом начал тестировать. С параметрами из командной строки работает, с переменными работает, а вот с константами не работает, ибо не может вернуть значение. Таким образом я пришел к выводу, что процедуру можно использовать когда нужно над переменной произвести какие-то нестандартные трансформации, которые могут понадобится только в какой-то одной программе (например: найти кубический корень и прибавить к результату два и все единицы заменить звездочками) . А если эти трансформации можно широко применить и в других программах (например: найти ндекс символа в строке), то лучше оформить их как функцию.  Причем, для себя решил, что все параметры в функцию нужно передавать в виде констант, чтоб функция была универсальной и могла работать как с константами, так и с переменными. Пока создал свой модуль и складываю туда отлаженные и протестированные функции с описаниями. Еще один момент с передачей параметров из командной строки. Они все передаются как строки и если функция требует тип char, то естественно переменной типа char мы не можем присвоить тип string поэтому приходится в функциях вместо char использовать string. Чувствую, что это не кошерно, но пока правильного пути нащупать не могу.
Пираты - наше всё!

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #74 : 20 Июля 2022, 22:06 »
0
С кодировками разобрался. Связываем проект в инспекторе проектов с модулем LazUtils, а в программу подключаем модуль LazUTF8. Теперь любая строка может быть перекодирована на лету...

...такие финты с кодировкой увеличивают размер исходника на 620 КБ. (Программа по подсчету суммы цифр в числе 170КБ, с кодировками 789КБ - почти метр для программы в 10 строк!)
Как же долго я грыз кактус! Век живи, век учись. Проблема с кодировкой в Лазарусе решается в 2 клика. Правая кнопка мыши - Параметры файла - Кодировка - СР866. Всё! В консоли вся кириллица отображается нормально.
И что самое главное - размер программы от этого не изменяется! Не нужно плясок с бубном и подключением всяких модулей.
Пираты - наше всё!

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #75 : 06 Августа 2022, 22:34 »
0
Проблема с кодировкой в Лазарусе решается в 2 клика. Правая кнопка мыши - Параметры файла - Кодировка - СР866. Всё! В консоли вся кириллица отображается нормально.
В дополнение к предыдущему посту. Проверил. Эта фишка работает в Перл, Делфи, Паскаль и С. Если исходник сохранен в ОЕМ866, то в консоли кириллица отображается без проблем. Для Линукса придется изменить кодировку на UTF-8 и заново компильнуть - дело пары кликов. Во избежание возможных проблем при перекодировке исходников советую весь русский текст программы держать в трех разных текстовых файлах в трех разных кодировках: ОЕМ866, СР1251 и UTF8. Подозреваю, что такой метод будет работать в любом ЯП. Пляски с бубном понадобятся только тогда, когда в виндоус программа получает данные из консоли, а выводит в файл, или наоборот. Поэтом методы плясок с бубном для каждого языка знать всё-таки не помешает.
Пираты - наше всё!

Оффлайн РЕДМЕНЪ

  • *
  • Сообщений: 17291
  • Красный мракобесЪ
Клуб программистов
« Ответ #76 : 20 Февраля 2023, 13:09 »
0
В связи со всеми шумихами со взломами игр за последний год можно глупый вопрос?

А что именно из себя представляет эта самая Денуво и что именно делают таблетки, взламывающие защиту?
УЛЫБНИСЬ МИРУ И МИР УЛЫБНЁТСЯ ТЕБЕ!
Награды Маяк - за неоценимую помощь в создании Бухты 2.0 Мужественному и неотразимому Господину Бухты-2016 Друг императора - монетка на удачу! За то, что успевает, проделывает, умудряется и непонятный (ПП 2014 года) За участие в Битве сонетов За победу на новогоднем конкурсе скриншотов "Зимний пейзаж" Нетрезвому Драугру, правившему бал на Фестивале ведьм 13.10.13 Цветущий Кактус - лучшему критику Первого поэтического конкурса Бухты Синяя Роза - за победу на Первом поэтическом конкурсе Бухты За обширный и значительный вклад в развитие сайта и форума (ПП 2012 года) За обширный и значительный вклад в развитие сайта и форума (ВП 2012 года) Друг Скайрима - монетка на удачу! Почётный житель Бухты (ВП 2011) Победитель конкурса модмейкеров №1 по теме "Расы" Золотой Пергамент - за замечательные рассказы (ВП 2011 года)

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #77 : 20 Февраля 2023, 13:52 »
0
А что именно из себя представляет эта самая Денуво и что именно делают таблетки, взламывающие защиту?
Это функция в .exe, которая проверяет правильность лицензионного кода. Таблетка это измененный .exe, в котором эта функция переписана так, что она либо не проверяет код, либо любой код считает верным. В некоторых играх/программах приходится вместе с .exe вносить изменения в одну или несколько .dll. Примерно так реализованы все защиты. Различие только в способах шифрования и сжатия .exe - именно расшифровка и распаковка .exe, чтоб добраться до этой функции, и является взломом - потому как саму функцию переписать дело пары минут. Правда потом нужно опять все запаковать и зашифровать как было.  ;D емнип в Денуво как раз сделан упор на шифрование - всё там несколько раз по хитрому зашифровано, поэтому там еще нужно с дампами памяти играться - где-то статья в сети была с подробным примером как это всё делается, но там столько слов незнакомых, что я неосилил.  ;D
Пираты - наше всё!

Оффлайн РЕДМЕНЪ

  • *
  • Сообщений: 17291
  • Красный мракобесЪ
Клуб программистов
« Ответ #78 : 21 Февраля 2023, 17:35 »
0
Это функция в .exe, которая проверяет правильность лицензионного кода. Таблетка это измененный .exe, в котором эта функция переписана так, что она либо не проверяет код, либо любой код считает верным.
Ну, я хоть и блондинко и порой косплею революционную матросню, но это понимаю.
Почему Денуво считается такой сложной? Что такое "несколько раз шифровать", "с дампами памяти играться"? Как это будет по-простому, по-понятному?
УЛЫБНИСЬ МИРУ И МИР УЛЫБНЁТСЯ ТЕБЕ!
Награды Маяк - за неоценимую помощь в создании Бухты 2.0 Мужественному и неотразимому Господину Бухты-2016 Друг императора - монетка на удачу! За то, что успевает, проделывает, умудряется и непонятный (ПП 2014 года) За участие в Битве сонетов За победу на новогоднем конкурсе скриншотов "Зимний пейзаж" Нетрезвому Драугру, правившему бал на Фестивале ведьм 13.10.13 Цветущий Кактус - лучшему критику Первого поэтического конкурса Бухты Синяя Роза - за победу на Первом поэтическом конкурсе Бухты За обширный и значительный вклад в развитие сайта и форума (ПП 2012 года) За обширный и значительный вклад в развитие сайта и форума (ВП 2012 года) Друг Скайрима - монетка на удачу! Почётный житель Бухты (ВП 2011) Победитель конкурса модмейкеров №1 по теме "Расы" Золотой Пергамент - за замечательные рассказы (ВП 2011 года)

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #79 : 21 Февраля 2023, 17:46 »
0
По простому денуво нельзя расшифровать в принципе, но когда запускаешь игру, то .exe сам себя расшифровывает и записывается в оперативную память. Поэтому нужно запустить игру, определить область памяти, которую она занимает, сделать дамп (записать снимок памяти в файл), потом работать с этим файлом. Примерно так. Но, конечно всё гораздо сложнее.
Пираты - наше всё!

Оффлайн Аладор

  • *
  • Сообщений: 2883
  • Пол: Мужской
  • Странник между мирами
Клуб программистов
« Ответ #80 : 21 Февраля 2023, 18:00 »
0
Почему Денуво считается такой сложной? Что такое "несколько раз шифровать", "с дампами памяти играться"? Как это будет по-простому, по-понятному?
Может знаком с "книгами играми", в которых история разбита на куски и читая книгу нужно переходить по параграфам, чтобы получить историю. Так вот конец истории может быть один, на остальных путях будет смерть. Так и тут, денува, это такая же "разбитая книга", только историю она собирает сама во время загрузки. В оперативной памяти уже готовый итог. Но и он имеет в себе различные ловушки, чтобы нельзя было просто скопировать данные из дампа.
“Предупрежден, значит вооружен“
Никогда не кормите троллей, они не поддаются приручению, и от сытости лишь сильней дичают.
Награды Маяк - за неоценимую помощь в создании Бухты 2.0

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #81 : 21 Февраля 2023, 18:01 »
0
В оперативной памяти уже готовый итог. Но и он имеет в себе различные ловушки, чтобы нельзя было просто скопировать данные из дампа.
Вот. Всё правильно. Просто я слов таких не нашел.  ;D
Пираты - наше всё!

Оффлайн РЕДМЕНЪ

  • *
  • Сообщений: 17291
  • Красный мракобесЪ
Клуб программистов
« Ответ #82 : 21 Февраля 2023, 18:39 »
0
С "книгами играми" знаком, но это ничего не меняет: всё равно ничего не понятно  :-[ .
УЛЫБНИСЬ МИРУ И МИР УЛЫБНЁТСЯ ТЕБЕ!
Награды Маяк - за неоценимую помощь в создании Бухты 2.0 Мужественному и неотразимому Господину Бухты-2016 Друг императора - монетка на удачу! За то, что успевает, проделывает, умудряется и непонятный (ПП 2014 года) За участие в Битве сонетов За победу на новогоднем конкурсе скриншотов "Зимний пейзаж" Нетрезвому Драугру, правившему бал на Фестивале ведьм 13.10.13 Цветущий Кактус - лучшему критику Первого поэтического конкурса Бухты Синяя Роза - за победу на Первом поэтическом конкурсе Бухты За обширный и значительный вклад в развитие сайта и форума (ПП 2012 года) За обширный и значительный вклад в развитие сайта и форума (ВП 2012 года) Друг Скайрима - монетка на удачу! Почётный житель Бухты (ВП 2011) Победитель конкурса модмейкеров №1 по теме "Расы" Золотой Пергамент - за замечательные рассказы (ВП 2011 года)

Оффлайн Аладор

  • *
  • Сообщений: 2883
  • Пол: Мужской
  • Странник между мирами
Клуб программистов
« Ответ #83 : 21 Февраля 2023, 18:51 »
0
ничего не понятно
Просто это еще одна степень защиты  :D Если ничего не понятно, то и ломать сложнее ;D
Как бы в этом вся фишка. Известен только общий принцип работы - "движение по параграфам", но эти параграфы, в каждой "книге" разные, и соответственно правильный путь, каждый раз новый.
“Предупрежден, значит вооружен“
Никогда не кормите троллей, они не поддаются приручению, и от сытости лишь сильней дичают.
Награды Маяк - за неоценимую помощь в создании Бухты 2.0

Оффлайн Аладор

  • *
  • Сообщений: 2883
  • Пол: Мужской
  • Странник между мирами
Клуб программистов
« Ответ #84 : 21 Июня 2023, 16:44 »
0
Устроил небольшую разминку для мозгов и написал классическую интеллектуальную игру "Кто хочет стать миллионером"
https://disk.yandex.ru/d/2eyy2kilUgCoBw
“Предупрежден, значит вооружен“
Никогда не кормите троллей, они не поддаются приручению, и от сытости лишь сильней дичают.
Награды Маяк - за неоценимую помощь в создании Бухты 2.0

Оффлайн za4ot

  • *
  • Сообщений: 763
Клуб программистов
« Ответ #85 : 21 Июня 2023, 17:27 »
0
На чем писал?
Пираты - наше всё!

Оффлайн Аладор

  • *
  • Сообщений: 2883
  • Пол: Мужской
  • Странник между мирами
Клуб программистов
« Ответ #86 : 21 Июня 2023, 17:54 »
0
C# WPF
Делал примерно полторы недели по часу - полтора в день.
“Предупрежден, значит вооружен“
Никогда не кормите троллей, они не поддаются приручению, и от сытости лишь сильней дичают.
Награды Маяк - за неоценимую помощь в создании Бухты 2.0

Оффлайн РЕДМЕНЪ

  • *
  • Сообщений: 17291
  • Красный мракобесЪ
Клуб программистов
« Ответ #87 : 21 Июня 2023, 20:20 »
0
А что делать-то надо?
УЛЫБНИСЬ МИРУ И МИР УЛЫБНЁТСЯ ТЕБЕ!
Награды Маяк - за неоценимую помощь в создании Бухты 2.0 Мужественному и неотразимому Господину Бухты-2016 Друг императора - монетка на удачу! За то, что успевает, проделывает, умудряется и непонятный (ПП 2014 года) За участие в Битве сонетов За победу на новогоднем конкурсе скриншотов "Зимний пейзаж" Нетрезвому Драугру, правившему бал на Фестивале ведьм 13.10.13 Цветущий Кактус - лучшему критику Первого поэтического конкурса Бухты Синяя Роза - за победу на Первом поэтическом конкурсе Бухты За обширный и значительный вклад в развитие сайта и форума (ПП 2012 года) За обширный и значительный вклад в развитие сайта и форума (ВП 2012 года) Друг Скайрима - монетка на удачу! Почётный житель Бухты (ВП 2011) Победитель конкурса модмейкеров №1 по теме "Расы" Золотой Пергамент - за замечательные рассказы (ВП 2011 года)

Оффлайн Аладор

  • *
  • Сообщений: 2883
  • Пол: Мужской
  • Странник между мирами
Клуб программистов
« Ответ #88 : 21 Июня 2023, 20:27 »
0
Да ничего, можешь просто попробовать сыграть.
“Предупрежден, значит вооружен“
Никогда не кормите троллей, они не поддаются приручению, и от сытости лишь сильней дичают.
Награды Маяк - за неоценимую помощь в создании Бухты 2.0