Ответы пользователя по тегу Python
  • Какой язык программирования учить?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Учите для начала SQL. Возможно вам не нужно будет учить язык программирования, просто взять GUI-шный клиент для вашей базы, и делать из него запросы сразу получая результат, и экспортируя в excel.

    P.S. Есть готовые движки, которые могут помочь вам с визуализацией запросов в SQL
    Ответ написан
    2 комментария
  • Как спроектировать архитектуру большого проекта с начальным знанием программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    К сожалению с начальным знанием программирования - никак.
    Вы не можете привлекать сторонних разработчиков, но уже привлекаете их через Тостер.

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

    Как говорят - оптимизация до оптимизации не нужна.

    У меня был опыт запуска интернет-магазина во времена, когда их было десяток на всю страну. Первый интернет-магазин мы писали почти полгода, внедрив в него тысячи фич, которые оказались невостребованными. Через год проект себя отбил, и мы заказали не редизайн а весь магазин с нуля. Разработка шла 2 месяца, обошлась в 4 раза дешевле. Функционал стал гораздо удобнее. И мы поняли, что в первый раз надо было тоже пойти по более простому пути, тогда мы мы запустились на 4 месяца раньше и отбились бы за полгода.
    Ответ написан
    1 комментарий
  • Какую операционную систему использовать для разработки на Python?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Для разработки нужно использовать не операционную систему, а удобное для вас окружение (редактор, IDE, etc)

    Запускать свой сайт вы можете и на другой системе.

    Для веб, конечно лучше запускать под Линуксом, но при этом не факт, что вам будет удобно в нем разрабатывать.
    Поставьте для начала Linux Ubuntu в виртуалке, попробуйте среды разработки, сравните в чем удобнее.

    Основная разница для начинающего веб-разработчика - это файловая система.
    Ответ написан
    Комментировать
  • Сколько у вас ушло времени чтобы стать python junior developer?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Нужно не читать много книжек, а писать код.
    Книжки - как дополнение к практике, которая должна занимать бОльшую и основную часть в изучении языка.

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

    Джуном можно стать и за месяц и может даже за неделю, если ты уже умеешь программировать.
    Но многие новички не хотят понимать, что кроме языка программирования, есть собственно само программирование - понимание структур данных, умение оперировать циклами и условиями, понимание архитектуры в целом и умение создавать алгоритмы (неважно на каком языке).
    Ответ написан
    Комментировать
  • Где научиться правильно писать код?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Найдите опен-сорс проекты на питоне, попробуйте в них что-то улучшить, разобравшись что там написано.
    Без сравнения вы не сможете понять преимущество и недостаток разных подходов.
    Ответ написан
    Комментировать
  • Как работает веб-сервер и cgi скрипт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Веб сервер запускает CGI программу и передает в нее переменные окружения с данными, которые в HTTP запросе передавал клиент.
    В зависимости от того, на чем написан CGI это можно извлекать.
    Клиенту отправляется инфа просто - CGI скрипт ее просто пишет в stdout, веб сервер отправляет клиенту.

    Например для скриптов на perl, данные от клиента доступны через $ENV{'VAR_NAME'}, где VAR_NAME имя определенной переменной. Список можно глянуть www.oreilly.com/openbook/cgi/ch02_02.html

    Вывод скрипта должен начинаться с content-type, если вы выводите html-контент, то например
    print "Content-type: text/html\n\n";
    Затем обычный html.
    Ответ написан
    Комментировать
  • Вывод информации в консоль с заменой?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    \r\n пробуйте.
    Ответ написан
    4 комментария
  • Telegram: Как сделать отображение кнопок на IOS и Android одинаковым?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Никак, это нужно либо модифицировать клиент на IOS и Андроид, к чему у вас нет доступа, либо слать текст, который везде влезает в кнопку.
    Ответ написан
    Комментировать
  • Как создать программу ставящую пароль на папку?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Когда вы просто заходите в папку, чем вы это делаете?
    Вы это делаете проводником, а не вашей программой на питоне.

    Вы можете попробовать переписать проводник на питоне, добавив в него реализацию доступа по паролю.
    Но кто-то поставит FAR или DOS Navigator и получит доступ.
    Вы можете попробовать переписать проводник, FAR, DOS Navigator и все другие программы.
    Или уже если надежно, то переписать операционную систему, добавив в нее все функции, которые вам нравятся.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Рассчитать без дополнительного оборудования, которое будет недешевым - никак.
    Можно конечно при замене масла записывать показания тахометра для каждого клиента, но это не поможет вам слать клиенту напоминание.

    Просто предлагайте клиенту менять масло два раза в год, в идеале перед зимой и после зимы.
    Ответ написан
    Комментировать
  • Какой у вас алгоритм усваивания материала при чтении?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Чтение - никогда не разовьет практику.
    Какие-то случайные примеры из книги, если вы просто берете и повторяете - они мало чем помогут.
    Пробуйте все примеры адаптировать под ваши нужды. У вас должно быть какое-то увлечение, какой-то проект, для которого можно было бы написать скрипты, софт - вот используя примеры из книги, адаптируйте их и пишите то, чем вы можете пользоваться сами.

    Где-то модерируете форум? Напишите на питоне скрипт, который лезет в базу и собирает оттуда какую-то интересную для вас статистику.
    Играете в игрушку - напишите на питоне доску почета и выводите ее в web через cgi
    Не хотите забыть о важных вещах - разберитесь с отправкой почты из питона, и шлите себе по расписанию СМС, или разберитесь с ботом телеграма на питоне и шлите уведомления в телеграм.

    То есть пишите на практике не просто чужие примеры, которые тупо копируются из учебника в блокноте, а генерируйте свой код. Тогда прочитанное в книге будет восприниматься не как голая теория, а как чей-то чужой опыт, который вы будете сравнивать со своим опытом, и развиваться.
    Ответ написан
    Комментировать
  • Какой выбрать язык для бэкенда мессенджера (Python/Java/Node.js)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    "PHP для этого плохо подходит"
    Какой онлайн предполагается быть? У нас 100 тысяч пользователей отлично жило на fastgci c PHP и mysql.
    Потом сделали кластер для mysql, а для API так и не понадобилось.
    Ответ написан
    Комментировать
  • Стоит ли искать работу Python junior'ом на 1 месяц?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    В нормальную контору - только поиск, собеседования, оформление и знакомство с проектом займет 2-3 месяца, что не хватит даже на прохождение испытательного срока.
    Можете попробовать поискать на фрилансе.
    Но с такими сроками и отсутствием опыта - один месяц проще подработать не в айти.
    Ответ написан
    Комментировать
  • Как парсить сайт, использующий Ajax?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Смотрите исходник страницы, берете в руки блокнот и калькулятор и ищете что тут за обсфукация
    Конкретно на этом сайте все просто:

    Находим вашу строчку с "Показать телефон":
    "<div class="toogle-button" id="show-phone_button" blst="313548" lst1="313548" lst2="0">Показать телефон</div>"


    Ищем, где используются эти blst, lst1, lst2 и находим
    function ShowPhones(e)
    {
    	var blst = $(e).attr('blst');
    	var lst1 = $(e).attr('lst1');
    	var lst2 = $(e).attr('lst2');
    	if (blst != "0")
    	{
    		$('.object-builder-phone').each(function ()
    		{
    			<b>ShowAttr(this, "blst", blst);</b>
    ...


    Ищем ShowAttr и находим декодер:
    function ShowAttr(e, attr, value)
    {
    	if ($(e).attr(attr) == "true")
    	{
    		var decrypt = value / 17;
    		var p1 = Math.floor(decrypt / 100);
    		var p2 = decrypt - 100 * p1;
    		var t1 = ("" + p1).substring(1) + '-' + pad(p2, 2);
    		$(e).text($(e).text().replace("...", "") + t1);
    		$(e).attr(attr, 'false');
    	}
    }


    вот и выходит, что blst="313548", делим на 17, получаеем 313548/17 = 18444
    разбиваем на две части, убираем первый символ, добавляем между ними дефис, получаем: 84-44

    Итого +7 495 626-... преобразовывается в +7 495 626-84-44

    P.S. Можно даже проследить логику программиста, который забавно оптимизировал форматирование первой двойки чисел - чтобы не вызывать дополнительно функцию pad для форматирования нулей, он просто добавил 10000, чтобы нули просто были, и их можно было взять через substring. Для второй двойки чисел так нельзя, поэтому там вызывается pad.
    Ответ написан
    Комментировать
  • Как получить месяц в именительном падеже на питоне?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Падежей в питоне нет. Есть просто название месяца и аббревиатура (3 буквы).
    Хотите в падеже - создайте свой массив с названиями месяца во всех нужных падежах, и используйте номер месяца в качестве индекса.
    Ответ написан
    4 комментария
  • Порекомендуйте, на чём сделать backend?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    > хранить на сервере базы данных, но тогда каждый запуск скрипта означает ещё и обращение к серверу баз данных
    можно использовать memcached
    Ответ написан
    1 комментарий
  • Как сложить две строки состоящие из чисел?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Судя по всему, первое значение - у вас строка, а второе - float
    И соответственно float автоматом преобразовывается в 0.11

    Вы 0.11 как строку добавляйте, а не как число и все будет путем.
    Ответ написан
    2 комментария
  • Подойдёт ли Python для взломов?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Вам нужно не питон учить, а технологии.

    Если вы изучите паяльник, это не значит что вы сможете спаять например телевизор.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Просто пишите в лог время запуска программы и время завершения программы.

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

    Если нужно автоматизировать, пишите периодически текущее время во временной файл и сделайте простой воркэраунд, смотря насколько критично ловить время перед выключением.
    Ответ написан
    3 комментария
  • Подходит ли python для создания GUI бота для MMORPG игр?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    "насколько это сложная задача если учесть, что python я начал только только изучать?"
    Очень.
    Ответ написан
    Комментировать