

Jentry
17.12.2018
22:51:09
Спасибо,
раз тут за функции заговорили
Как лучше всего создать динамическую функцию что бы потом ей пользоваться на постоянной основе, хоть через 3 года
Я склоняюсь, к генерации кода и его компилировании, и помещении в отдельную папку, где ее можно будет в любой момент динамически вызвать
Напомню , я горю желанием создать что то по типу визуального программирования
И мне просто интересны мнения на этот счет, так как я можно сказать не догадываюсь еще насколько это может быть сложно
Оу, ты слишком рано начал думать на своем шаге о визуальном программировании. Обычно это делается так - есть редактор, который может быть написан на любом языке, он транслируется в некоторое представление, допустим xml, этот xml представляет из себя переходы из состояния в состояние, то есть имеет точки входа и выхода. Отдельно уже на python реализуется парсер xml в конечный автомат, который пробегая по графу и подставляя аргументы - приходит в некоторую точку
То есть тебе идти читать про state machine паттерн нужно. Если я правильно понял твою задачу.
И такого поделия раньше много было и было популярно в компаниях, однако, не заходит, потому это получаются либо 1) огромные блок-схемы 2) приходится использовать много хаков и исполнять код мимо стейт-машины, запихивая блоки кода целиком


Vladislav
17.12.2018
22:54:06
Я примерно представляю как сделать визуальное программирование, соединить (сам редактор сделать)
Вот именно как хранить сам алгоритм, я недопонимаю

Google

Jentry
17.12.2018
22:57:18
Ты не должен хранить там алгоритм потому что. У тебя каждый отдельный блок должен транслироваться в то, что умеет выполнять твоя машина. Скажем, уножать скалывадть, тогда ты в xml можешь сохранить весь свой визуальный граф и выполнить его на машине.

Vladislav
17.12.2018
22:58:39
Хммм, а вы мне подсказали очень интересное направление
Спасибо вам огромное

Jentry
17.12.2018
22:59:42
Это основное направление всех подобных систем) Просто пиши блоки, которые функциально что-то умеют - именуй их, принимай аргументы и линкуй блоки с блоками id-шниками. Это интересная задача на самом деле

Vladislav
17.12.2018
23:00:42
Вот и я о том же, она настолько интересная, что я заказчику предложил ее задаром написать к его проекту (просто вписывается туда хорошо)

Aragaer
17.12.2018
23:01:00
так... следующий дурацкий вопрос. Есть список строк. Есть словарь, в котором каждой из этих строк соответствует список длины Х (все списки могут быть разными). Есть один большой общий список чего-то еще. Надо большой общий разбить на куски в соответствии со строками (и точнее в соответствии со списками из словаря)

Jentry
17.12.2018
23:01:10
Итого у тебя 2 независимых части - редактор, который умеет сохранять граф в некоторое представление с сохранением всех входов и выходов. И часть - исполнятор этого представляния - state machine.
А потом у тебя будет 100500 задач от этого же заказчика - добавить новый функциональный блок) Потому что одним сложением и умножением он сыт не будет

Vladislav
17.12.2018
23:02:18

Aragaer
17.12.2018
23:02:24
ну условно. Строки ["a", "b"], словарь {"a": [1, 2, 3], "b": [4, 5]}, общий список [6, 7, 8, 9, 10]. Надо составить для "a" пары (1, 6) (2, 7) (3, 8), а для "b" (4, 9) (5, 10)

Vladislav
17.12.2018
23:04:02

Jentry
17.12.2018
23:07:05

Aragaer
17.12.2018
23:13:03
/me забил и решил просто ничего не склеивать

Google

Vladislav
17.12.2018
23:13:34
blueprints в UE просто шикарные
А так эту задачу я сам для себя можно сказать делаю, всегда было интересно что то подобное
+ перед заказчиком похвастаться "навыками" мож он мне клиентов приведет, хотя я и так взялся за задачу от которой все отказались(около 25 человек)
А так я все таки добьюсь что бы когда я соединял блоки, там что то работало

Slam! 538
17.12.2018
23:14:49

Jentry
17.12.2018
23:14:58

snatch
17.12.2018
23:15:23
Всем доброй ночи ;)
Atom юзает кто??

Jentry
17.12.2018
23:16:36
ты итак уже сократил, что на питон не похоже, в чем смысл сокращения?

Slam! 538
17.12.2018
23:16:57

Jentry
17.12.2018
23:17:57
ну так у нас не принято, здесь все как мы не любим - короткие имена, вложенность, функциональщина вперемешку с if-else
думай так - если завтра попросят поменять немного бизнес-логику этого чуда, сколько времени ты потратишь? за буквы у нас не бьют и понятный код лучше сокращенного в строчку, это не мир перл

Nikolay
17.12.2018
23:19:25
че за дитч

Slam! 538
17.12.2018
23:19:39

Nikolay
17.12.2018
23:20:06
а я бы сказао что как раз Go
?

Slam! 538
17.12.2018
23:21:24
? это Python, предатель:(

Stephen
17.12.2018
23:29:28
Как получше async понять можно? Чего почитать?

Kalonya
17.12.2018
23:30:43
это смотреть в ютубчике надо

?? Eugene
17.12.2018
23:31:07

Slam! 538
17.12.2018
23:31:16
Просто, да, если я завтра зайду и посмотрю на это говно, то я не вспомню

Google

?? Eugene
17.12.2018
23:32:48
Вот этот весь for, например. У тебя нарушается принцип единственной ответственности, функция делает сразу много всего

Slam! 538
17.12.2018
23:33:40
Понял

Anton
18.12.2018
00:04:51
Оффтоп на грани флуда. Как бороться со сбитым биоритмом и бессонницей?

Aragaer
18.12.2018
00:05:28
я с этим борюсь уже много лет, пока безуспешно

Slam! 538
18.12.2018
00:05:30

Aragaer
18.12.2018
00:05:58
лучше всего получается если как-то это гамифицировать - например sleep as android с вменяемыми goals

Anton
18.12.2018
00:06:08
В каком месте?
Ну, это же не о программировании вопрос - значит, оффтоп

?? Eugene
18.12.2018
00:07:54
1. Название функции должна отвечать на вопрос "что делать".
2. У тебя функция называется inline_buttons, то есть должна что-то делать с кнопками (что?) А на деле внутри она по каким-то папкам бродит. Неправильные абстракции у тебя.

snatch
18.12.2018
00:08:10

Donaudampf
18.12.2018
00:09:08
если всё время съезжает вперёд время отхода ко сну, то можно один раз пропустить сон, тогда к вечеру срубит. Но чтобы потом опять всё не уехало - надо это как-то встроить в режим, например выспаться до упора в субботу, потом ложиться спать только в воскресенье вечером и утром на работу, но дальше отбой по режиму.
не то чтоб так стоило делать, но мне помогало пару раз, правда потом опять всё уезжает, потому что работа гибкая

Slam! 538
18.12.2018
00:10:08

snatch
18.12.2018
00:10:26

Slam! 538
18.12.2018
00:10:41
а len_files() нужна для подсчета количества файлов в данной папке

?? Eugene
18.12.2018
00:11:05
Оффтоп на грани флуда. Как бороться со сбитым биоритмом и бессонницей?
Есть два способа нормализовать график: радикальный и консервативный.
Радикальный: не спать сутки, затем лечь вовремя.
Консервативный: каждый день ложиться на час позже, пока не нормализуешь график.
А чтобы график не сбивался - нужно его соблюдать и не слепить глаза смартфоном перед снов :)

Slam! 538
18.12.2018
00:11:41
точнее, для подсчета файлов во всех вложенных папках

?? Eugene
18.12.2018
00:12:39

Slam! 538
18.12.2018
00:12:56

Vladislav
18.12.2018
00:13:23

Google

Aragaer
18.12.2018
00:13:29
или на 10. Или на 15
... пойду все-таки лягу спать

Slam! 538
18.12.2018
00:14:09
/you идет спать

Admin
ERROR: S client not available

?? Eugene
18.12.2018
00:14:11

Anton
18.12.2018
00:14:31
А я вот буду бодрствовать теперь сутки. Рабочий день коту под хвост(

Donaudampf
18.12.2018
00:14:53

Aragaer
18.12.2018
00:14:55
мне через 4 часа вставать, чтобы вести сына в сад. А потом йолка. А потом работа
все, свалил

Donaudampf
18.12.2018
00:15:26
воот, все проблемы - от детей

Vladislav
18.12.2018
00:17:43
if isYouHaveChild == True:
youHaveBadSleep.everyNight(True)

?? Eugene
18.12.2018
00:18:36
Джавой запахло

Vladislav
18.12.2018
00:19:05
Простите, было дело

?? Eugene
18.12.2018
00:19:13
:))

Slam! 538
18.12.2018
00:19:50
Евгений, подскажи, пожалуйста

?? Eugene
18.12.2018
00:21:22
И код все еще некрасивый

Slam! 538
18.12.2018
00:22:07

?? Eugene
18.12.2018
00:27:21
Ну переменные еще норм, а названия функций никуда не годятся

Google

Slam! 538
18.12.2018
00:30:52
А, и еще
У меня переменная folder может быть названием папки и названием файла
На что заменить?

Serg
18.12.2018
00:34:34

Slam! 538
18.12.2018
00:34:58
!report

Vladislav
18.12.2018
00:35:07
Кто может подсказать (гайд) по написанию чего либо на python, ибо чем больше кода, тем он больше засоряется, хоть моя логика и расписана по функциям

Slam! 538
18.12.2018
00:35:26

?? Eugene
18.12.2018
00:35:29
На что заменить?
Ну наверное, тут придется что-то более общее брать, хоть это и нехорошо

Vladislav
18.12.2018
00:38:20
Ну у меня больше проблема с названиями, они часто совпадают и я хз что с этим делать

?? Eugene
18.12.2018
00:38:52
Там про названия есть отдельный раздел

Vladislav
18.12.2018
00:40:16
Вах, это оказывается название книги, а я то думал зайти на гитхаб, найти нормальный такой, приятный код и читать:D

Антон
18.12.2018
00:40:51
а зачем
if args != ''
?
если можно просто
if args

?? Eugene
18.12.2018
00:43:29
Стоило ради этого житбрейнс дергать?)