Chat:Ru/2020-08-12

From CG community
Jump to navigation Jump to search

mabu: Не поможет.

gsomix: vrabosh, посмотри еще bat для подсветки, он с less интегрируется.

https://github.com/sharkdp/bat

tutubalin: кто как Code of the Ring делал?

tutubalin: хардкодили или нет?

amurushkin: я скопировал с гитхаба чужое

Uljahn: тупо в лоб делал, но давно, предлагаешь зарубиться?

amurushkin: ради ачивки. мне чет это задание вообще не нравится

Uljahn: я сортировал расстояния до ближайших букв с учётом переключения и передвижения

Uljahn: ого, даже на деках сделал

Uljahn: 60 строчек говнокода :/

Uljahn: в экспертные правила даже не смотрел

Default avatar.png gtj: ты можешь даже wgetpaste сделать

Default avatar.png gtj: покруче леса

Default avatar.png gtj: command | wgetpaste

Default avatar.png gtj: хз толку от этого майнкрафта

Default avatar.png gtj: это уже кому что нравится)

Default avatar.png gtj: мне 3 раза вдалбливали бфс и изза стресса я его забыл)

Default avatar.png gtj: не знаю как сделать я знаю только как емаксом пользоваться

BorisZ: я делал 4 года назад, и на руби, сейчас не разобраться без бутылки, без хардкода и без экспертных правил

BorisZ: дерево какое-то, расстояния какие-то, хз что к чему (

BorisZ: 100 строчек кода

tutubalin: я нашёл на гитхабе валидаторы

tutubalin: и вот пока думаю: попробовать всё-таки алгоритмически решить или ручками сделать

BorisZ: самому оно почетнее, но опасно - затянет еще )

Uljahn: вон mykeich как затянулся в CG reverse contest, аж в топ вышел

gsomix: Optimization отличается от Bot programming тем, что есть рейтинг, но нет соперников в игре?

Uljahn: да, optimization - это по сути соло-контест с лидербордом по счёту, а bot programming - мультиплеер

Uljahn: т.е. в bot programming твой результат зависит от уровня других игроков, а в оптимизациях - нет

Uljahn: в bot programming твой ранг на арене определяется по формуле TrueSkill путём подбора игроков для матчей по хитрой формуле с учётом их относительной силы

gsomix: Спасибо.

mykeich: Дальше предлагают достичь 2% в code golf мне. Осталось найти пазлы

Uljahn: странная ачивка, проще получить раньше, а новым участникам придётся придумывать всё более навороченные решения

amurushkin: они в разделе code golf

gsomix: Code Golf мне кажется странным соревнованием. :)

amurushkin: впринципе доступная ачивка. по крайней мере пока еще

amurushkin: gsomix: это своеобразная штука конечно. на знание всяких трюков. теоретически нужно лучше знать язык и его возможности чтобы успешно гольфить

amurushkin: плюс мышление наверное чуть другое

Uljahn: главное, чтобы в привычку не вошло - плохая практика

Uljahn: с другой стороны, помогает разбираться в чужом не очень чистом коде

Uljahn: или в своём древнем :smiley:

amurushkin: ага это пока пишешь еще может что то понимаешь. а потом смотришь на это все и уже не помнишь что за задача была ))

gsomix: Попробовал для фана.

gsomix: У меня строка с чтением инпута содержит больше символов, чем топовое решение на перле.

amurushkin: топ наверное не достижим. там вроде юзали сетевые обращения.а сейчас они закрыты

BorisZ: любое соревнование с заранее известными правилами имеет право на существование

BorisZ: главное чтобы людям нравилось

inoryy: я как-то собрался в CSB че-нить попилить - убил пару вечеров, понял что говнокод что псц и проще с нуля писать

BorisZ: новых мульти вон сколько появилось, лучше уж их начинать

BorisZ: чем старый проект переписывать

BorisZ: мне когда приходится переписывать - все время ловлю себя на том что второй раз на те же грабли наступаю что и в первый

BorisZ: ну не на все конечно, но все равно обидно )

tutubalin: codegolf затягивает

tutubalin: к сожалению, на CG с ним не очень хорошо дела

tutubalin: во-первых, мало задачек

tutubalin: во-вторых, нет борьбы с читами

wlesavo: да, разве что клеши кодгольфить, но там времени мало для перфекционизма

tutubalin: написать решение, которое работает только для определённых тестов и только с определённой вероятностью - это уже не совсем гольф

tutubalin: но польза от гольфа есть. 1. изучаешь такие возможности языка, о которых мало кто знает 2. понимаешь, насколько на самом деле важны читабельность и длинные мнемонические идентификаторы

tutubalin: 3. это тоже своего рода оптимизация. просто не быстродействия, а объёма. затягивает сам процесс, когда смотришь-смотришь на код, который дальше сделать короче просто невозможно. а потом - бац! - и находишь как убрать 2 символа. такой кайф

tutubalin: кстати, что в 2% войти, не обязательно сильно крутое решение. можно просто на нескольких языках сделать хорошие.

tutubalin: оппа. тора поменяли. теперь наше коллективное решение вниз улетело

Uljahn: угу, теперь на север ходит

Uljahn: я недавно в чате упоминал, но смыло быстро)

amurushkin: там 2 теста не проходит. я побыстрому не смог адаптировать под новые чтобы на 100% было

tutubalin: ну вот как раз потому что там прям очень много оптимизаций именно под тесты было

wlesavo: а, так они и ресабмитнули сразу

Default avatar.png gtj: вопрос

Default avatar.png gtj: получается если я прохожу по массиву н на н и мне нужно выдавить определенные поляиз этого массива мне придется проверять поля неймана(4 соседа), тоже самое почти 1 в 1 я проделаю и в бфс получается так?

Default avatar.png gtj: по соседям всмысле

Default avatar.png gtj: тоесть двойная проверка уже

Default avatar.png gtj: чтобы ребра установить соседней определяешь чтобы двигатьсЯ все равно получается опять еще раз эта проверка

BorisZ: массив как карта лабиринта - неудобен для алгоритмов на графах, не то чтобы невозможно сделать, просто смысла нет

Default avatar.png gtj: борь это дело 10

Default avatar.png gtj: мне понять надо остальное в топку

BorisZ: граф представляют в виде списка или массива из нод. Проходимая ячейка карты - это нода, препятствия\стены не фигурируют

Default avatar.png gtj: у меня есть рабочий пример

Default avatar.png gtj: на мапе

BorisZ: каждая нода - это список или массив соседей, с которыми есть связь, можно перейти то есть

Default avatar.png gtj: теперь я хочу выдавить точки просто и всё

Default avatar.png gtj: как в примере

Default avatar.png gtj: тоесть не так

Default avatar.png gtj: есть дофига мелких рабочих примеров которые я понимаю

BorisZ: и потом все алгоритмы обращаются к графу за списком соседей для конкретной ноды

Default avatar.png gtj: есть дофига обьяснений которые я тожде понимаю теперь я просто корпею над тем как понять и как сделать 1 рабочую итерацию типо того

Default avatar.png gtj: Борь списками графы не кончаются

Default avatar.png gtj: но есть такое да

Default avatar.png gtj: самое простое сделать граф 0 и единиц

Default avatar.png gtj: матрицу и пройтись в нем бфс

Default avatar.png gtj: у меня проходит но там мудреное решение

BorisZ: матрица - тоже неудобно, во первых слишком большая, если карта MxN, то матрица будет квадрат стороной M*N, всего (M*N)^2 ячеек

BorisZ: 99% которых будут нулями, так как соседей максимум 4 в случае простого лабиринта

Default avatar.png gtj: вот чтото делает

Default avatar.png gtj: http://chat.codingame.com/pastebin/1d44901e-b52b-4a0a-9c35-10058d2d0a0a

Uljahn: простейший пример представления графа - многосвязный список, в каждом элементе - ссылки на элементы-соседи, в случае четырёх соседей будет четыре ссылки максимум (для угловых элементов две, для тупиков одна), один раз пройтись по карте и заполнить список соседями, потом можно пользоваться

amurushkin: gtj: в бфс когда проходишь по карте лабиринта то да, проверяешь всех соседей куда можно пойти а куда нет

Default avatar.png gtj: спс

Default avatar.png gtj: получается 2йная проверка

amurushkin: ну смотря что ты подразумеваешь под "мне нужно выдавить определенные поляиз этого массива"

amurushkin: я с лабиринтами обычно не парюсь и когда делаю обход то делаю просто 4 ифа. типа if cango(x+1,y), if cango(x-1,y) и т.д

Default avatar.png gtj: линки по карте хочу сделать в отдельную сущность

Default avatar.png gtj: тоесть будет граф где только ребра проходимые

Default avatar.png gtj: это по сути выдавливание

Default avatar.png gtj: обход это вначале или обход бфскогда?

amurushkin: ну тогда можно список списков например сделать

Default avatar.png gtj: adj list

Default avatar.png gtj: такая это мутотень я сделал через пару пар и понял что по сути это тоже самое

Default avatar.png gtj: но доделать так надо хтябы раз

Default avatar.png gtj: хз как оно проверяет

Default avatar.png gtj: в парах

Default avatar.png gtj: както работает доходит до 0 и телепортируется

Default avatar.png gtj: и так телепортируется пока не придет к моему финишу

Default avatar.png gtj: http://chat.codingame.com/pastebin/b121eeab-d31e-4d59-94c0-0ac7cc3060e6

amurushkin: где то баг значит

Default avatar.png gtj: просто понимаю пока что тут происходит более менее

Default avatar.png gtj: смотрел пример олимпиадника

Default avatar.png gtj: но не понимаю как его трансформировать в опр задачу

Default avatar.png gtj: вот видосы смотрю но везде свои задачи

Default avatar.png gtj: ну и у него без мапы было просто двойным массиов мапу я на хабре читал

Default avatar.png gtj: https://habr.com/ru/post/469967/

Default avatar.png gtj: Ассоциативный массив смежности

Default avatar.png gtj: хз что это такое я так понял как у меня написано

Default avatar.png gtj: вернее как понял так и написал

Uljahn: на мой взгляд, не самый удачный пазл, чтобы изучать применение графов: тут туман войны, дополнительные условия на посещение особых мест, ограничения по ходам, т.е. легче бфс по карте сразу делать, без промежуточных абстракций

Default avatar.png gtj: так я понимаю что я зависим от частоты

Default avatar.png gtj: я пока пытаюсь приблизится к решению в более простых условиях чтобы далее фиксить условия

Default avatar.png gtj: я иду с другого конца по решению этой задачи

Uljahn: тут уровень hard, в тэгах BFS и Pathfinding, лучше что попроще выбрать из https://www.codingame.com/learn/graphs

Default avatar.png gtj: мапа быстрее работает чисто теоретически я смогу фиксить каждый кадр бфсом тут сначало азы понять надо

Default avatar.png gtj: ты кинул меня в граф теорию ок

Default avatar.png gtj: я оттуда и начинал

Uljahn: азы для карт - это волновой алгоритм - floodfill, с него всё начинается

Default avatar.png gtj: мне совесть не позволит я вложился ментально в бфс я обязан его понять

Default avatar.png gtj: а ты на задачки кинул

Default avatar.png gtj: спс

Uljahn: https://habr.com/ru/post/264189/

Default avatar.png gtj: да я видел волновой вчера счмотрел

Uljahn: floodfill - это и есть bfs, с нюансами

Default avatar.png gtj: нет там по разному работает

Default avatar.png gtj: бфс не так работает как зполнение водой

Default avatar.png gtj: бфс типо как рад в ширь

Default avatar.png gtj: радар

Default avatar.png gtj: как я понял

Default avatar.png gtj: след прыжок будет в след или следслед столбце и строке

Default avatar.png gtj: вот у меня так прыгает

Default avatar.png gtj: находит кароче финишь но я не пойму некоторые нюансы как посмотреть его путь

Uljahn: в статье картинки суперпонятные

Default avatar.png gtj: потом тут недавно смотрел отрисовку бфс понял что я лурацкий вопрос задал?

Default avatar.png gtj: отсюда у меня вопрос в бфс чей путь я буду смотреть

Default avatar.png gtj: бфса или мой путь который надо

mykeich: что бы понять надо сделать код, где код? самый простой для обхода графа или карты?

Default avatar.png gtj: http://chat.codingame.com/pastebin/95429c06-aa37-4955-b367-27097b773700

Default avatar.png gtj: я хочу понять как вывести хоть чтото дебажещее

Default avatar.png gtj: типо его путь

mykeich: с++ с его очередями не читабельный совсем:) после запуска bfs что на выходе у тебя?

Default avatar.png gtj: на мапу не обращай внимания мапа обертка для людей просто оснавная инфа в 3 поле

Default avatar.png gtj: 3 поле это 0 или 1

Default avatar.png gtj: посути как массив интов просто есть еще авто координаты

Default avatar.png gtj: http://chat.codingame.com/pastebin/c949b901-425d-401c-b480-bfbd8bccb23a

mykeich: Если тебе для поиска кратчайшего пути, то когда добавляешь узел в список посещенных ты запоминаешь для него соседний узел с которого на него попал.

mykeich: Не знаю как проще объяснить.

Default avatar.png gtj: ок

Default avatar.png gtj: да я смотрю и твой код и код оллимпиадника

Default avatar.png gtj: пока вот так получилось

Default avatar.png gtj: с нейборами пока я не вкурик

mykeich: Твой код дотошно не изучал, но почему visited не заполняется?

Default avatar.png gtj: это типо подход был я его хотел поменять на д

Default avatar.png gtj: пока это д делает

Default avatar.png gtj: а взитед типо ему на смену шел но я потом быстро потерял понимание как его туда прикрутить

Default avatar.png gtj: а как вы ходы своих юнитов выводите куда они идут?

Default avatar.png gtj: как это вывести во время исполнения цикла или алгоритма

Default avatar.png gtj: или надо очередь выводить?

tomatoes: после исполнения выводил

mykeich: после работы алгоритма у тебя таблица visited в которой для каждой точки карты есть информация с какой соседней точки на не пришел. Дальше тебе нужен алгоритм который построит пройдет путьпо этой карте .

Default avatar.png gtj: смори

Default avatar.png gtj: тот алгоритм немного другой у меня тупо выводит 1

Default avatar.png gtj: path 1

Default avatar.png gtj: это после возврата чо это значит?

Default avatar.png gtj: там вектор и сую все равно ту карту свою

Default avatar.png gtj: https://e-maxx.ru/algo/bfs#4

Default avatar.png gtj: вот по этому гайду делал

Default avatar.png gtj: http://chat.codingame.com/pastebin/c748564d-74fc-4040-a5ab-2b68f67a1265

Default avatar.png gtj: а во теперь 2 выводит

Default avatar.png gtj: поменял местами 0 и 1

Default avatar.png gtj: кароче я понял определил себя я настоко туп что не могу понять делает он эту часть или нет

Default avatar.png gtj: нет с координатами я если врубаю наработку он делает но телепортируется

Default avatar.png gtj: телепортируется там встречает преграду телепортируется в финишь

Default avatar.png gtj: а эти где 0 1 хрен отладишь

Default avatar.png gtj: сюда еще смотрел

Default avatar.png gtj: https://cpp.mazurok.com/e-olymp-4852/

mykeich: разобрался?

tutubalin: начни отсюда: https://www.codingame.com/playgrounds/5470/graph-theory-basics/basics

tutubalin: потом можно вот эту порешать: https://www.codingame.com/training/medium/skynet-revolution-episode-1

Default avatar.png gtj: нет я не буду сейчас переключаться

Default avatar.png gtj: буду решать пока не пойму

Default avatar.png gtj: надо будет сделаю кадры

Default avatar.png gtj: тут все не так сложно пока как эта байда

Default avatar.png gtj: пока нет, буду пробовать щас както передавать состояния в или д или визитед я так понял должен получится в визитед отпечаток лабиринта

Default avatar.png gtj: а потом уже искать кратчайший

Default avatar.png gtj: но по примерам понял что ктото это делает в бфс

Default avatar.png gtj: плюс по координатам бфса своего карактера я вижу что он может обходить лабиринт и возвращаться обратно если препятствие

Default avatar.png gtj: вот координаты и лабиринт

Default avatar.png gtj: http://chat.codingame.com/pastebin/fab4865b-7aff-4371-94c9-0b8146919589

Default avatar.png gtj: лабиринт 1 это можно ходить 0 преграда

Default avatar.png gtj: а цифры снизу это координаты персонажа

Default avatar.png gtj: 1 14 3 15

Default avatar.png gtj: 3 25 4 28 7 26

amurushkin: чистый бфс назад не возвращается

Default avatar.png gtj: рекурентный видимо ему видимо когда он встретил преграду надо подсунуть не то что обычно подсовывают или состояние переключить

Default avatar.png gtj: но по сути все будет в том 1 цикле стандартом работать

amurushkin: бфс чаще всего работает на приоритетной очереди

tutubalin: amurushkin не совсем. приоритетная очередь нужна дейкстре

tutubalin: бфс используется для невзвешенных графов, длина пути определяется просто количеством дуг, которые надо пройти

tutubalin: на первом шаге посещаешь все вершины, до которых расстояние 1. на втором шаге - все вершины, до которых расстояние 2 и так далее

tutubalin: иногда можно не заморачиваться с шагами и просто пихать всё в одну очередь

tutubalin: в любом случае она сама собой будет получаться упорядоченной - вершины, до которых ближе, будут в начале, а до которых дальше - в конце

BorisZ: tutubalin +

mykeich: обычная очередь, первый вошел первый вышел

BorisZ: бфс можно использовать не только для поиска расстояния или компонент связности, но и для каких-то переборов, когда ближайшие ячейки надо раньше дальних рассматривать

BorisZ: по мне тут на КГ для 90% задач кроме бфс и не нужно ничего

BorisZ: никаких других алгоритмов на графах

tutubalin: если надо просто найти есть ли путь из точки A в точку B, то можно использовать очередь

tutubalin: если нужно ещё и найти расстояние, то тут я обычно вместо очереди использую два списка

tutubalin: список вершин, которые достигли на шаге N (по нему и итерируем)

tutubalin: список вершин, которые достигнем на шаге N+1 (в него добавляем новые непосещённые ранее вершины)

tutubalin: после цикла: список_1 = список_2 список_2 = [ ]

tutubalin: плюс в том, что проще отслеживать расстояние

BorisZ: расстояние обычно зарание расчитано

Default avatar.png gtj: логично но я вот о чем

Default avatar.png gtj: щас попытаюсь на том языке как ты выше описал описать свою идею

Default avatar.png gtj: есть позиция я ее пихаю в очередь потом тут же извлекаю

Default avatar.png gtj: проверяю соседние вершины я так понял именно видимо вершины

Default avatar.png gtj: метю и доступные вершины пихаю в очередь если не преграда

Default avatar.png gtj: это так работает дефолтовый бфс

BorisZ: да, помещаешь в очередь всех непосещенных соседей

Default avatar.png gtj: на выходе мы получаем не путь а снимок путей как я понял по правде если по крайней я так понял почемуто

Default avatar.png gtj: тоесть снимок путей это выдавленый лабиринт

Default avatar.png gtj: но у меня к примеру дефолтовый толи я не то вывожу толи хз

BorisZ: смотря что ты хочешь получить на выходе, если путь из всех вершин в начальную, то надо отдельных массив путей

Default avatar.png gtj: а еще я заметил

Default avatar.png gtj: если ноду не менять

Default avatar.png gtj: то бфс может 1 карентом пройтись по всему лабиринту и записать свой путь

BorisZ: не путей а шагов из текущей вершины в начальную, потом надо из этих шагов восстановить путь и перевернуть если надо

Default avatar.png gtj: да это по дефолту если

Default avatar.png gtj: щас попробую вывести то что я в вектораъх выводил если выведет весь путь покажу наглядно

BorisZ: то в какой последовательности сам бфс обходит ячейки - в общем не важно

Default avatar.png gtj: но на это можно повлиять

Default avatar.png gtj: и тогда он 1 указателем запишет последовательно весь путь в 1 сущность

tutubalin: https://pastebin.com/aewqFpCg

Default avatar.png gtj: и там можно будет по меткам старта и финиша найти еще раз уже путь

Default avatar.png gtj: секунду щас еще пока я в неправильной позици отддебажу идея появилась у меня же теперь кооржинаты есть

Default avatar.png gtj: ну кароче как ты написал просто у меня тут приведение пары в инт

Default avatar.png gtj: хрен отследишь координаты потомучто вершины тоже в инте

Default avatar.png gtj: еслибы вершины хранить с координатами было бы тру можно было бы весь путь алгоритма отслеживать

Default avatar.png gtj: я имею ввиду про это

Default avatar.png gtj: v = q.front();

Default avatar.png gtj: тоесть если знать что такое в и его координаты то можно видеть весь проход алгоритма любого бфс

Default avatar.png gtj: а пока я вижу только такое

Default avatar.png gtj: http://chat.codingame.com/pastebin/0eb338e4-3b04-4ea8-8388-96535d836451

tutubalin: переименуй d, p и прочее во что-то читаемое

tutubalin: вот бфс с очередью: https://pastebin.com/vDJ3JR7c

Default avatar.png gtj: да я согласен пока не знаю во что их переименовывать

Default avatar.png gtj: пока так впиталось

Default avatar.png gtj: д это расстояние или путь

Default avatar.png gtj: п хз что это даже

Default avatar.png gtj: согласен с пейстбином

tutubalin: расстояние - это distance

tutubalin: путь - это path

Default avatar.png gtj: так я распаковал тебе проход карента

Default avatar.png gtj: он телепортится

Default avatar.png gtj: 1 1 1 2 1 3 1 4 1 5 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 3 15 3 16 3 17 3 18 3 19 3 20 3 21 3 22 3 23 3 24 3 25 4 28 7 26

Default avatar.png gtj: x y

Default avatar.png gtj: еще я заметил 1 это баг

tutubalin: я не понимаю что такое v, что такое i

Default avatar.png gtj: я передаю ему старт он идет по верхнему как будто идет от старта

tutubalin: потому что у тебя не бфс, а дфс получился, видимо

Default avatar.png gtj: хотя стой

Default avatar.png gtj: щас если баг попытаюь понять его

Default avatar.png gtj: кароче не баг значит

Default avatar.png gtj: он явно показывает куда он пошел

tutubalin: а телепортится потому что ты неправильно связи посчитал

Default avatar.png gtj: я думал координаты баганули но нет

Default avatar.png gtj: всмысле

Default avatar.png gtj: их 130

Default avatar.png gtj: у меня еще свежая сборка на подходе с адж листом

Default avatar.png gtj: но мапа удобнее

Default avatar.png gtj: хранит еще координаты

tutubalin: мне кажется, ты координаты с индексами напутал

tutubalin: в итоге у тебя связи левые

Default avatar.png gtj: 1 1 2 1 3 1 4 1 5 1 7 1 8 1

Default avatar.png gtj: x y

Default avatar.png gtj: хм

tutubalin: у тебя есть резиновая уточка?

Default avatar.png gtj: вот посмотри я поменял v i

Default avatar.png gtj: i v

Default avatar.png gtj: он идет по единицам из 11 в 8 1

tutubalin: вот посмотри: https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%83%D1%82%D1%91%D0%BD%D0%BA%D0%B0

Default avatar.png gtj: http://chat.codingame.com/pastebin/b1436f9d-60d0-4d73-888b-39666eec026c

Default avatar.png gtj: n x(1<=n<=1000,1<=x<=n)

Default avatar.png gtj: тогда что такое вершина

tutubalin: клетка - и есть вершина

tutubalin: клетка, где нет стены

Default avatar.png gtj: на выходе он получает из примера

Default avatar.png gtj: 1 2 0

Default avatar.png gtj: я получаю такие цифры но не понятно что это такое

Default avatar.png gtj: я пытался их оддебажить координатами

Default avatar.png gtj: я так подозреваю вершина это немного не то

Default avatar.png gtj: мб вершины нумеровать надо отдельно

Default avatar.png gtj: от нуля до бесконечности

Default avatar.png gtj: к вершине циплять состояние 0 или 1 и координаты

Default avatar.png gtj: пока я так понял

Default avatar.png gtj: щас попробую

Default avatar.png gtj: и тогда я смогу оперировать в бфс конкретными вершинами

Default avatar.png gtj: тоесть начать с 50 вершины ну к примеры она посчитана как старт и прочее

Default avatar.png gtj: какойто зип архив получается

tutubalin: уточка. расскажи это уточке

Default avatar.png gtj: если ты так не зная чего изучаешь то мне жаль тебя

tutubalin: ты прочитал по ссылке?

Default avatar.png gtj: cvjnhb yfukzlyj

Default avatar.png gtj: смотри нагляднее

Default avatar.png gtj: http://chat.codingame.com/pastebin/7c9f22e0-36cc-4b07-a6d2-c88f56536ec8

Default avatar.png gtj: что тут n а что тут x

Default avatar.png gtj: получается 130 вершин

tutubalin: https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%83%D1%82%D1%91%D0%BD%D0%BA%D0%B0

Default avatar.png gtj: я про вершины

tutubalin: рассажи уточке как ты понимаешь вершины и что ты хочешь с ними сделать

Default avatar.png gtj: ns vju 'nj cjj,otybt yt gbcfnm vyt

Default avatar.png gtj: если ты пользуешься этим методом не мешай людям

Default avatar.png gtj: очень низко с твоей стороны если ты действительно разбираешься в этом всем про такое говорить печально осознавать что такое бывает в нашей жизни

Default avatar.png gtj: преподователи отродясь такого не говорили ниразу

tutubalin: это широко известный метод, которым многие пользуются

tutubalin: ты им тоже пользуешься, только вместо уточки ты используешь этот чат

tutubalin: а нужно использовать уточку

tutubalin: или любой другой предмет

tutubalin: https://www.youtube.com/watch?v=QTa62x_q7Es

Default avatar.png gtj: ты явно вводишь в заблуждение

Default avatar.png gtj: я могу тебе это доказать

Default avatar.png gtj: есть такие вещи о которых ты и знать не знал, никакая книга тебе не поможет пока тебе не покажут не скажут об этом, грубо говоря пока тебе не сказали ты не знаешь, тоесть, если тебя не было в момент создания ОС в AT&T и ты не знаком с ричи и страуструпом то ты уточкой своей не достигнешь тех знаний которые они изучали тогда

Default avatar.png gtj: так что уточка твоя холодная история по изучению времени в ОС

Default avatar.png gtj: там конкретная информация

Default avatar.png gtj: нет там уточек

Default avatar.png gtj: тоесть единственный выход гуглить переписки

Default avatar.png gtj: а уточкой сдесь не пахнет

Uljahn: бывает ещё абстрактная теоретическая информация, её понять сложнее, тут уточка может быть полезна

Default avatar.png gtj: ну успехов дерзайте

Default avatar.png gtj: даже дргая личность не доверяла такому подходу Дюрер например

Default avatar.png gtj: почитай его мемуары

Uljahn: не говори мне что мне делать (ц)

tutubalin: у тебя в коде баг этот баг сделал ты только ты можешь его найти поговори с уточкой и сразу найдёшь

tutubalin: https://www.youtube.com/watch?v=vHxlWMIOZgE

Default avatar.png gtj: я хз где этот баг

Default avatar.png gtj: я тебе так скажу

Default avatar.png gtj: уточка не помогает о том чего ты не знаешь вообще

tutubalin: посмотри видео и сделай как там сказано

Uljahn: не бывает так, что вообще не знаешь, чаще бывает, что кусочки пазла переклинило, и они не складываются

Default avatar.png gtj: не было тебя в при создании процессора ты и знать не знал чо там делали в фйти и ти и уточки хоть пускай хоть не пускай толку никакого

Default avatar.png gtj: а вот если ты загуглишь переписки

Default avatar.png gtj: посмотришь код

Default avatar.png gtj: коментарий

tutubalin: тут всё просто. у тебя есть баг. у тебя есть уточка. у тебя есть обучающее видео https://www.youtube.com/watch?v=QLClMf6yO-k

Default avatar.png gtj: вот тогда дойдет до тебя

Uljahn: а задействование речевых центров помогает выровнять кусочки

Default avatar.png gtj: Ульян давай уточкой прыгни в прошлое и кинь мне кусок кода nexstep

Default avatar.png gtj: жду

Uljahn: кстати, не мешало бы хотя бы принести извинения за своё поведение в чате, раз уж вознамерился обойти второй бан и вернуться в коммьюнити. а то получается, что только тебя все обижают, а ты никого не пытался оскорбить

Uljahn: жду

Default avatar.png gtj: да посмотрим когда тебе про уточку скажу в твой вопрос

tutubalin: предыдущие 3 видео возможно были не очень доходчивые. вот четвертое https://www.youtube.com/watch?v=IBYrQs38gQo

Default avatar.png gtj: я не буду мешать тебе нравится делай так

Default avatar.png gtj: я не против чтобы ты так делал

tutubalin: вот откуда бы ты узнал про RDD? хорошо что я тебе подсказал хороший подход. и даже обучающее видео подогнал https://www.youtube.com/watch?v=fdaqudiSo5c

tutubalin: красивые девушки тоже используют уточку https://www.youtube.com/watch?v=r05LfpoPjDo

Default avatar.png gtj: если ты с 0 так уточкой то молодец

Default avatar.png gtj: одобряю

Default avatar.png gtj: тоесть с позиции ты не знаешь до позиции уточкой прошел ты знаешь без книг без людей без всего этого изза чего тебя тригерит то я одобряю

Uljahn: обычно вместо RDD у меня Tak Blya Debugging: https://pbs.twimg.com/media/CXjCZTYUkAAp2t9?format=jpg

Default avatar.png gtj: одобряю ваш метод

Default avatar.png gtj: раскрыли тайны теперь я как дюрер не буду искать истины а силой мысли щас пойму то чего не знал никогда

Default avatar.png gtj: а на деле вам все обьясняют как и всем вот что смешно

Default avatar.png gtj: с 1800 года жил человек описал как это все работает а увас тут уточки

tutubalin: отладка - дело тонкое. к счастью, на ютубе всегда можно найти обучающее видео про передовые RDD-методики. https://www.youtube.com/watch?v=huOPVqztPdc

Default avatar.png gtj: не буду тебе мешать

Default avatar.png gtj: учись у уточек

tutubalin: причём тут обучение? это не про обучение, а про отладку

tutubalin: во всех видео, что я запостил, говорятся простые мысли:

tutubalin: 1. не надо приставать со своими багами к другим людям

tutubalin: 2. в процессе объяснения своего кода ты сам поймёшь, что не так

tutubalin: вывод: объяснять свой код лучше всего неодушевлённому предмету

Default avatar.png gtj: ye lf

Default avatar.png gtj: ну да

Default avatar.png gtj: кстати про WM я тоже сам понял по твоей логике

Default avatar.png gtj: а по правде у китайца посмотрел код

Default avatar.png gtj: не работает уточка

Default avatar.png gtj: я тебе могу сказать к чему дюрер пришел

Default avatar.png gtj: но это тема не того чего ты добится хочешь

Default avatar.png gtj: если коротко то к чему ютуб стремится

tutubalin: напиши про свои проблемы здесь: https://rubberduckdebugging.com/cyberduck/

Default avatar.png gtj: только теперь тебе ехать никуда не надо

Default avatar.png gtj: тоесть ты постя видео сам по интуитиву работаешь по принципу дюрера

Default avatar.png gtj: ищешь истину у других людей

Default avatar.png gtj: он кстати этот метод четко сформулировал

gsomix: Быстро же он съехал на стандартную манеру общения. :)

gsomix: ечязб

Default avatar.png gtj: тоесть ты и носителем не хочешь быть и не хочешь чтоб тебе вопросы задавали

Default avatar.png gtj: а сам ссылаешься на носителя при обучении прочем

tutubalin: ты задаешь вопрос тебе дают чёткий подробный ответ ты игнорируешь ответ зачем тогда спрашивал?

Default avatar.png gtj: тоесть уточкой тут не пахнет

Default avatar.png gtj: надо чтоб твой носитель тебе про уточку флейманул

tutubalin: кроме того, помимо вопросов ты льёшь очень много информации о своём процессе разработки это информация никому не интересна кроме уточки

tutubalin: уточка внимательно выслушает, почему у тебя телепортируется

tutubalin: ты ей расскажешь свой код строчка за строчкой

tutubalin: объяснишь каждую букву

tutubalin: зачем она и почему здесь

tutubalin: и до того как уточка успеет указать тебе на проблему, ты сам всё поймёшь

Default avatar.png gtj: послушай то что ты щас пишешь про уточку это всего лишь твое отношение не более

tutubalin: это всего лишь распространённая методика у профессиональных программистов

tutubalin: если тебе не интересно программирование, можешь забыть про уточку

Default avatar.png gtj: если тут не уместно

Default avatar.png gtj: если ты такой не меряй всех по себе

amurushkin: блин, я не профессиональный программист выходит. хнык хнык. я не знаю про уточку :)

Default avatar.png gtj: да это его отношение не бери в голову

amurushkin: ну а ты как думал? что другие люди захотят в твоем коде разбираться?

Default avatar.png gtj: я не думаю

amurushkin: сделай дебаг вывод. выясни почему у тебя телепортируется

amurushkin: так все делают

Default avatar.png gtj: не разбирайся

inoryy: уточка легит, неоднократно помогало

Default avatar.png gtj: тыбы тогда был не на своем месте а гденить в майкрософт или ОС свою написал уже

Default avatar.png gtj: уточка кул стори

Default avatar.png gtj: попробуй уточкой зацепить то чего ты не знал

inoryy: забавный агрумент про майкрософт :)

Default avatar.png gtj: ну или бы показал как надо ОС сделать из скратч прям с нуля на С++

Default avatar.png gtj: типо вам потребует компилятор и повторяйте за мной

amurushkin: свою ос писать я в школе хотел. потом понял что в одиночку нефиг и начинать. сейчас есть перспектива только riscos патчить под новое железо. но мне не интересно это направление

inoryy: причем тут с нуля, тебе сверху доступно объяснили зачем уточка

Default avatar.png gtj: ну ты мне пишешь про уточку зачем?

wlesavo: уточка это как teddy bear? ато я только про медведя историю слышал, но видимо суть одна

Default avatar.png gtj: это твое отношение а не аргумент используй уточку

inoryy: wlesavo https://en.wikipedia.org/wiki/Rubber_duck_debugging

amurushkin: кстати полюбому работает. сколько раз было. начинаешь обьяснять пробелму жене. пока обьясняешь в голову приходит решение

wlesavo: а ну да, а я помню про историю что прежде чем обратиться в тех поддержку надо было объяснить свою проблему медведю на ресепшене, и этот медведь решал 2/3 всех обращений

inoryy: первый раз слышу про такую историю

wlesavo: https://en.wikipedia.org/wiki/Talk:Rubber_duck_debugging#%22Talk_to_the_Bear%22

Default avatar.png gtj: прицнип дедукции работает только в хорошо изученой области

Default avatar.png gtj: если у тебя нету понимания области никакая уточка тебе не поможет

wlesavo: на самом деле это не только в дебагинге работает, еще когда учился было такое, что вроде зашарил, начинаешь кому-то объяснять предмет и сразу все слабые места в твоей картине мира вылезают

Default avatar.png gtj: дедукция не вернет время вспять и не даст понимания откуда это все и почему так следственно ты обманываешься в неизученой области пользоваться уточкой и все равно тебе будут обьяснять носители

Default avatar.png gtj: наличие носителя ломает принцип уточки

Default avatar.png gtj: к тому же ты будешь говорить своих носителей другим людям которые тоже находятся на ближайшем к тебе расстоянии от носителя

Default avatar.png gtj: а тот кто будет интересоваться с высока твоими знаниями уже будет пользоваться твоей уточкой потомучто эту область он знает лучше

Uljahn: проговаривание (вербализация) превращает сложную и местами неявную модель в последовательную и явную, поэтому слабые места сразу видно, и нелогичные связи проявляются моментально

inoryy: wlesavo 4 курса матана не подготовили меня к ведению практикумов и разнообразию способов не понять материал первокурами )) знатно переосвоил все ключевые моменты

Default avatar.png gtj: смотри ты не понял когда человек находится на уровне впитывания тоесть он 0 ты ему хоть говори про своих уточек хоть не говори он не поймет если он тебе говорит что не понимает

wlesavo: это да, вообще опыт преподавания очень полезен

tutubalin: старый анекдот про препода: "три раза им объяснял, даже сам уже всё понял, а они всё ещё не понимают"

Default avatar.png gtj: я сам видел человека воочию который считал что его метод обьяснения полезен а весь колоквиум не понимал его

inoryy: хз к чему эта стенка текста про носителей и из-за неё история давно улетела, но смею предположить что вопрос уточки подняли как замену чата для потоков мысли которые всё равно никто не читает

Default avatar.png gtj: все 300 человек не понимали его весь симестр

tutubalin: inoryy +1

Default avatar.png gtj: да тут уже все вопросы скатывают в такое

Uljahn: когда лабораторки вёл у оболтусов-контрактников, приходилось им пересказывать задания, которые поставил профессор, но уже своими словами, чувствовал себя переводчиком с профессорского на нубский

tutubalin: не правда. на вопросы мы отвечаем

tutubalin: и даже баги помогаем найти иногда

Default avatar.png gtj: ну ты же скатил в такое всё

tutubalin: но вот когда человек начинает просто флудить чат каждой своей идеей, которая ему в голову пришла - пусть лучше расскажет это уточке

Default avatar.png gtj: ты как то это определил

Default avatar.png gtj: поделись

tutubalin: в какое? я тебе рассказал про ведущий метод отладки, используемый по всеми миру, в том числе в серьёзных компаниях

Default avatar.png gtj: ты как то определил что я именно флудил и тролил

tutubalin: привёл массу видеопримеров

tutubalin: ты 10 раз подряд написал одно и то же

Default avatar.png gtj: поделись как ты определил что я именно флудил и тролил

tutubalin: я, например, видосы каждый раз новые находил

Uljahn: всё так же рыдает шарманка, Automaton2000

Default avatar.png gtj: вот так чел подойдет к тебе и скажет что не понял и еще 10 раз тебе скажет а ты его пошлешь

Automaton2000: но у меня и у кубера

tutubalin: а ты писал одно и то же: у меня телепортируется, у меня телепортируется

Uljahn: лол

tutubalin: ахахаха.))

tutubalin: автоматон в теме ))

Default avatar.png gtj: ну ответ на то как ты определил что я флудил и тролил расплывчатый

Default avatar.png gtj: поделись я тоже определять буду

tutubalin: вот сейчас ты повторил одно и то же сообщение трижды за 2 минуты

Default avatar.png gtj: я тебе кинуло 3 реализации

tutubalin: это называется флудом

Default avatar.png gtj: потом повторил что телепортирует и показал тебе цифры

Default avatar.png gtj: а тебя бомбануло

tutubalin: меня не бомбануло

amurushkin: я могу свой метод определения рассказать. когда несколько часов не заглядывал в чат и потом заебуешься листать до того места где ты был последний раз ))))

tutubalin: я тебе предложил ведущий способ отладки, используемый по всему миру в том числе в крупных компаниях

tutubalin: а вот тебя уже бомбануло

wlesavo: или заглядываешь в чат а там сообщения только от одного человека

tutubalin: причём, повторяющиеся

Uljahn: на решение задачи уже все забили, Automaton2000

Automaton2000: ну а в этот раз

Uljahn: Automaton2000: один раз - не гугл-глас

Automaton2000: да я не про то

Default avatar.png gtj: нет я все это время пробую

Default avatar.png gtj: просто мне тут про уточку втирали

tutubalin: и так и не втёрли

Uljahn: то есть тебе можно всем втирать про жль, а другим почему-то нельзя

tutubalin: если человек не способен учиться даже на ютуб видосах...

tutubalin: пять или шесть разных видео

tutubalin: на русском, на английском

tutubalin: мальчики, девочки

tutubalin: все старались объяснить ему

tutubalin: и так и не смогли

Default avatar.png gtj: о чем ты кинул видео я смотрю другие уроки я смотрю о бфс

tutubalin: наверное что-то не так с мальчиками и девочками

Default avatar.png gtj: я смотрю как другие бфс применяют пытаюсь понять

Default avatar.png gtj: а ты считаешь флудом это и тебя бомбит

tutubalin: ты попытайся уточке объяснить как работает бфс

Default avatar.png gtj: я смотрю видео о бфс

tutubalin: так и смотри дальше

tutubalin: сюда то зачем пишешь?

Default avatar.png gtj: ты просишь смотреть какието другие видео и я тебе пишу что я смотрю о бфс

Uljahn: смотришь и пишешь в чат?

Uljahn: понятно, откуда такие глубокие знания

Default avatar.png gtj: да я неделю смотрю про это

Default avatar.png gtj: каждый день бфс

tutubalin: потому что мало смотреть. нужно ещё рассказать то что понял.

tutubalin: если не хочешь делиться с уточкой, расскажи ютубу

tutubalin: поставь видео на паузу, посмотри в глаза рассказчику, и распиши ему подробно, что ты понял

Default avatar.png gtj: мне кажется ты меня в заблуждение вводишь бфс то у меня работает

tutubalin: помогла методика!

Uljahn: вот это поворот

Uljahn: бфс-то работает, но в проге баг

Default avatar.png gtj: да потомучто я нифига не понимаю

Uljahn: у меня тоже винда работает, и я нифига не понимаю

Default avatar.png gtj: я тебе написал на твое сообщение выше

Default avatar.png gtj: щас буду на яве писать

tutubalin: Uljahn а работал бы в микрософте, написал бы винду сам

Uljahn: и уточке бы объяснил

tutubalin: вот у разработчиков WindowsMe не было уточек...

Default avatar.png gtj: у меня были вопросы по бфс не потомучто уточка у тебя какаято а потомучто конкретно чото не ясно

Default avatar.png gtj: вот я сделал проверку

Default avatar.png gtj: http://chat.codingame.com/pastebin/f3f46d73-9ca5-495d-99dd-76f89b7a2d7f

Default avatar.png gtj: теперь не телепортируется и доходит до тупика и останавливается

Uljahn: :rolling_eyes:

Default avatar.png gtj: тут вопрос в том нифига не понятно что я не так делаю может тут другое чтото выводить надо

Default avatar.png gtj: может очередь выводить надо

Default avatar.png gtj: а рабочий пример мне в обратный путь после поиска и установки обратного маршрута только 2 пишет

Default avatar.png gtj: какие тут уточки я просто не понимаю что так а что не так что есть что вообще

Uljahn: а кто этот код написал?

Uljahn: скопипастил чтоли откуда?

Default avatar.png gtj: у меня примеры разные

Default avatar.png gtj: а мой с мапой

Default avatar.png gtj: тот скопировал да

Default avatar.png gtj: самый простейший куда только матрицу подставить

Uljahn: т.е. ты хочешь сразу запрыгнуть на поезд, идущий на полном ходу

Default avatar.png gtj: что такое 2 как это понять вообще

Default avatar.png gtj: как эту 2 мне глядя на матрицу найти

tutubalin: ты свой код можешь строчку за строчкой сам себе объяснить?

Default avatar.png gtj: с вектором более менее понятно

Uljahn: это не его код, оказывается

Default avatar.png gtj: с мапой я просто запутался

Uljahn: бфс рабочий скопировал, а мапу не получается в него засунуть?

Default avatar.png gtj: но идея мне ясна

tutubalin: раз идея ясна

Default avatar.png gtj: мапа выдает Ульян по координатам ближайший тупик

tutubalin: объясни её уточке

tutubalin: уточке пока не ясна

Default avatar.png gtj: а дальше я просто не понимаю что делать рекурсию запускать или что

Default avatar.png gtj: на нашла она тупик вывела

Default avatar.png gtj: и он стоит там и все остановилось

tutubalin: я тебе рабочий код скидывал

tutubalin: ты даже не посмотрел

tutubalin: всё ясно с тобой

tutubalin: просишь совета

tutubalin: тебе советуют

Uljahn: а я ведь писал про это, что тут условия поиска меняются в зависимости от этапа исследования лабиринта

tutubalin: ты тупо игноришь

tutubalin: и задаёшь тот же самый вопрос снова

Default avatar.png gtj: потомучто мне 1 итерацию его надо превратить в свои сущности и ассоциации и перенести в свой код а скопированное и у меня работает

Default avatar.png gtj: ток не понятно что 2 значит

tutubalin: он нас то ты что хочешь?

Default avatar.png gtj: а в моем все понятно но остановился в тупике

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

Default avatar.png gtj: а как мне определить что я делаю?

Uljahn: задать условия поиска для бфс

Default avatar.png gtj: я просто ищу ближайшие 1 и получается в тупик его веду?

Uljahn: на карте несколько видов символов

Default avatar.png gtj: Ульян я его превращаю в звешеный граф

Default avatar.png gtj: но вес там у всех 1 это 1чка

Default avatar.png gtj: а 0 препятствие

Uljahn: тогда ты не сможешь логику поиска написать для разных условий

Uljahn: у тебя только проходимость учитывается

tutubalin: а что за задача?

Uljahn: зря взялся за такой сложный пазл, он уже для профи в бфс

Uljahn: the_labyrinth

Default avatar.png gtj: у меня только проходимость учитывается типо был или не был смогу не смогу

Default avatar.png gtj: значит из тупика опять поиск надо вызывать

Default avatar.png gtj: и обнулять был не был

Default avatar.png gtj: и эта фиговина до финиша

Uljahn: по идее да

Default avatar.png gtj: мне просто понть надо принцип

Default avatar.png gtj: сфокусируюсь на этом значит я не правильно сделал в коде 1 проходом не решаемо типо проход (может раундом назвать)

Uljahn: def bfs(obstacles=set('#'), target='?') вот такая у меня универсальная функция поиска, где задаются непроходимые символы и символ-цель

Default avatar.png gtj: ааа кстати у тебя клевый алгоритм

Default avatar.png gtj: его введути в вове как игровую механику

Uljahn: и для разного этапа исследования вызывается одна функция, но с разными параметрами

Default avatar.png gtj: по стенке проходить генерируемый тунель

Default avatar.png gtj: у тебя по стенкам ходит?

Uljahn: нет, у меня в ширину исследует и выбирает ближайшую цель

Default avatar.png gtj: а ок

Default avatar.png gtj: показалось что ищет стенку и только по стенкам идет

Uljahn: если это вопросик, то идёт к вопросику, туман рассеивается, вопросики пропадают

Uljahn: не, стенки - это непроходимые, сначала это стенки и командный центр, чтобы аларм не тригернуть раньше времени

Default avatar.png gtj: ммм

Uljahn: потом все вопросики поудалял, иду в центр, запускаю аларм, иду на выход

Uljahn: всё одной функцией

Uljahn: просто параметры разные

Default avatar.png gtj: хм значит еще подвид идти только вдоль стен

Uljahn: там вроде нет особо широких проходов, полюбому будешь вдоль стен ходить

Uljahn: главное вначале идти к вопросам - разведывать территорию

Uljahn: поэтому надо иметь начальную карту

Uljahn: со всеми символами

Uljahn: и по ней бфс-ить

Uljahn: начальную, в смысле которую в инпутах дают в начале каждого хода

Uljahn: там карта обновляется с учётом твоего предыдущего хода

Uljahn: туман войны отодвигается

Default avatar.png gtj: ну как будто я иду втемноте как в диабло

Default avatar.png gtj: с заженным факелом

Default avatar.png gtj: но тут туман именно рассеивается

Default avatar.png gtj: а в темноте тоже клево былобы пришлось бы искать и путь назад)

Uljahn: путь можно было бы запомнить, карта-то не изменяется

Default avatar.png gtj: ладно буду пробовать

vrabosh: всетаки незря книгу купил unix and linux

vrabosh: почуть вырисовывется картина..

vrabosh: оказывается к моему впс хотят активно подобать пароль на ссх

vrabosh: надо и пароль длиней придумывать. и колво попыток уменшать и может еще чтото делать.

Uljahn: разрыв сессии или бан входящего айпи после нескольких неудачных попыток

Uljahn: чс на сутки

vrabosh: пока это еще не умею делать) гуглить не охото, буду книгу читать

Uljahn: да я тоже не умею, но интересуюсь кибербезопасностью и криптографией)

Uljahn: с одной стороны, везде предостерегают от написания своих велосипедов - типа нужно пользоваться проверенными опенсорсными продуктами, с другой стороны сканнеры портов работают по более-менее стандартной схеме (стандартные настройки портов и протоколов), т.е. при нестандартной конфигурации большинство скрипт-кидди-кулхацкеров обломается

Uljahn: я когда-то в ирц тусил с такими чуваками, они сканнили всё подряд с помощью nmap/zmap/shodan, свои тулзы какие-то писали

Uljahn: только я тогда мало что понимал

vrabosh: из тысячи может 1 попадется который все стандарное ввел.

Uljahn: угу, на это и расчёт, как телефонные мошенники

vrabosh: или устаревшее оч имеет

Uljahn: ну, они в основном вебкамеры незапароленные или с дефолтным паролем искали, по приколу, ну и всякие сетевые артефакты

Uljahn: netstalking

vrabosh: но в наше время лучше таким не заниматся.. нужны будут спецы службам, быстро вычислят таких людей и заберут к себе)

vrabosh: как рабскую силу

Uljahn: ага, или работай у нас, либо присядь на пятнашку

Default avatar.png gtj: там все проще щас реализовано

Default avatar.png gtj: и просто и сложно одновременно плюс пересекается с законом

Default avatar.png gtj: что надо

Default avatar.png gtj: простой редирект

Default avatar.png gtj: остальное пресекается сейчас законом

Default avatar.png gtj: недавно слушал как раз про это и мой простейший алгоритм который я вам показывал получает редирект почти со множества ресурсов вопрос почему а вот потомучто я выше написал если браузер не может в редирект значит это потенциальна угроза но пока не является угрозой

Default avatar.png gtj: как только ты начнешь делать перебор это уже будет разбор

Default avatar.png gtj: тоесть

Default avatar.png gtj: надо просто писать браузер

Default avatar.png gtj: дали редирект делай редирект

Default avatar.png gtj: и никуда не лезь

Default avatar.png gtj: тоесть основную информацию что делать в большинстве своем сейчас задают ресурсы в том числе если они в безопасность ушли

Default avatar.png gtj: а гугл пока не делает редирект все как 10 лет назад

Default avatar.png gtj: тоесть простой запрос гет он проработает а наши ресурсы нет они редиректят

Default avatar.png gtj: это и есть та самая безопасность

Default avatar.png gtj: свой чужой

Default avatar.png gtj: это кстати отсеивает большинство запросов которые могут повлиять на нагрузку

Default avatar.png gtj: Ульян а по опенсорсу тоже много сейчас камней

Default avatar.png gtj: я про те что с сетью связаны другое я не слышал в том обзоре

Uljahn: мы про удалённое администрирование виртуальным сервером по ssh, какие браузеры и редиректы, ты о чём?

Default avatar.png gtj: можно перенаправлять можно не обрывать сессию

Default avatar.png gtj: перенаправлять запрос на тот же ресурс но https

Uljahn: да можно, я об этом писал

Default avatar.png gtj: это и есть кибербезопасность

Default avatar.png gtj: а если клиент не может этого он либо уходит либо ты наблюдаешь его неправомерные действия

Default avatar.png gtj: я так понял

Uljahn: задача - ограничить количество попыток подбора пароля

Default avatar.png gtj: редирект ага

Default avatar.png gtj: 2 раза и редирект

Default avatar.png gtj: хотя этого мало ведь софтина с гуем может быть

Default avatar.png gtj: вобщем мне пофиг

Uljahn: да это понятно, но раз устанавливают сессию, значит наружу торчит порт, который насканили

Default avatar.png gtj: в интервью говорили эти переборы видит хостер

Uljahn: если там ботнет шурудит, то хостер не поможет

Default avatar.png gtj: там щас усилено все в том числе и опенсорсом

Default avatar.png gtj: каждая нода видна сейчас

Default avatar.png gtj: и тебя отсканировать так же могут

Default avatar.png gtj: в обратку тем же методом

Default avatar.png gtj: там кароче наука целая теперь

Default avatar.png gtj: тоесть я все к тому что я понял если ты пишешь браузер то лучше писать запрос и ничего не делать просто показывать и пытаться описывать все эти редиректы

Default avatar.png gtj: метод касперского никто не отменял как я понял

Uljahn: https://yvision.kz/post/81000 хд

Default avatar.png gtj: https://youtu.be/4oLzvhDRZT4

Default avatar.png gtj: что там по твоей ссылке

Uljahn: сканер открытых портов на компьютере из браузера

Default avatar.png gtj: еще я слышал порты тоже редиректят чувак в колледже помню мне все ужжи прожужжал этим

Default avatar.png gtj: кароче это своя наука свое направлению кому это интересно

Default avatar.png gtj: с 80 на 443

Default avatar.png gtj: если интересно глянь про реверс инжинеринг

Default avatar.png gtj: ладно сорян пошел дальше разбираться я тут уже на яве примеры нашел пишу вот если заработает перепишу на ++

vrabosh: https://www.youtube.com/watch?v=ZuHW4fS60pc - вот видео bfs поясняет как в школе черед блоки или хз как они называются

Uljahn: блок-схемы

Default avatar.png gtj: да уже другой вопрос работать оно все работает и в примерах работает вопрос интерпретации

Default avatar.png gtj: забей кароче

Default avatar.png gtj: у меня тут дофига кода он работает я просто интерпретирую

Default avatar.png gtj: сам бфс понятен

Default avatar.png gtj: я теряюсь когда вижу эти ноды и иногда в своем коде теряюсь с интерпретацией

Default avatar.png gtj: хотя вроде все понятно

Uljahn: я первые раз пять, когда писал floodfill, тоже тупил, но потом въехал и теперь пишу не думая

Uljahn: главное не сдаваться

Uljahn: кстати, в jupyter настроил подсветку sql синтаксиса, но работает только в браузере, в VSCode свой движок, хз где там прописывать, курю API

Default avatar.png gtj: видел какойто json конфиг файлик толи проекта толи чего еще

Default avatar.png gtj: кароче щас сделаю в лоб добавлю руками 130 нод

Default avatar.png gtj: и руками запущу стартовую поззиуцию и посмотрю эталонную работу

Uljahn: давно бы сделал, на тестовом примере проще дебажить локально

Uljahn: на CG с инпутами и аутпутами заморачиваться надо

Default avatar.png gtj: слушай нежели ява медленнее ++

Default avatar.png gtj: чото она приятная

Uljahn: в джяве прослойка - JVM и сборка мусора, насколько я знаю

Uljahn: а в плюсах более агрессивные оптимизации при компиляции

Uljahn: т.е. на плюсах уже прагмами можно добавить перформанса, а на джяве надо заморачиваться с прогревом кода, чтобы JIT вкурил или типа того :upside_down:

Uljahn: и объекты переиспользовать, т.к. создание дорогое и порождает мусор

Uljahn: правда, я не настоящий сварщик

inoryy: (прагмы для перформанса это чиста CG фишка потому что они 4 года не могут разобраться как правильно флаги ставить)

Uljahn: вообще, сами языки сравнивать сложно, в пределе - да, плюсы в несколько раз быстрее, но в среднем зависит от глубины знания и прямоты рук, наверное можно и на плюсах написать код, который будет медленнее питоновского работать

inoryy: это надо постараться :)

Uljahn: использовать самые неэффективные структуры данных для данной задачи и алгоритм с самым хреновым Big-O а в питоне наоборот

Uljahn: ну, это специально надо стараться, конечно

Default avatar.png NuclearBeast_50a6: нам можно все

Default avatar.png gtj: кароче скажу свои наблюдения я заметил если автоматизировать поиск вершин и добавлению получается по сути 2 почти одинаковых алгоритма 1 ищет путь и связывает все вершины с опр значениями а второй по алгоритму но уже с графом из точки в точку б