Есть здесь программисты-самоучки?
В конце 90-х начал рисовать разные варианты своей домашней странички, захотелось интерактива - прочитал что-то про JS. Устроился веб-мастером, в 2001 таких знаний вполне хватало. Пока сидел без задач, почитал про апач, пхп и mysql. Ну и с тех пор как-то само...
Ну, у меня жена с Филфака. Образование ни разу не техническое =) Первую работу нашла через знакомых, но постоянно самосовершенствуется, сейчас предложения работы сыплются пачками. JS.
Мехмат никак не связан с ИТ. Я даже кафедру вычмата закончил, но никаких навыков программизма это не дало. (И это правильно).
> Вопрос связан с тем, что я не очень понимаю, как мне развиваться дальше. Вот основы Python я выучила, читаю Dive into Python, есть даже небольшое задание, но... хочется систематичней подойти к делу. Как предложите закреплять полученные знания? Решать задачки с сайтов? Сразу искать реальную работу? И, кстати, при каком уровне знаний уже можно начать искать работу Junior Developer? Реально ли найти такую первую работу удаленно?
Правильнее не решать задачки с сайтов, а сделать небольшой проектик самостоятельно. Придумай и сделай, если веб - вывеси на всеобщее обозрение.
Если такой проектик есть, есть доказанный интерес и прочитанная полностью документация (dive into python кстати не ахти книжка) — шансы на работу повышаются на порядок.
За советы спасибо. Что тогда посоветуешь читать?
Проектик ни фига не придумывается, в том-то и беда. Мне сложно генерировать новые идеи. Может, подключиться к какому-нибудь некоммерческому проекту?
UPD: хотя вот родилась мысль сделать онлайн сервис по статистической обработке научных даннных. Типа программы Statistica, только online
За советы спасибо. Что тогда посоветуешь читать?Я читал книжку Р.Сузи на русском, но это было еще в школе.
Надо прикинуть в каком направлении хочешь развиваться и прочитать банально от корки до корки документацию.
Удивительно как мало разработчиков осиливают такую простую штуку.
Если веб - это документация по питону, джанге, джаваскрипту и jquery (например nginx.
> Вопрос скорее в том, что если вы учитесь на техническом факультете, то, во-первых, наверняка будут друзья-программисты, а компанией учиться веселее, появляется момент с одной стороны взаимной поддержки, а с другой - соревнования.
Курсеру смотрела? Там по питону и программированию курсов вагон и маленькая тележка, c capstone project в конце в случае специализации.
(Лично я учился самостоятельно).
UPD: хотя вот родилась мысль сделать онлайн сервис по статистической обработке научных даннных. Типа программы Statistica, только online
Такая сказка уже есть, даже на питоне. Найди как называется.
Ты про SciPy что ли? В том-то и дело, что благодаря наличию NumPy и SciPy написать такую ведь будет легко и в то же время я освою обе эти библиотеки + еще много всего. Или ты имеешь в виду, что такой сервис уже есть?
хотя вот родилась мысль сделать онлайн сервис по статистической обработке научных даннных. Типа программы Statistica, только online^^ амбициозное начинание.
а если попробовать поделать задания с каких-нибудь курсов с курсеры например? Ну чтобы с чего-то начинать.
Ты про SciPy что ли? В том-то и дело, что благодаря наличию NumPy и SciPy написать такую ведь будет легко и в то же время я освою обе эти библиотеки + еще много всего. Или ты имеешь в виду, что такой сервис уже есть?http://nbviewer.ipython.org/github/jvns/talks/blob/master/py...
1. Открыть HH.ru и найти стажировку.
2. Открыть сайт для фрилансеров и найти интересный проект.
1. Стажировок на питоне почти нет, они есть на быдлокодерских языках в основном.
2. Проекты на фрилансе убогие, полезного опыта 0, без опыта будешь настройки вебсервера в основном подкручивать.
а если попробовать поделать задания с каких-нибудь курсов с курсеры например? Ну чтобы с чего-то начинать.Я пока не смотрела курсеру и не знаю, что там за задания. Но прошла курсы на stepic.org и codeacademy + неинтерактивный курс по ООП на Python. Ну то есть задачки уровня примерно как эта решать умею. Теперь хотелось бы чего-то посерьезней, а на курсере, подозреваю, задачи примерно такие.
Я бы еще походил на всякие мероприятия, питоньи и не очень, типа всяких hackday.
а на курсере, подозреваю, задачи примерно такие.сильно зависит от курса.
есть вот такая специализация http://www.coursera.org/specialization/fundamentalscomputin... там даже в первых курсах каждую неделю мини-проект по 200-400 строк кода. Это не то чтобы настоящий проект, но это намного более самостоятельные штуки, чем в кодакадеми.
Хорошо, спасибо.
1) образование не техническое и тем более не связанное с ИТ - т.е. геологи, историки, химики и т.д., но не мехмат, ВМК, физфак.У меня после химфака сложилось ощущение, что на физфаке ведут много программерских курсов
На первую работу устраивался на позицию «ищем студентов за копейки», будучи, понятно, студентом.
практически не учили программизму, так что его тоже можно в первый критерий вписывать.математические знания все таки выше чем у первой категории. а они типа основа )
но программерские курсы там были бесполезные это правда )
удовлетворяющие следующим критериямзабыли важный пункт:
4. пол Ж
техническое образование лишь намекает на то, что у человека технический склад ума, что очень пригождается в программинге имхо
по поводу советов:
1) готовимся к собеседке
2) устраиваемся на работу, там учимся
включая непонятно зачем нужные физикам C++ и ораклыЕсть целый раздел, занимающийся этим.
http://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%87%D0%B8%D1%81...
Образование геологическое. Легко давалась дисциплина по ГИСам (те, что геоинформационные системы) и программа ArcView, которая содержала встроенный язык Avenue. Согруппникам ГИСы не давались, из-за чего по этому направлению в разные геологические конторы в основном рекомендовали меня. Хотя я тогда и с трудом понимал, почему до атрибутов векторных объектов я добирался через точки (типа polyline.GetPoints[0].GetCoordinates.GetX).
В дальнейшем компания ESRI отказалась от Avenue и перешла на Python. Стал изучать его по встроенной справке.
Также пакеты ArcGIS (новое название продуктов ESRI) помимо обычных shape-файлов стали использовать базы данных. Пришлось почитать книжку по атомарности, согласованности и прочей кухне. Научился создавать и "дропать" таблицы, писать "селекты" и "джоины".
Один из пакетов делал html-страницу с картами. Стал не в обязательном порядке изучать html. В основном по htmlbook.ru
Во время безделия познакомился с SQLAlchemy (фреймворк на Python, работающий с разными БД) и понятием ORM.
В свободное время в качестве игры придумывал объектно-ориентированные задачки. Мол, есть отель, номера, посетители... Они имеют свойства и взаимодействуют. Создавал формы, заполнял, генерировал сводные таблицы. Для себя решил, что обращаться к атрибутам объектов в ORM для меня проще, чем писать "селекты" к столбцам. Поэтому по большей части работаю с Python и SQLAlchemy.
В результате моих самоучений сегодня в конторе имеем интранет с картами полевых объектов, которые показывают в html еженедельно обновляемый полевой прогресс. Плюс генерируется часть данных для ежеквартальной отчетности. Разные отделы вместо передачи экселя на флешках стали пользоваться централизованной базой. Не нужная для отдела информация не показывается.
Работы еще предстоит много, но по сравнению с тем, что было в конторе год назад текущий результат не может меня не радовать.
Как выпустился, так и работаю в геологии: разведка на твердые и горючие полезные ископаемые. Два принципиально разных направления, но одно я освоил в процессе обучения и нескольких полевых выездов, со вторым много работал после выпуска. Был период, когда брал длительный отпуск без сохранения зарплаты и участвовал в мелких "стартапах" (если так можно назвать интернет-магазины для ИП после чего вернулся.
9 из 12 месяцев основная деятельность — программирование (и — представь себе — на Python'е иногда (когда появляются новые полевые объекты) строю карты в ГИСах. Пара месяцев — выезд в поля на объекты.
Другие языки: C++ изучали один семестр 2 пары в неделю, писали на парах консольные приложения, на этом моё знакомство с ним и закончилось. С# — 1 семестр по второй вышке (заочное дистанционное — не доучился написал даже пару приложений Windows Form (одно для сейсморазведочного материала, одно — для ультразвукового анализа пород). Lua — время от времени использую для своих нужд. Но в основном сижу на Python. Он и внутри ГИСов используется, и в базу может залезть, и динамические html-страницы может сгенерировать. А, ну да, JavaScript забыл, куда же в клиентской динамике без него — в основном использую MooTools, в чистом виде на js пишу довольно редко.
При этом я не знаком со всякими N, K, O, A, 1, кокю и прочими терминами.
Реально ли найти такую первую работу удаленно?Вот на это желание имо придется забить.
по поводу советов:Не прокатит из-за пола, образования и не слишком быдлокодерского языка, имхо.
1) готовимся к собеседке
2) устраиваемся на работу, там учимся
Для мальчика-студента с физфака, желающего поучить жаву - прокатило бы.
1) образование не техническое и тем более не связанное с ИТ - т.е. геологи, историки, химики и т.д., но не мехмат, ВМК, физфак.1 2) Думаю в мэхау химикам и физикам программирование преподают примерно одинаково. На ХФ есть группы с углубленным программированием, например.
2) самостоятельно изучили программирование
3) сейчас программирование - их основная профессия.
3) Химиков-прогеров навалом даже не из упомянутых выше групп.
Круто, спасибо!
Хорошо, тогда химиков тоже не берем.
я не очень понимаю, как мне развиваться дальшеПовторяй вещи, которые тебя окружают: форум, интернет-магазин, блог и т.д. Любой сайт или программу, которые тебе глянулись.
Сначала из крупных готовых движков приблизительно, затем отдельные моменты более точно.
Начать лучше с интернет-магазинов, как более монетизируемой темы.
Желательно сразу одновременно внедрять и управление процессом:
- смотришь на сайт - пишешь мини-требования на основе него
- требования переводишь в необходимые задачи
- необходимые задачи сводишь в план
- оцениваешь пункты плана по срокам
- двигаешься по плану
- после выполнения переосмысляешь: разбираясь где план не сошелся с фактом, подтягивая план к факту - развивая прогнозирование, и подтягиваешь факт к плану - стараясь выкидывать при исполнении те моменты, на которых залипаешь.
ps
Повторение уже существующих вещей:
- во-первых, переносит размышления с "что-то надо придумать" на овладевание техникой
- во-первых, задает объективный критерий - насколько хорошо получается
Спасибо, отличный совет!
Повторяй работу других.
Смотришь на фриланс-бирже предложения, выбираешь те на которые откликнулись 2-3 кандидата (это отсечет неадекватные предложения) и пробуешь их выполнить.
Начинаешь с маленьких по объему работ, затем продвигаешься к большим.
Работы не обязательно выполнять каждый раз целиком, но в голове должно появиться четкое представление - что, как и в какой последовательности будет делаться; а новые тонкие моменты прорабатываются в коде до реального результата.
Короче: фриланс рулит. Если ты ответственная, то у тебя сильная мотивация доделать взятый проект (рейтинг на биржах и бабло). Питон конечно не пых, но достаточно быдлокодерский и задачек лёгкого уровня "почти курсач" хватает, можно плавненько эволюционировать. Заодно постепенно посмотришь на хороший/плохой код и выяснишь чем тебе больше нравится заниматься.
главное потом с фриланса вовремя спрыгунть.
потом лет 6-7 журналистом пиарщикомТам ориентация в проф. навыки входит поди?
Спасибо, тоже хороший совет.
Заработок непостоянный и требующий держать нос по ветру. Лучше всего, когда тебя советуют и к тебе отправляют те кому когда-то помог или удружил. Программировал (-ую) в основном только вокруг того, что непосредственно касалось(-ется) моей специальности. Чаще всего (к какому-нибудь отчёту) срочно требуется перегнать массив данных из одного формата в какой-нибудь специфический. Очень надо, очень срочно и по началу (пока тебя мало кто знает) - недорого.
Из плюсов:
1. Задание получаешь от человека своей специальности и ты, как правило, представляешь, что ему нужно, а также как это сделать.
2. Пишешь дома, график работы свободный (иногда это очень большой минус )
Из минусов: не хватает базовых знаний, особенно вычмата. Приходилось отказываться от заманчивых проектов по причине то, что не был уверен, в том, что разрюхаю требующуюся математику и успею к дедлайну.
Сейчас до сих пор что-то пишу, но в основном это небольшие утилитки, которые упрощают мою работу и освобождают время для охоты, рыбалки и более приятных вещей чем скучный, цикличный и однообразный труд.
Как предложите закреплять полученные знания?
Лучше сразу влезть в какой-нибудь проект с далёким дедлайном и в какую-нибудь команду. В процессе реальной работы появятся первые наработки, которые в будущем пригодятся. Заодно приобретёте навык чтения (и понимания) чужого кода, а также узнаете о себе много нового.
Реально ли найти такую первую работу удаленно?
Да.
И всем прочим ответившим тоже.
А за сколько времени реально выботать проганье до того уровня, когда уже можно начинать искать работу? Допустим что я занимаюсь по 2 часа в день.
Просто есть опасение увязнуть в вечной учебе и так и не дойти до практики.
Но при этом чаще всего хотят ещё что-нибудь типа "начальные навыки html-вёрстки", "знание
Спасибо!
Есть наш форум. Надо написать:
1) питонячий скрипт, который выкачивает списки:
- топ-500 заплюсованных пользователей
- топ-500 заминусованных пользователей
Парсит username-ы и кладет в файл.
2) питонячий скрипт, который выкачивает странички с рейтингами:
http : // forumlocal.ru/ratingdetails.php?username=<username>&full_users=1&showlite=
И парсит их, выделяя инфу о том кто кому поставил сколько оценок (и плюсов и минусов) и кладет в файл.
3) Питонячий скрипт, который берет топ 100 пользователей поставивших больше всех оценок и кладет их в файл.
4) Ты руками помечаешь кто из них мальчик, а кто девочка.
5) Питонячий скрипт, который по предыдущим файлам для каждого пользователя находит любимчика противоположного пола (кому суммарная оценка выше) и записывает файл с двунаправленным графом в формате graphviz-а.
6) Запускаешь graphviz-овский neato, делаешь картинку с никами и прикладываешь постом в этом треде. А мы все получаем граф интимных связей форумчан.
Напиши:
- что из задания ты представляешь, как сделать?
- что из задания ты представляешь, как загуглить?
- какую часть задания вообще не поняла как подступиться?
- сколько времени у тебя может занять выполнение этого задания в худшем случае? в лучшем случае?
4) Ты руками помечаешь кто из них мальчик, а кто девочка.А это нереально какими-нибудь регулярными выражениями с запросом по базе пробить автоматически или хотя бы вероятностно оценить какого юзер пола (если явно не указан)?
А это нереально какими-нибудь регулярными выражениями с запросом по базе пробить автоматически или хотя бы вероятностно оценить какого юзер пола (если явно не указан)?Ну просто разметить 200 человек ручками это гарантированное решение данного пункта за где-то час времени с точностью близкой к 100%. При этом вне зависимости от уровня программиста решающего задачу.
Но так то можно и лингвистику прикрутить и машинное обучение на определение пола сделать. Только это явно дольше будет.
Я сейчас вся в разъездах, в спокойной обстановке внимательно изучу задание и отвечу.
Основы парсинга html-документов читала, но насколько задание мне по силам, пока сказать не готова.
Меня на физфаке, например, практически не учили программизму, так что его тоже можно в первый критерий вписывать.У меня из 8 семестров обучения на фф 7 семестров было программирование.
Поколение ЕГЭ, видимо, даже за 7 семестров не может освоить...
Те общие курсы, что были первые 4 семестра сложно назвать нормальным программированием, а вот последние три, спецкурсы - там были полезные вещи.
Какая кафедра и чему учили?
Алгоритмы численного счёта широкого спектра задач, их распараллеливание, реализация распараллеленного на MPI и cuda-C. В общем всё, что нужно уметь программировать физику-теоретику.
cuda-CА, ну извините. Технологии шагнули. В мое время был 3dfx Voodoo максимум
самые сложные задачи - проектирование архитектуры, формализация требований и построение устойчивого кода (ошибки на изменения)
В тред призывается Шурик!
самые сложные задачи - проектирование архитектуры, формализация требований и построение устойчивого кода (ошибки на изменения)Это вам так трудно, потому что мучаетесь на js. Возьмите нормальный язык, и ваши архитектурные страдания уйдут, будете комфортно код писать и все тобой перечисленной вместе.
P.S. Конечно, находятся любители пострадать и на хорошем языке.
В тред призывается Шурик!Демон.
И какие архитектурные проблемы у js?
И какие архитектурные проблемы у js?Те, на которые жалуется .
Не видел чтобы он жаловался. Или ты хочешь сказать, что программирование на других языках снимает вопрос об архитектуре?
на C# нет проблем с "формализация требований и построение устойчивого кода". Развитие проекта и общение с заказчиком идет в приятном комфортном стиле.
Подгорает, минусы ставят, я сказать нечего.
Почему идиоматичный C# такой
C# такой медленный.я не видел медленный C#. Для начала надо его показать. Потом рассуждать.
Бл* ну вот делать тебе нечего было - лихо поминать!
вот у вас подгорает на тему C#
Почему идиоматичный C# такой медленный.Конструктивный ответ требует больших затрат. Автор не привел тесты, которые измеряют эту медлительность.
Конструктивный ответ требует больших затрат. Автор не привел тесты, которые измеряют эту медлительность.Из языков верхнего уровня C# - один из самых быстрых. Надо только помнить о том, что для выполнения вычислительных задач на нескольких ядрах нужно включить gcServer. Забавно видеть чьи-то тесты, в которых эта опция отключена и результаты сравнимы с работой на одном ядре.
Кроме этого я бы добавил возможность генерировать байткод в рантайме с помощью Linq.Expressions Генерация кода позволяет улучшить производительность вычислительных задач во многих случаях.
Хочешь придумаю тебе задание?Есть наш форум. Надо написать:
1) питонячий скрипт, который выкачивает списки:- топ-500 заплюсованных пользователей топ-500 заминусованных пользователей username-ы и кладет в файл.
2) питонячий скрипт, который выкачивает странички с рейтингами:http : // forumlocal.ru/ratingdetails.php?username=<username>&full_users=1&showlite=И парсит их, выделяя инфу о том кто кому поставил сколько оценок (и плюсов и минусов) и кладет в файл.
3) Питонячий скрипт, который берет топ 100 пользователей поставивших больше всех оценок и кладет их в файл.
4) Ты руками помечаешь кто из них мальчик, а кто девочка.
До четвертого пункта представляю, как делать. Единственное, пока не знаю, откуда брать список пользователей - в UserList много всякого шлака. Все пользователи нужны или только активные?
По третьему пункту - больше всего оценок вообще или больше всего оценок данному пользователю (как Бровер когда-то выкладывал)?
5) Питонячий скрипт, который по предыдущим файлам для каждого пользователя находит любимчика противоположного пола (кому суммарная оценка выше) и записывает файл с двунаправленным графом в формате graphviz-а.С graphviz дела вообще не имела, нужно долго разбираться.
6) Запускаешь graphviz-овский neato, делаешь картинку с никами и прикладываешь постом в этом треде. А мы все получаем граф интимных связей форумчан.Напиши: - что из задания ты представляешь, как сделать?- что из задания ты представляешь, как загуглить?- какую часть задания вообще не поняла как подступиться?- сколько времени у тебя может занять выполнение этого задания в худшем случае? в лучшем случае?
По времени боюсь что-либо предполагать, когда хоть часть напишу - станет более понятно.
С graphviz дела вообще не имела, нужно долго разбираться.Там формат простой как три копейки, за час-два разберешься с нуля. Мне в свое время для похожей по сложности задачи хватило 10 минут документации.
Единственное, пока не знаю, откуда брать список пользователей - в UserList много всякого шлака. Все пользователи нужны или только активные?топ-500 заплюсованных
топ-500 заминусованных
вот ссылки списка пользователей с сортировкой по рейтингу, в принципе они и выше были:
https:/ /forumlocal.ru/showmembers.php?Cat=&sb=12
https:/ /forumlocal.ru/showmembers.php?Cat=&sb=11
По третьему пункту - больше всего оценок вообще или больше всего оценок данному пользователю (как Бровер когда-то выкладывал)?просто больше всего оценок в сумме
С graphviz дела вообще не имела, нужно долго разбираться.скачать
http://www.graphviz.org/Download.php
примеры графов (там если тыкаешь, то показывает код графа):
http://www.graphviz.org/Gallery.php
запускать для этого задания:
neato -Tpng -o links.png <имя файла c графом>
Это вам так трудно, потому что мучаетесь на js.я уже года три как на плюсах.
какой-то особой разницы с точки зрения организации разработки и построения архитектуры (кроме некоторых тонкостей) между js и c++ не вижу
джетбраймовци вроде в последние несколько лет что-то пытаются мутить, я не в курсе насколько успешно, но вряд ли сильно успешно, язык такой
на c++ тоже навигация по элементам кода слабоватастудия иногда не показывает определение метода для конкретного объекта (особенно тяжело с виртуальными функциями) и плохо ищет конкретные шаблоны
find usages работает прекрасно, хотя много ложно-положительных
но я уже привык и не замечаю эти вещи
Второй тоже проблем вызвать не должен.
Третий тоже.
Четвертый мне делать лень. Не программистское это дело
Дальше пока не смотрела.
Первый пункт сделала.Код показывай!
Хотя ладно. Закидывайте...
# -*- coding: cp1251 -*-
__author__ = ''
import urllib.request
from html.parser import HTMLParser
import sys
import io
class My_HTMLParser(HTMLParser):
'''Parser to parce HTML files. Gets table content between CODE LOOP and
END OF LOOP comments.'''
def __init__(self):
super.__init__
self.users = False #This variable is flag to start data parcing
def handle_endtag(self, tag):
'''Separate srtings as they were in table.'''
if tag == 'tr' and self.users == True:
def handle_comment(self,data):
'''Code between these comments is our data.'''
if 'CODE LOOP' in data:
self.users = True
if 'END OF LOOP' in data:
self.users = False
def handle_data(self, data):
'''Print cell content.'''
if not data.isspace and self.users == True:
print (data.strip end = '\t')
link = 'http://forumlocal.ru/showmembers.php?Cat=&sb=12&page='
parser = My_HTMLParser
parced_data = io.StringIO #Use StringIO object to store raw data
old_stdout = sys.stdout
sys.stdout = parced_data
for counter in range(1,21): #This loop parces data of all 20 pages
new_link = link + str(counter)
my_source = urllib.request.urlopen(new_link).read
my_data = my_source.decode('cp1251')
parser.feed(my_data)
parser.reset
sys.stdout = old_stdout
my_file = open ('userlist_high_rating.txt', 'w')
strings_in_table = parced_data.getvalue.split('\n') #Get data from StringIO and put it to array of strings
for line in strings_in_table: #Split every line by tabulations and write the first element to the file
str_ar = line.split('\t')
my_file.write(str_ar[0]+'\n')
my_file.close
parced_data.close
print('OK!')
Вы ж тапками закидаете.В этом и смысл для тебя. Свой код стоит всем показывать, но не всё из услышанного стоит принимать как руководство к действию.
sys.stdout = parced_dataСтоит переписать код так, чтобы stdout не использовался для передачи данных между двумя частями программы.
Текущее решение здорово ухудшает повторное использование кода и комбинируемость кода. И нарушает два правила:
- не использовать глобальных переменных без необходимости
- избегать неявных передач данных
Одно из простых решений: явно передать parced_data в My_HTMLParser и печатать в него.
Когда перестанешь так думать, станешь программистом
Четвертый мне делать лень. Не программистское это дело
UPD: подскажите, как перенаправить печать в файл?
Про то, что можно сделать print('my_str', file = 'untitled.txt') я знаю.
Но в моем коде (выше) менять функции в классе My_HTMLParser не хочется - хотелось бы, чтобы он просто печатал, а печать эту перенаправлять уже при вызове parser.feed. Надеюсь, понятно объяснила...
Parser to parceсуслика видишь?
Скажите, а "я тупая и иначе не умею" - является достаточно серьезным основанием, чтобы менять системные переменные?
self.users == Trueлогический тип придумали не за тем, чтобы его сравнивать в условии
Но в моем коде (выше) менять функции в классе My_HTMLParser не хочется - хотелось бы, чтобы он просто печатал, а печать эту перенаправлять уже при вызове parser.feed.Передавай файл в My_HTMLParser, и печатай в него.
Использующий код будет такой:
parser.output = sys.stdout
parser.feed(my_data)
parser.reset
parser.output = my_file
parser.feed(my_data)
parser.reset
менять функции в классе My_HTMLParser не хочется - хотелось бы, чтобы он просто печатал1. Определись, что делает My_HTMLParser и дай ему смысловое имя. Это структурирует код и твои мысли по поводу него.
Возможны два варианта:
a) UsersTable_HtmlParser - этот код парсит только конкретную таблицу, и тогда если необходимо распарсить другую таблицу, то пишется другой класс
b) Table_HtmlParser - класс парсит произвольную таблицу, и может использоваться для любой страницы.
Второй вариант предпочтительнее, но чуть сложнее.
2. Раздели My_HTMLParser и печать.
Сделай так, чтобы My_HTMLParser помещал данные в коллекцию, а не в файл.
Это ускорить программу (уйдут преобразования в файл и обратно) и повысит ясность кода.
Помогите, плиз, разобраться с кодировками в url.
Есть вот такой кусок кода:
# -*- coding: cp1251 -*-
from urllib.parse import quote, urlsplit, urlunsplit
import urllib.request
url = (сюда я вставляю какой-то url)
parts[0] = quote(parts[0], safe=':/?=&')
parts[1] = parts[1].encode('idna').decode('ascii')
parts[2] = quote(parts[2], safe=':/=?&')
parts[3] = quote(parts[3], safe=':/=?&')
parts[4] = quote(parts[4], safe=':/=?&')
url = urlunsplit(parts)
print(url)
Так вот, если я в качестве url использую, например, "http://секс.рф/тв-каналы/секс_и_здоровье/", то на выходе получаю значение "http://xn--e1aktc.xn--p1ai/%D1%82%D0%B2-%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D1%8B/%D1%81%D0%B5%D0%BA%D1%81_%D0%B8_%D0%B7%D0%B4%D0%BE%D1%80%D0%BE%D0%B2%D1%8C%D0%B5/" - замечательно работающая ссылка.
А если я беру "http://forumlocal.ru/ratingdetails.php?username=Гулька&full_users=1&showlite=", то получаю "http://forumlocal.ru/ratingdetails.php?username=%D0%93%D1%83%D0%BB%D1%8C%D0%BA%D0%B0&full_users=1&showlite=" и вместо рейтинга Гульки получаю сообщение о том, что
We could not find a profile for the Username 'Гулька'
Подозреваю, что собака порылась в кодировках, но как это лечить?
Второй день уже над этим бьюсь, все не выходит.
http://github.com/mr-tron/forumlocal-json-api/blob/master/p...
парсер форума под питон3. тренировался тоже на нике "Гулька".
тебя интересуют строки 4 и 45.
парсер форума под питон3. тренировался тоже на нике "Гулька".
тебя интересуют строки 4 и 45.
Ааааа, сработало! Спасибо!
Четвертый мне делать лень. Не программистское это делоЧетвертый пункт относительно несложно автоматизировать с помощью анализа постов пользователя. Заодно будет тебе творческая задача.
1) Химфак+аспер+защита дисера.
2) Прогать начала после аспера (удивительно, как мне это раньше в голову не приходило)
3) Через год была первая подвально-сайтостроительная работа. Ещё через 9 месяцев - пиар-агенство, отдел web-разработки, где удалось влезть в проекты на java, ещё через год ушла в банк как java-прогер.
Сейчас правда уволилась, работаю удаленно, и пока снова на php + не уверена, что захочу возвращаться на full-time прогером, ибо сидячая работа по 8 часов перед компом - это жесть.
Считаю, что в любом случае не потеряла время зря, старую профессию тоже не забрасываю - поддерживаю форму репетиторством, а там посмотрим как сложится.
4) Пол Ж.
Как училась:
а) самостоятельно верстала все подряд и решала задачки по js c learn.javascript.ru.
б) попыталась замутить самописный велосипед на php, велосипед до конца не довела, и быстро потеряла к нему интерес, но этого хватило чтобы было что показать на собесе
в) далее уже на работе осваивала все остальное, временами впадая в панику при необходимости настроить сервак)
г) заботала пару умных книжек по С и С++ для лучшего понимания что такое прогерство вообще и создания фундамента, решала учебные задачки из них
д) едва придя в пиар-контору, подключила умную книжку по java + курс по алгоритмам на coursera в качестве практики (он как раз на java сдавался). Сама java после С++ осваивалась очень легко, и даже казалась какой-то 'несерьезной'
е) от обилия технологий javaEE был очередной культурный шок, на каждый вопрос 'что это такое' узнавала 10 новых терминов, но через пару месяцев освоилась и обнаглела
ж) много приставала к друзьям-прогерам на тему 'а как идеологически правильно сделать то-то и то-то'.
з) рассматривала любую работу, в т.ч. бесплатное выполнение тестового задания, как возможность потренироваться. Да, все мы мечтаем о высоком, но даже делая сайт по продаже виагры на php, можно узнать что-то полезное и добавить опыта в свою копилку.
Спасибо за рассказ. Надеюсь, что у меня тоже получится.
Сложно ли искать работу удаленно? Я полностью разделяю твое нежелание возвращаться в офис.
ЗЫ: 1000 файлов с рейтингами уже есть На следующей неделе обсчитаю и выделю 100 самых активных оценщиков... Код пока не буду выкладывать, может, я там еще чего исправлю
1000 файлов с рейтингами уже естьЯ бы на твоем месте sqlite базу создал и туда бы сохранял все данные. См. http://docs.python.org/2/library/sqlite3.html
С БД будет проще всякие штуки считать потом.
В изначальном задании был файл, поэтому делала в файл.
Сложно ли искать работу удаленно?Не сложно: fl.ru и weblancer.net к вашим услугам. Сложно искать хорошо оплачиваемую удаленную работу. За копейки все готовы тебя поюзать. Меня текущий уровень оплаты прямо скажем не полностью устраивает, репетиторство пока в 2-3 раза выгоднее.
на odesk не пробовала?
на odesk не пробовала?Пока нет, но на перспективу держу в уме.
линк для просмотра и скачивания
Распределение полов в топ-100 оказалось очень неравномерным: 14 к 86. Главным любимцем женской части форума оказался kobold - судя по всему, тайные чувства к нему испытывают аж 5 форумчанок. Следующим с большим отрывом следует Prof - он является объектом страсти двоих. Остальные в лучшем случае удостоились внимание одной барышни. Ну и нарисовались три пары: Reily-kobold, Mirra-Troop и love_sun-Pase4nik.
Код выложу попозже.
Можешь на основании рейтинга вычислить либерастов и ватников?
Кто о чём, а васютка всё о либералах думает. Не боишься по результам вычислений оказаться в стане ватников? Или ещё хуже - либерастов?
Не сложно: fl.ru и weblancer.net к вашим услугам. Сложно искать хорошо оплачиваемую удаленную работу. За копейки все готовы тебя поюзать. Меня текущий уровень оплаты прямо скажем не полностью устраивает, репетиторство пока в 2-3 раза выгоднее.
из всех русскоязычных фрилансерских сайтов меня больше всего по деньгам и удобству работы радовал freelance.ru. weblancer скорее украинский (что влияет на цены там). Хотя лично мне из всего xussr было приятнее всего работать с хохлами: от туда мне попадались в основном только мегаадекватные няшки.
Граф связей форумчан построен, наслаждайтесь:Сделай генератор постов в форум на марковских цепях. Он должен уметь генерировать пост по пользователю и по разделу.
Если сделаешь, это будет нереально круто.
наконец мы узнаем являются ли and21chuv и альбир одним и тем же человеком.
Да ты заебал.
Главным любимцем женской части форума оказался kobold - судя по всему, тайные чувства к нему испытывают аж 5 форумчанок.Так себе аналитика.
Он же просто непрерывно клоуничает, а те, кого еще не заебало, - плюсуют, в том числе форумчанки
у тебя какое-то обострение по ходу. Нервишки шалят?
што
Не, вот к какому-либо анализу лексики я не готова, у меня математического бэкграунда на это не хватит.
Оставить комментарий
MarizzaMarizza
Есть ли на этом форуме люди, удовлетворяющие следующим критериям:1) образование не техническое и тем более не связанное с ИТ - т.е. геологи, историки, химики и т.д., но не мехмат, ВМК, физфак.
2) самостоятельно изучили программирование
3) сейчас программирование - их основная профессия.
Поделитесь, пожалуйста, историями успеха. Особенно интересует первый этап - как нашли первую работу, поскольку это, кажется, самое сложное.
Вопрос связан с тем, что я не очень понимаю, как мне развиваться дальше. Вот основы Python я выучила, читаю Dive into Python, есть даже небольшое задание, но... хочется систематичней подойти к делу. Как предложите закреплять полученные знания? Решать задачки с сайтов? Сразу искать реальную работу? И, кстати, при каком уровне знаний уже можно начать искать работу Junior Developer? Реально ли найти такую первую работу удаленно?