Задать вопрос
  • Как реализовывать запросы VK API через Python без токена?

    @prawn-cake
    Привет.
    Рекомендую использовать библиотеку https://github.com/prawn-cake/vk-requests
    import vk_requests
    
    api = vk_requests.create_api()
    api.users.get(user_ids=1)
    [{'first_name': 'Pavel', 'last_name': 'Durov', 'id': 1}]


    Но вообще лучше использовать token-based аутентификацию, т.к token-free api сильно ограничено
    Ответ написан
    Комментировать
  • Почему Connection aborted при подключении к существующему URL Яндекс Погоды?

    @Damakshn
    По всей видимости, ЯндексПогода принимает вашу программу за бота и сбрасывает соединение. Чтобы этого избежать, нужно притвориться браузером, т.е. сделать так, чтобы отправляемый программой http-запрос имел заголовок User-agent. Плюс может потребоваться запрашивать данные несколько раз по этой же причине (вылезает ошибка RemoteDisconnected). Я использовал сессии, получилось.

    import requests
    headers = {'User-agent':'Mozilla/5.0','Referer':'http://www.python.org/'}
    session = requests.Session()
    adapter = requests.adapters.HTTPAdapter(max_retries=10)
    session.mount('http://', adapter)
    # запрашиваем нужные урлы
    for url in urls:    
        response = session.request('GET', url, headers = headers)
        # делаем что-то с response...
        reponse.close()
    session.close()

    Ещё могут быть проблемы из-за старой версии Питона, писал в 2.7 через urllib2 - не работало, в 3.5 - все норм.
    Ответ написан
    Комментировать
  • Как называется скрипт обучения по использованию элементов страницы сайта?

    Deonisius
    @Deonisius
    Родился в 11110110111 году, 11000 января.
    Кроме intro.js:
    1. Product Tour3
    2. SiteHelp.js
    3. jQuery Guide
    4. FAQtoid
    5. Shepherd
    6. Hopscotch
    7. Bootstrap Tour
    Еще десяток найти можно точно.
    Ответ написан
    Комментировать
  • Проблема "тормознутости" Ruby реальна в наше время?

    2ord
    @2ord
    Скажем, логику игрового сервера можно реализовать в виде микро-сервисов на более легковесных фреймворках нежели Rails: Sinatra, Hanami и т.д. Самый простой вариант - использование JSON в качестве формата для входных/выходных данных.
    Или же при помощи MessagePack (есть gem) можно обмениваться с различными микро-сервисами, которые могут быть реализованы на других языках.

    В случае использования MessagePack (или аналогов) и микросервисов всегда можно впоследствии перейти на решения на других языках, если потребуется из-за узких мест в производительности.
    Ответ написан
    Комментировать
  • Какими знаниями о http/https должен обладать web-разработчик?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Для HTTP: Что такое URI и какие заголовки для чего используются.
    Для HTTPS: принцип работы, настройка на сервере, SSL/TLS, OpenSSL, проверка и генерация сертификатов с различными типами и алгоритмами шифрования.
    Ответ написан
    5 комментариев
  • Как сделать парсер на python учитывая что переход по страницам осуществяется на javascript?

    @nirvimel
    В данном случае достаточно установить печенку AmListSearch в значение PageNumber=N, запросить станицу по этому же адресу и получить в ответе список, открытый сразу со страницы N.
    Например:
    $ curl --cookie "AmListSearch=PageNumber=12" https://bankrot.fedresurs.ru/ArbitrManagersList.aspx > bankrot.html
    $ firefox bankrot.html

    А вообще, в подобных случаях следует действовать по примерно такому алгоритму:
    1. Через FireBug (или встроенную панель разработчика Tools->Web_Developer->Network) отловить исходящий HTTP-запрос на действие, вызывающее подгрузку AJAX-контента.
    2. Определить через какой параметр передается переменная (номер страницы, например). Это может оказаться не только параметр GET-запроса, но и поле POST-формы, или печенка, или даже произвольный кастомный HTTP-заголовок.
    3. Определить формат и структуру ответа. Это может быть произвольный HTML-фрагмент (чаще всего), или целый HTML-документ, или XML, или JSON (самый правильныйЪ вариант с точки зрения разработки), или вообще произвольный текстовый формат, который парсится скриптом после получения (именно такой бредовый формат имеем в данном случае, я даже не стал его разглядывать, сразу попробовал обходные пути и нашел же один).
    4. Написать скрипт, который формирует запросы, подобные тем, что уходят со страницы, и парсит ответы.
    Ответ написан
    1 комментарий
  • Какими знаниями о http/https должен обладать web-разработчик?

    aRegius
    @aRegius
    Python Enthusiast
    На мой взгляд, категория "обязательно должен знать" довольно субъективна. Есть конкретный работодатель - есть конкретные требования к требуемому набору инструментов. Т.е. типовые "обязалки" нужно, наверное, смотреть в инфо о вакансиях.

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

    Конечно, рекомендовать я могу лишь то, чем пользовался сам - вот эта книга.

    Когда я только начинал изучать программирование (я выбрал back-end), мне нужна была подобная информация для того, чтобы чувствовать себя более-менее комфортно в этой теме (т.е. я хотел сам в ней разобраться, понимая, что это и нужно, и интересно). И моим мотивом, в данном случае, был вовсе не тот факт, что кто-то, или что-то "обязало" меня это выучить.

    Посмотрите, она была в открытом доступе. Полагаю, ознакомившись с оглавлением (там конкретно разбито по главам, о чем там речь, какие темы... ) вы сами поймете, то ли это, что вам нужно и определитесь с тем, в каком объеме вам это нужно, чтобы чувствовать себя комфортно. Это, повторюсь, все довольно субъективно. (Я например, когда читал оглавление, сходу для себя отмечал: "О, это мне нужно... О, здорово, это тоже пригодиться... Это, пока, пропущу..." и т.п. В сухом остатке понял, что это то, что мне нужно.)

    P.S. Я еще новичок по меркам IT, поэтому копнуть глубже (если, конечно, вам нужно глубже) не в моей компетенции. Чем смог, как говорится. Успехов!
    Ответ написан
    1 комментарий
  • Как сверстать такой шаблон?

    IgorBee
    @IgorBee
    JS,VBS,3D.Web с 07.2015
    Готовый вариант
    Создаем блоки и меняем им наклон,а внутри прописываем display: inline-block и противоположную трансформацию для текста,чтобы он был ровным.

    transform: rotate(-45deg);
    ncgTFfe.png
    Ответ написан
    1 комментарий
  • Скрипт конвертера doc(pdf) в html?

    @krypt3r
    pandoc в помощь. Оказался лучшим вариантом конвертации docx -> html (в моем случае, далее идет конвертация в pdf с помощью wkhtmltopdf). К html можно прикрутить свои стили css.
    Таблицы pandoc сохраняет нормально только простые. С ячейками на несколько строк или столбцов не работает (пришлось костылить, чтобы прописывался ячейке нужный colspan). Ссылки вроде работают. Картинки не проверял — в шаблонах документов они не нужны.
    pandoc требователен к исходному docx. Вложенные списки не работают. Лишняя строка между элементами нумерованного списка приводит к разрыву нумерации. Многоуровневые нумерованные списки поддерживаются, достаточно правильно "сверстать" их в ворде и соорудить правильный CSS.
    Однако, повторюсь, это лучший вариант конвертации docx -> html
    PS. На гитхабе есть обертки на PHP как для pandoc, так и для wkhtmltopdf
    Ответ написан
    2 комментария
  • Курс по программированию на Python. Кто проходил?

    Lancelote
    @Lancelote
    Django developer
    Да нормальный на coursera курс (вот он кстати https://www.coursera.org/course/interactivepython1 ), лучше многих. Там вся специализация отличная - веселые преподаватели, интересные задачки, заставляют писать тесты и соблюдать PEP8. На stepic сильно проще, но на русском, единственно. Курс от codecademy.com элементарный, мб в нагрузку к чем-нибудь более серьезному только взять.

    Лучшие, из тех что я проходил:
    https://www.udacity.com/courses/cs101 - основы
    https://www.udacity.com/courses/cs212 - углубленные вещи
    Ответ написан
    3 комментария
  • Каково назначение перечисленных JavaScript-фреймворков?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    1. Любой. Попробуйте Angular, миллионы туториалов. Или React — опять таки масса инфы. Посмотрите Backbone — простые и ясные базовые концепции.
    2. Назначение аболютно любого фреймворка — облегчить жизнь при написании нетривиальных по объему задач.
    3. Любой с любым, практически. React-у по барабану, он за это не отвечает, Backbone и Ember из коробки заточены под REST.
    4. Ниша Knockout уже занята React/Angular. Про Backbone сейчас говорят крайне мало, но все еще больше, чем про Ember.
    Ответ написан
    Комментировать
  • Порядок изучения react.js?

    @kambur
    Посмотри суда - специально для таких случеев писал
    Ответ написан
    Комментировать
  • Порядок изучения react.js?

    @mkoloskov
    Курс на русском по реакт на hexlet.io
    Ответ написан
    1 комментарий
  • Как загрузить изображение на стену в VK через VK API на Python?

    Есть подробная инструкция на сайте ВК

    Для данной операции вам необходимо получить токен для вашего приложения.
    Можно использовать vk_auth
    Для отправления запросов можно использовать библиотеку requests

    import requests
    import json
    import vk_auth
    
    # Ваши данные ВК
    email = ''
    password = ''
    client_id = ''
    # Необходимые нам права
    scope = 'wall,photos'
    # Идентификаторы группы
    gid = ''
    
    token = vk_auth(email, password, client_id, scope)[0]
    
    # путь к вашему изображению
    img = {'photo': ('img.jpg', open(r'img.jpg', 'rb'))}
    
    # Получаем ссылку для загрузки изображений
    method_url = 'https://api.vk.com/method/photos.getWallUploadServer?'
    data = dict(access_token=token, gid=gid)
    response = requests.post(method_url, data)
    result = json.loads(response.text)
    upload_url = result['response']['upload_url']
    
    # Загружаем изображение на url
    response = requests.post(upload_url, files=img)
    result = json.loads(response.text)
    
    # Сохраняем фото на сервере и получаем id
    method_url = 'https://api.vk.com/method/photos.saveWallPhoto?'
    data = dict(access_token=token, gid=gid, photo=result['photo'], hash=result['hash'], server=result['server'])
    response = requests.post(method_url, data)
    result = json.loads(response.text)['response'][0]['id']
    
    # Теперь этот id остается лишь прикрепить в attachments метода wall.post
    method_url = 'https://api.vk.com/method/wall.post?'
    data = dict(access_token=token, owner_id='-' + gid, attachments=result, message='')
    response = requests.post(method_url, data)
    result = json.loads(response.text)
    
    # На выходе мы получим в ответе post_id если не было ошибки
    Ответ написан
    5 комментариев
  • У кого-нибудь есть образец договора оферты на услуги веб-разработчика?

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

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

    Оптимально привлечь какой-нить сервис вроде knopka.com
    Ответ написан
    2 комментария
  • Какие преимущества фриланс имеет над работой в офисе?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Описываю по себе:
    1) Возможность создать свой собственный режим сна. Для меня вставать в 8-9 утра это настоящая боль. Уже год+ засыпаю между 3-4 часами ночи и просыпаюсь между 11-12. То есть абсолютно всегда сплю свою норму в 8 часов, для того чтобы чувствовать себя нормально и не пить никаких кофе.
    2) Отсутствие временных/моральных/физических затрат на дорогу до работы. Конкретно мне жаловаться не приходилось, ибо первое место работы было в 10 минутах ходьбы от дома, но вот люди в больших городах от этого явно страдают.
    3) Возможность жить и работать так, как это удобно ТЕБЕ. Вот сижу я днем, дописал только-что какой-то кусок проекта и смотрю в окно, а там солнышко светит и птички поют. Ну я беру и иду бегать на стадионе. И это все происходит в 2 часа дня. А что в офисе? Ходить проветривать мозги на улицу на официальных перерывах? А если заработался и пропустил перерыв, то что? Во многих компаниях придется сидеть дальше тупить.
    4) Возможность работать тогда, когда это наиболее удобно и эффективно для тебя. Один из самых важных пунктов. В офисе пришел и сидишь 8-часовой рабочий день. И ты же не можешь подойти к начальнику и сказать, что у тебя сейчас мозги не работают, и тебе бы хотелось свалить домой вообще. Ну может 1-2 раза отпустят, а что делать если тебя в каждый второй день после обеда парализует на пару часов? Будешь в итоге сидеть и накручивать спагетти-код на вилку. А потом его рефакторить, матерясь. Мне вот например ночью нравится работать, но где вы видели офисы, в которых вам позволят одну половину дня работать там, а другую ночью дома?
    5) Отсутствие привязанности к каким-то предпочтениям фирмы. Вот попали вы в веб-студию, делающую сайты на битриксе. И представим чисто теоретически что вам там платят нормальные деньги. А дальше что? Ну полгода вы попилите магазинчики. А потом еще полгода. И еще. Ну конечно не везде так уныло, но своих "особенностей" хватает во всех компаниях.
    6) Отсутствие видимого потолка по заработку. В стандартной компании вас посадят на оклад, +небольшие премиальные если вся команда в сроки будет сдавать проект например и нарисуют вам роадмап, по которому вы будете строить планы на жизнь. Аля "через полгода сдам 7 проектов и меня повысят, увеличив зп на 15%". А потом в один прекрасный вечер после работы вы сядите изучать что-то интересное дома. И будете изучать недели-месяцы. И вот приходите вы однажды на работу, с кучей новых знаний, а у вас в голове стойкое ощущение того, что сейчас вы достойны не то что этой прибавки в +15%, а вы на все 30% тяните. Но вам никто этого не даст. Просто потому-что обычные офисы живут по другим правилам.
    Ответ написан
    11 комментариев
  • Порядок изучения react.js?

    VirmarY
    @VirmarY
    Full-stack web developer
    Ну вот вам для затравки:
    [pluralsight.com] React Fundamentals
    [Tuts Plus] Getting Started With React.js Video Tu...
    [Egghead.io] React Lessons
    scotch.io
    sitepoint.com
    codementor

    а дальше документация + поиск статей на английском
    Ответ написан
    Комментировать
  • Разработка чата для сайта с помощью Python/Flask?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Для чатов лучше всего подходит Tornado.
    Ответ написан
    5 комментариев
  • Как получить опыт для устройства на работу Python Developer?

    zxmd
    @zxmd
    По опыту набора Python разработчиков могу сказать следующее:
    - Свои проекты на github никого кроме вас самих не волнуют. Ну сами судите - если это проект который никто не фалловит никто не форкает и написан еще кривенько - толку от него мало. Если это реально хорошо написанный код - то это можно использовать как ваш образец написания кода. Мне бы это понравилось, кто то это не учтет.
    - Опыт от 1 года - это не требования, это так сказать фильтр, который отсеит тех кто прочитал книжку "Соц сети за 24 часа для новичков".
    - Фриланс - более менее имеет вес. Но тут палка о двух концах. Я лично бывает звоню по фрилансному контракту и интересуюсь о человеке который выполнил заказ. Тоесть тут надо быть точно уверен что никто из ваших клиентов не скажет "да вы что, он нам проект делал полгода и не доделал" - хотя с вашей стороны будет "да они тз 10 раз меняли и вообще не заплатили за работу". Но обычно уже нет возможности оправдаться. Так что фриланс - не однозначная штука.
    - Голый питон - мало кому из работодателей интересен. Интересует скоп технологий. Если это web то Python+Django+PSQL+PIL+South+Elasticsearch(или sphinx)+mongo+lxml+с полсотни библиотек под разные нужды. Но это я говорю уже о сложившемся синьоре питонисте.
    - По поводу джуниоров. Я при просмотре резюме вообще не смотрю на ЯП (если это не 1c или VB) - язык, в особенности питон - дело 2-3 недель в реальном проекте. Опять по своему опыту - часто приходится переучивать народ с PHP, в этом нет ничего сложного. Многие фирмы идут на это, так как рынок питон разрабов очень ограничен. Как говориться - выращивают бабу-ягу в своем коллективе. Тут главное показать то, что хоть у вас нет опыта - вы этот самый опыт желаете получить..
    Ответ написан
    5 комментариев