@spbpython

Страница 295 из 785
Eugene
21.02.2017
22:11:06
Всё же я против кода без комментариев, сколько бы ни говорили о том, что комментарии скорее вредны. Иногда напишешь что-нибудь, а потом выпадешь на пол года из проекта. И вдруг внезапно выясняется, что где-то в твоём коде есть ошибка. И смотришь ты на свой код и вообще не понимаешь, что ты тут понаписал... почему тут такие имена переменных, зачем вообще всё это делается? И нельзя свалить эту боль на чью-нибудь здоровую голову, потому что никто тоже не понимает твой код и не хочет в нём разбираться. https://paste.fedoraproject.org/paste/1wcoZw4yzoy1kNAWTDi9Yl5M1UNdIGYhyRLivL9gydE=

Dmitry
21.02.2017
22:42:19
открытка старику @lig11 https://signalvnoise.com/posts/3071-why-we-dont-hire-programmers-based-on-puzzles-api-quizzes-math-riddles-or-other-parlor-tricks

Всё же я против кода без комментариев, сколько бы ни говорили о том, что комментарии скорее вредны. Иногда напишешь что-нибудь, а потом выпадешь на пол года из проекта. И вдруг внезапно выясняется, что где-то в твоём коде есть ошибка. И смотришь ты на свой код и вообще не понимаешь, что ты тут понаписал... почему тут такие имена переменных, зачем вообще всё это делается? И нельзя свалить эту боль на чью-нибудь здоровую голову, потому что никто тоже не понимает твой код и не хочет в нём разбираться. https://paste.fedoraproject.org/paste/1wcoZw4yzoy1kNAWTDi9Yl5M1UNdIGYhyRLivL9gydE=
есть разумный баланс. Когда говорят против каментов, обычно имеют в виду что их стоит _активно_ избегать (устаревают, врут, гримируют code smell), благо питон для этого хорош. Никто при этом не отрицает их пользы ) Кусочек кода по ссылке я бы действительно прокоментил, ибо - характерно однобуквенные - алгоритмы.

у меня друг в портленде, ведёт телеграм-канал с фотками. (Это тот город, где будет PyCon-2017. Канал могу в личку кинуть, если любопытно). Говорит, всё вау. Столица хипстеров, если описать двумя словами услышав про столицу хипстеров, я снова задумался-таки. Но блин, ~ 200+ тыс выложить за 7 дней которые даже без моря.. Ну т.е, конечно, оно наверняка будет незабываемо, но хм.

Google
Dmitry
21.02.2017
23:35:03
италия (EuroPython 2017) выглядит сильно проще и вероятней, конечно (и ближе к нашим рынкам)

Serge
21.02.2017
23:39:59
открытка старику @lig11 https://signalvnoise.com/posts/3071-why-we-dont-hire-programmers-based-on-puzzles-api-quizzes-math-riddles-or-other-parlor-tricks
эээ... я никогда не давал абстрактных задач. я всегда даю конкретную задачу, просто маленькую и обсуждаю написанный код;) к чему эта открытка мне? The only reliable gauge I’ve found for future programmer success is looking at real code they’ve written, talking through bigger picture issues, and, if all that is swell, trying them out for size. Всё правильно написано. В DA есть свой процесс даже.

Dmitry
21.02.2017
23:43:25
а, ну хорошо :) значит, я спутал твою т.зрения с чьей-то

Serge
21.02.2017
23:48:09
а, ну хорошо :) значит, я спутал твою т.зрения с чьей-то
ты спутал с тем, что я на листочке прошу писать. типа whiteboarding. тебе казалось не совсем корректным просить писать for и yield на бумажке, т.к. в стрессовой обстановке собеседования человек может запутаться в синтаксисе

Dmitry
21.02.2017
23:49:28
ты прав, тот спор был про вайтбоардинг нежели про абстрактные задачи

Serge
21.02.2017
23:52:41
вообще, вот этот момент, то что ты спутал, показывает, что важно не то как проводится собеседование, а умение проводящего собеседование пользоваться выбранным для этого приемом. я понимаю что и зачем я делаю на собеседовании, поэтому не могу ошибиться в том как я предпочитаю его проводить. твой взгляд, видимо, еще не оформлен и подвержен влиянию вот таких открыток;)

Dmitry
21.02.2017
23:54:22
возможно, возможно

GNU/Docker
22.02.2017
07:24:15
То есть как в терминале, если кто-то не знает что такое ридлайн.

Dmitry
22.02.2017
08:00:36
Прямо как GNU readline.
ээ, ну да, pyreadline. не совсем понял в чём твой поинт мой был в том что это не позволяет так удобно с историей работать как jupyter

GNU/Docker
22.02.2017
08:02:19
В том что это как в терминале. Не понимаю почему тебе не удобно)

Google
Dmitry
22.02.2017
08:03:24
не, это удобно, просто не так удобно

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

Александр
22.02.2017
09:20:54
Привет, скажите, кто как бы сделал, если бы надо было создать в глобальной области переменную со списком. var=[] И использовать ее из разных классов, при этом очищая в определенный момент. То вы бы пересоздавали список var=[] или очищали var[:]=[]?

I
22.02.2017
09:21:16
не лучше синглтон завести под это дело?

Егор
22.02.2017
09:29:02
Глобальная мутабельная переменная, что может пойти не так...

Serge
22.02.2017
09:29:19
не лучше синглтон завести под это дело?
но на самом деле да. только синглтон не нужен. достаточно класса-менеджера с классметодами и классатрибутом

class MyRegisrty: _registry = [] @classmethod def register(cls, value): cls._registry.append(value) @classmethod def clear(cls): del cls._registry[:] @classmethod def values(cls): return cls._registry[:]

class MyRegisrty: _registry = [] @classmethod def register(cls, value): cls._registry.append(value) @classmethod def clear(cls): del cls._registry[:] @classmethod def values(cls): return cls._registry[:]
можно еще метод порождающий генератор по копии возвращаемой Registry.values() накрутить

какой-то такой ответ на этот вопрос я бы ожидал на листочке на собеседовании;)

Dmitry
22.02.2017
09:40:29
фигануть всё в редис!

Serge
22.02.2017
09:40:41
фигануть всё в редис!
бороду отрасти сначала:)

Eugene
22.02.2017
09:53:39
можно самому запилить в community edition, у которого открыт код
5 миллионов строк кода на Java. Найти там подсистему консоли, разобраться как оно работает, понять как пофиксить. Сколько человекочасов с нуля? При том, что я плачу за ide начиная с 2 версии.

[root@localhost ~]#
22.02.2017
11:24:33
Экранирование кавычек \" ?

Не срабатывает что то

Google
[root@localhost ~]#
22.02.2017
11:25:47
Скрипт еше очень сырой, строго не судите

Sergey
22.02.2017
11:27:59
>setup.zip

Ну приехали

Danil
22.02.2017
11:28:08
Надо уже вынести в отдельные правила

Sergey
22.02.2017
11:28:19
pastebin.com gist.github.com Сюда уже в конце концов бэквотами

[root@localhost ~]#
22.02.2017
11:31:08
ок

Danil
22.02.2017
11:31:44
@iroln может помнишь давненько как-то нашли уже удобную тулзу в интернетах для ревью без PR и прочего

Serge
22.02.2017
11:32:14
Не срабатывает что то
на "не срабытавыет что-то" нечего ответить.

[root@localhost ~]#
22.02.2017
11:32:44
на "не срабытавыет что-то" нечего ответить.
не срабатывает экранирование кавычек

Serge
22.02.2017
11:34:07
не срабатывает экранирование кавычек
1 положи куда-нибудь код 2. опиши, что ты хочешь сделать 3. опиши какой результат получаешь, можно скопировать ошибку 4. задай вопрос

[root@localhost ~]#
22.02.2017
11:34:11
в терминале пишет ошибку синтаксиса

Serge
22.02.2017
11:34:23
ну не усугубляй флуд

в терминале пишет ошибку синтаксиса
какую конкретно ошибку? можешь скопировать сюда?

Serge
22.02.2017
11:35:51
Ну, ты представь, что ты пришел в комнату, где сидит 300 человек и все работают. Ты заходишь, все на тебя смотрят. Как ты донесешь свою мысль? Бросишь на пол распечатку скрипта и скажешь: "вот, запилите мне FTP"?

[root@localhost ~]#
22.02.2017
11:36:54
какую конкретно ошибку? можешь скопировать сюда?
Указывает на строку с кавычками. Сейчас кавычки обратно поставлю.

Serge
22.02.2017
11:37:43
https://coub.com/view/s3qnd

Sergey
22.02.2017
11:38:30
https://habrahabr.ru/post/322360/ Захотелось прям по мотивам сделать онлайн-игрушку

Danil
22.02.2017
11:38:56
как вариант для показа кода можно использовать https://repl.it/languages/python

Google
Admin
ERROR: S client not available

Andrey
22.02.2017
11:39:02
я уже и проверить архивчик успел https://virustotal.com/ru/file/a2d63bba541824369760c7d6b0ccecb43ca46a07d1836d70a25ef0844e351fcf/analysis/1487762946/

Dmitry
22.02.2017
11:43:55
тем временем в тви просто эпический shitstorm на тему собеседований

порождённый твитом автора RoR

I
22.02.2017
11:45:05
DHH? угу

Dmitry
22.02.2017
11:45:45
не пиши в столбик, используй редактирование.

Dmitry
22.02.2017
11:47:45
странные это споры. что за программист не в силах написать сортировку пузырьком на собеседовании.

I
22.02.2017
11:49:24
ну вообще да, позор такому программисту но я однажды был на собеседовании, дали задачу, 10 минут на ее решение и написание тестов по ней. Че-т не успел тесты написать

I
22.02.2017
11:51:45
ну как-то я привык к спокойному TDD, а не в режиме скриншаринга)

Sergey
22.02.2017
12:14:54
вопросы по mongo здесь offtopic?

Eugene
22.02.2017
12:17:21
странные это споры. что за программист не в силах написать сортировку пузырьком на собеседовании.
Что проверяет "написание сортировки пузырьком" на собеседовании? Знание пузырька? Умение писать циклы и условия? Умение писать код на бумажке? Стрессоустойчивость? :)

Sergey
22.02.2017
12:19:02
Andrey
22.02.2017
12:19:05
было бы что задрачивать.

I
22.02.2017
12:19:23
И такие вещи кто-то задрачивает?
в универе там курсе на первом было же

вроде)

Serge
22.02.2017
12:19:55
Sergey
22.02.2017
12:20:06
Google
Serge
22.02.2017
12:20:22
вопросы по mongo здесь offtopic?
но если в связи с питоном и/или pymongo драйвером, почему бы и нет:)

Andrey
22.02.2017
12:20:30
ну вот я помню, что мне в школе было лень заучивать какие-то тригонометрические формулы, я их просто на контрольной вывел, когда понадобились

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

I
22.02.2017
12:21:26
главное запомнить название, хотя я этого не понимаю

Eugene
22.02.2017
12:35:08
Уверен, что почти каждый программист, который приходит на собеседование на должность разработчика/старшего разработчика, за свою карьеру написал не одну сотню/тысячу строк кода, что-то тривиальное, что-то нетривиальное, над чем-то он не думал вовсе, над чем-то думал неделю-две. Наверняка, у многих из них хватит знаний, чтобы работать над проектом, для которого собеседуют. Но это не значит, что все эти люди решат вам пару-тройку логических задач, на бумажке напишут пяток агоритмов на графах, спроектируют ОО-дизайн приложения и всё это в порядке тех 1-3 часов в обстановке стресса и всеобщего недоверия.

Кто-то может возразить, что "а как же работа в режиме аврала/дедлайна", когда надо срочно запилить! Так вот, обычно срочно запиливают костыли, натаскивая их из тех N-библиотек с гитхаба. Действительно сложные и стратегические архитектурные решения не принимаются в режиме аврала и обычно реализуются более вдумчиво.

Страница 295 из 785