Игорь
Привет всем, с 1 сентября! 😊
Oleg
Уточка помогла найти, почему не получалось как надо
Igor
test,test будет же энкодить с длинной 8?
Maksim Pozharskiy
Igor
Да, черт Ща
я уже писал тебе попробуй через груп бай написать должно получиться "симпатично"
Сидредин
Здесь главное не войти, здесь главное задержаться.
Это да. Но Олег задержится, я думаю.
Сидредин
какая-то фотка
Сидредин
нечёткая
SexNbaKef
Это да. Но Олег задержится, я думаю.
Главное с заказчиками не общаться первые года 3
Igor
Да, черт Ща
что то типа def general(text): """Модификация шифратора decoder(). В качестве аргумента rot принимает длину слова, которое шифруется. """ out = [] for to_encode, group in groupby(text, str.isalpha): group_text = ''.join(group) if to_encode: out.append(decoder(is_decode, len(group_text), group_text, *language(True))) else: out.append(group_text) return ''.join(out) Но с учетом что можно делать вид что мы энкодим и не буквенные символы то можйно пожертвовать оптимальностью в угоду краткости :) def general(text): """Модификация шифратора decoder(). В качестве аргумента rot принимает длину слова, которое шифруется. """ out = [] for _, group in groupby(text, str.isalpha): group_text = ''.join(group) out.append(decoder(is_decode, len(group_text), group_text, *language(True))) return ''.join(out)
SexNbaKef
Помню, когда только учился кодить, зарегался на всех фриланс биржах. Выбил свой первый проект, нужно было написать калькулятор, который будет высчитывать вес лифта, указывая каждую деталь, нужно было ещё совместимость деталей указывать, но это в бд указывал ось, не суть. Бюджет у этого парня был +1000-2000. Я получил эти деньги. А потом, через года 3, у меня появилось желание посмотреть этому конструктору в глаза и я понял как может кому-то не повезёт в этой жизни
Igor
Гляну, спасибо. Пока что у меня немного не так все работает, доделаю и гляну обязательно)
ну и вот этот финт языками создайте уже класс для языка чем городить *(language(True))
Oleg
Я классы ещё не знаю и не трогал 🌚
Vyacheslav
Вообще чатик мне нравится приходит чувак с прокрастинацией заряжает типа не могу себя заставить учиться и человек 5-10 пол дня рассказывают как нужно заставлять себя учиться :) Вам реально нехуй делать? :)
Ой, а можно мне тоже кто нибудь расскажет как прокрастинацию побороть? А то я вроде сажусь упражнения решать утречком, а сам вместо этого старые решённые упражнения рефакторю Сел такой в семь утра, заменил рекурсию циклом, ХОБА а уже 12 и на работу пора собираться...
Igor
Я классы ещё не знаю и не трогал 🌚
убери работу с ord полностью в функцию crypt до этого используй только символы будет гораздо чище код имхо
Oleg
groupby() это из itertools же?
Vyacheslav
так рефакторить полезно :) это на работе сроки, а дома можно от души красоту понаводить :)
Полезно, наверное, но это одна функция в пять строк в день... Я ж где-то в начале общих принципов
Wlad
Осподипомилуй! Куда я попал? Кто все эти люди?
Igor
groupby() это из itertools же?
да а дальше что то типа если нет желания классы заводить и уберите нахрен коментарии они мешают рефаткторить и вообще слишком быстро устаревают :) def language(is_Eng): return (26, 'az', 'AZ') if is_Eng else (32, 'ая', 'АЯ') def crypt(decode, char, rot, corr, alpha): left, right = map(ord, alpha) if not decode: x = ord(char) + rot while x > right: x -= corr return chr(x) else: x = ord(char) - rot while x < left: x += corr return chr(x) def decoder(decoding: bool, rotate: int, text: str, correction: int, low: str, up: str): code = [] for i in text: if not i.isalpha(): code.append(i) continue code.append(crypt(decoding, i, rotate, correction, low if i.islower() else up)) return ''.join(code)
Igor
Я думал language() убрать вовсе, хотя твой вариант красивее получается
я бы назвал его что то типа language_settings потому что это не язык это что то другое можно просто массивом сделать или словарем так семантически правильней
Oleg
Да
Igor
вращение в любую сторону можно сделать просто делением по модулю вроде если сперва отнять начало покрутить а потом добавить начальное смещение обратно следующий шаг corr не нужна это два источника истины ты их можешь по ord(left) ord(right) вычислить
Igor
в конце должен получиться довольно лаконичный код :)
Alexander
Вопрос: Градиентный бустинг: обучаем 50 деревьев независимо, но на одинаковых данных. Полученные предсказания на каждой итерации умножаем на свой шаг и вычитаем из предыдущих предсказаний? Я правильно понимаю?
Igor
С вращением не понял
если бы A это было 0 Z - 25 то тогда нужно было бы просто добавить или вычесть rot и взять остаток от деления га corr вот и смести перед декодированием A в 0 просто отняв ord(left) а после как повращаешь добавь обратно ord(left)
Igor
Примерно уловил, реализую - пойму
тогда у тебя в крипте будет в 2 раза меньше кода и опять же DRY
SexNbaKef
Igor
Я думаю новичкам полезно видеть как их код преобразуется к чему то более удобоваримому. Как простыни кода превращаются в нормальные функции :)
Igor
Словарём вроде {corr: 26, low: 'az', up: 'AZ'} if is_Eng else{corr: 33, low: 'ая', up: 'АЯ'}?
нет я имел ввиду словарь от языка language_settings = {True: (26, 'az', 'AZ'), False: (32, 'ая', 'АЯ')} out.append(decoder(is_decode, len(group_text), group_text, *language_settings[True]))
Oleg
Я думаю новичкам полезно видеть как их код преобразуется к чему то более удобоваримому. Как простыни кода превращаются в нормальные функции :)
Я изначально пишу как могу, полагая, что кто-то более опытный на это взглянет и отрефакторит - ментор, коллега или потом я
Vadim
Всех присутствующих в этом чате с 1 сентября. Желаю в новом году успеть попробовать как можно больше разных инструментов, которые пригодятся вам в жизни
Vadim
Если кто увлекается datascience и/или пишет на java, я иногда прохожу стримы где на публику пишу код. Мы там делаем торгового робота с нуля на java
Vadim
биржа Nasdaq акции. Скачал 210 гигабайт минутных таймфреймов по 6100+ компаниям
Vadim
вот ссылка на канал в дискорде, где я ковыряю это безумие https://discord.gg/uhWnBFyWd2
Igor
и что много вирутальных денег проиграли? :)
Vadim
пока не знаю, надеюсь в ближайшие пару стримов узнать)
Igor
Так оно и работает
ну не совсем :) рефакторить будет тот же человек который писал по хорошему :) а вот сказать как отрефакторить да :)
Vadim
на недавнем стриме мы получили распределение голосов робота . голосовали за то что цена попадет в 1 из 15 интервалов + наблюдали а в какой интервал цена в итоге попала.
Igor
Вот как. Спасибо
вообще условие в коде очень часто - проебанный полиморфизм в ооп или словарь без ооп особенно если это case лайк вещи
Vadim
сам пишу на с#, но все же гляну)
приходи, буду рад тебя видеть. Советы\вопросы\критика также приветствуются.
Oleg
Ляяяяяя, я поплыл Надо перекурить и доправить все это) Git мастхэв, с нормальным контролем версий я бы сейчас меньше морочился)
Oleg
Хорошо что это все я прохожу сейчас, потом проще будет
Oleg
Я где-то выше писал про необходимость в гит при проекте от 30 строк и двух функций. Я оказался догадлив)
Сидредин
Хорошо что это все я прохожу сейчас, потом проще будет
Тяжело в лечении - легко в раю учении - легко в бою
Omarov
@ikovrigin сегодня писал про кладбище закладок и заметок. Нашел своё, выглядит так. Реально, ни разу не зашел, всё жду, когда пригодятся
Igor
я кстати тоже в лив кодинг ходил :) https://www.youtube.com/watch?v=59ABStsTy-A&t=3246s
Igor
а потом ушел в запой там лучше :) 2й части так и не судьба была появиться
artem
Ребят, как думаете какой язык для backend используют банки ?
artem
Что-то не могу найти такую инфу
artem
Хм, в пролете
Igor
Прикольно☺️👍👍👍
это мы по пьяни решили в геймджеме поучаствовать :) но первый пункт переборол :) я только открыл годот отэто поклацал и закрыл :)
artem
Python?
Ага
SexNbaKef
Ага
Ложь