Найти - Пользователи
Полная версия: Разная работа приравнивания списка и метода ".append()" внутри функции.
Начало » Python для новичков » Разная работа приравнивания списка и метода ".append()" внутри функции.
1 2 3 4 5
py.user.next
Olezhka
А ты в “Пайтоне” не работал с модулями прямого доступа к памяти? Не редактировал что-нибудь в ОЗУ на лету?
Если бы мне нужно было работать с памятью, я бы использовал для этого язык C. Есть несколько разных уровней работы. Для каждого уровня есть своя группа языков программирования. Например, для работы в системе я использую язык Shell. На питоне тоже можно писать скрипты для работы в системе, но он как бы непригоден для этого. Им неудобно работать. Для всяких разветвлённых систем по работе с данными я использую язык Python. На C тоже можно писать программы для разветвлённых систем по работе с данными, но он как бы непригоден для этого. Для работы с операционной системой или аппаратной частью на низком уровне я использую язык C. На Assembler тоже можно писать программы для работы с операционной системой или аппаратной частью на низком уровне, но он как бы непригоден для этого.

Поэтому я когда пишу программу, обслуживание её на самом верху происходит с помощью языка Shell, обслуживание на средней линии её разветвлений при работе с данными происходит с помощью языка Python, обслуживание её на низком уровне для взаимодействия с элементами операционной системы происходит с помощью языка C. Поэтому программа может быть написана на трёх языках программирования сразу. Просто разные её части с разных уровней пишутся на тех языках программирования, которые максимально подходят для этих уровней и ложатся на них как по маслу.

Я вот недавно написал приложение для смартфона себе, там само приложение написано на языке Java. Но управление этим проектом я полностью написал на языке Shell. Поэтому он сворачивается и разворачивается за одну секунду, менять его очень легко, потому что за это Shell-скрипты отвечают, которые я себе сделал сам. Знаешь, если искать что-то где-то чужое, то ты просто не найдёшь ничего. Поэтому учись делать себе программы сам. Учись делать себе инструменты сам. Тогда у тебя всё будет. Другие в это время будут сидеть в жопе, искать себе инструменты, побираться по сайтам в поисках хотя бы каких-то ошмётков. Потом найдут себе какое-нибудь вялое говно и будут им пользоваться бесконечно. Так вот также я написал себе Shell-скрипт для клонирования проекта, это когда тебе надо полностью воссоздать проект в другом проекте, чтобы провести какие-то эксперименты с приложением, которые в результате могут повредить проект сам так, что потом даже не сможешь понять, как его восстановить. Вот чтобы не портить проект, не ставить его под угрозу и при этом без экспериментов не сидеть, которые что-то кардинально проясняют, я разработал себе скрипт на языке Shell, который мне перекачивает досконально содержимое одного проекта в другой проект, возрождает его как бы в другом проекте. Для этого потребовалось проводить переименования пакетов, залазить внутрь манифестов, отыскивать все доустановленные в проект сторонние библиотеки и прочими такими вещами заниматься. То есть скрипт умно лазит по проекту и всё там умно копирует и после копирования умно переделывает то, что скопировано, иначе оно подгружаться не будет, так как там старые имена как снаружи файлов, так и внутри этих файлов. Всё это кропотливая работа такая. Вручную всё это делать было очень проблематично и занимало минут по сорок, когда я это всё вручную проделывал. После того как я этот скрипт разработал и закончил, я стал делать клоны проекта за минуту. После этого я на этом клоне могу проводить любые эксперименты, а потом могу его оставлять, а могу удалить его весь и создать клон по новой. Это сильно ускорило мою работу и я стал больше программ делать, потому что высвободилось время, которое раньше уходило на ручную работу.

Так вот, в чём смысл этой истории всей. Вот это всё если на одном питоне писать, то оно также будет неудобным. Если же писать одни поверхностные скрипты, то ты не сможешь работать с данными, которые посложнее устроены. А если ты будешь искать модули для питона для работы с аппаратной частью, то ты будешь такой побирушкой в итоге, у которой ничего нет. Поэтому для каждой задачи надо брать подходящие инструменты. А если инструментов нет, то ты понял, да, их надо брать и делать самому без всяких кваканий типа “ой, а я не могу это сделать, я не знаю, чем это можно сделать, а дайте мне молоточек, а дайте мне отвёрточку, а помогите мне, а посоветуйте мне”.

Мне вот никто не нужен. Я себе инструменты сделал и сижу ими и работаю. Я ничего не жду, мне не пять лет, чтобы сидеть и в розовых соплях ждать чего-то на блюдечке. Сам не сделаешь - ничего ниоткуда само не появится.
Olezhka
py.user.next
Мне вот никто не нужен. Я себе инструменты сделал и сижу ими и работаю. Я ничего не жду, мне не пять лет.
Молодец! Согласен с тобой! Только… если уже есть какой-то готовый модуль в свободном доступе… и я могу его скачать и использовать… если мне не важна быстродейственность и безопасность программы… зачем мне геммороиться и писать модуль самому?..
py.user.next
Olezhka
если уже есть какой-то готовый модуль в свободном доступе
Olezhka
зачем мне геммороиться и писать модуль самому?
Эти модули могут быть прекрасными поначалу. А потом хоп и ты находишь в нём ошибку. Ты пишешь автору модуля “тут вот ошибка, исправьте”. Через год автор исправляет. То есть это дело такое.

А как в своём модуле происходит. Ты его долго пишешь, потом написал, работаешь с ним. А потом хоп и ты находишь в нём ошибку. Ты выделяешь время на исправление ошибки. Потом ты её исправляешь долго. Всё, ошибки больше нет. Ты дальше работаешь с модулем. Потом ты думаешь “надо бы мне в него добавить такую-то функцию, а то не хватает её”. Ты выделяешь время на добавление функции. Потом ты её добавляешь долго. Всё, функция появилась. Ты дальше работаешь с модулем. Через какое-то количество лет твой модуль становится лучше того, который есть у всех, который всё ещё с теми же ошибками неисправленными и уж тем более без каких-либо нужных функций. Свои проги - это свои проги.

Когда у тебя есть свои проги, у тебя появляется сила. Когда у тебя нет своих прог, ты делаешь YouTube-канал и там рассказываешь, какой ты умный кодописатель нипойми чего. Потом там просишь у подписчиков поставить лайк. Лайк! Карл! Лайки - это всё, на что ты можешь расчитывать.

Я когда в S.T.A.L.K.E.R. играл по сети, как-то зашёл в очередной раз в очередную игру на каком-то сервере. Карта была, не помню, как называется (уже забыл название за несколько лет), короче там маленькая карта и в центре стоит здание большое, в нём два этажа, и по улице возле здания можно тоже пройти и всё. Они с той стороны здания появляются в точке респауна, мы с этой стороны здания появляемся в точке респауна. Там играли пацанчики в клане. У них клан (они ставят себе метку клана все возле ника). А нас было трое, два новичка, которые не знают, куда ползти куда идти, и я такой, более-менее опытный. Значит, я пошёл на их сторону здания, вылез в окно и на козырёк крыльца спрыгнул и присел, чтобы меня не было видно. Сижу, значит. На карте появляется артефакт в виде белого шара дымящегося. Их пацанчик клановский идёт за артефактом, берёт его где-то в здании и несёт через здание к ним на базу. Мои новички ничего с ним не делают, он завалил одного, а второго там не было даже. Ну, новички есть новички, они не умеют играть. И вот он такой радостный и заваливший нашего на всём этом вдохновении как раз под мой козырёк идёт, я эту тему давно просёк, не первый раз на этой карте играю. А я его жду просто. Вот он выходит на крыльцо, я встаю на козырьке над ним и просто валю его сразу. Он даже не успел повернуться, понять, что происходит, кто, откуда, как, прямо вот возле их базы его завалили, ему оставалось там два шага пройти и ему бы там очки за артефакт начислили, он бы смог покупать винтовки продвинутые. А тут хер. Я спрыгиваю с козырька и подхватываю артефакт и спокойно понёс его обратно через здание уже к нам на базу. Ну, артефакт я принёс, всё окей. Этот кадр что делает, он запускает голосование против меня, типа я считерил, возник из ниоткуда, чуть ли не из стены вылез и прочие вещи, и бедненького его с одной пули убил ещё. Понимаешь? Ну чмошник просто какой-то, обосрался и признать не может. Причём обосрался именно на весь клан свой, потому что у него метка клана стоит и он чуть ли не лидер команды там, самый знающий и умеющий. Эти все с его клана верят ему, голосуют против меня и меня кикает сервер, то есть я выпадаю. Меня это так разозлило тогда. А что сделаешь? Короче, я сел и стал писать скрипт, открыл этот сервер их, просмотрел трафик, нашёл, что эта вся фигня на UDP-пакетах держится. А UDP-пакеты эти - это такая хрень, которая не контролируется, сколько придёт - столько и примет сервер. Вот я и подумал “да я утоплю просто их сервер и всё”. Короче, написал скрипт на питоне и отправил им в сервер в их примерно миллион пакетов. Клиент, чтобы войти в игру, посылает UDP-пакет, потом ещё, потом ещё. Ну, вот к ним на сервер как будто миллион клиентов попросилось за пять минут или десять. Короче, потопил их, потопил. Через минут пять захожу к ним снова, кик это не бан, поэтому можно перезаходить. Спрашиваю их “ну чо? как дела? тормозит всё?”. Ты бы видел их морды Не знаю, сработало ли, но они поотключались просто все и мы там остались втроём на карте.

Вот это сила. А где ты такой скрипт скачаешь? Вот где?
Olezhka
py.user.next
Короче, написал скрипт на питоне и отправил им в сервер в их примерно миллион пакетов
Прикольно! Отомстил!
А я тоже написал программу для сайта “Sprashivai.ru”. Она у меня авторизуется сама под моим логином и паролем. Берет рандомно предложения из текста и пишет пользователям из моего списка вопросы. Или один и тот же вопрос пишет, который я сам укажу. Бесконечным циклом пишет. Могу интервал времени между запросами выставлять. Сперва ниже 100 мсек боялся опускать. Потом опустил аж до 10 мсек! Сервер не кикает! Прикинь! Вообще сервак никак не защищен от спам-скриптов! Так что я могу теперь любому моему обидчику за пару минут засрать его “личку” парой тысяч вопросов! Там, конечно, на сайте предусмотрена кнопка “Удалить все вопросы”. Он может, не подчищая все эти мои 2000 вопросов спамерских, удалить их за секунду одним кликом… НО! Он удалит тем самым и зарытые под ними нормальные вопросы от кого-то! А он это вряд ли захочет. Поэтому будет 2000 моих вопросов чистить вручную до опупения!
P.S. А по факту ведь все это, что мы с тобой делали… это же почти DDos-атаки?
py.user.next
Olezhka
А я тоже написал программу для сайта “Sprashivai.ru”. Она у меня авторизуется сама под моим логином и паролем. Берет рандомно предложения из текста и пишет пользователям из моего списка вопросы.
Вот смотри, ты написал её, а потом надо написать программу поверх неё. Ты её делаешь рукой такой одной. То есть ты как бы делаешь программу-человека и пользуешься ей, а потом раз и делаешь через какое-то время эту программу-человека программой-рукой. И дальше из этих новых рук и ног собираешь нового человека, который крупнее одной руки или одной ноги. А потом что? А потом ты пользуешься этим большим человеком и через какое-то время делаешь его опять рукой. И так ты делаешь нового человека из уже этих более крупных рук и ног.

Программы, которые управляют программами, которые управляют программами, которые управляют программами.

В этом и смысл разработки. Ты постепенно строишь что-то большое, что работает как часы на каждом из своих уровней. Но ты не можешь написать это всё сразу, потому что сначала надо эти мелочи сделать все и отладить.

Olezhka
P.S. А по факту ведь все это, что мы с тобой делали… это же почти DDos-атаки?
Это не DDoS-атаки. Это DoS-атаки. Если источник DoS-атаки разделяется на множество ячеек, где каждая ячейка вносит свой небольшой вклад в деструктивный процесс, тогда эта DoS-атака становится распределённой (distributed) DoS-атакой, распределённой по нескольким источникам. Например, если бы мне одному не хватило мощности вывести из строя сервер (а мне не хватило; я хотел его навернуть вообще, чтобы грохнуть им игру вообще и перезапустить его, но он продолжал работать), то размножение себя в количестве десяти одинаковых атакующих, которые делают всё то же самое, могло бы уже вывести сервер из строя. Туда бы нельзя было заходить, потому что серверная часть этой игры не смогла бы обрабатывать новых клиентов, так как была бы занята обработкой этих многочисленных запросов на вход в игру. Если клановцы стали бы вылетать или выходить сами из-за непонятных тормозов и перезаходить, чтобы при новом заходе всё быстрее работало, то они не смогли бы заходить больше, сервер бы их запросы на вход ставил в такую длинную очередь, что они бы ждали захода в игру вечно, крутилось бы колёсико на экране типа “подождите ещё немного, ща, ща, всё будет” и так до бесконечности. В этом смысл DDoS-атаки, ты из нескольких маленьких источников в сумме можешь построить единый мощный наплыв всякой хрени. А уж с помощью кого она делается, ботов там на заражённых компьютерах и айпи-камерах или сознательных участников, которые специально себе ставят генерирующий софт какой-то, это всё частности.
Olezhka
py.user.next
Ты постепенно строишь что-то большое, что работает как часы на каждом из своих уровней.
Ты мне предлагаешь написать свой собственный модуль “requests”?
Слушай… Вот так тебя послушаешь… и приходишь к выводу… Все надо писать на АСМе! И тогда ВААААААЩЕ ни от чего и ни от кого зависеть не будешь! Ну их нафиг эти языки высокого уровня, являющиеся надстройками над могучим двоичным кодом!
P.S. Я про DOS-овцев такое читал… Что когда появилась самая первая версия Винды, ДОС-овцы приняли ее в штыки и пытались про нее писать статьи, что “Виндоуз - это ВРЕДНАЯ неоптимизированная НАДСТРОЙКА над ДОС! Не пользуйтесь Виндоуз! Не кормите этого охламона Билла!”

py.user.next
В этом смысл DDoS-атаки
Слушай… А за такие хулиганства могут в тюрьму посадить? Или оштрафовать прилично? Особенно, если ты там какой-то фирме убытки принесешь на круглую сумму… Хотя, я где-то слышал или читал, что таких самородков, которые на древних компах еще с ЭЛТ-моником взламывают банковские системы охраны и воруют у банков все деньги в электронном виде… их не сажают… Их на работу в банк берут, чтобы теперь на банк работали, латали “дыры” в системе безопасности!
py.user.next
Olezhka
их не сажают… Их на работу в банк берут
Не, их сначала сажают, а потом они выходят и открывают своё дело. Но для этого, конечно, надо жить в несовковой стране. Тут как бы ещё не дошли до того, что бизнес - это создание чего-то, производство там и прочее.

Olezhka
P.S. Я про DOS-овцев такое читал… Что когда появилась самая первая версия Винды, ДОС-овцы приняли ее в штыки и пытались про нее писать статьи, что “Виндоуз - это ВРЕДНАЯ неоптимизированная НАДСТРОЙКА над ДОС!
Ну, она долго на DOS'е базировалась. Для маков в те времена надо было целый комп покупать, а она была таким вариантом графической оконной системы, но для любых компов. Из-за этого-то она и взлетела тогда.

Olezhka
Ты мне предлагаешь написать свой собственный модуль “requests”?
Программа, которая использует модуль requests сначала используется сама по себе, а потом она уже становится в роли модуля requests, только более развитого и дополненного, и на ней строится другая программа, как на модуле. Потом с этой новой программой повторяется всё то же самое. Программа, которая использует программу, которая использует модуль requests, сначала используется сама по себе, а потом она уже становится в роли программы, которая использует модуль requests, только более развитой и дополненной, и на ней строится другая программа. Потом с этой новой программой повторяется всё то же самое.

Другими словами, на примере. Если ты написал флудер для сайта, то ты его сначала запускаешь вручную и указываешь ему всё, какого пользователя зафлудить и чем его зафлудить. Когда ты понял, что твоя программа работает, ты её делаешь компонентом в другой программе. А другая программа, например, заходит сначала на этот сайт и ищет пользователей на нём, потом она заходит на другой сайт и ищет сообщения на нём, а потом она запускает твою первую программу, чтобы этих пользователей, добытых на сайте на предыдущем этапе, зафлудить этими сообщениями, добытыми на втором сайте на предыдущем этапе. То есть ты уже сам свою флудилку не запускаешь. Ты запускаешь этого паука, а он уже запустит флудилку, когда у него будут в наличии пользователи и сообщения для них. Дальше ты этого паука так юзаешь какое-то время, он работает, ты убеждаешься в этом. А потом ты уже этого паука делаешь компонентом для другой программы, которая управляет подобными пауками для разных сайтов.

Вот так надо думать, когда программируешь. А ты пока что на уровне “я флудилку написал и это мой конечный результат, я спокоен, она работает, всё типа сделано”.
Olezhka
py.user.next
Например, если бы мне одному не хватило мощности вывести из строя сервер (а мне не хватило; я хотел его навернуть вообще, чтобы грохнуть им игру вообще и перезапустить его, но он продолжал работать), то размножение себя в количестве десяти одинаковых атакующих, которые делают всё то же самое, могло бы уже вывести сервер из строя
А неужели до сих пор есть сервера, уж в нынешнее-то время, никак не защищенные от DDos-атак?.. Ведь можно же сделать какой-нибудь простейший фильтр на входе в сервер… К примеру, если с одного и того же IP вдруг пришло за секунду более одного обращения на авторизацию, то тут же добавлять минимум на час данный IP в ЧС. А ЧС будет, допустим, в виде массива данных… Где-то читал, что есть какие-то особые массивы, где IP хранятся в проиндексированном виде (по индексам). И есть какая-то функция, которая мгновенно может выдать ответ, что какой-либо IP гарантированно в ЧС не входит… И что этот массив может быть огромным, однако скорость проверки НЕ вхождения в этот массив там моментально происходит. Забыл только название этого особого массива.
А еще, если динамически хакер будет IP менять… Тогда остается проверка по MAC-адресу сетевухи?.. А еще, может быть, глупость скажу… А если через прокси и VPN свой IP прятать?.. Или все равно на той стороне могут легко раскопать исходный Айпи-адрес?
Еще читал на Википедии, что сейчас стали вводить на некоторых серверах такую систему защиты, которая борется с DDos-атаками методом обратной DDos-атаки. То есть вычисляет атакующего и пытается в ответ грохнуть атакующий сервер… Прям как звездные войны какие-то! Только цифровые!
py.user.next
Olezhka
К примеру, если с одного и того же IP вдруг пришло за секунду более одного обращения на авторизацию, то тут же добавлять минимум на час данный IP в ЧС. А ЧС будет, допустим, в виде массива данных
Не, это не работает. Ты придёшь вот так, а тебя не пускают. Почему? Потому что ты когда подключился к Интернету, тебе провайдер IP-адрес выдал динамически. А до этого этот адрес был у другого абонента, которого блокировали. Так можно очень быстро переблокировать весь пул IP-адресов какого-нибудь провайдера.

Olezhka
Забыл только название этого особого массива.
Для скорости поиска обычно хеш-таблицу используют.

Olezhka
А еще, если динамически хакер будет IP менять
Да он не будет ничего менять, он просто переподключится и у него адрес поменяется, потому что провайдер держит пул IP-адресов и выдаёт свободный на данный момент. Ты десять раз переподключишься к Интернету - у тебя десять разных IP-адресов будет.

Olezhka
Тогда остается проверка по MAC-адресу сетевухи?
MAC-адрес доступен только провайдеру, который IP-адрес выдаёт. Сервер не может его проверить, потому что там его нет в пакетах. Там если и будет MAC-адрес где-то, то это будет MAC-адрес из ближайших к серверу устройств.

Olezhka
А если через прокси и VPN свой IP прятать?.. Или все равно на той стороне могут легко раскопать исходный Айпи-адрес?
Не, не распакуют. Но на каналах между тобой и прокси могут сидеть и видеть все твои соединения с ними. Твой IP-адрес у провайдера привязан к лицевому счёту абонента этого провайдера. А лицевой счёт абонента привязан к физическому лицу.

Olezhka
сейчас стали вводить на некоторых серверах такую систему защиты, которая борется с DDos-атаками методом обратной DDos-атаки. То есть вычисляет атакующего и пытается в ответ грохнуть атакующий сервер
Не видел такой. Знаешь, сейчас всё сильно развилось. Я даже за ними не слежу уже давным-давно. Раньше многих инструментов не было, сейчас их много появилось. И вот я тебе скажу так: компьютерная безопасность - это очень скучная хрень, у неё низкий потолок, ты не можешь расти в ней беконечно. Дорастаешь до какого-то предела и остаёшься вот таким тупарём. Смысл в ней тоже нулевой практически что с той, что с этой стороны. Там ты взломщик, максимальное достижение которого - какие-то чужие трусы, которые ты можешь продавать только фетишистам, которым это надо. Тут ты просто винтик в системе, которой на тебя всё равно, а требует она с тебя кучу твоего личного времени на кучу рутинных действий. Устаревает эта сфера очень быстро и нужно постоянно заново учиться, как будто ты обнулился, а всё старое просто не работает вообще. Они пытаются найти свою нишу в пользе обществу. Выпускают какие-то инструкции для пользователей, какие-то оберегающие методики сидят выдумывают. Но это всё не работает. Пользователи не учатся ничему и не будут учиться никогда, потому что учиться тяжело, неинтересно, нужно тратить время и немало ещё. Я вот захожу в банк и просто вижу один пин-код, второй пин-код, третий пин-код. Вообще-то, каждый банк говорит клиенту “держите пин-код в секрете! а то если кто-то узнает его, у вас всё украдут!” и что в итоге? Никто это не соблюдает, потому что это неудобно. То есть вот таких юзеров о-о-очень сложно защищать. А тебе говорит структура “а ты выпусти для них памятку”, а ты думаешь “а зачем я это буду делать? они всё равно её соблюдать не будут”. Так что это просто пустая трата времени. То есть ты и социально никакой функции не выполняешь. Если же ты взломщик, то это ещё скучнее всё. Когда ты сидишь и читаешь несколько тонн материалов про хомячков, какие там у них были бородавки и чем их можно лечить, потому что там какие-то пароли могут быть в этом массиве, адреса, секретки, ты просто думаешь “а нахера я этим занимаюсь? зачем мне читать письмена чужой жизни часами и днями? у меня, вообще-то, и своя жизнь есть, надо на себя время тратить, а я сижу ерундой какой-то занимаюсь и ещё осталось читать этих данных хер знает сколько”. Вот сейчас выкладывают какие-то утечки, взлом какой-то был, вот он результат взлома, а мне так лень их читать. И мне так жалко того, кто это добывал, сидел там он часами там что-то выколупывал, я так его и представляю.

Поэтому я тебе так скажу: мы тут не просто так не занимаемся всем этим. Просто вот реально не хочется даже время на это тратить. Есть дела поинтереснее. А это всё проходит со школьным могуществом. Это когда максимализм прёт, ты там что-то можешь, ты такой герой, ты такой крутой, тебе море по колено. Но с возрастом тебе это всё нафиг не нужно, потому что постепенно понимаешь, что жизнь-то одна, а второй запасной нет и её ниоткуда не достанешь. Если проживёшь, как дурак, то оно так и останется у тебя в истории.

Вот один грабил банки, потом жил в психушке.
https://www.youtube.com/watch?v=zGFg7LH92uo
Вот второй что-то мутил, потом жил с неграми.
https://www.youtube.com/watch?v=-U-UuWS7ln8

Куда подевались их годы? К чему они в итоге пришли в конце? Так вот то, к чему они пришли, лучше бы было в начале у них, лучше бы они с этого и начинали как раз.
Olezhka
py.user.next
Так вот то, к чему они пришли, лучше бы было в начале у них, лучше бы они с этого и начинали как раз.
С чего? С негров и психушки?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB