Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: sharpcoder Россия  
Дата: 21.05.19 09:00
Оценка: 30 (3) +2
Здравствуйте, Lazytech, Вы писали:

L>С прошлого года постепенно осваиваю Python 3. Хотелось бы поучаствовать в качестве волонтера (то есть бесплатно) в небольших проектах малой или средней сложности, не всё же тренировочные задачки решать. Похвастаться знанием других актуальных языков программирования, к сожалению, пока не могу, да и опыта практической работы в каких-либо предметных областях у меня пока нет.


Привет!

Я тебе честно скажу свое мнение.
Я посмотрел задачки которые ты решаешь, видно что ты дружишь с простыми алгоритмами, это плюс. А минус в том, что питом сам по себе не сильно востребован, а востребованы в некоторых нишах, в которых нужно знание предметной области. Например машинное обучение делается на питоне, но у тебя в этой области шансов нет — нужна сильная математика, которой у тебя нет и скорее всего никогда в жизни уже не будет.

Ты изучил основы программирования, теперь самое время сделать простую вещь:
1. Потратить пару месяцев для самостоятельного изучения востребованного языка, в котором не нужен сильный технический бэкграунд.
— я тебе рекомендую C# или Java. Поверь, в них нет ничего сложного. Лучше Java (не буду углубляться в детали, но можешь мне поверить).

2. Через 2-3 месяца найти работу джуниором в офисе. Удаленку не рекомендую — очень медленное развитие.

3. Пока работаешь джуниором параллельно изучать библиотеки, в первую очередь по работе с вебом, базам данных.
Также обязательно осваиваешь SQL. И алгоритмы и структуры данных. Потом еще паттерны.
И вот через 2 года ты мид, а еще через 3 года — сеньер. И можешь работать в офисе или удаленно с примерно одинаковой зарплатой.


Твоих основ достаточно чтобы проделать этот путь, приведенные примеры твоего кода это доказывают. У тебя 100% это все получится. Но слезь плз с питона, не комплексуй, ты все осилишь.

Я тебе даже завидую. Я помню, как я связал свою жизнь с кодингом, и как после этого круто взлетела моя жизнь! А ты сейчас можешь пережить этот опыт взлета, это круто Успехов.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Masterspline  
Дата: 06.05.19 08:08
Оценка: 9 (1) +4
M>>Знакомая есть, в прошлом переводчиком работала, затем прошла курсы тестировщиков от одного крупного оутсорсера, и устроилась работать там же.
M>>Поищи программы подготовки солдат в крупных конторах своего города.

L>Спасибо, конечно, но профессия тестировщика меня мало привлекает.


Это реальный и довольно простой способ "зайти в IT", а точнее в программисты. В тестировщики берут много кого, начальных знаний будет достаточно из какого-нибудь онлайн курса. Дальше тебя научат на рабочем месте (потому что в крупные конторы берут народ пачками с расчетом на обучение). Дальше работаешь 1-1.5 года ручным тестировщиком (тестируешь интерфейсы тыкая на кнопки руками), а заодно разбираешься, что нужно знать тестировщику-автоматизатору (это которые пишут тесты на каком-то языке). Подтягиваешь нужные навыки (программирование на чем-то). Дальше переходишь в отдел автоматизации тестирования в той же конторе, где тебя уже знают, как толкового и усердного работника. После чего повышаешь уже навыки программирования на нужном языке и фреймворках. Переходишь в программисты (в той же конторе).

Преимущество этого метода в том, что порог входа довольно низкий, а дальше ты будешь точно знать что именно изучать (самообучение будет проходить по максимально прямому пути), ну и вопросы будет кому задать... Придется, правда, с тестированием освоиться, но этот способ быстрее и надежнее, чем пилить собственные проекты на github и убеждать в чем-то рекрутера, который ни при каком раскладе не захочет брать junior'а за 30.
Re[5]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: L.K. Марс  
Дата: 04.05.19 17:20
Оценка: -3 :))
L>Я переучиваюсь не с программиста на программиста, а с переводчика на программиста.

Да не важно. Любой человек, не знающий французского языка, за месяц изучит его на "джунском" уровне. Приветствия, краткий рассказ о себе, общение в аэропорту, магазине, гостинице, больнице, "спасите, меня грабят", "мадемуазель, как пройти в библиотеку" и т.п.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастер
От: Anton Batenev Россия https://github.com/abbat
Дата: 04.05.19 17:58
Оценка: 9 (1) +3
Здравствуйте, Lazytech, Вы писали:

L> LK>А вообще, если и осваивать что-то с нуля, то что-то новое: какой-нибудь Rust или Golang.

L> К сожалению, поезд не только ушел, но и успел набрать ход. Мне бы для начала с одним языком разобраться.

ИМХО, ты выбрал не совсем тот язык для старта. Тот питон, который лет 10 назад рекомендовался как язык для начинающих, и современный питон с его экосистемой — это два разных языка. Плюс за время своего существования он успел обзавестись некоторым количеством "исторически сложившихся недоразумений" (aka legacy), которые не способствуют улучшению восприятия.

Если уж начинать, то начинать вместе с молодым языком и расти вместе с ним. Rust, конечно, всерьез рассматривать не стоит, а вот golang был бы в самый раз — простой, развивающийся, востребованный на рынке, имеющий хороший потенциал.

Тем не менее, самый лучший совет по саморазвитию тебе уже дали — открыть github и начать свой проект(ы). При чем крайне желательно, чтобы результатами работы этого проекта ты бы пользовался сам ("Eat your own dog food").
Бэкапимся на Яндекс.Диск
Re[3]: Кому-нибудь требуется начинающий питонист в подмастер
От: L.K. Марс  
Дата: 04.05.19 11:21
Оценка: 4 (1) +1 -1 :)
L>С прошлого года постепенно осваиваю Python 3.
L>Мне бы для начала с одним языком разобраться.

С прошлого года прошло уже почти полгода. Азы языка программирования (любого) учатся за неделю. А дальнейший опыт получается только в серьезной коммерческой разработке (на полную ставку и за бабки).
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 06.05.19 07:37
Оценка: 3 (1) +3
Здравствуйте, Lazytech, Вы писали:

L>Спасибо за совет! Вообще-то, если не ошибаюсь, начинающему программисту гораздо проще освоить Python, чем Java. (Про Go ничего сказать не могу, пока даже не смотрел.) По идее, по сложности синтаксических конструкций Java мало уступает C++ и подобным ему языкам.


Java несравненно проще C++ и уж точно не сложнее чем Python. Разве что суровый Java-энтерпрайз и не менее суровый зоопарк систем сборки делает процесс вхождения в Java немного сложнее чем в Python.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: vsb Казахстан  
Дата: 04.05.19 12:00
Оценка: 12 (2) +1
Здравствуйте, Lazytech, Вы писали:

Z>>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.


L>Я пока слабо себе представляю, как это делается...


Ты же переводчик. Придумай программу, которая тебе поможет. GUI на пайтоне пишется с помощью PyQt и работает на любой операционной системе. Вот и напиши, и тебе полезно будет и практических навыков получишь выше крыши и есть шанс, что полезная программа выйдет, т.к. ты профессионал и лучше остальных знаешь, что важно, а что не очень. Тем более с английским у тебя точно проблем нет, поэтому с любым вопросом мучай Google и StackOverflow, всё должно получиться.
Re[12]: Кому-нибудь требуется начинающий питонист в подмастер
От: a7d3  
Дата: 19.05.19 18:46
Оценка: 6 (2) +1
Здравствуйте, takTak, Вы писали:

T>моя же идея в том, что программировать с самого начала правильно — очень сложно: надо знать кучу костылей условностей объектно-ориентированного программирования, стопитьсот пэттернов, принципов и т.п. (которые тебе не помогут а будут лишь мешать, если ты вдруг решишь программировать функционально, что сейчас вроде как модно ), поэтому мой путь — от простого — к сложному, вначале пишешь говноприложение, в котором никто , кроме тебя не может разобраться, потом после написания 5 говноприложений начинаешь работать с небольшой командой, где ты впервые увидишь, как пишут другие и придёшь в ужас от того кода, что пишешь сам, потом ты начинаешь читать всякие умные книжки про clean code, gof и т.д. , потом начинаешь работать в больших командах ...этот путь менее крут по сложности и уклону, поэтому одолеть его могут многие, но и по времени он займёт много больше времени , при этом и вероятность инфаркта много меньше


Говорить о модности функционального программирования, но при этом упоминать работу в больших командах?
Современность такова, что большими стали считаться команды по 9-11 человек, состоящие из двух «обычных» по пять-шесть. И такова она уже лет 15 с лихом.

Да, работа в коллективе на проекте нужна для того, чтобы посмотреть как-обычно-делают-профи. Чтобы выйти из состояния вечного самоучки, коих пруд-пруди закостеневших среди фрилансеров. Но далеко не всякого возьмут в команду с профи, т.е. надо изрядно напрячься, чтобы таки вписаться. Причём, много чего осмыслить, чтобы выбирать грамотно, а не вляпаться в какую-то хрень с дуростью, вроде «работать в нашей компании большая часть».

В целом же, мастерство приходит с практикой. Человек не должен бояться или комплексовать занимаясь чем-то практическим. Инженер формируется по мере тех решений, что ему приходится создавать и реализовывать. Только после этого появляется осознание, что такое программная инженерия. Какие подходы в ней существуют, где и как они применимы.

Само по себе умение программировать среди инженеров стало чем-то вроде умения пользоваться калькулятором или текстовым редактором. Востребовано как среди людей специализирующихся на программной инженерии, так и тех инженеров, что создаёт мосты с виадуками или электрические машины с генераторами и электроприводами.
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
От: L.K. Марс  
Дата: 04.05.19 12:33
Оценка: 17 (2)
vsb>>Ты же переводчик.

Вот этого я не понял. Зачем переводчику лезть в кодописание? Занимайся своим делом и зарабатывай бабло. Или спрос на переводы резко упал?

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

Еще можно закодить сайтик по изучению языков. Такое тоже уже есть, но тоже можно сделать лучше.

А само кодописание — это переменные, объекты, функции, параметры, условные операторы и циклы. Ничего сложного.
Re[4]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 23.05.19 03:50
Оценка: 13 (2)
Здравствуйте, sergey2b, Вы писали:

S>у этой книги есть один плюс

S>она дает основы и задачи по каждой главе, таким образом к ее окончанию ты умеешь программировать, в книги 200 страниц

Я уже умею программировать, только не на C, а на Python.

S>а какая книжка по Python тебе понравилась, у меня на следующей недели собеседование а я на Python не писал лет 7


Think Python 2nd Edition by Allen B. Downey

Также порекомендую эти лекции:
2017-2018 Алгоритмы и структуры данных на Python 3
Re[4]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Masterspline  
Дата: 05.05.19 16:25
Оценка: 11 (2)
Z>>>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.

M>>Участвовать в чужом проекте гораздо более продуктивно. Только обязательное условие, чтобы старшие товарищи были готовы к тому, что в проекте есть неопытный разработчик и временами наставляли на путь истинный. Времени на это тратится довольно мало, но большинство людей в принципе не готовы напрягаться и кому-то что-то объяснять (в чем косяк и как его исправить, а также, с какими темами нужно разобраться в первую очередь).


Z>в том то и дело, что это утопия. поэтому с практической точки зрения, быстрее начать делать свое, чем ждать милости кого то другого. если хочется палки-погонялки, то можно пойти на курсы, там будет преподаватель, который будет контролировать и наставлять на путь истинный.


В мире C++, например, есть LibreOffice, где разработчики готовы к приему новичков. Есть и документация "с чего начать" и специальный набор простых задач, где идет обсуждение в трекере, как их решать, но их специально оставляют новичкам. Так что в мире C++ это реальность, а не утопия.

И суть чужого проекта не в палке-погонялке, а в том, что ты сам будешь использовать знакомые тебе технологии в знакомых тебе сферах. Чужой проект, как и коммерческая разработка заставит решать задачи интересные не тебе, а платежеспособному заказчику, изучать технологии интересные не тебе или преподу-балаболу с курсов (созданных, чтобы срубить бабла и продать перспективных учеников работодателю), а технологии, за которые платят, т.е. гораздо ближе к коммерческой реальности. Кроме того, тебя самого может потянуть на технологии, популярные в 90-х, потому что они выглядят круто, а у тебя не хватает кругозора это распознать (типа распределенных транзакций), которые в современном мире не используются (заменены eventual consistency). Сторонний человек тебя остановит, как и от использования других неудачных решений.

Соглашусь, что начать свой проект проще, чем найти чужой, а также, что свой проект тоже будет полезен.
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: L.K. Марс  
Дата: 04.05.19 10:54
Оценка: 9 (1) -1
https://github.com/python

А вообще, если и осваивать что-то с нуля, то что-то новое: какой-нибудь Rust или Golang.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: zverjuga Беларусь  
Дата: 04.05.19 12:45
Оценка: 9 (1) -1
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, zverjuga, Вы писали:


Z>>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.


L>Я пока слабо себе представляю, как это делается...


как ни странно, но это даже и к лучшему. если ты самостоятельно разберешься с этим, то получишь к опыту еще +100 очков, чем если тебя посадят на уже готовый проект.
проклятый антисутенерский закон
Re[3]: Кому-нибудь требуется начинающий питонист в подмастер
От: koenig  
Дата: 04.05.19 14:23
Оценка: 9 (1) +1
LK>>А вообще, если и осваивать что-то с нуля, то что-то новое: какой-нибудь Rust или Golang.

L>К сожалению, поезд не только ушел, но и успел набрать ход. Мне бы для начала с одним языком разобраться.


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

питон продают в комплекте с чем-то, а не сам по себе — обучение скайнет убивать человеков, матан всякий, порносайтостроение и т.п.
надо выбирать.
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: jahr  
Дата: 04.05.19 14:39
Оценка: 9 (1) +1
Здравствуйте, Lazytech, Вы писали:

L>Буду рад любым советам.


Забавная копипаста по теме: https://felixit.blog/2018/08/01/kak-zarabotat-bolshe/

А вообще, мне кажется, что Вы слишком в себе неуверены. Это неправильно, наглость и раздражающая окружающих самоуверенность — необходимые для программиста качества.) Ищите работу джуна, если есть возможность — то в офисе, если нет — на удаленке. Не обламывайтесь после того, как Вас завернут на нескольких первых собеседованиях, после попыток десяти — наверняка найдете что-то.
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Mug0fT  
Дата: 06.05.19 05:48
Оценка: 9 (1) +1
Здравствуйте, Lazytech, Вы писали:

L>С прошлого года постепенно осваиваю Python 3. Хотелось бы поучаствовать в качестве волонтера (то есть бесплатно) в небольших проектах малой или средней сложности, не всё же тренировочные задачки решать. Похвастаться знанием других актуальных языков программирования, к сожалению, пока не могу, да и опыта практической работы в каких-либо предметных областях у меня пока нет.


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


L>Буду рад любым советам. Если задал неуместный вопрос, прошу извинить.


Не тот язык ты выбрал для изучения ИМХО.
Небольшая история:
Изучаю программирование достаточно давно, но свою первую работу я получил 5 лет назад в Германии. Причем занимался я в основном С/С++ программированием + немного питоном. Недавно мне стало так тошно работать над теми проектами, с которыми я работал, что я решил стать питонистом, тк надеялся работать вплотную с машинным обучением. Искал я работу где-то 3 месяца, успел отказаться от 2х офферов на С++ программиста (случаино получилось), и вроде ПОЧТИ получил работу на Питон программиста (но нет, что-то им не понравилось). После этого я еще раз окинул взглядом рынок вакансии и понял, что интереснои программистскои работы для Питонистов не так уж и много, и почти везде требуется знание предметнои области, но ОЧЕНь много интереснои работы (да и просто ОЧЕНь) много работы есть для Ява прграммистов.
В итоге я за 2 недели подтянул знания Явы, и буквально за 5-6 недель пулучил 3 оффера, один из которых оказался очень интересным.
Вывод: учи Ява, много работы даже для новичков.
Вакансий для Golang программистов почти нету (в Германии по краиней мере).
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
От: AlexGin Беларусь  
Дата: 06.05.19 19:44
Оценка: 9 (1) +1
Здравствуйте, Lazytech, Вы писали:

L>Признаюсь, не знал. Будучи дилетантом, о синтаксисе C++ сужу по приобретенной в начале века книге Страуструпа, а о синтаксисе Java — по образцам кода, что попадаются на программистских сайтах.


Начинать изучение C++ по книгам Страуструпа — очень сложное и медленное дело.
Есть много писателей, доходчиво и популярно раскрывающих основы языка C++ (Герберт Шилдт, Том Сван, Джесс Либерти, из отечественных Алексей Васильев).
По мере изучения C++ и погружения в тему, станете понимать Бьерна Страуструпа, Скотта Майерса, Герба Саттера и Андрея Александреску.

L>Судя по обрывкам сведений, почерпнутым мною из статей, это чуть ли не главная фишка Java.


Garbage Collection — это фишка не только Java.
Но, как всегда, имеется две стороны медали — приложения с автоматической GC имеют более длительный отклик на события.
Поэтому, для задач с малым временем отклика и высокой производительностью — по-прежнему актуален C++.

L>Спасибо за совет, только я пока недостаточно крут для таких серьезных технологий.

На самом деле, в C# и .NET нету ничего сложного. Это проще, нежели тот же C++ (никакой крутости не надо).
Как бонус — синтаксис похожий на все си-подобные языки.

L>Как мне кажется, Python на первых порах попроще будет.


Дело в том, что Python (ИМХО) как язык программирования, всё же узкоспециализирован.
Он хорош для тех, кто свободно владеет понятиями высшей математики.
Тогда, разработка концептуальной (математической) системы проводится на Python, а реализация — часто на C/C++.
Также на Python нередко реализуются серверные приложения, так как в нём кроссплатформенность — пряио из коробки.

L>А мне, наоборот, нравится простой синтаксис Python.


Синтаксис любого языка — это дело привычки. Со временем, привыкните к синтаксису C#.
Тем более, что в Visual Studio работать на C# — просто удовольствие.

Более того, к синтаксису привыкаешь быстрее, чем сам осознаешь этот факт
Отредактировано 06.05.2019 19:53 AlexGin . Предыдущая версия . Еще …
Отредактировано 06.05.2019 19:47 AlexGin . Предыдущая версия .
Re[13]: Кому-нибудь требуется начинающий питонист в подмастер
От: jahr  
Дата: 20.05.19 10:11
Оценка: 9 (1) :)
Здравствуйте, Lazytech, Вы писали:

L>Увы и ах. К примеру, я не знал, что в данном проекте надо использовать специальные питоновские функции вида __function__ (которые, по сути, переопределяют существующие функции). Более того, я вообще ни разу их не использовал и даже не предполагал, что это может потребоваться в первом же проекте.


Я думаю, на этой стадии достаточно прочитать книжку типа этой — https://habr.com/ru/company/piter/blog/418761/ (там купон на скидку, поэтому ссылка на хабр, а не напрямую к издательству) и идти программировать.) В голове, конечно, останеся не вся книжка, но того, что останется, — достаточно.)
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: zverjuga Беларусь  
Дата: 04.05.19 11:15
Оценка: 3 (1) +1
можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.
проклятый антисутенерский закон
Re[5]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: zverjuga Беларусь  
Дата: 04.05.19 14:27
Оценка: 3 (1) +1
Здравствуйте, aik, Вы писали:

aik>Он протупит в начале слишком много и потеряет надежду, хороший туториал будет более чем в тему.


тутор — тоже вариант. но вообще, если каждый день делать пусть и маленький, но шажочек (топтание на месте — это тоже шажочек), то через год ты оглянешься и увидишь, что прошел достаточно длинный путь. если вообще ничего не делать, тогда прогресса не будет точно.
проклятый антисутенерский закон
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Masterspline  
Дата: 05.05.19 01:03
Оценка: 3 (1) +1
Z>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.

Участвовать в чужом проекте гораздо более продуктивно. Только обязательное условие, чтобы старшие товарищи были готовы к тому, что в проекте есть неопытный разработчик и временами наставляли на путь истинный. Времени на это тратится довольно мало, но большинство людей в принципе не готовы напрягаться и кому-то что-то объяснять (в чем косяк и как его исправить, а также, с какими темами нужно разобраться в первую очередь).
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: zverjuga Беларусь  
Дата: 05.05.19 08:28
Оценка: 3 (1) -1
Здравствуйте, Masterspline, Вы писали:

Z>>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.


M>Участвовать в чужом проекте гораздо более продуктивно. Только обязательное условие, чтобы старшие товарищи были готовы к тому, что в проекте есть неопытный разработчик и временами наставляли на путь истинный. Времени на это тратится довольно мало, но большинство людей в принципе не готовы напрягаться и кому-то что-то объяснять (в чем косяк и как его исправить, а также, с какими темами нужно разобраться в первую очередь).


в том то и дело, что это утопия. поэтому с практической точки зрения, быстрее начать делать свое, чем ждать милости кого то другого. если хочется палки-погонялки, то можно пойти на курсы, там будет преподаватель, который будет контролировать и наставлять на путь истинный.
проклятый антисутенерский закон
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 06.05.19 07:41
Оценка: 3 (1) +1
Здравствуйте, L.K., Вы писали:

LK>https://github.com/python


LK>А вообще, если и осваивать что-то с нуля, то что-то новое: какой-нибудь Rust или Golang.


Вот не надо вредных советов человеку давать. Язык для хипстеров с дико сложной системой управления владением и около-нулевым предложением вакансий и язык для разработки сервисов всех мастей и размеров с сильно ограниченным количеством вакансий ну очень плохие варианты для новичка.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 06.05.19 07:42
Оценка: 3 (1) +1
Здравствуйте, Lazytech, Вы писали:

L>Спасибо, конечно, но профессия тестировщика меня мало привлекает.


SDET – фактически программист на Python с акцентом на тесты. У них вечный голод до сколь-нибудь вменяемых кандидатов.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 19.05.19 06:48
Оценка: +2
Здравствуйте, Lazytech, Вы писали:


L>Спасибо за предложение, да только вот, как выяснилось при первом же столкновении с реальным проектом, я и Питон-то знаю очень и очень слабо.


Зря отказываешься, джуниором будешь учиться на порядок быстрее.
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 22.05.19 16:39
Оценка: +2
Здравствуйте, sergey2b, Вы писали:

S>есть еще вариант прочесть и выполнить все задачи из

S>керниган и ритчи язык программирования си

S>я могу дать решения, если решишь их порешать

S>книжка систематизированно дает основы, с примерами и задачами

Спасибо, я бы все-таки предпочел для начала изучить более современный язык. Пока смотрю в сторону JavaScript. Возможно, когда-нибудь освою и C, если понадобится.
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
От: VladCore  
Дата: 23.05.19 13:55
Оценка: 12 (1)
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, Anton Batenev, Вы писали:


AB>>ИМХО, ты выбрал не совсем тот язык для старта. Тот питон, который лет 10 назад рекомендовался как язык для начинающих, и современный питон с его экосистемой — это два разных языка. Плюс за время своего существования он успел обзавестись некоторым количеством "исторически сложившихся недоразумений" (aka legacy), которые не способствуют улучшению восприятия.


L>Я осваиваю Python 3.x, и «исторически сложившихся недоразумений» пока не заметил. Возможно, имеются в виду какие-то особенности синтаксиса, позаимствованные из языка C ради большего удобства использования его библиотек?


Я тоже первым делом подумал почему Питон?

Исторически питон любят за GPGPU интерграцию. Это все что я знаю про питон.
Что нужно знать когда идет выбор языка это
1) как на нем реализованы алгоритмы и структуры данных. Т.е. помимо языка надо эти две вещи учить.
2) Есть для него клёвый Unit-Test Runner?
3) Есть ли гайды которые приятно читать
4) Насколько просто на нем игтерируется платформа — смартфоны, http-сервер, доступ к БД.

Последний выриант легко гуглится — https://docs.python-guide.org/scenarios/db/
И тут как раз все плохо — очень много реализаций и есть большой шанс что новичек выберет не тот framework. Может это неофициальный гайд, тогда простительно.

В пику питону В .NET Core такой проблемы с БД нет — там Entity Framework рулит и если ты его начнеш например учить и использовать в pet-проекте, то это в люьом случае тебе пригодится даже если ты БД и доступ к БД не будеш в основном проектировать.

По четвертому пункту посоветую программирование под iOS. Язык все равно какой — хоть Swift хоть ObjC. По своему опыту ты можеш начинать кодить сразу как прочитал очередную главу.
Re[6]: Кому-нибудь требуется начинающий питонист в подмастер
От: Michael  
Дата: 12.06.19 17:20
Оценка: 12 (1)
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, Michael, Вы писали:


M>>если есть желание взяться за маленькие но реальные задачи — пишите (html(bootstrap),vue.js).


L>Буду рад попробовать, но должен предупредить, что не знаю ни bootstrap, ни vue.js, ни какие-либо другие веб-технологии. Пока что продолжаю грызть JavaScript и не вполне уверен, что полученных знаний хватит для решения реальных задач. Говорю так потому, что у меня уже был печальный опыт с Python, когда я даже не знал, какие вопросы задавать наставнику для того, чтобы разобраться в теме.



я так подозреваю что ни один из знакомых мне фронтендщиков не сможет написать нахождение НОД. Потому что не надо это никому кроме преподов.
вообщем вот вам задача простая, попробуйте сделать (и напишите лучше в личку).

https://docs.google.com/document/d/1uZ145tyr9td1e6pIlhCgwMsZLkOqR82020I_QOHH4F0/edit?usp=sharing
Re[9]: Кому-нибудь требуется начинающий питонист в подмастер
От: sergey2b ЮАР  
Дата: 04.05.19 14:20
Оценка: 9 (1)
Здравствуйте, Lazytech, Вы писали:



LK>>Я бы задумался о том, почему исчезли заказы на перевод. Избыток переводчиков на рынке? Все начали переводить гугло-переводчком?


L>Причин, полагаю, несколько, но не буду оффтопить. Если интересно, можно обсудить этот вопрос в соответствующем разделе.


давай
Lazytech отличный переводчик но
оплатить его услуги онлайн это реальный геморой
моя бывшая жена работает переводчиком, постоянно находит перевод документации в СПб, Lazytech надо себя активно рекламировать на hh для СПб и Москвы

в качестве простого проекта на python
поиск с учетом русской и английской граматики (идею для первой версии могу подкинуть)
интеграция python куда нибудь
пройти курс онлайн совсеми домашними заданиями и потом активно спамить dice на поиск удаленной работы
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: a7d3  
Дата: 05.05.19 11:23
Оценка: 9 (1)
Здравствуйте, Lazytech, Вы писали:

L>Буду рад любым советам. Если задал неуместный вопрос, прошу извинить.


Тред не читал, но и осуждать не осуждаю.

Есть книжка:
«Programming Collective Intelligence. Building Smart Web 2.0 Applications» By Toby Segaran, Publisher: O'Reilly Media.
Выходила на русском как Тоби Сегаран «Программируем коллективный разум», вот анонс с мини обзором содержимого.
Книженция в pdf идеального качества давно лежит на торрентах и много где ещё.

Примеры кода на питоне, а рассматриваются такие вещи, ради которых и на которых учатся программированию в современно мире. Например, как именно сделать систему рекомендаций пользователю — книг, фильмов, музыки — чтобы оно действительно работало. Это не такое скучное и оторванное от реальности, как использование пяти алгоритмов сортировки массивов встроенными средствами языка программирования. Когда про них жуют сотню страниц, но у читающего новичка не появляется осознания как это применить к системе-сервисе для повседневной жизни людей.

Т.е. читать, набираться идей чего хотелось бы сделать — реализовывать через PyQT или онлайн ресурс собрав веб-сайтик. После этого будет о чём поговорить с людьми на интервью-собеседованиях.

Потенциально, в перспективе может даже появиться осознание, что незачем привязывать к конкретному языку. Что искать работу по этому принципу — это как умение работать сугубо лопатами строго одного конкретного вида-типа. Деньги платят за другое — то самое умение использовать разные подходы в некой предметной сфере, что описаны в подобных книжках.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастер
От: a7d3  
Дата: 05.05.19 13:24
Оценка: 9 (1)
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, a7d3, Вы писали:


A>>Есть книжка:

A>>«Programming Collective Intelligence. Building Smart Web 2.0 Applications» By Toby Segaran, Publisher: O'Reilly Media.

L>Спасибо, попробую глянуть. Правда, опасаюсь, что для меня это будет слишком сложно из-за крайне слабого знания Web-технологий.


Технологии создания веб-сайтов или веб-ресурсов там и рядом не ночевали. Автор вещает про те вещи, которые являются начинкой этих современных веб-сервисов.
Не говорит как написать веб-сайт показывающий видео-по-запросу, типа Netflix, а рассказывает о том, каким образом такие сервисы конкурируют меж собой — за то, кто лучше решает проблему пользователя «чего сегодня посмотреть». Когда у человека есть лишь два часа перед отходом ко сну и хочется их тратить ли на то кино, которое заведомо понравится.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастер
От: AlexGin Беларусь  
Дата: 06.05.19 11:52
Оценка: 9 (1)
Здравствуйте, Lazytech, Вы писали:

L>Спасибо за совет! Вообще-то, если не ошибаюсь, начинающему программисту гораздо проще освоить Python, чем Java. (Про Go ничего сказать не могу, пока даже не смотрел.) По идее, по сложности синтаксических конструкций Java мало уступает C++ и подобным ему языкам.


Java сильно уступает C++ по сложности синтаксиса.
Я бы скорее сравнивал C# и Java, нежели C++ и Java.

Также следует понимать и тот факт, что как и все современные языки, Java имеет автоматическую сборку мусора (GC — Garbage Collection).
На C++ за сборкой мусора должен следить человек (разработчик).

P.S. Не знаю, как в России, но у нас в Минске C# в последнее время очень популярен — в смысле наличия большого выбора разных вакансий.
Может быть Вам, уважаемый Lazytech, стоило бы посмотреть в сторону освоения C# и платформы .NET?

P.P.S. Дополнительный бонус при разработке на C# (по сравнению с Питоном) — не нужно заморачиваться на пробелы/отступы/табуляции —
что лично меня напрягает, когда приходиться писать на Питоне.
Отредактировано 06.05.2019 11:57 AlexGin . Предыдущая версия .
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: L_G Россия  
Дата: 06.05.19 16:16
Оценка: 9 (1)
Lazytech,

лет 15 назад python почти всегда упоминался в связке с django (web framework).
сейчас последний как-то подрастерял популярность, но в своей области вроде еще лидирует.
в москве hh.ru нашел 218 вакансий с упоминанием django, что очень мало, но хоть что-то есть.

думаю, в любом случае лучше сразу выбрать одну из конкретных областей применения питона и затачиваться под неё.
из них датасаенс и мэшин-лёнинг явно труднее освоить, чем веб, а скриптинг и автоматизация тестирования — как бы не основные, а к чему-то прилагающиеся.
то есть остается веб, следовательно, есть смысл освоить django.

как упражнение логично сделать свой сайтик, представляющий собой интерфейс к БД (варианты: система багтрекинга, мини-CRM или что-то более знакомое и полезное для себя — хотя бы личная записная книжка со списком дел/расписанием, списком контактов и т.д.)

далее можно сразу начать искать работу или зарегистрироваться и поупражняться с возможно трешевой (с учетом необходимости демпинговать поначалу), но реальной работой на фриланс-биржах (upwork, кто-нибудь посоветует что-то еще?)

как вариант — поучаствовать в разработке/багфиксинге этого самого django (проект открытый).
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
От: takTak  
Дата: 19.05.19 12:03
Оценка: 9 (1)
L>К сожалению, мне недостает фундаментальных знаний по программированию вообще, а тут предлагается изучать с нуля другой язык программирования. Мне бы для начала с одним разобраться...


раз такие дела, то почему ты зациклился на питоне?

на твоём месте я бы, наверное, пошёл бы на какие-нибудь курсы программирования для начинающих и параллельно искал бы рабочее место практиканта, где надо время от времени чего-то скриптить, без разницы, что это будет: javascript, vba, python...

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

а вообще, наверное, не все люди могут "программить"...
Re[9]: Кому-нибудь требуется начинающий питонист в подмастер
От: takTak  
Дата: 19.05.19 15:07
Оценка: 9 (1)
T>>"на Западе" vba используется в бизнес-сфере, как правило, непрограммистами, т.е. никто в этой среде тебя, скорее всего, всякими O(log(n)) долбать не будет, что и хорошо и плохо одновременно

L>У меня есть сомнения в том, что в наше время где-то есть сколько-нибудь значительный спрос на программистов, знающих VBA.


T>>программированием айти сфера вообще-то не заканчивается, везде очень не хватает requirements engineers , PM's и т.д.


L>В этих вопросах, к сожалению, не разбираюсь.


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


L>При чем здесь VBA? Я, в частности, не умею проектировать питоновские классы, да и вообще толком не умею делать с нуля сколько-нибудь серьезные питоновские программы.



я просто всё к чему: по жизни встречал людей, которые формально получили лычку "BS CS", а "программить" не научились, под "программить" я понимаю то, что люди могут нафигачить код, который просто-напросто работает так, как хотелось бы , имхо, вот это "программить" — это самое сложное, это реально не у всех получается, то, что ты там упоминаешь какие-то там классы — это прибамбасы, это — вторично и направлено на причёсывание того, что уже есть, т.е. таким структурированием ты можешь код внутренне лучше и , может, понятнее для других организовать, но не это главное, вот например, реализация на того, с чем ты на vba тоже, наверное, не сталкивался : https://stackoverflow.com/questions/50952482/how-to-implement-the-factory-project-pattern-in-vba тут есть и классы, и логика по созданию их инстанций, и т.д. , но не это главное, вначале должно быть что-то, пусть даже кривое, что просто работает

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

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

что касается "requirements engineers , PM's" — это не проще , чем программирование, просто этo — другая сфера деятельности, где хорошо могут работать те, кто "програмить" не умеют или не хотят, и такие, которые "могут и не хотят", тоже встречаются
Отредактировано 19.05.2019 15:17 takTak . Предыдущая версия . Еще …
Отредактировано 19.05.2019 15:12 takTak . Предыдущая версия .
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: L_G Россия  
Дата: 21.05.19 03:15
Оценка: 9 (1)
Lazytech,
ваша проблема "не умею делать с нуля сколько-нибудь серьезные питоновские программы"
в индустрии для новичка не слишком характерна, потому, что чаще всего
а) их садят на развитие/поддержку/багфиксинг проекта, в котором архитектура уже определена и большую часть работы можно делать, беря за основу имеющийся код, либо
б) они пишут, используя фреймворки, которые тоже архитектурные решения предоставляют в готовом виде.

Если пока не удается найти практику по варианту "а", то упражняться в варианте "б" можно начать самому.
Как я писал выше, django. Обучалок должно хватать. Да хоть https://www.youtube.com/watch?v=FZAO72uTj0M&list=PL0lO_mIqDDFXx5_8RmAqAmD_Cdb9DV-H5
Возможная альтернатива — flask (упоминается в 103 вакансиях на hh в Москве против 223 у django). https://python-scripts.com/flask-vs-django

Еще можно самостоятельно развиваться по варианту "а", разбираясь в чужом коде (подгонка под себя, улучшения, багфиксы).
Лучше всего найти исходники программы, которая действительно нужна или интересна самому.
Навскидку: https://github.com/mahmoud/awesome-python-applications

Еще, на фрилансе популярна работа (хоть и junk) по парсингу сайтов (автоматизация одноразового либо периодического выковыривания из страничек нужной инфы, часто с загрузкой в БД). Обычно тут полный простор для творчества (большинство заказчиков заинтересованы только в результате и вряд ли вообще заглянут в код). Для начала подумайте, не найдется ли полезная лично вам задача в этой области (тот же поиск работы. Или всякие avito, где важно оказаться первым). Можно поискать готовые решения и покопать их (по варианту "а").
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: wamaco  
Дата: 21.05.19 20:06
Оценка: 9 (1)
Здравствуйте, Lazytech, Вы писали:

L>С прошлого года постепенно осваиваю Python 3. Хотелось бы поучаствовать в качестве волонтера (то есть бесплатно) в небольших проектах малой или средней сложности, не всё же тренировочные задачки решать. Похвастаться знанием других актуальных языков программирования, к сожалению, пока не могу, да и опыта практической работы в каких-либо предметных областях у меня пока нет.


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


L>Буду рад любым советам. Если задал неуместный вопрос, прошу извинить.


Ошибка уже в самом начале. Брось Питон!!! Питон не правильно развивает.
Уже есть статистика по горе программистам-питонистам кривых ручек на всю жизнь.
Не буду вдоваться в подробности. Изучай C или Java, съэкономишь и время и силы.
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
От: Michael  
Дата: 21.05.19 20:39
Оценка: 9 (1)
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, Slawa Ms, Вы писали:


SM>>Спасибо, пошел регистрироваться...


L>Если что, я никого не агитирую зарегистрироваться именно на этих сайтах. Задачи-то везде примерно одинаковые.



я сам питонист и бекендщик и не навижу javascript и фронт-енд
но скажу так:

1) питон всегда требуется в комбинации с чем-то и этих комбинаций много, кому то нужно python+flask+mysql, python+flask+mongodb, python+django+aws и т.п.
то есть вам нужно будет знать как минимум ещё sql и скорей всего ещё nosql.

2) поэтому пройти собеседование на питон вам будет практически не реально. нигде не нужен чистый питон.
вы можете много знать про питон но вас дополнительно спросят отличие Left join от inner join в sql. Или спросят как лучше запускать серверное приложение на питоне.

допустим у меня есть простые задачи для вас на связке python+flask+mongodb, но в будущем будет облом когда вы пойдёте на собеседование где нужен будет sql или django.


3) в этом плане изучить фронтенд с javascript и трудоустроиться значительно проще. берёте изучаете один Фреймворк типа angular, react или vue.js(+1) и дела нет какая там база данных или сервер.
вы можете только дёрнуть API которые вам дадут серверные разработчики (которые на питон или php).
уровень алгоритмов которые нужны на фронтенде на порядок проще. хитросплетения многопоточного программирования? их просто нет в javascript (он однопоточен).
По мне "подъеба.ся" на собеседовании по этим фрейворкам сложнее, отчасти потому что они сами
по себе молодые эти фреймворки.

Более того — у фронтендщиков работы больше. У меня в одном проекте интерфейс приложения меняется каждые две недели, а вот бекенд очень редко, и соотношение разработчиков с перевесом на фронтенд.
Сюда же добавлю про гибридные приложения — типа когда интерфейс пишется на js/html5 и потом пакуется в "обычное" приложение для айфона.
Вообщем Chrome и простой текстовый редактор типа Atom и пишите крестики-нолики на vue.js. И уже можно пойти на собеседование (стучитесь).
Re[7]: Кому-нибудь требуется начинающий питонист в подмастер
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 06.05.19 07:52
Оценка: 6 (1)
Здравствуйте, Lazytech, Вы писали:

L>Да, во втором полугодии прошлого года у меня практически не стало заказов. В очередной раз — спрос на мои услуги и до того не раз и не два падал ниже плинтуса, причем такой период мог продолжаться по несколько месяцев. По сути, мне снова стало нечего ловить (хотя до этого я тоже особо не жировал), вот я и призадумался о своем унылом настоящем и еще более невеселом будущем.


Я пару раз за последние полгода давал твои контакты, как переводчика. Люди, которым давал, сказали, что ты больше заказы на перевод не берёшь.
Re[11]: Кому-нибудь требуется начинающий питонист в подмастер
От: takTak  
Дата: 19.05.19 17:54
Оценка: 6 (1)
L>Немного поясню, в чем дело. Опытный программист, выступающий в качестве моего наставника, попросил меня для начала сделать такой-то класс. До этого я почти никаких классов не делал (не считая очень простеньких питоновских классов, которые требовалось создать по условию пары тренировочных задач), а в основном осваивал реализацию всяких-разных несложных алгоритмов с применением базовых питоновских структур данных (списков, кортежей, словарей и т. д.). Ну да ладно, прочитал несколько статей и сделал простой класс. Думал, пойдет. Постепенно выяснилось, что я изначально всё делал не так, как надо, и практически весь мой код можно сразу выбросить. Наставник тактично мне этого не сказал (наоборот, всячески шел мне навстречу и отвечал на все мои тупые вопросы), но я и сам докумекал, хоть и запоздало, что мне надо еще погрызть теорию, а уж потом браться за реальный проект...


не совсем понял, где там с классами была твоя проблема... рефакторинг в наше время довольно быстро делается...

на самом деле, это почти философская проблема типа курицы и яйца...

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

моя же идея в том, что программировать с самого начала правильно — очень сложно: надо знать кучу костылей условностей объектно-ориентированного программирования, стопитьсот пэттернов, принципов и т.п. (которые тебе не помогут а будут лишь мешать, если ты вдруг решишь программировать функционально, что сейчас вроде как модно ), поэтому мой путь — от простого — к сложному, вначале пишешь говноприложение, в котором никто , кроме тебя не может разобраться, потом после написания 5 говноприложений начинаешь работать с небольшой командой, где ты впервые увидишь, как пишут другие и придёшь в ужас от того кода, что пишешь сам, потом ты начинаешь читать всякие умные книжки про clean code, gof и т.д. , потом начинаешь работать в больших командах ...этот путь менее крут по сложности и уклону, поэтому одолеть его могут многие, но и по времени он займёт много больше времени , при этом и вероятность инфаркта много меньше
Re[15]: Кому-нибудь требуется начинающий питонист в подмасте
От: jahr  
Дата: 21.05.19 06:29
Оценка: 6 (1)
Здравствуйте, Lazytech, Вы писали:

L>P.P.S. Программировать я, в принципе, умею. Основная проблема в том, что я пока не умею программировать, придерживаясь общих правил проектирования питоновских программ. Просто потому, что эти правила толком не усвоил.


Вам не нужно уметь проектировать, никто не даст новичку проектировать программы. Более того, новичек не сможет сам научиться "программировать, придерживаясь общих правил проектирования питоновских программ", самый правильный способ делать это — устроиться на работу джуном. Я, когда на свою первую работу устраивался, Visual Studio первый раз увидел в офисе на собеседовании, до этого только книжку читал (одну книжку, обратите внимание). Джуна берут, чтобы учить, чтобы говорить ему выучи вот это и это, а не он сам решал, что и когда ему учить.)

Посмотрите, здесь такие разные люди в один голос Вам говорят примерно одно и то же, это же неспроста?)
Re[10]: Кому-нибудь требуется начинающий питонист в подмасте
От: Lazytech Ниоткуда  
Дата: 04.05.19 15:31
Оценка: 4 (1)
Здравствуйте, sergey2b, Вы писали:

S>давай

S>Lazytech отличный переводчик но
S>оплатить его услуги онлайн это реальный геморой

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

S>моя бывшая жена работает переводчиком, постоянно находит перевод документации в СПб, Lazytech надо себя активно рекламировать на hh для СПб и Москвы


Насколько я знаю, в РФ расценки на письменные переводы, выраженные в долларах или евро, за последние несколько лет значительно снизились и имеют тенденцию к дальнейшему снижению, при этом спрос на переводы тоже заметно снизился. По крайней мере, так обстояло дело в моей языковой паре в тех тематиках, которые я переводил.

S>в качестве простого проекта на python

S>поиск с учетом русской и английской граматики (идею для первой версии могу подкинуть)
S>интеграция python куда нибудь
S>пройти курс онлайн совсеми домашними заданиями и потом активно спамить dice на поиск удаленной работы

Спасибо за совет!
Отредактировано 04.05.2019 15:40 Lazytech . Предыдущая версия .
Re[11]: Кому-нибудь требуется начинающий питонист в подмастер
От: a7d3  
Дата: 19.05.19 16:52
Оценка: 4 (1)
Здравствуйте, Lazytech, Вы писали:

L> мне надо еще погрызть теорию, а уж потом браться за реальный проект...


Есть объектно-ориентированная парадигма программирования, наравне с процедурной и функциональным программированием. А есть конкретные языки программирования, каждый из которых предоставляет некоторый инструментарий для той или иной парадигмы.
Курить теорию в сфере ООП лучше всего через пять принципов SOLID, приглядевшись и к другим, вроде DRY, KISS.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: aik Австралия  
Дата: 04.05.19 11:25
Оценка: 3 (1)
Здравствуйте, Lazytech, Вы писали:

Z>>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.

L>Я пока слабо себе представляю, как это делается...

Захотелось вот мне погодную станцию слабать на коленке — микроконтроллер esp8266 с микропитоном и сенсор dht22 и вперед. Или вот задолбали скрипты bash — перенес свои рабочие скрипты на питон, красота. Неужели скрипты ни для чего нужны?
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
От: aik Австралия  
Дата: 04.05.19 12:16
Оценка: 3 (1)
Здравствуйте, Lazytech, Вы писали:

L>Увы, в моем случае процесс освоения языка программирования идет не медленно, а очень медленно и временами почти болезненно (не зря же придумали выражение «голова пухнет»). Я даже не представляю себе, как, не имея серьезного опыта программирования, можно быстро освоить азы какого-либо языка. Что касается серьезной коммерческой разработки, кто же меня туда возьмет, без опыта-то...


Друг в 40 лет рванул из айти директора в явапрограммера. Месяца три-четыре тренировался на кошках, потом джуном полгода, а через год где то был вполне вменяемый офер от сбертеха. Но у него прям глаза горели, так айтишничество достало, недостаток опыта вполне компенсируется энтузиазмом и мозгами.
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Muxa  
Дата: 06.05.19 06:14
Оценка: 3 (1)
L>Буду рад любым советам.

Знакомая есть, в прошлом переводчиком работала, затем прошла курсы тестировщиков от одного крупного оутсорсера, и устроилась работать там же.
Поищи программы подготовки солдат в крупных конторах своего города.
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.05.19 20:07
Оценка: 3 (1)
Здравствуйте, Lazytech, Вы писали:


L>Из того, что не нравится, могу упомянуть разве что необходимость помнить о том, что в конструкциях вроде range начало диапазона включает указанное граничное значение, а конец диапазона — не включает. Сам то и дело об этом забываю.


Это как раз очень логично. В плюсах, кстати, также.
Итерация по диапазону — while(b!=e) вместо while(b<=e) — первое (конечно же) теоретически дешевле. Еще не все коллекции умеют для итераторов в операторы < и >.
Вставка элемента в позицию в коллекции, заданной итератором — как быть с включающим с обоих сторон диапазоном? Отдельные функции insertBefore/insertAfter? При невключающем диапазоне можно вставлять всегда перед итератором — в начало — перед b, в конец — перед e (перед итератором, указывающим на элемент, следующий за последним, т.е. в конец последовательности)
Маньяк Робокряк колесит по городу
Отредактировано 07.05.2019 15:38 Marty . Предыдущая версия .
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 07.05.19 13:26
Оценка: 3 (1)
Здравствуйте, L.K., Вы писали:

LK>Просто смысл новичку влезать на рынок, насыщенный конкурентами? Надо искать что-то перспективное. То, что "выстрелит" в ближайшие 5-10 лет.


Как это какой смысл? Что бы деньги заработать. Рынок насыщенный конкурентами в разы лучше отсутствия рынка + надежда на то, что в ближайшие 5-10 лет рынок таки появится.

Да, у Go (в отличие от Rust) рынок есть уже сейчас, но там в купе к языку надо еще изрядный кусок теории из области разработки сетевых приложений понимать да и практики иметь. А вот если взять Python, да податься в SDET, то там за пределами здравого смысла вообще ничего не надо
Отредактировано 07.05.2019 13:29 kaa.python . Предыдущая версия .
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: L.K. Марс  
Дата: 06.05.19 10:03
Оценка: 2 (1)
KP>Вот не надо вредных советов человеку давать.

Ну, каждый кулик своё болото хвалит. )

Просто смысл новичку влезать на рынок, насыщенный конкурентами? Надо искать что-то перспективное. То, что "выстрелит" в ближайшие 5-10 лет.
Re[17]: Кому-нибудь требуется начинающий питонист в подмасте
От: jahr  
Дата: 21.05.19 08:49
Оценка: 1 (1)
Здравствуйте, Lazytech, Вы писали:


L>Ну, мне дали ТЗ на создание простенького питоновского класса, а я с этой задачей не справился, несмотря на то, что по ходу работы посмотрел несколько очень толковых лекций, касающихся именно этой задачи.


Это нормально, делаете как получится, вас поправляют, вносите изменения, потом снова что-то делаете. Если случился затык такой, что совсем не получается вперед продвинуться — сообщаете о нем старшему товарищу, он подскажет, что делать.) Не бояться задавать вопросы здесь важнее, чем что-то знать, это нормальный процесс обучения.

L>Кроме того, наставник посоветовал мне освоить такой-то редактор и подключить его к GitHub. Увы, я так и не смог подключить этот редактор к GitHub, несмотря на то, что наставник также дал мне ссылку на статью, где подробно разъяснялось, как это сделать. Я вообще толком не понял, как использовать GitHub, хотя это, по идее, очень просто.


Это тоже не фокус.) У меня такое регулярно случается — у всех просто делаешь по инструкции, и оно работает, начинаешь это делать сам — и никак.) Надо разбираться, бывает.) Тут тоже лучше к кому-то опытному обратиться за подсказкой.)
Re[7]: Кому-нибудь требуется начинающий питонист в подмастер
От: L.K. Марс  
Дата: 04.05.19 13:40
Оценка: +1
L>Боюсь, что я пока не готов самостоятельно пилить проекты, пусть даже относительно простые.

А тогда кому нужен такой волонтёр? Он только отвлекать будет.

Я бы задумался о том, почему исчезли заказы на перевод. Избыток переводчиков на рынке? Все начали переводить гугло-переводчком?
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: L.K. Марс  
Дата: 04.05.19 16:11
Оценка: :)
L>Боюсь, что даже в джунах мне пока делать нечего.

Я уже говорил, что на джуна можно подготовиться если не за неделю, то за месяц — точно. Если через месяц человек не может написать простую джунскую софтинку (скажем, синхронизацию папки с яндекс-диском), значит он весь месяц занимался чем-то не тем.
Re[4]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Sharov Россия  
Дата: 07.05.19 12:39
Оценка: +1
Здравствуйте, Masterspline, Вы писали:

M>, который ни при каком раскладе не захочет брать junior'а за 30.


А что в ентом такого? Ну за 30 и что?
Кодом людям нужно помогать!
Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 04.05.19 10:35
Оценка:
С прошлого года постепенно осваиваю Python 3. Хотелось бы поучаствовать в качестве волонтера (то есть бесплатно) в небольших проектах малой или средней сложности, не всё же тренировочные задачки решать. Похвастаться знанием других актуальных языков программирования, к сожалению, пока не могу, да и опыта практической работы в каких-либо предметных областях у меня пока нет.

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

Буду рад любым советам. Если задал неуместный вопрос, прошу извинить.
Отредактировано 04.05.2019 10:58 Lazytech . Предыдущая версия . Еще …
Отредактировано 04.05.2019 10:43 Lazytech . Предыдущая версия .
Отредактировано 04.05.2019 10:42 Lazytech . Предыдущая версия .
Отредактировано 04.05.2019 10:42 Lazytech . Предыдущая версия .
Отредактировано 04.05.2019 10:38 Lazytech . Предыдущая версия .
Отредактировано 04.05.2019 10:38 Lazytech . Предыдущая версия .
python python3
Re[2]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 04.05.19 11:00
Оценка:
Здравствуйте, L.K., Вы писали:

LK>https://github.com/python


За ссылку спасибо, но это пока слишком круто для меня.

LK>А вообще, если и осваивать что-то с нуля, то что-то новое: какой-нибудь Rust или Golang.


К сожалению, поезд не только ушел, но и успел набрать ход. Мне бы для начала с одним языком разобраться.
Отредактировано 04.05.2019 11:01 Lazytech . Предыдущая версия .
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 04.05.19 11:21
Оценка:
Здравствуйте, zverjuga, Вы писали:

Z>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.


Я пока слабо себе представляю, как это делается...
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 04.05.19 11:25
Оценка:
Здравствуйте, L.K., Вы писали:

LK>С прошлого года прошло уже почти полгода. Азы языка программирования (любого) учатся за неделю. А дальнейший опыт получается только в серьезной коммерческой разработке (на полную ставку и за бабки).


Увы, в моем случае процесс освоения языка программирования идет не медленно, а очень медленно и временами почти болезненно (не зря же придумали выражение «голова пухнет»). Я даже не представляю себе, как, не имея серьезного опыта программирования, можно быстро освоить азы какого-либо языка. Что касается серьезной коммерческой разработки, кто же меня туда возьмет, без опыта-то...
Отредактировано 04.05.2019 11:31 Lazytech . Предыдущая версия . Еще …
Отредактировано 04.05.2019 11:30 Lazytech . Предыдущая версия .
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 04.05.19 11:29
Оценка:
Здравствуйте, aik, Вы писали:

aik>Захотелось вот мне погодную станцию слабать на коленке — микроконтроллер esp8266 с микропитоном и сенсор dht22 и вперед. Или вот задолбали скрипты bash — перенес свои рабочие скрипты на питон, красота. Неужели скрипты ни для чего нужны?


Только теперь до меня дошло, о чем идет речь! Скриптов, как мне кажется, будет недостаточно для набора опыта. Я еще несколько лет назад делал скриптики для планировщика nnCron на языке SP-Forth, а задолго до того — макросы для MS Excel, но программистом от этого не стал...

P.S. Поясню, что имею в виду, на примере кода (см. под катом).
  2 образца кода...
Код до переделки:
class Solution:
    def numMagicSquaresInside(self, grid: List[List[int]]) -> int:
        
        def isMagicSquare(r0, c0):
            row_sums, col_sums, diag_sums = [0, 0, 0], [0, 0, 0], [0, 0]
            uniques = set()

            for r in range(r0, r0+3):
                for c in range(c0, c0+3):
                    cell = grid[r][c]
                    if not (1 <= cell <= 9):
                        return False
                    else:
                        uniques.add(cell)
                        if len(uniques) < c - c0 + r - r0 + 1:
                            return False
                        else:                
                            row_sums[r-r0] += cell
                            col_sums[c-c0] += cell

                if r - r0 > 1 and row_sums[r-r0] != row_sums[r-r0-1]:
                    return False

                diag_sums[0] += grid[r][c0+r-r0]
                diag_sums[1] += grid[r][c0+r0+2-r]

            if len(uniques) < 9:
                return False
                
            for c in range(2):
                if col_sums[c] != col_sums[c+1]:
                    return False

            return diag_sums[0] == diag_sums[1] == row_sums[0] == col_sums[0]


        n, m = len(grid), len(grid[0])
        magic_squares = 0

        for r in range(n-2):
            for c in range(m-2):
                if isMagicSquare(r, c):
                    magic_squares += 1

        return magic_squares


Код после переделки:
class Solution:
    def numMagicSquaresInside(self, grid: List[List[int]]) -> int:
        
        def isMagic(r0, c0):
            row_sums, col_sums, diag_sums = [0, 0, 0], [0, 0, 0], [0, 0]
            uniques = set()

            for r in range(r0, r0+3):
                c_last = c0 + 2           
                for c in range(c0, c0+3):
                    cell = grid[r][c]
                    uniques.add(cell)
                    row_sums[r-r0] += cell
                    col_sums[c-c0] += cell

                r_pos = r - r0
                if r_pos > 1 and row_sums[r_pos] != row_sums[r_pos-1]:
                    return False

                diag_sums[0] += grid[r][c0+r_pos]
                diag_sums[1] += grid[r][c_last-r_pos]

            if len(uniques) < 9:
                return False

            for c in range(2):
                if col_sums[c] != col_sums[c+1]:
                    return False

            return diag_sums[0] == diag_sums[1] == row_sums[0] == col_sums[0]


        n, m = len(grid), len(grid[0])
        magic_squares = 0
        bad_cells = {(r, c) for c in range(m) for r in range(n)
                     if not (1 <= grid[r][c] <= 9)}

        for r in range(n-2):
            for c in range(m-2):
                # based on research by lee215
                # https://leetcode.com/problems/magic-squares-in-grid/discuss/133874/Python-5-and-43816729
                # "The center of magic square must be 5."                
                if grid[r+1][c+1] == 5:            
                    r_end, c_end = r + 2, c + 2
                    all_good = True
                    for r1, c1 in bad_cells:
                        if r <= r1 <= r_end and c <= c1 <= c_end:
                            all_good = False
                            break

                    if all_good and isMagic(r, c):
                        magic_squares += 1

        return magic_squares

Если верить сайту, где я решал эту самую задачку, переделка кода сократила время его выполнения с 44 мс до 36 мс. Я ожидал большего, но хоть что-то...
Отредактировано 04.05.2019 11:42 Lazytech . Предыдущая версия .
Re[4]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 04.05.19 12:06
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Ты же переводчик. Придумай программу, которая тебе поможет. GUI на пайтоне пишется с помощью PyQt и работает на любой операционной системе. Вот и напиши, и тебе полезно будет и практических навыков получишь выше крыши и есть шанс, что полезная программа выйдет, т.к. ты профессионал и лучше остальных знаешь, что важно, а что не очень. Тем более с английским у тебя точно проблем нет, поэтому с любым вопросом мучай Google и StackOverflow, всё должно получиться.


Спасибо за интересный совет! Если бы всё было так просто... Меня пока интересует приобретение какого-то опыта в качестве простого кодера, не более того.
Re[6]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 04.05.19 12:18
Оценка:
Здравствуйте, aik, Вы писали:

aik>Друг в 40 лет рванул из айти директора в явапрограммера. Месяца три-четыре тренировался на кошках, потом джуном полгода, а через год где то был вполне вменяемый офер от сбертеха. Но у него прям глаза горели, так айтишничество достало, недостаток опыта вполне компенсируется энтузиазмом и мозгами.


К сожалению, это не совсем мой случай. Я-то в айти никогда не работал, да и мозгами, заточенными под программирование, похвастаться не могу...
Re[6]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 04.05.19 12:52
Оценка:
Здравствуйте, L.K., Вы писали:

LK>Вот этого я не понял. Зачем переводчику лезть в кодописание? Занимайся своим делом и зарабатывай бабло. Или спрос на переводы резко упал?


Да, во втором полугодии прошлого года у меня практически не стало заказов. В очередной раз — спрос на мои услуги и до того не раз и не два падал ниже плинтуса, причем такой период мог продолжаться по несколько месяцев. По сути, мне снова стало нечего ловить (хотя до этого я тоже особо не жировал), вот я и призадумался о своем унылом настоящем и еще более невеселом будущем.

LK>Но если охота покодить, можно сделать переводческую библиотеку. Чтобы её можно было подцепить к программе или вебсайту. Хотя, подозреваю, что такое уже есть. Но можно найти там косяки и сделать лучше.

LK>Еще можно закодить сайтик по изучению языков. Такое тоже уже есть, но тоже можно сделать лучше.

Боюсь, что я пока не готов самостоятельно пилить проекты, пусть даже относительно простые.

LK>А само кодописание — это переменные, объекты, функции, параметры, условные операторы и циклы. Ничего сложного.


Это смотря для кого ничего сложного...
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 04.05.19 12:54
Оценка:
Здравствуйте, zverjuga, Вы писали:

Z>как ни странно, но это даже и к лучшему. если ты самостоятельно разберешься с этим, то получишь к опыту еще +100 очков, чем если тебя посадят на уже готовый проект.


Всё это очень здорово, но мне даже теоретические задачки зачастую даются непросто (иные решаю по 2-3 дня, а некоторые так и оставляю нерешенными), чего уж там говорить о практике...
Отредактировано 04.05.2019 12:55 Lazytech . Предыдущая версия .
Re[8]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 04.05.19 13:47
Оценка:
Здравствуйте, L.K., Вы писали:

LK>А тогда кому нужен такой волонтёр? Он только отвлекать будет.




LK>Я бы задумался о том, почему исчезли заказы на перевод. Избыток переводчиков на рынке? Все начали переводить гугло-переводчком?


Причин, полагаю, несколько, но не буду оффтопить. Если интересно, можно обсудить этот вопрос в соответствующем разделе.
Отредактировано 04.05.2019 13:55 Lazytech . Предыдущая версия .
Re[6]: Кому-нибудь требуется начинающий питонист в подмастер
От: L.K. Марс  
Дата: 04.05.19 13:51
Оценка:
aik>рванул из айти директора в явапрограммера
aik>так айтишничество достало

Так достало, что рванул с должности айти директора на должность рядового айтишника?
Re[7]: Кому-нибудь требуется начинающий питонист в подмастер
От: aik Австралия  
Дата: 04.05.19 14:12
Оценка:
Здравствуйте, L.K., Вы писали:

aik>>рванул из айти директора в явапрограммера

aik>>так айтишничество достало
LK>Так достало, что рванул с должности айти директора на должность рядового айтишника?

Рядового программера, а не айтишника, не надо всё в одну кучу. И это была контора до 500 человек, так что директор он конечно директор, но вообще много всего. Говорит, с таким опытом из РФ хрен уедешь.
Re[4]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: aik Австралия  
Дата: 04.05.19 14:15
Оценка:
Здравствуйте, zverjuga, Вы писали:

Z>как ни странно, но это даже и к лучшему. если ты самостоятельно разберешься с этим, то получишь к опыту еще +100 очков, чем если тебя посадят на уже готовый проект.


Это действительно странно, потому что это +100 для очень уж упорных. Он протупит в начале слишком много и потеряет надежду, хороший туториал будет более чем в тему.
Re[8]: Кому-нибудь требуется начинающий питонист в подмастер
От: L.K. Марс  
Дата: 04.05.19 14:51
Оценка:
aik>Рядового программера, а не айтишник

А программер — это айтишник?
Re[9]: Кому-нибудь требуется начинающий питонист в подмастер
От: aik Австралия  
Дата: 04.05.19 14:55
Оценка:
Здравствуйте, L.K., Вы писали:

aik>>Рядового программера, а не айтишник

LK>А программер — это айтишник?

Обычно айтишники — это эникейщики, админы, закупщики техники, и их менеджмент. Т.е. делают так чтоб компы в организации работали, но код им писать не надо (хотя и могут).
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 04.05.19 15:33
Оценка:
Здравствуйте, jahr, Вы писали:

J>Забавная копипаста по теме: https://felixit.blog/2018/08/01/kak-zarabotat-bolshe/


Спасибо, почитаю.

J>А вообще, мне кажется, что Вы слишком в себе неуверены. Это неправильно, наглость и раздражающая окружающих самоуверенность — необходимые для программиста качества.) Ищите работу джуна, если есть возможность — то в офисе, если нет — на удаленке. Не обламывайтесь после того, как Вас завернут на нескольких первых собеседованиях, после попыток десяти — наверняка найдете что-то.


Прошу понять меня правильно: я видел, на что способны опытные питонисты, и увиденное значительно умерило мои амбиции. Боюсь, что даже в джунах мне пока делать нечего.
Re[10]: Кому-нибудь требуется начинающий питонист в подмастер
От: L.K. Марс  
Дата: 04.05.19 16:03
Оценка:
LK>>А программер — это айтишник?
aik>Обычно айтишники — это эникейщики, админы, закупщики техники, и их менеджмент.

Лично я никогда бы не назвал закупщика техники или менеджера (если это не начальник it-одтела) айтишником.

Айтишники — это сисадмины, программисты, DBA.
Re[4]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 04.05.19 16:52
Оценка:
Здравствуйте, L.K., Вы писали:

LK>Я уже говорил, что на джуна можно подготовиться если не за неделю, то за месяц — точно. Если через месяц человек не может написать простую джунскую софтинку (скажем, синхронизацию папки с яндекс-диском), значит он весь месяц занимался чем-то не тем.


Я переучиваюсь не с программиста на программиста, а с переводчика на программиста.
Re[6]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 05.05.19 03:31
Оценка:
Здравствуйте, L.K., Вы писали:

L>>Я переучиваюсь не с программиста на программиста, а с переводчика на программиста.

LK>Да не важно. Любой человек, не знающий французского языка, за месяц изучит его на "джунском" уровне. Приветствия, краткий рассказ о себе, общение в аэропорту, магазине, гостинице, больнице, "спасите, меня грабят", "мадемуазель, как пройти в библиотеку" и т.п.

Насчет французского не знаю, а вот английский я лет двадцать учил. Кроме того, дважды начинал учить немецкий, но каждый раз меня хватало всего на 2-3 месяца.
Отредактировано 05.05.2019 3:52 Lazytech . Предыдущая версия .
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 05.05.19 03:48
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>ИМХО, ты выбрал не совсем тот язык для старта. Тот питон, который лет 10 назад рекомендовался как язык для начинающих, и современный питон с его экосистемой — это два разных языка. Плюс за время своего существования он успел обзавестись некоторым количеством "исторически сложившихся недоразумений" (aka legacy), которые не способствуют улучшению восприятия.


Я осваиваю Python 3.x, и «исторически сложившихся недоразумений» пока не заметил. Возможно, имеются в виду какие-то особенности синтаксиса, позаимствованные из языка C ради большего удобства использования его библиотек?

AB>Если уж начинать, то начинать вместе с молодым языком и расти вместе с ним. Rust, конечно, всерьез рассматривать не стоит, а вот golang был бы в самый раз — простой, развивающийся, востребованный на рынке, имеющий хороший потенциал.


Спасибо за совет, обязательно обращу внимание на Go.

AB>Тем не менее, самый лучший совет по саморазвитию тебе уже дали — открыть github и начать свой проект(ы). При чем крайне желательно, чтобы результатами работы этого проекта ты бы пользовался сам ("Eat your own dog food").


Понятно, так и сделаю.
Отредактировано 05.05.2019 3:58 Lazytech . Предыдущая версия .
Re[2]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 05.05.19 12:21
Оценка:
Здравствуйте, a7d3, Вы писали:

A>Есть книжка:

A>«Programming Collective Intelligence. Building Smart Web 2.0 Applications» By Toby Segaran, Publisher: O'Reilly Media.

Спасибо, попробую глянуть. Правда, опасаюсь, что для меня это будет слишком сложно из-за крайне слабого знания Web-технологий.

A>Примеры кода на питоне, а рассматриваются такие вещи, ради которых и на которых учатся программированию в современно мире. Например, как именно сделать систему рекомендаций пользователю — книг, фильмов, музыки — чтобы оно действительно работало. Это не такое скучное и оторванное от реальности, как использование пяти алгоритмов сортировки массивов встроенными средствами языка программирования. Когда про них жуют сотню страниц, но у читающего новичка не появляется осознания как это применить к системе-сервисе для повседневной жизни людей.


Вообще-то я с интересом решаю некоторые алгоритмические задачки, пробуя разные подходы с целью повысить скорость выполнения кода.
  Вот, например...
Вариант 1:
class Solution:
    def backspaceCompare(self, S: str, T: str) -> bool:

        def processBackspaces(s: str) -> str:
            s_list = list(s)
            bs_count = 0

            for i in range(len(s)-1, -1, -1):            
                if s[i] == '#':
                    s_list[i] = ''
                    bs_count += 1
                elif bs_count > 0:
                    s_list[i] = ''
                    bs_count -= 1

            return ''.join(s_list)


        return processBackspaces(S) == processBackspaces(T)


Вариант 2:
class Solution:
    def backspaceCompare(self, S: str, T: str) -> bool:
    
        def processBackspaces(s: str) -> list:
            s_list = []
            bs_count = 0

            for i in range(len(s)-1, -1, -1):            
                if s[i] == '#':
                    bs_count += 1
                elif bs_count > 0:
                    bs_count -= 1
                else:
                    s_list.append(s[i])

            return s_list


        return processBackspaces(S) == processBackspaces(T)


Вариант 3:
class Solution:
    def backspaceCompare(self, S: str, T: str) -> bool:   
        pos_S, pos_T = len(S) - 1, len(T) - 1
        count_S, count_T = 0, 0

        while True:
            while pos_S > -1:
                if S[pos_S] == '#':
                    count_S += 1
                elif count_S > 0:
                    count_S -= 1
                else:
                    break                            
                pos_S -= 1

            char_S = S[pos_S] if pos_S > -1 else ""

            while pos_T > -1:
                if T[pos_T] == '#':
                    count_T += 1
                elif count_T > 0:
                    count_T -= 1
                else:
                    break
                pos_T -= 1

            char_T = T[pos_T] if pos_T > -1 else ""

            if char_S != char_T:
                return False

            if pos_S <= 0 and pos_T <= 0:
                return True
            elif pos_S < 0 and pos_T == 0:
                return False
            elif pos_S == 0 and pos_T < 0:
                return False

            pos_S -= 1
            pos_T -= 1

        return True

По результатам тестирования скорость выполнения всех этих вариантов кода приблизительно одинакова, хотя я очень надеялся, что последний вариант будет заметно быстрее остальных.

A>Т.е. читать, набираться идей чего хотелось бы сделать — реализовывать через PyQT или онлайн ресурс собрав веб-сайтик. После этого будет о чём поговорить с людьми на интервью-собеседованиях.

A>Потенциально, в перспективе может даже появиться осознание, что незачем привязывать к конкретному языку. Что искать работу по этому принципу — это как умение работать сугубо лопатами строго одного конкретного вида-типа. Деньги платят за другое — то самое умение использовать разные подходы в некой предметной сфере, что описаны в подобных книжках.


Спасибо за полезные советы!
Отредактировано 05.05.2019 12:23 Lazytech . Предыдущая версия .
Re[6]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: AlexGin Беларусь  
Дата: 05.05.19 15:58
Оценка:
Здравствуйте, L.K., Вы писали:

LK> ..."мадемуазель, как пройти в библиотеку" и т.п.


Если ты выглядишь респектабельно, как мужик с баблосом, то она сама тебя поймёт.
Даже если ты на знаешь ни французского, ни английского...

P.S. Только потом, не кричи что тебя "грабят"
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: AlexGin Беларусь  
Дата: 05.05.19 16:08
Оценка:
Здравствуйте, L.K., Вы писали:

LK>С прошлого года прошло уже почти полгода. Азы языка программирования (любого) учатся за неделю.

...при условии, что ты хотя бы один (а лучше — пару) языков программированния уже знаешь...

LK>А дальнейший опыт получается только в серьезной коммерческой разработке (на полную ставку и за бабки).

Это как где. Есть хорошие места, где это именно так, а есть и такие — где ученика только испортят.

Сам по себе факт коммерческой разработки, ещё ни о чём не говорит.
При этом факт финансирования — далеко на всегда гарантия "серьезной_разработки".
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 06.05.19 06:20
Оценка:
Здравствуйте, Mug0fT, Вы писали:

MT>Вывод: учи Ява, много работы даже для новичков.

MT>Вакансий для Golang программистов почти нету (в Германии по краиней мере).

Спасибо за совет! Вообще-то, если не ошибаюсь, начинающему программисту гораздо проще освоить Python, чем Java. (Про Go ничего сказать не могу, пока даже не смотрел.) По идее, по сложности синтаксических конструкций Java мало уступает C++ и подобным ему языкам.
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 06.05.19 06:21
Оценка:
Здравствуйте, Muxa, Вы писали:

M>Знакомая есть, в прошлом переводчиком работала, затем прошла курсы тестировщиков от одного крупного оутсорсера, и устроилась работать там же.

M>Поищи программы подготовки солдат в крупных конторах своего города.

Спасибо, конечно, но профессия тестировщика меня мало привлекает.
Re[8]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 06.05.19 09:17
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Я пару раз за последние полгода давал твои контакты, как переводчика. Люди, которым давал, сказали, что ты больше заказы на перевод не берёшь.


Спасибо за поддержку, но переводами я действительно больше не занимаюсь. Решил кардинально что-то изменить, иначе перспективы очень мрачные...
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 06.05.19 13:30
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Java сильно уступает C++ по сложности синтаксиса.

AG>Я бы скорее сравнивал C# и Java, нежели C++ и Java.

Признаюсь, не знал. Будучи дилетантом, о синтаксисе C++ сужу по приобретенной в начале века книге Страуструпа, а о синтаксисе Java — по образцам кода, что попадаются на программистских сайтах.

AG>Также следует понимать и тот факт, что как и все современные языки, Java имеет автоматическую сборку мусора (GC — Garbage Collection).

AG>На C++ за сборкой мусора должен следить человек (разработчик).

Судя по обрывкам сведений, почерпнутым мною из статей, это чуть ли не главная фишка Java.

AG>P.S. Не знаю, как в России, но у нас в Минске C# в последнее время очень популярен — в смысле наличия большого выбора разных вакансий.

AG>Может быть Вам, уважаемый Lazytech, стоило бы посмотреть в сторону освоения C# и платформы .NET?

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

AG>P.P.S. Дополнительный бонус при разработке на C# (по сравнению с Питоном) — не нужно заморачиваться на пробелы/отступы/табуляции -

AG>что лично меня напрягает, когда приходиться писать на Питоне.

А мне, наоборот, нравится простой синтаксис Python. Из того, что не нравится, могу упомянуть разве что необходимость помнить о том, что в конструкциях вроде range начало диапазона включает указанное граничное значение, а конец диапазона — не включает. Сам то и дело об этом забываю.
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: alzt  
Дата: 07.05.19 06:40
Оценка:
Здравствуйте, zverjuga, Вы писали:

Z>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.


Этот вариант хуже, т.к. никто не будет исправлять его ошибок. Фактически ему нужен наставник.
Re[3]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 07.05.19 06:42
Оценка:
Здравствуйте, alzt, Вы писали:

Z>>можно свой проект пилить, не обязательно лезть в чужой. придумай себе задачу и делай ее.

A>Этот вариант хуже, т.к. никто не будет исправлять его ошибок. Фактически ему нужен наставник.

Мне уже предложили поучаствовать в одном проекте, и я уже зарегистрировался для этого на GitHub.

P.S. Уже усиленно туплю осваиваю GitHub.
Отредактировано 07.05.2019 11:44 Lazytech . Предыдущая версия .
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: CEMb  
Дата: 07.05.19 09:59
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>С прошлого года постепенно осваиваю Python 3.

А что стало с переводами?
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 07.05.19 11:43
Оценка:
Здравствуйте, CEMb, Вы писали:

CEM>А что стало с переводами?


Нэту, сапсэм нэту.
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: dvabuzyarov  
Дата: 16.05.19 19:20
Оценка:
Добрый вечер, могу предложить обучение на angular
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 19.05.19 04:14
Оценка:
Здравствуйте, dvabuzyarov, Вы писали:

D>Добрый вечер, могу предложить обучение на angular


Приветствую! Извиняюсь, запоздало заметил сообщение.

Спасибо за предложение, да только вот, как выяснилось при первом же столкновении с реальным проектом, я и Питон-то знаю очень и очень слабо.

Пришлось засесть за теорию. Помимо прочего, слушаю/смотрю лекции Тимофея Хирьянова (МФТИ), чтобы получше усвоить фундаментальные вещи. Ранее мне порекомендовали послушать/посмотреть лекции ведущего разработчика Python и великолепного лектора Реймонда Хеттингера (Raymond Hettinger), да только вот половина материала проходила мимо меня.
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 19.05.19 07:19
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Зря отказываешься, джуниором будешь учиться на порядок быстрее.


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

Программист, предложивший мне поучаствовать в его Python-проекте, несколько раз неустанно разъяснял мне вещи, которые полагается знать каждому питонисту, но пока не в коня корм...
Отредактировано 19.05.2019 7:21 Lazytech . Предыдущая версия .
Re[6]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 19.05.19 12:58
Оценка:
Здравствуйте, takTak, Вы писали:

T>раз такие дела, то почему ты зациклился на питоне?


Ну, так получилось. Хотя, наверное, стоило начать с изучения JavaScript и HTML/CSS.

T>на твоём месте я бы, наверное, пошёл бы на какие-нибудь курсы программирования для начинающих и параллельно искал бы рабочее место практиканта, где надо время от времени чего-то скриптить, без разницы, что это будет: javascript, vba, python...


Без разницы, что это будет? Напомню, мне даже один язык программирования, притом относительно простой (по крайней мере, по сравнению с монстрами вроде C++ и иже с ними), дается с трудом.

Что касается «пошёл бы на какие-нибудь курсы программирования для начинающих», то я уже несколько дней смотрю найденные на YouTube лекции МФТИ по языку Питон, где, помимо прочего, рассказывается о всяких-разных алгоритмах, а также даются азы проектирования программ. Не вижу смысла всё усложнять без необходимости.

T>порог вхождения на vba существенно ниже, так как даже сама среда разработки для непрограммистов и задумывалась, а вот уже после, через год-два, можно смотреть дальше на всякие питоны и так далее, тогда снова придётся что-то другое учить, но , по крайней мере, что такое "программить"- объяснять не надо будет


VBA-то я, в принципе, знаю, хотя давно на нем не программировал. Однако сильно подозреваю, что Python в наше время котируется выше, чем VBA, и спрос на него тоже выше (по крайней мере, на Западе).

T>а вообще, наверное, не все люди могут "программить"...


Спасибо, утешили! Конечно, я пока очень неопытный программист, и эта тема у меня пробуксовывает, но надеюсь, что всё впереди. Переводить меня тоже никто особо не учил, сам почти всему научился по ходу дела.
Отредактировано 19.05.2019 13:09 Lazytech . Предыдущая версия . Еще …
Отредактировано 19.05.2019 13:07 Lazytech . Предыдущая версия .
Отредактировано 19.05.2019 13:06 Lazytech . Предыдущая версия .
Отредактировано 19.05.2019 13:02 Lazytech . Предыдущая версия .
Re[7]: Кому-нибудь требуется начинающий питонист в подмастер
От: takTak  
Дата: 19.05.19 13:33
Оценка:
T>>а вообще, наверное, не все люди могут "программить"...

L>Спасибо, утешили! Конечно, я пока очень неопытный программист, и эта тема у меня пробуксовывает, но надеюсь, что всё впереди. Переводить меня тоже никто особо не учил, сам почти всему научился по ходу дела.


просто не совсем понятно, какие цели ты перед собой ставишь... ты хочешь путём программирования уехать куда-то или ты просто в поисках какой-то новой более-менее востребованной профессии?

"на Западе" vba используется в бизнес-сфере, как правило, непрограммистами, т.е. никто в этой среде тебя, скорее всего, всякими O(log(n)) долбать не будет, что и хорошо и плохо одновременно

программированием айти сфера вообще-то не заканчивается, везде очень не хватает requirements engineers , PM's и т.д.

если ты когда-то на vba, на самом деле, научился программить, то переход на питон не вызвал бы имхо каких-то особых проблем, да и было бы понимание, что сам язык программирования- ничто, гораздо важнее понимание той сферы, где он используется
Re[8]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 19.05.19 14:38
Оценка:
Здравствуйте, takTak, Вы писали:

T>просто не совсем понятно, какие цели ты перед собой ставишь... ты хочешь путём программирования уехать куда-то или ты просто в поисках какой-то новой более-менее востребованной профессии?


Второе.

T>"на Западе" vba используется в бизнес-сфере, как правило, непрограммистами, т.е. никто в этой среде тебя, скорее всего, всякими O(log(n)) долбать не будет, что и хорошо и плохо одновременно


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

T>программированием айти сфера вообще-то не заканчивается, везде очень не хватает requirements engineers , PM's и т.д.


В этих вопросах, к сожалению, не разбираюсь.

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


При чем здесь VBA? Я, в частности, не умею проектировать питоновские классы, да и вообще толком не умею делать с нуля сколько-нибудь серьезные питоновские программы.
Re[10]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 19.05.19 16:34
Оценка:
Здравствуйте, takTak, Вы писали:

T>я просто всё к чему: по жизни встречал людей, которые формально получили лычку "BS CS", а "программить" не научились, под "программить" я понимаю то, что люди могут нафигачить код, который просто-напросто работает так, как хотелось бы , имхо, вот это "программить" — это самое сложное, это реально не у всех получается, то, что ты там упоминаешь какие-то там классы — это прибамбасы, это — вторично и направлено на причёсывание того, что уже есть, т.е. таким структурированием ты можешь код внутренне лучше и , может, понятнее для других организовать, но не это главное, вот например, реализация на того, с чем ты на vba тоже, наверное, не сталкивался : https://stackoverflow.com/questions/50952482/how-to-implement-the-factory-project-pattern-in-vba тут есть и классы, и логика по созданию их инстанций, и т.д. , но не это главное, вначале должно быть что-то, пусть даже кривое, что просто работает


Немного поясню, в чем дело. Опытный программист, выступающий в качестве моего наставника, попросил меня для начала сделать такой-то класс. До этого я почти никаких классов не делал (не считая очень простеньких питоновских классов, которые требовалось создать по условию пары тренировочных задач), а в основном осваивал реализацию всяких-разных несложных алгоритмов с применением базовых питоновских структур данных (списков, кортежей, словарей и т. д.). Ну да ладно, прочитал несколько статей и сделал простой класс. Думал, пойдет. Постепенно выяснилось, что я изначально всё делал не так, как надо, и практически весь мой код можно сразу выбросить. Наставник тактично мне этого не сказал (наоборот, всячески шел мне навстречу и отвечал на все мои тупые вопросы), но я и сам докумекал, хоть и запоздало, что мне надо еще погрызть теорию, а уж потом браться за реальный проект...
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: CEMb  
Дата: 20.05.19 08:19
Оценка:
Здравствуйте, Lazytech, Вы писали:

CEM>>А что стало с переводами?


L>Нэту, сапсэм нэту.


Хреново

А если переводить книги и продавать? По тому же Питону (и другим языкам/технологиям)? Договориться с издательством каким-нибудь? И Питон выучишь и денег заработаешь?
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 20.05.19 08:41
Оценка:
Здравствуйте, CEMb, Вы писали:

CEM>Хреново


Во втором полугодии прошлого года я значительно снизил цены на русско-английские переводы, рассчитывая хоть расширить круг прямых заказчиков. Результат — один заказ стоимостью менее 500 руб. Выводы делайте сами.

CEM>А если переводить книги и продавать? По тому же Питону (и другим языкам/технологиям)? Договориться с издательством каким-нибудь? И Питон выучишь и денег заработаешь?


За перевод технической литературы (впрочем, и художественной тоже) и раньше платили скромно, а теперь, насколько я знаю, платят совсем мало. Кроме того, издательства обычно сотрудничают со знакомыми переводчиками либо с бюро переводов, так что туда еще пробиться надо. В общем, овчинка не стоит выделки.

По-моему, лучше брать пример с лягушки, которую бросили в котел с горячей водой, чем с лягушки, которая лежит в котле с медленно подогреваемой водой...
Отредактировано 20.05.2019 8:47 Lazytech . Предыдущая версия .
Re[12]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 20.05.19 08:45
Оценка:
Здравствуйте, takTak, Вы писали:

T>не совсем понял, где там с классами была твоя проблема... рефакторинг в наше время довольно быстро делается...


Увы и ах. К примеру, я не знал, что в данном проекте надо использовать специальные питоновские функции вида __function__ (которые, по сути, переопределяют существующие функции). Более того, я вообще ни разу их не использовал и даже не предполагал, что это может потребоваться в первом же проекте.
Re[13]: Кому-нибудь требуется начинающий питонист в подмастер
От: takTak  
Дата: 20.05.19 10:02
Оценка:
T>>не совсем понял, где там с классами была твоя проблема... рефакторинг в наше время довольно быстро делается...

L>Увы и ах. К примеру, я не знал, что в данном проекте надо использовать специальные питоновские функции вида __function__ (которые, по сути, переопределяют существующие функции). Более того, я вообще ни разу их не использовал и даже не предполагал, что это может потребоваться в первом же проекте.


ну это уже какая-то "специфическая специфика"... что, неужели как-то по-другому, но более понятно нельзя было тоже самое сделать? имхо это очень субтильный уровень, который надо , возможно, начинать учить, когда со всем остальным проблем нет...
Re[14]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 20.05.19 10:38
Оценка:
Здравствуйте, takTak, Вы писали:

T>ну это уже какая-то "специфическая специфика"... что, неужели как-то по-другому, но более понятно нельзя было тоже самое сделать? имхо это очень субтильный уровень, который надо , возможно, начинать учить, когда со всем остальным проблем нет...


Вот именно что по-другому сделать было нельзя, потому что от меня требовалось сделать такой класс, с которым работал бы такой-то код условного заказчика. Вернее, поначалу можно было сделать как угодно, но по ходу работы наставник внес некоторые изменения в ТЗ. В итоге он сам сделал класс, над которым безуспешно бился я, после чего я понял, что совсем не умею проектировать классы...
Re[14]: Кому-нибудь требуется начинающий питонист в подмасте
От: Lazytech Ниоткуда  
Дата: 20.05.19 10:40
Оценка:
Здравствуйте, jahr, Вы писали:

J>Я думаю, на этой стадии достаточно прочитать книжку типа этой — https://habr.com/ru/company/piter/blog/418761/ (там купон на скидку, поэтому ссылка на хабр, а не напрямую к издательству) и идти программировать.) В голове, конечно, останеся не вся книжка, но того, что останется, — достаточно.)




P.S. Если бы всё было так просто...

P.P.S. Программировать я, в принципе, умею. Основная проблема в том, что я пока не умею программировать, придерживаясь общих правил проектирования питоновских программ. Просто потому, что эти правила толком не усвоил.
Отредактировано 20.05.2019 10:44 Lazytech . Предыдущая версия . Еще …
Отредактировано 20.05.2019 10:41 Lazytech . Предыдущая версия .
Re[16]: Кому-нибудь требуется начинающий питонист в подмасте
От: Lazytech Ниоткуда  
Дата: 21.05.19 06:31
Оценка:
Здравствуйте, jahr, Вы писали:

J>Вам не нужно уметь проектировать, никто не даст новичку проектировать программы. Более того, новичек не сможет сам научиться "программировать, придерживаясь общих правил проектирования питоновских программ", самый правильный способ делать это — устроиться на работу джуном. Я, когда на свою первую работу устраивался, Visual Studio первый раз увидел в офисе на собеседовании, до этого только книжку читал (одну книжку, обратите внимание). Джуна берут, чтобы учить, чтобы говорить ему выучи вот это и это, а не он сам решал, что и когда ему учить.)

J>Посмотрите, здесь такие разные люди в один голос Вам говорят примерно одно и то же, это же неспроста?)

Ну, мне дали ТЗ на создание простенького питоновского класса, а я с этой задачей не справился, несмотря на то, что по ходу работы посмотрел несколько очень толковых лекций, касающихся именно этой задачи.

Кроме того, наставник посоветовал мне освоить такой-то редактор и подключить его к GitHub. Увы, я так и не смог подключить этот редактор к GitHub, несмотря на то, что наставник также дал мне ссылку на статью, где подробно разъяснялось, как это сделать. Я вообще толком не понял, как использовать GitHub, хотя это, по идее, очень просто.
Отредактировано 21.05.2019 6:37 Lazytech . Предыдущая версия .
Re[18]: Кому-нибудь требуется начинающий питонист в подмасте
От: Lazytech Ниоткуда  
Дата: 21.05.19 09:29
Оценка:
Здравствуйте, jahr, Вы писали:

J>Это нормально, делаете как получится, вас поправляют, вносите изменения, потом снова что-то делаете. Если случился затык такой, что совсем не получается вперед продвинуться — сообщаете о нем старшему товарищу, он подскажет, что делать.) Не бояться задавать вопросы здесь важнее, чем что-то знать, это нормальный процесс обучения.


Вопросы-то я задавал, но в итоге всё равно получилось не то, что надо.

J>Это тоже не фокус.) У меня такое регулярно случается — у всех просто делаешь по инструкции, и оно работает, начинаешь это делать сам — и никак.) Надо разбираться, бывает.) Тут тоже лучше к кому-то опытному обратиться за подсказкой.)


Понятно. Но это можно отложить на потом, а сначала надо разобраться собственно с Питоном.
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 21.05.19 09:32
Оценка:
Здравствуйте, sharpcoder, Вы писали:

S>Ты изучил основы программирования, теперь самое время сделать простую вещь:

S>1. Потратить пару месяцев для самостоятельного изучения востребованного языка, в котором не нужен сильный технический бэкграунд.
S> — я тебе рекомендую C# или Java. Поверь, в них нет ничего сложного. Лучше Java (не буду углубляться в детали, но можешь мне поверить).

Спасибо за обстоятельный ответ!
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Slawa Ms Россия http://www.SlawaMs.com
Дата: 21.05.19 11:03
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>С прошлого года постепенно осваиваю Python 3. Хотелось бы поучаствовать в качестве волонтера (то есть бесплатно) в небольших проектах малой или средней сложности, не всё же тренировочные задачки решать. Похвастаться знанием других актуальных языков программирования, к сожалению, пока не могу, да и опыта практической работы в каких-либо предметных областях у меня пока нет.


Присоединяюсь, тоже начал изучать Питон. Пока решаю задачи на https://www.codewars.com. Хотелось бы научиться совместной работе под руководством опытного товарища.

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


Дай, пожалуйста, ссылку на этот сайт.
И, в догонку, вопрос, какую IDE используешь для отладки программ на Питоне?
"Can You Remember, Remember My Name." (c) DP
Re[2]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 21.05.19 12:17
Оценка:
Здравствуйте, Slawa Ms, Вы писали:

SM>Дай, пожалуйста, ссылку на этот сайт.


Вот он:
https://leetcode.com/

А до этого решал задачи на этих сайтах:
https://www.codingame.com/
https://www.geeksforgeeks.org/

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

  Очередные образцы кода...
"""
Runtime: 108 ms, faster than 91.30% of Python3 online submissions for Palindrome Number.
Memory Usage: 13.4 MB, less than 5.03% of Python3 online submissions for Palindrome Number.
"""

class Solution:
    def isPalindrome(self, x: int) -> bool:
        # Hybrid solution
        if x < 0:
            return False
        elif x < 10:
            return True
        elif x % 10 == 0:
            return False

        if x < 1000000000000:
            digits = []

            while x > 0:
                x, rem = divmod(x, 10)
                digits.append(rem)

            n = len(digits)

            for i in range(n // 2):
                if digits[i] != digits[n - 1 - i]:
                    return False
            else:
                return True        
        else:
            from math import log10

            digitCount = int(log10(x)) + 1
            pivotPos = digitCount // 2
            digits = [0 for i in range(pivotPos)]

            for i in range(pivotPos):
                x, rem = divmod(x, 10)
                digits[i] = rem

            if digitCount % 2 == 1:
                # Dropping the middle digit
                x, rem = divmod(x, 10)

            for j in range(pivotPos):
                x, rem = divmod(x, 10)
                if rem != digits[-1-j]:
                    return False
            else:
                return True


"""
Runtime: 72 ms, faster than 98.09% of Python3 online submissions for Wildcard Matching.
Memory Usage: 13.3 MB, less than 66.92% of Python3 online submissions for Wildcard Matching.
"""


class Solution:
    def isMatch(self, s: str, p: str) -> bool:
        # I intentionally did not use the re library

        matchFound = False


        def subMatch(s, p):
            sLen = len(s)
            pLen = len(p)

            if pLen == sLen:
                for i in range(pLen):
                    if p[i] != '?' and p[i] != s[i]:
                        return False
                else:
                    return True
            else:
                return False


        def tryout(s, fragments):
            nonlocal matchFound

            if s and not fragments:
                matchFound = True
                return
            
            if not s or not fragments:        
                return

            sLen = len(s)

            totalFragLen = sum([len(f) for f in fragments])
            if totalFragLen > sLen:
                return

            leftFrag = fragments[0]
            leftFragLen = len(leftFrag)        
            otherFragLen = totalFragLen - leftFragLen

            for i in range(sLen - otherFragLen):
                if subMatch(s[i:i+leftFragLen], leftFrag):
                    if otherFragLen > 0:
                        tryout(s[i+leftFragLen:], fragments[1:])
                        return
                    else:
                        matchFound = True
                        return


        pLen = len(p)
        sLen = len(s)

        starCount = p.count('*')

        if pLen > 0 and pLen == starCount:
            return True

        if starCount == 0 and not '?' in p:
            return p == s

        if pLen == sLen == 0:
            return True
        elif pLen == 0 or sLen == 0:
            return False

        if starCount == 0:
            return subMatch(s, p)

        if pLen - starCount > sLen:
            return False

        # At this stage, starCount > 0

        starRightEdge = (p[-1] == '*')
        starLeftEdge = (p[0] == '*')

        fragments = [i for i in p.split('*') if i]

        # Trying to match the right side
        if not starRightEdge:
            fragRight = len(fragments[-1])
            if subMatch(s[-fragRight:], fragments[-1]):
                s = s[:-fragRight]     
                fragments = fragments[:-1]
            else:
                return False

        # Trying to match the left side
        if not starLeftEdge:
            fragLeft = len(fragments[0])
            if subMatch(s[:fragLeft], fragments[0]):
                s = s[fragLeft:]     
                fragments = fragments[1:]
            else:
                return False

        if not s and not fragments:
            return True
                
        tryout(s, fragments)

        return matchFound

Обратите внимание на заключенный в три двойные кавычки текст в самом начале кода. Это краткая информация о том, какое место занимает данное решение среди всех решений этой задачи.

SM>И, в догонку, вопрос, какую IDE используешь для отладки программ на Питоне?


Поскольку задачи были относительно небольшие, обходился IDLE (несмотря на скромные возможности, на мой взгляд, очень удобная программа для начинающих питонистов). Позже мне порекомендовали Atom — редактор, изначально разработанный для GitHub.
Отредактировано 21.05.2019 12:34 Lazytech . Предыдущая версия . Еще …
Отредактировано 21.05.2019 12:33 Lazytech . Предыдущая версия .
Отредактировано 21.05.2019 12:27 Lazytech . Предыдущая версия .
Re[3]: Кому-нибудь требуется начинающий питонист в подмастер
От: Slawa Ms Россия http://www.SlawaMs.com
Дата: 21.05.19 12:40
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, Slawa Ms, Вы писали:


SM>>Дай, пожалуйста, ссылку на этот сайт.


L>Вот он:

L>https://leetcode.com/

L>А до этого решал задачи на этих сайтах:

L>https://www.codingame.com/
L>https://www.geeksforgeeks.org/

Спасибо, пошел регистрироваться...
"Can You Remember, Remember My Name." (c) DP
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 21.05.19 12:41
Оценка:
Здравствуйте, Slawa Ms, Вы писали:

SM>Спасибо, пошел регистрироваться...


Если что, я никого не агитирую зарегистрироваться именно на этих сайтах. Задачи-то везде примерно одинаковые.
Re[2]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: Lazytech Ниоткуда  
Дата: 22.05.19 04:05
Оценка:
Здравствуйте, wamaco, Вы писали:

W>Ошибка уже в самом начале. Брось Питон!!! Питон не правильно развивает.

W>Уже есть статистика по горе программистам-питонистам кривых ручек на всю жизнь.
W>Не буду вдоваться в подробности. Изучай C или Java, съэкономишь и время и силы.

Заинтриговали.
Re[6]: Кому-нибудь требуется начинающий питонист в подмастер
От: Slawa Ms Россия http://www.SlawaMs.com
Дата: 22.05.19 08:25
Оценка:
Здравствуйте, Michael, Вы писали:
M>1) питон всегда требуется в комбинации с чем-то и этих комбинаций много, кому то нужно python+flask+mysql, python+flask+mongodb, python+django+aws и т.п.
M>то есть вам нужно будет знать как минимум ещё sql и скорей всего ещё nosql.

Меня интересует связка Python + SQL. Сильно ли отличается работа с mySQL и MongoDb? И где больше задач/денег?
"Can You Remember, Remember My Name." (c) DP
Re: Кому-нибудь требуется начинающий питонист в подмастерья?
От: sergey2b ЮАР  
Дата: 22.05.19 16:22
Оценка:
Здравствуйте, Lazytech, Вы писали:

есть еще вариант прочесть и выполнить все задачи из
керниган и ритчи язык программирования си

я могу дать решения, если решишь их порешать
книжка систематизированно дает основы, с примерами и задачами
Re[3]: Кому-нибудь требуется начинающий питонист в подмастерья?
От: sergey2b ЮАР  
Дата: 22.05.19 19:00
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>Спасибо, я бы все-таки предпочел для начала изучить более современный язык. Пока смотрю в сторону JavaScript. Возможно, когда-нибудь освою и C, если понадобится.


у этой книги есть один плюс
она дает основы и задачи по каждой главе, таким образом к ее окончанию ты умеешь программировать, в книги 200 страниц

а какая книжка по Python тебе понравилась, у меня на следующей недели собеседование а я на Python не писал лет 7
Re[6]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 23.05.19 14:08
Оценка:
Здравствуйте, VladCore, Вы писали:

VC>Я тоже первым делом подумал почему Питон?


Наверное, потому, что он на слуху как язык, который относительно просто освоить. Ну, как язык, которым в свое время был Basic.

VC>Исторически питон любят за GPGPU интерграцию. Это все что я знаю про питон.


Надо же, не знал.

VC>Что нужно знать когда идет выбор языка это

VC>1) как на нем реализованы алгоритмы и структуры данных. Т.е. помимо языка надо эти две вещи учить.

Как же, учу.

VC>2) Есть для него клёвый Unit-Test Runner?


Есть модуль unittest, которым я еще ни разу не пользовался.

VC>3) Есть ли гайды которые приятно читать


Полным полно.

VC>4) Насколько просто на нем игтерируется платформа — смартфоны, http-сервер, доступ к БД.


Не совсем понял, при чем тут смартфоны. Часом, не опечатка?

VC>Последний выриант легко гуглится — https://docs.python-guide.org/scenarios/db/

VC>И тут как раз все плохо — очень много реализаций и есть большой шанс что новичек выберет не тот framework. Может это неофициальный гайд, тогда простительно.

Ссылка на оф. сайт: 11. Data Persistence — Python 2.7.16 documentation
Правда, в БД я пока ни ухом ни рылом...

VC>В пику питону В .NET Core такой проблемы с БД нет — там Entity Framework рулит и если ты его начнеш например учить и использовать в pet-проекте, то это в люьом случае тебе пригодится даже если ты БД и доступ к БД не будеш в основном проектировать.


VC>По четвертому пункту посоветую программирование под iOS. Язык все равно какой — хоть Swift хоть ObjC. По своему опыту ты можеш начинать кодить сразу как прочитал очередную главу.


Боюсь, у меня пока недостаточно опыта для того, чтобы программировать под мобильные устройства...
Re[7]: Кому-нибудь требуется начинающий питонист в подмастер
От: Michael  
Дата: 24.05.19 06:08
Оценка:
Здравствуйте, Slawa Ms, Вы писали:

SM>Здравствуйте, Michael, Вы писали:

M>>1) питон всегда требуется в комбинации с чем-то и этих комбинаций много, кому то нужно python+flask+mysql, python+flask+mongodb, python+django+aws и т.п.
M>>то есть вам нужно будет знать как минимум ещё sql и скорей всего ещё nosql.

SM>Меня интересует связка Python + SQL. Сильно ли отличается работа с mySQL и MongoDb? И где больше задач/денег?


отличий много (гуглим "sql vs nosql").
банальное — всё зависит от задачи. упрощённо: бухгалтерскую хрень где нужно гибко агрегировать, подсчитывать — на sql, медицинскую хрень — nosql.
чисто по удобству старта нового проекта: mongodb удобней, не надо сидеть описывать структуру и т.п.
Re[8]: Кому-нибудь требуется начинающий питонист в подмастер
От: Slawa Ms Россия http://www.SlawaMs.com
Дата: 24.05.19 07:40
Оценка:
Здравствуйте, Michael, Вы писали:
Спасибо за ответ.
M>отличий много (гуглим "sql vs nosql").
Это я сразу погуглил. Вопрос, скорее в другом. Я немножко понимаю SQL (SELECT, INNER JOIN и др.). Насколько сильно отличаются запросы в SQL и в noSQL, или общие понятия близки и можно все изучать одновременно.
"Can You Remember, Remember My Name." (c) DP
Re[9]: Кому-нибудь требуется начинающий питонист в подмастер
От: Michael  
Дата: 24.05.19 08:50
Оценка:
Здравствуйте, Slawa Ms, Вы писали:

SM>Здравствуйте, Michael, Вы писали:

SM>Спасибо за ответ.
M>>отличий много (гуглим "sql vs nosql").
SM>Это я сразу погуглил. Вопрос, скорее в другом. Я немножко понимаю SQL (SELECT, INNER JOIN и др.). Насколько сильно отличаются запросы в SQL и в noSQL, или общие понятия близки и можно все изучать одновременно.

сильно отличаются.

1) теже join'ы в nosql делаются далеко не в одну строку (скорей всего нужно будет писать цикл(ы) именно на языке основного приложения (python, c# etc ) ).

2) денормализация (дублёж данных) считается нормальной практикой (в том числе чтобы облегчить пункт 1) ). тогда как в sql пытаются всё нормализовать.
Re[10]: Кому-нибудь требуется начинающий питонист в подмастер
От: Slawa Ms Россия http://www.SlawaMs.com
Дата: 24.05.19 10:15
Оценка:
Здравствуйте, Michael, Вы писали:
M>1) теже join'ы в nosql делаются далеко не в одну строку (скорей всего нужно будет писать цикл(ы) именно на языке основного приложения (python, c# etc ) ).
M>2) денормализация (дублёж данных) считается нормальной практикой (в том числе чтобы облегчить пункт 1) ). тогда как в sql пытаются всё нормализовать.
Понятно, изучать "про запас" не получится. Лучше на конкретном проекте, по мере появления задач.
"Can You Remember, Remember My Name." (c) DP
Re[11]: Кому-нибудь требуется начинающий питонист в подмастер
От: Michael  
Дата: 24.05.19 19:17
Оценка:
Здравствуйте, Slawa Ms, Вы писали:

SM>Здравствуйте, Michael, Вы писали:

M>>1) теже join'ы в nosql делаются далеко не в одну строку (скорей всего нужно будет писать цикл(ы) именно на языке основного приложения (python, c# etc ) ).
M>>2) денормализация (дублёж данных) считается нормальной практикой (в том числе чтобы облегчить пункт 1) ). тогда как в sql пытаются всё нормализовать.
SM>Понятно, изучать "про запас" не получится. Лучше на конкретном проекте, по мере появления задач.

ну вообщем да. тем более каждая конкретная nosql имеет свой язык запросов. какие-то попытки стандартизировать и сделать подобие SQL кажется ничем внятным не закончились.

для ТС вдогонку:
— питон это бекенд. как правило бекенд это очень критично и ньюбов туда не пускают.
— на javascript можно делать какие-то утилиты типа дизайнер уровней и т.п. то есть начать с некритичных вещей.
// вот пример редактора сцен: http://www.justbroadcaster.com/sc_customizer_v3/index.html
Re[3]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 02.06.19 12:22
Оценка:
Спасибо всем, кто посоветовал освоить другой язык программирования. Уже неделю грызу JavaScript и решаю простенькие тренировочные задачи, то и дело заглядывая на сайты вроде StackOverflow.
  Образец кода JavaScript...
/**
 * @param {number[]} A
 * @param {number[][]} queries
 * @return {number[]}
 */
var sumEvenAfterQueries = function(A, queries) {
    var n = A.length;
    var B = new Array(n);
    var sumOfEvens = 0;
    var idx;
    var val;
    
    for (var i = 0; i < n; i++) {
        if (A[i] % 2 == 0) {
            sumOfEvens += A[i];                    
        }        
    }    
    
    for (var i = 0; i < n; i++) {
        val = queries[i][0];
        idx = queries[i][1];
        
        if (A[idx] % 2 == 0) {
            sumOfEvens -= A[idx];            
        }
        
        A[idx] += val;
        
        if (A[idx] % 2 == 0) {
            sumOfEvens += A[idx];            
        }
        
        B[i] = sumOfEvens;          
    }
    
    return B;
};

  P.S. Еще два образца кода JavaScript...
DRY:
var numRookCaptures = function(board) {
    var r, c;
    var row, col;
    
    rook_search:
    for (r = 0; r < 8; r++) {
        for (c = 0; c < 8; c++) {
            if (board[r][c] == 'R') {
                row = r;
                col = c;
                break rook_search;
            }
        }
    }
    
    var captures = 0;
    
    function oneCapture(rStart, cStart, rStep, cStep) {
        for (r = rStart, c = cStart; ; r += rStep, c += cStep) {
            if (!board[r] || !board[r][c]) {
                return 0;            
            } else if (board[r][c] == 'p') {
                return 1;                
            } else if (board[r][c] != '.') {
                return 0;
            }
        }
    }
    
    captures += oneCapture(row-1, col, -1, 0);
    captures += oneCapture(row+1, col, 1, 0);
    captures += oneCapture(row, col-1, 0, -1);
    captures += oneCapture(row, col+1, 0, 1);
    
    return captures;
};

Runtime: 48 ms, faster than 96.87% of JavaScript online submissions for Available Captures for Rook.
Memory Usage: 33.8 MB, less than 45.44% of JavaScript online submissions for Available Captures for Rook.

WET:
var numRookCaptures = function(board) {
    var r, c;
    var row, col;
    
    rook_search: for (r = 0; r < 8; r++) {
        for (c = 0; c < 8; c++) {
            if (board[r][c] == 'R') {
                row = r;
                col = c;
                break rook_search;
            }
        }
    }
    
    var captures = 0;
    
    if (row > 0) {
        for (var r = row - 1; r > 0; r--) {
            if (board[r][col] == 'p') {
                captures++;
                break;
            } else if (board[r][col] != '.') {
                break;
            }
        }
    }        

    if (row < 7) {
        for (var r = row + 1; r < 8; r++) {
            if (board[r][col] == 'p') {
                captures++;
                break;
            } else if (board[r][col] != '.') {
                break;
            }
        }        
    }

    if (col > 0) {        
        for (var c = col - 1; c > 0; c--) {
            if (board[row][c] == 'p') {
                captures++;
                break;
            } else if (board[row][c] != '.') {
                break;
            }
        }
    }

    if (col < 7) {
        for (c = col + 1; c < 8; c++) {
            if (board[row][c] == 'p') {
                captures++;
                break;
            } else if (board[row][c] != '.') {
                break;
            }
        }
    }
    
    return captures;
};

Runtime: 60 ms, faster than 29.51% of JavaScript online submissions for Available Captures for Rook.
Memory Usage: 34 MB, less than 7.38% of JavaScript online submissions for Available Captures for Rook.

Оба образца являются решениями этой задачи:
Available Captures for Rook – LeetCode

Как нетрудно заметить, первый образец содержит гораздо меньше кода, чем второй.
Отредактировано 03.06.2019 5:12 Lazytech . Предыдущая версия .
Re[4]: Кому-нибудь требуется начинающий питонист в подмастер
От: Michael  
Дата: 12.06.19 15:58
Оценка:
Здравствуйте, Lazytech, Вы писали:


L>Спасибо всем, кто посоветовал освоить другой язык программирования. Уже неделю грызу JavaScript и решаю простенькие тренировочные задачи, то и дело заглядывая на сайты вроде StackOverflow.


если есть желание взяться за маленькие но реальные задачи — пишите (html(bootstrap),vue.js).
Re[5]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 12.06.19 16:21
Оценка:
Здравствуйте, Michael, Вы писали:

M>если есть желание взяться за маленькие но реальные задачи — пишите (html(bootstrap),vue.js).


Буду рад попробовать, но должен предупредить, что не знаю ни bootstrap, ни vue.js, ни какие-либо другие веб-технологии. Пока что продолжаю грызть JavaScript и не вполне уверен, что полученных знаний хватит для решения реальных задач. Говорю так потому, что у меня уже был печальный опыт с Python, когда я даже не знал, какие вопросы задавать наставнику для того, чтобы разобраться в теме.
Re[7]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 13.06.19 04:07
Оценка:
Здравствуйте, Michael, Вы писали:

M>я так подозреваю что ни один из знакомых мне фронтендщиков не сможет написать нахождение НОД. Потому что не надо это никому кроме преподов.

M>вообщем вот вам задача простая, попробуйте сделать (и напишите лучше в личку).

M>https://docs.google.com/document/d/1uZ145tyr9td1e6pIlhCgwMsZLkOqR82020I_QOHH4F0/edit?usp=sharing


Увы, задачи по ссылке сразу поставили меня в тупик. Срочно засел за изучение HTML и CSS, чтобы затем перейти к освоению bootstrap и Vue.js...
Re[8]: Кому-нибудь требуется начинающий питонист в подмастер
От: Michael  
Дата: 13.06.19 07:17
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>Здравствуйте, Michael, Вы писали:


M>>я так подозреваю что ни один из знакомых мне фронтендщиков не сможет написать нахождение НОД. Потому что не надо это никому кроме преподов.

M>>вообщем вот вам задача простая, попробуйте сделать (и напишите лучше в личку).

M>>https://docs.google.com/document/d/1uZ145tyr9td1e6pIlhCgwMsZLkOqR82020I_QOHH4F0/edit?usp=sharing


L>Увы, задачи по ссылке сразу поставили меня в тупик. Срочно засел за изучение HTML и CSS, чтобы затем перейти к освоению bootstrap и Vue.js...


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

//я там в файле контакты свои оставил
Re[9]: Кому-нибудь требуется начинающий питонист в подмастер
От: Lazytech Ниоткуда  
Дата: 13.06.19 07:23
Оценка:
Здравствуйте, Michael, Вы писали:

M>я думаю решив её вы уже будете иметь представление о важных аспектах фронтенда (манипуляции dom, управление состоянием).

M>если хотите комментарии по коду то заведите паблик-репу на гитхабе, я по возможности смогу посмотреть.

Я понял.

M>//я там в файле контакты свои оставил


Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.