Size: a a a

2020 February 15

SM

Serge Matveenko in SPb Python
Serge Matveenko
0 - час
1 - +час
2 - +час
Уровень сеньора
*2 мидл
*2 Джуниор
Как-то так:)
Но, имхо, слишком сложно для тестового. Этот должна быть очень тёплая компания, чтобы туда хотелось настолько, чтобы туда вписаться. Ну, или провода позиция джуниора и хочется убедиться, что есть смысл брать.
источник

SM

Serge Matveenko in SPb Python
pragus
но да, можно и итоговые строки сразу формировать
Конечно, нужно сразу. И проще, и эффективнее.
источник

SM

Serge Matveenko in SPb Python
pragus
а в чем костыль? string.find сделан на си, а бежать питоном по строке накладнее )
А что ты найдешь файндом?
В теории, можно найти все вхождения экранирования, все вхождения разделителя, выкинуть лишние разделители, а потом нарезать в цикле по этим индексам.
Но регекс быстрее будет всё равно:)
источник

p

pragus in SPb Python
Serge Matveenko
А что ты найдешь файндом?
В теории, можно найти все вхождения экранирования, все вхождения разделителя, выкинуть лишние разделители, а потом нарезать в цикле по этим индексам.
Но регекс быстрее будет всё равно:)
на самом деле вопрос дискуссионый, что хорошо для собеседования.

файл можеть быть больше чем у тебя памяти и тогда пробег с формированием итоговых строк кончится oom ;)
а с регекспами может быть интересно )
источник

SM

Serge Matveenko in SPb Python
pragus
на самом деле вопрос дискуссионый, что хорошо для собеседования.

файл можеть быть больше чем у тебя памяти и тогда пробег с формированием итоговых строк кончится oom ;)
а с регекспами может быть интересно )
Ну их можно и сразу писать куда-то. Но, думаю, можно рассчитывать, что если исходные данные влезли, то и результат влезет.
источник

SM

Serge Matveenko in SPb Python
pragus
на самом деле вопрос дискуссионый, что хорошо для собеседования.

файл можеть быть больше чем у тебя памяти и тогда пробег с формированием итоговых строк кончится oom ;)
а с регекспами может быть интересно )
В задании написано, что рекомендуется использовать регексы
источник

SP

Stepan Potapov in SPb Python
Про что вообще спрашивают питонистов на собеседованиях на позицию мидл разработчик,  ну в среднем
источник

S

Stan in SPb Python
Stepan Potapov
Про что вообще спрашивают питонистов на собеседованиях на позицию мидл разработчик,  ну в среднем
Зачем нужны декораторы и генераторы)
источник

T

Tumur in SPb Python
А у джуна?)
источник

SP

Stepan Potapov in SPb Python
Stan
Зачем нужны декораторы и генераторы)
все?  декораторы, генераторы, и сразу зп 100+ ?
источник

KM

Kristina Mironova in SPb Python
Привет! А кто-нибудь с peewee работает? Использую с sqlite. Есть ли другой способ настроить проверку уникальности записи в текстовом поле кроме unique=True? Потому что если запись уже существует в базе, это ограничение вызовет ошибку IntegrityError а хотелось бы аналог INSERT INTO OR IGNORE, то есть добавить запись если такой нет, а если есть - молча не добавлять.
источник

SM

Serge Matveenko in SPb Python
Kristina Mironova
Привет! А кто-нибудь с peewee работает? Использую с sqlite. Есть ли другой способ настроить проверку уникальности записи в текстовом поле кроме unique=True? Потому что если запись уже существует в базе, это ограничение вызовет ошибку IntegrityError а хотелось бы аналог INSERT INTO OR IGNORE, то есть добавить запись если такой нет, а если есть - молча не добавлять.
Поле или запись добавить? Почему бы не ловить это исключение и не подавлять его? Если мы точно уверены, что в этом случае мы не хотим ничего делать.
источник

KM

Kristina Mironova in SPb Python
Serge Matveenko
Поле или запись добавить? Почему бы не ловить это исключение и не подавлять его? Если мы точно уверены, что в этом случае мы не хотим ничего делать.
запись, да.
Можно ловить, но некрасиво получается.. у меня не одно такое поле, пока что два, где нужны уникальные записи. А потом может будут еще. Мне кажется неправильным для каждой записи каждого поля ловить и подавлять эту ошибку.
источник

SM

Serge Matveenko in SPb Python
Kristina Mironova
запись, да.
Можно ловить, но некрасиво получается.. у меня не одно такое поле, пока что два, где нужны уникальные записи. А потом может будут еще. Мне кажется неправильным для каждой записи каждого поля ловить и подавлять эту ошибку.
Ну, это не лучшее решение, да
источник

SM

Serge Matveenko in SPb Python
Kristina Mironova
запись, да.
Можно ловить, но некрасиво получается.. у меня не одно такое поле, пока что два, где нужны уникальные записи. А потом может будут еще. Мне кажется неправильным для каждой записи каждого поля ловить и подавлять эту ошибку.
Можно внутри одной транзакции во взрослой базе делать select , проверять и делать insert.
В postgres можно явно сказать базе что делать, если запись уже есть, которую вставляем.
Sqlalchemy даже это позволяет в коде написать.
источник

SM

Serge Matveenko in SPb Python
Serge Matveenko
Можно внутри одной транзакции во взрослой базе делать select , проверять и делать insert.
В postgres можно явно сказать базе что делать, если запись уже есть, которую вставляем.
Sqlalchemy даже это позволяет в коде написать.
Во времена докера и docker-compose нет уже большого смысла использовать sqlite локально, потому что postgres теперь так же просто использовать:)
источник

SM

Serge Matveenko in SPb Python
Serge Matveenko
Во времена докера и docker-compose нет уже большого смысла использовать sqlite локально, потому что postgres теперь так же просто использовать:)
А если начинает хотеться странного, то либо делаем ручками, либо идём к orm, который умеет, что нам нужно.
источник

SM

Serge Matveenko in SPb Python
Serge Matveenko
А если начинает хотеться странного, то либо делаем ручками, либо идём к orm, который умеет, что нам нужно.
Но предупреждаю: sqlalchemy -- очень глубокая "кроличья нора".
источник

KM

Kristina Mironova in SPb Python
Serge Matveenko
Можно внутри одной транзакции во взрослой базе делать select , проверять и делать insert.
В postgres можно явно сказать базе что делать, если запись уже есть, которую вставляем.
Sqlalchemy даже это позволяет в коде написать.
спасибо за совет, попробую другие инструменты) peewee взяла из любопытства.
источник

S

Stan in SPb Python
Serge Matveenko
Можно внутри одной транзакции во взрослой базе делать select , проверять и делать insert.
В postgres можно явно сказать базе что делать, если запись уже есть, которую вставляем.
Sqlalchemy даже это позволяет в коде написать.
sqlite с недавних пор в upsert тоже умеет https://www.sqlite.org/lang_UPSERT.html
источник