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

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Привет. Вы уже успели понять, что главное - желание. Но если и учиться (а это скучно), то надо заниматься максимально классными для вас вещами. Не менее важно видеть результат, поэтому лучше несколько маленьких проектов, чем один большой, который не закончите. Ответ на необходимость строго типизированного языка - да.

    Суть:
    Вам надо сначала изучить логику работы ЯП (pascal, на первых порах и C++ сойдет), потом уже браться за ООП (object pascal, C++, C#, Java и многие другие). А также рулит опыт. Сколько бы вы книг не вычитали, решает опыт. Читайте и пишите код. Устали читать, пишите код. Напишите программу на свой день рождения. Напишите программы для решения типовых задач (если учитесь) и не парьтесь с домашкой :)

    По делу. Я начинал также с паскаля, потом делфи (object pascal)... куча технологий и языков. Пришел к Java Android.

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

    А теперь надо ответить на вопрос: Сколько у вас есть времени и каким бы вы хотели быть программистом (хорошим, лучшим или как хобби)?

    Если у вас много времени, терпения и желание стать лучшим, то надо изучать с нуля:
    pascal (не полностью, а просто научиться решать стандартный перечень задач - работа с массивами, вычисления выражений, работа с файлами, работа со структурами данных - так проще).
    В принципе это займет недели 2, если стараться. Дальше у вас уже будет понимание логики языка. Можно садиться на более сложные (c#/java советую, c/с++ интересные, но сложнее).

    Если у вас времени в обрез или вы хотите просто начать уже сейчас, то советую начать изучать Java. Имхо, Java - один из самых легких из продвинутых ЯП (посмотрите книгу Head First Java).

    Если смотреть издалека, то Pascal я советовал только потому, что он очень простой и функциональный... Он как раз помогает понять типы данных, важность соблюдения границ массива, а структуры данных позволяют работать почти как с ООП языками (типа Java/C++/C#/etc.). Однако всего немногим сложнее будет изучение java, благодаря книжке Head First Java - она отлично составлена, с рисунками, стрелочками и забита аналогиями, а минусом здесь является бросание в пекло (в ООП), где всякие непонятные классы и т.д., отвлекающее от самой основы логики программирования.

    По языкам. (не особо слежу, скажу по своим ощущениям)
    Сейчас особенно выезжают две сферы на рынке - мобильная разработка и веб-разработка (для сервера).
    Справляются с этими задачами круто Java, .net C#, C++.
    Java - львиная доля разработки под Android, Один из популярнейших языков для серверного программирования, big data и других вычислений, иные разработки.
    C# - самый активный конкурент в серверном программировании для Java, разработка под winphone, windows с прямочками от MS (ведь C# разрабатывает MS).
    С++ - везде, но в основном применяется для системного программирования, драйверов и участков программ, где нужна большая скорость выполнения программы (поисковые движки, обработка голоса). Мне он нравится больше всех, но это для себя) На этом языке сложнее всего научиться, но с некоторым опытом работы (2-3 года) можно пройти в топовые конторы.

    ------------
    Честно говоря, мне очень помогали знания курсов Архитектуры ЭВМ и алгоритмов в изучении. Это не обязательно, но очень интересно )

    Итог:
    Если хотите вытоптанный путь, но немного более долгий - начинайте с pascal и потом садитесь на java/C#. Такой путь не требует особых знаний, кроме самих языков (в отличии от С++, где нужны базовые знания о работе компьютера).
    Если вы сообразительный и сильный (умеете мотивироваться и добиваться), то начинайте сразу с java. Сложно будет первые пара программ. Гугл сделает их за вас, но вообще это очень легкий язык.
    С++ - не знаю. Многие советуют с него начинать. Вообще, он довольно простой и структурный в начале, усложняется довольно быстро, но логично. Хороший язык, но его проблема для новичков - нужно учитывать очень много нюансов.

    Кстати, у java есть небольшой плюс - javarush.ru. Интересный проект) фремиум, но бесплатно можно пройти уровней 10-15, это, по сути, позволит познакомиться с языком.
    PS: если вы не решились, начинайте любое. Начните сложные, простые языки, поделайте, поломайте. Это правда поможет. Пробуйте, изобретайте свое.
    Что-то я затянуто написал... ночь.:)

    Успехов!
    Ответ написан
    Комментировать
  • Программирование с нуля. Как начать?

    tsarevfs
    @tsarevfs
    C++ developer
    Выбор языка программирования не важен. Хватит читать советы. Берите любое из Python, Java, C++ не ошибетесь. На python будет намного проще в самом начале. C++ даст наиболее полное понимание программированя (во многом через боль и унижение на начальном этапе).
    Начинайте читать книги (выбор книг для каждого языка освещен в сотнях вопросах на тостере), делать задания. Возможно стоит найти онлайн курс по языку.
    Для успеха, прежде всего, вам потребуется 100% уверенность что это вам нужно. Придется потратить массу усилий чтобы получить результат. Но мне кажется, это того стоит.
    Ответ написан
    Комментировать
  • Как подружить во Flask два модуля: Flask-Mobility и Flask-Cache?

    crazyzubr
    @crazyzubr
    Python backend-developer
    Декоратор @cache.cached ничего не знает о декораторе @mobile_template.
    Как один из вариантов можно создать собственную функцию для формирования префикса для ключа.

    def mobile_key_prefix():
        return '%s/%s' % (is_mobile(request), request.path)
    
    @cache.cached(timeout=50, key_prefix=mobile_key_prefix)


    Здесь я указал функцию is_mobile(request) - она должна возвращать соответственно разные строки для мобильных и для десктопов. Так ключ будет отличатся, и будут отображаться верные данные.
    Ответ написан
    1 комментарий
  • Проверка на авторизацию в CodeIgniter с помощью библиотеки Dx Auth?

    dmitriylanets
    @dmitriylanets
    веб-разработчик
    1. нужно создать контроллер MY_Controller extends CI_Controller
    2. В конструкторе MY_Controller делать проверку авторизации
    3. Создавая контроллеры страниц наследуй их от MY_Controller
    Ответ написан
    1 комментарий
  • БД не показывает картинку, что делать?

    @UAS_web
    PHP,JS программист
    БД не может показывать изображения, только браузер отображает изображение, а где он берет информацию о изображении? Верно из HTML, а что у нас там ?
    <img src="network/images/wow_effect.png" width="0" height="0" style="display: none !important; visibility: hidden !important; opacity: 0 !important; background-position: 0px 0px;">

    Хм... страно, почему он не хочет отображать картинку, если она есть по этому пути? Может дело в стилях элемента ?
    Ну точно же
    style="display: none !important; visibility: hidden !important;

    Может теперь вы погуглите, и выясните что означают эти правила?
    Ответ написан
    Комментировать
  • Какой ЯП выбрать для Windows?

    @Espleth
    Да, в общем C# наверное будет лучшим вариантом. Язык не особо сложный по сравнению с С++ (который тоже можете рассмотреть), прекрасная MSDN на русском, да и книг тоже полно.
    Но это я думаю вы уже и так поняли. Вот что гораздо важнее: программисту хорошо бы знать английский язык на уровне хотя бы "понимаю со словарем". Например ради StackOverflow, GitHub и прочих прелестей.
    Ответ написан
    2 комментария
  • Как организовать шаблонизатор на Python?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Чем готовые шаблонизаторы не устраивают? Вот, например, jinja.pocoo.org/docs/dev

    Код будет выглядеть примерно так: {{rand(3, 10)}} {{randline("bla-bla")}}

    Вместо {{ и }} можно настроить использование любых других сиволов
    Ответ написан
    2 комментария
  • Можно ли Junior Python Developer'ом устроиться на постоянную удаленную работу с почасовой ставкой на Elance\Odesk?

    dmnBrest
    @dmnBrest
    Salesforce for money. Python, Go, Ruby for soul.
    Конечно реально. Индусы же, которые вообще не умеют программировать, как-то работают.
    А вообще что вы можете предложить заказчику на odeck? Вы решите его проблему. Junoir устраиваются на работу чтобы учиться. На odesk никто вас учить не будет. Поэтому для Junior единственный путь - за еду искать себе место возле опытного программиста, который всему научит. А то что вы "только приступил к первым урокам Python" это даже Junior нельзя назвать. Junior это человек который знает основные аспекты разработки и может реализовать большинство решений - пусть это будет и говнокод, но главное чтобы в голове был подход к решению. До Junior еще пахать и пахать!
    Ответ написан
    6 комментариев
  • Как написать web-интерфейс для Python-приложения?

    merryjane
    @merryjane
    Системный администратор
    Скорее всего здесь можно использовать стандартный http\https.
    Api сделать например на flask, который при запросах к определенным url, будет дергать нужные скрипты.
    Пример подобной реализации:
    habrahabr.ru/post/246699
    Ответ написан
    Комментировать
  • В каких книгах описывается создание интернет-магазина с нуля на PHP-MySQL?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Книги тут явно не помогут.
    Откройте сайт butik.ru
    Пройдите цепочку, от просмотра и выбора товара до его оформления. Ну конечно не заказывая, хотя может вам надо?)))
    Посмотрите как это происходит, подумайте над механизмом.
    Нарисуйте для себя ментальную карту.
    Сайт конечно реализован на magento, но сути это не меняет.
    Вам требуется понять, что происходит и что может произойти. Из этого должно прийти понимание что писать.

    Крайний интернет-магазин который я реализовывал, имел ТЗ на 200+ листов. Разработка заняла 7 месяцев.
    Это при том, что все было известно, пиши по ТЗ и радуйся. Но нет, камней под водой очень много и споткнутся не составит труда =)
    Ответ написан
  • Какие ЯП самые легкие по порогу вхождения?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    cdn2.carlcheo.com/wp-content/uploads/2014/12/which...
    На нижней части изображения имеются ЯП. Чем меньше звезд, тем легче.

    кроме web (JS, AS2)

    AS2 мертвый "язык", уже как лет 10.

    Ну а нынче можно писать приложения хоть на JS хоть на PHP.
    Я к примеру себе написал таск менеджер под mac на JS
    Хороший пример, редактор Brackets, реализован на js.

    P.S.
    ООП все равно придется учить, вы хотите другой язык, потому что вам сложен PHP.
    Но если он сложен, и ооп не понять, то займитесь тупо версткой, другого не знаю что посоветовать.
    Ответ написан
    Комментировать
  • Какие ЯП самые легкие по порогу вхождения?

    @GiperScriper
    попробуйте начать с Python, много возможностей не сложен в изучении.
    Ответ написан
    Комментировать
  • Как переопределить имена объектов в forms.ModelMultipleChoiceField в Django Admin?

    @FireGM
    https://docs.djangoproject.com/en/1.7/ref/contrib/...

    там много примеров. Если вкратце, то создаёте у модели новую функцию, которая возвращает количество. Добавляем allow_tags. Идём в админку и прописываем lists_display. Всё.
    Правда я для manytomany не использовал. Только для foreignkey.
    UPD:
    Решил проверить, все нормально работает. Только не совсем то, но принцип понятен.
    models.py
    from django.utils.html import format_html
    
    class PostTag(models.Model):
        title = models.CharField(max_length=255)
    
        def __str__(self):
            return self.title
    
        def get_count_posts(self):
            return format_html('<span style="color: red">{0}</span>', self.post_set.count())
    
        get_count_posts.allow_tags = True
    
    class Post(models.Model):
        title = models.CharField(max_length=255)
        post_tag = models.ManyToManyField(PostTag, null=True, blank=True)
    
        def __str__(self):
            return self.title


    admin.py
    from games.models import PostTag, Post
    
    
    class PostTagAdmin(admin.ModelAdmin):
        list_display = ('title', 'get_count_posts')
    
    
    admin.site.register(PostTag, PostTagAdmin)
    admin.site.register(Post)
    Ответ написан
    Комментировать
  • Как начать заниматься фрилансом? Как начать программировать с нуля?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Как начать заниматься фрилансом?

    Зарегистрируйтесь в любой freelance например odesk, ищите заказы и выполняйте.

    Как начать программировать с нуля?

    Выучить ЯП и начать))

    В какую сферу податься?

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

    Какой язык учить?

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

    mzcoding
    @mzcoding
    Web-Разработка
    Ну веб разработка - Это однозначно. Тут и удаленка и нормальные зп и достаточно низкий порог входа. Я бы рекомендовал начать с JS потом PHP. Через пару месяцев обучения, уже можно устраиваться джуном и получать 25-30к. в месяц. Далее, уже можно будет совершенствоваться и зарабатывать больше, потом переходить в мобильную разработку и т.д
    Ответ написан
    Комментировать
  • Деплоить в production из VCS (система управления версий) это нормальная практика?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Самый лучший вариант деплоить из Continuous Integration сервера. Но, за неимением такового, чаще всего деплоят из VCS, основная проблема безопасности это хранение конфигов и ключей в VCS.
    Ответ написан
    9 комментариев
  • Как выложить Python проект на github?

    • Нужно сформулировать setup.py скрипт: https://docs.python.org/3/distutils/setupscript.html
    • Выбрать лицензию, в кратце узнать суть разных лицензий можно на сайте https://tldrlegal.com/
    • Написать информативный README файл, примеров навалом. Желательно в Markdown-разметке.
    • Обязательно нужно написать gitignore файл, чтобы этот самый .exe файл небыл добавлен в репозиторий.

    Когда всё готово, можно залить на GitHub. Об этом ещё можно узнать тут: https://help.github.com/
    Ну и конечно, лучше знать как работать с Git в принципе: www.git-scm.com/documentation
    Ответ написан
    Комментировать
  • Что не так с резюме?

    Basters
    @Basters
    Кокер-спаниель
    тупорылая отмазка не более. Нормальное резюме. А коли они берут сотрудников на работу по красивости составленного резюме, то шли нафиг такую контору! Сейчас айтишников толковых и так не хватает! Пусть дальше берут идиотов за красивые глаза, а нормальные парни найдут свое место
    Ответ написан
    2 комментария
  • Почему многие считают PHP языком с плохой архитектурой, да и вообще просто плохим языком?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    По гуглите на тему "троллинг".

    Многие оценивают php с колокольни своего языка, и увидев, что задачи этого самого языка решаются лучше, чем на php - делают вывод, что php - гуано. Например:
    * вот, на nodejs легче делать чаты, посему php - гуано.
    * вот, на QT + C++ легче делать десктопные апликухи, а php c qt - хренов, посему php - ...
    * вот на яве вот, прям правильное ooп, а в php - ...
    * вот демона сделать на php - геморно посему php - ...
    Чаще всего это банальная не компетенция, либо НЕ целевое использование.
    Если вас напрягает такое отношение - спросите, сможет ли человек любым способом сделать сайт-админку с обычным CRUD-ом моделей, например для 10 таблиц за пол часа, на языке, которым он любит обмазываться. Если таки сможет - просто игнорьте его аргументы, если не сможет - поздравляю, вы победитель в споре, но он будет игнорить ваши аргументы))
    Ответ написан
    5 комментариев
  • Как выводить из БД таблицы кроме (список ID)?

    @IceJOKER
    Web/Android developer
    Подобную штуку я делал с использованием сессий, все уже показанные id записывал в массив сессии, потом колдовал чуток - implode(', ', $_SESSION['id_list']);
    и далее поможет NOT IN
    Ответ написан
    2 комментария