• Как преобразовать PIL объект в Bytes?

    ha7y
    @ha7y
    Проактивный менеджер IT проектов
    Обобщая длинную переписку в коментах к предыдущему ответу, получается как-то так:
    image_content = requests.get(image_url).content
    
    image = Image.open(BytesIO(image_content))
    image = image.crop((0, 0, image.size[0], image.size[0]*0.975))
    image_content = BytesIO()
    image.seek(0)
    image.save(image_content, format='JPEG')
    image_content.seek(0)
    
    requests.post(url, files={'photo': ('upload.jpg', image_content)})


    Пример кода в github'е
    Ответ написан
    Комментировать
  • Как узнать, залогинен ли пользователь vkontakte?

    ha7y
    @ha7y
    Проактивный менеджер IT проектов
    Ответ написан
    Комментировать
  • Как развить навык проектирования приложения или как стать Senior?

    ha7y
    @ha7y
    Проактивный менеджер IT проектов
    Предлагаю определить Junior, Middle, Senior следующим образом, чтобы было понятно, куда двигаться:
    • Junior - вы только-только начали ориентироваться (в языке или , может быть, в предметной области, в которой работает компания), поэтому вам говорят что делать и как это делать. Вы задаёте вопросы "почему так, а не вот так?" и получаете ответы (иногда ищете сами). Для вашей работы готовы все необходимые каркасы,
      вы делаете то, что для остальных очевидно. Вы с удовольствием фигачили бы код килобайтами, но пока много не знаете/не понимаете, поэтому основное время проводите в изучении: статей в интернет, мануалов по языку, чужого кода
    • Middle - вы хорошо ориентируетесь (в язые или, может быть, в предметной области, понимаете употребляемый окружающими жаргон и можете поддержать беседу, рассказать о том, что узнать про это в интернете или конференциях), поэтому самостоятельно решаете как делать то, что вам говорят сделать, иногда оспаривая те или иные решения и предлагаю свои. Вы фигачите код килобайтами и даже мегабайтами и решаете не только стоящие перед вами задачи, но и учитесь делать что-то неизвестное ранее. Порой даже уговариваете менеджеров соглашаться на нереальные сроки и работаете по вечерам допоздна, лишь бы попробовать какую-то новую технологию/фреймворк/язык/etc
    • Senior - вы свободно ориентируетесь (и в языке, и в предметной области, и в имеющемся в компании коде, вводите в обиход новые жаргонные словечки, которые подхватывают все), поэтому самостоятельно решаете как сделать и что сделать на основании целей и проблем, описанных руководством/заказчиком, иногда отговариваете их делать что-то ради того, чтобы сфокусировать команду и себя на важных вещах. Основная масса кода, который значится за вами в репозиториях сделаны в одном из первых коммитов, и включает в себя настройку подключенных фреймворков и создание каркаса для наполнения его силами Middle и Junior разработчиков. Вы отговариваете и убеждаете всех вокруг не делать то, чего делать не нужно, присматриваете за тем, чтобы Junior'ы (в большей степени) и Middle'ы (в меньшей степени) действовали согласовано и трактовали заложенный в проект каркас так, как вы это подразумевали.
    Ответ написан
    Комментировать
  • На что нужно обращать особое внимание при устройстве на работу?

    ha7y
    @ha7y
    Проактивный менеджер IT проектов
    До устройства на работу идёт выбор этой самой работы. Лично я при выборе заранее обращаю внимание на следующие критерии:
    • Цвет зарплаты: белая/серая/чёрная.С чёрной у вас вряд ли будут шансы уйти из компании без проблем. С чёрной и серой руководство сможет легко жонглировать зарплатами и менять условия на лету - это зависит от руководства. Но когда вы говорите о своих проблемах или желании сменить работу, доброе отношение очень быстро может смениться безразличием и манипуляциями с деньгами и вашим временем не в вашу пользу. С серой зарплатой стоит обращать пристальное внимание на размер официальной части. По белой работают не все.
    • Странности при общении с будущим руководителем.На одном из собеседований должна быть встреча с будущим руководителем. По-задавайте ему вопросы о том, как устроена работа в команде. Например, есть отличная классификация руководителей по Литваку, которая позволит предсказать то, что вас ждёт: профессиональное разложение, медленный рост и комфортная работа или быстрый профессиональный рост, большие достижения и результаты.
    • Возможность карьерного роста.Компании из 5 человек сложно стать менеджером/тимлидом в приемлемые сроки, в компании из 50 вполне возможно. Если вам это нужно, конечно.
    • Используемые технологии.Сейчас в тренде Bigdata с Golang'ом, Highload с Python'ом, и т.п.. Опыт работы с этими вещами будет цениться ещё долго.
    • Географическое расположение.Большая часть работающего населения предпочитает тратить на поездку до работы меньше 1 часа. Лично я тоже :-)
    • Наличие и содержание отзывов о фирме в интернете.Грустные бывшие сотрудники иногда делятся своими эмоциями. Это всегда чёрные густые краски, но среди них можно вычленить некоторые проблемы внутри организации.
    • Ниша, приносящая основной доход. Сейчас, например, не стоит идти работать в книгопечатание, там сейчас закат (возможно, скоро будет и рассвет, но доживёте ли до него - не факт). Тут можно начать с гугления по фразе "наиболее доходные виды бизнеса", ну или посмотреть при первом визите на офис компании.
    • Продуктовый/аутсорсинговый бизнес.В аутсорсинговых/аутстаффинговых компаниях торгуют временем людей, поэтому предпочитают закручивать гайки по полной и экономить на всём - это часть их бизнеса, поэтому по-другому быть не может. В продуктовых компаниях, в зависимости от их маржинальности, могут быть очень вкусные условия работы.

    Не всегда, не все компании, в которые я приходил работать получали по всем пунктам самые высокие "баллы", но такие критерии позволяют сравнивать разные варианты между собой и делать взвешенный выбор.
    Ответ написан
    Комментировать
  • Как стать менеджером в ИТ?

    ha7y
    @ha7y
    Проактивный менеджер IT проектов
    Очень согласен с ответами, данными до меня. От себя добавлю, что ни один генерал не миновал роли рядового (пусть даже в стенах учебки, после которой ему дали звание лейтенанта). Бегать, маршировать и выполнять прочие шаблонные, механические и даже рутинные действия не только необходимо, но и полезно, чтобы понять ход мыслей тех, кем управляешь.
    Роль управленца даёт обязанности и ответственность. Полномочия? - Только в области управления людьми: найм, увольнения, мотивация.
    Ответ написан
    Комментировать
  • Дистрибутив Linux удобный для TouchScreen

    ha7y
    @ha7y
    Проактивный менеджер IT проектов
    Android.
    В "чистом" виде: www.android-x86.org
    Чуть более оптимизированный под PC: www.jide.com/remixos
    Ответ написан
    Комментировать
  • Как узнать IP нападающего за proxy cервером/и?

    ha7y
    @ha7y
    Проактивный менеджер IT проектов
    Можно воспользоваться сервисом keeep.us. Основан на CAPTCHA и клиентском приложении на Flash (на Java вариант тоже есть) для отображения картинки, если реальный IP пользователя определен, иначе тест не пройти. А клиентские приложения просто посылают пакеты на сервер мимо всех прокси-серверов, используемых в системе. Единственный шанс обойти все это — проксификатор, вроде WideCap, но что-то и он не справился после нескольких моих тестов. Видимо, проксировать UDP-трафик нет просто, как кажется.
    Ответ написан
    Комментировать