• Какой дистрибутив Linux выбрать на сервер?

    lmaxximl
    @lmaxximl Автор вопроса
    Спасибо всем! Конечно хотелось бы услышать мнения SUSE'водов в этом вопросе из всего выше сказанного ничего нового не услышал. Владею как deb-based так и rpm-based дистрибутивами правда никогда не пробовал Red Hat, хотя начинал с bsd дистрибутивов. Спор развелся конечно, но Linux он же в любом проявлении Linux. Мнение народа это хорошо.
    Ответ написан
    Комментировать
  • RESTful API и MVC — что это?

    Основной посыл использования RESTful API - применение основной идеи Паутины для взаимодействия автоматических агентов (приложений), а не только людей.
    Основная идея Паутины - построение распределенной информационной системы путем публикации неких абстрактных ресурсов, выдачи им идентификаторов (в сегодняшнем вебе - иерархических), определения ряда простых и широко известных операций над ними, не зависящих от содержимого ресурса (те самые GET, POST, PUT и т.д.), и связывания этих ресурсов ссылками (это называется гипермедиа, и в частности, гипертекст, если речь идет о текстовой информации).
    Как люди с появления Веба публикуют информацию в нем для потребления другими людьми, так и RESTful веб-сервисы публикуют иерархически структурированные ресурсы для потребления клиентами. Разница только в представлении - для людей это plaintext/HTML, для автоматических агентов - это JSON/XML/прочие форматы, которые удобно обрабатывать.
    Таким образом, если вы хотите какую-то информацию опубликовать как RESTful API, вам необходимо представить ее как набор ресурсов, а все операции над этой информацией выразить через набор предопределенных операций. Фишка в том, что во многих задачах этих предпопределенных операций вполне достаточно, главное правильно определить ресурсы.
    Важно понимать, что "ресурс" это обычно некоторая сущность, "существительное". Как правильно заметил Антон Жуков , ресурс /getItems хоть и может существовать в принципе, говорит о неудачно спроектированном API (действие представлено как ресурс).

    Есть и другие подходы к архитектуре распределенных приложений, например архитектуры, основанные на RPC (удаленный вызов процедур). Информация в таких архитектурах также представлена в виде некоторого набора сущностей, однако операции над ними определяются конкретной задачей, и для каждой сущности будет свой набор. Это больше соотвествует классическому ООП-подходу. Таким образом, RESTful следует подходу много сущностей (ресурсов) - мало операций (и эти операции известны заранее), а RPC - немного сущностей, но много операций над ними.

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

    Сама архитектура REST не привязана к конкретным технологиям и протоколам, но в реалиях современного Веб, построение RESTful API почти всегда подразумевает использование HTTP и каких-либо распространенных форматов представления ресурсов, например JSON, или, менее популярного сегодня, XML.

    Смысл использования REST в том, что принципы, хорошо показавшие себя в "человеческом" веб и позволившие построить самую большую распределенную ИС, применяют и для "веба машин".

    Ответ длинноват, но как короче объяснить, чтобы не исказить понимание, не представляю. Если что непонятно - спрашивайте.
    Ответ написан
    7 комментариев
  • Python vs Java

    Maddi
    @Maddi
    Java программеры всегда были, есть и будут в цене. Но лучше всего знать и Java и Python, по крайне мере если это будет написано в резюме — это будет большим плюсом для вас.
    Ответ написан
    Комментировать
  • Что лучше учить новичку Java или Python?

    dimsog
    @dimsog
    Переносил код с PHP 4 на 7.4...
    Java. Потом можно писать под что угодно. Java более популярный язык программирования и самый главный плюс - возможность разработки под Android.
    Ответ написан
    2 комментария
  • Что лучше учить новичку Java или Python?

    @samodroid
    Java- более популярен и функционален, чем Питон.
    Ответ написан
    1 комментарий
  • Что лучше учить новичку Java или Python?

    Плюсану джаву. Популярнее, так что после базового изучения будет проще устроиться куда-то джуном и там уже набираться опыта на реальных проектах. Статическая типизация дисциплинирует, на начальном этапе это важнее, чем возможность писать более лаконичный код. В мире джавы более заморочены на архитектуре и паттернах, быстрее придёт понимание этих вещей, а это пригодится в дальнейшем независимо от того, на чём будете писать. Шире выбор направлений развития: веб, десктоп, андроид, бигдаты всякие. Ну и тупо средняя температура по больнице зарплата выше :)
    Ответ написан
    Комментировать
  • На каком языке пишутся сложные сайты?

    Jump
    @Jump
    Системный администратор со стажем.
    Их не пишут, нельзя вот так вот взять и написать yotube.
    Во первых не стоит называть такие проекты сайтами. Сайт это просто аккуратно оформленная страничка с данными доступная по протоколу http.
    Т.е вордовский документ размещенный в сети интернет это и есть сайт.

    А то что вы назвали - vk.com, imhonet, youtube это не сайты.
    Это программно аппаратные комплексы.
    Т.е нужны сервера, датацентры размещенные в ключевых точках, нужна система обеспечивающая взаимодействие этих серверов.
    Это продукт труда множества системных администраторов, программистов, инженеров, электриков, маркетологов, и.т.д..
    Ответ написан
    10 комментариев
  • Django: post-запрос и проблема с CSRF

    merlin-vrn
    @merlin-vrn
    Посмотрите на шаблон свой, пожалуйста. Сравните с HTML-кодом, который сгенерировался по этому шаблону. Проверьте: что в HTML-ке на месте {% csrf_token %} из шаблона? (Должен быть input type=hidden name=csrfmiddlewaretoken). А отправляется ли это поле на сервер вместе с формой, т.е. находится ли {% csrf_token %} внутри <form>...</form>? Перехватите HTTP и проверьте (можно скажем firebugом посмотреть, что отправляется).
    Ответ написан
    3 комментария
  • Django: post-запрос и проблема с CSRF

    mpriver
    @mpriver
    Должно без всяких ухищрений работать. Если используете стандартный шаблон приложения, от вас требуется только вставить {% csrf_token %} внутрь формы.

    Сам механизм в простом случае (без Ajax'а) работает так:
    1. Django устанавливает cookie csrftoken=CSRF-токен
    2. Вместо template_tag'а {% csrf_token %} Django вставляет:
    <input type="hidden" name="csrfmiddlewaretoken" value="CSRF-токен">
    

    3. При сабмите формы, cookie и CSRF-токен уходит обратно к Django вместе с остальными полями формы.
    4. Django сверяет токен из cookie и из POST.
    Ответ написан
    Комментировать
  • Python, django... поможете разобрать кашу в голове?

    nightvich
    @nightvich
    ITman
    Лутца обязательно. Это лучшие книги по Python на русском.
    Потом по Django лучше всего с djbook.ru
    Ответ написан
    1 комментарий
  • Что стоит изучать начинающему python-программисту?

    Внесу свои 5 копеек, с курса 1го работаю(не только программистом):
    Всем привет! Я студент, учусь на втором курсе. До недавнего времени плыл по течению, просто хорошо учился в инсте (т.е. есть только опыт написания простых прогармм на Дельфи), сейчас же финансовое положение в семье заставило задуматься о своём будущем.

    Как бы избито это не звучало, но забудь подходы к программированию, которые у тебя были в ВУЗе, тот опыт полезен, но пока его придержи. Начни с освоения контроля версий, разберись с пакетами, зависимостями, привыкай перед тем как приступить к задаче, сначала исследовать - никто ли до тебя не занимался ли решением такой же задачи? В общем старайся максимально использовать чужой код, анализировать его, смотреть с какими проблемами сталкивались люди при его написании и т.д. И старайся писать понятный, не только тебе, код.
    Анализ чужого кода - важная, недооценённая студентами, составляющая работы.

    Начал изучать Питон (взял на курсере "Intro to interactive programming in Python", сейчас перехожу ко второй его части), т.к. он используется в DSP и компьютерном зрении, а мне эти области интересны. Также полезной вещью в моём багаже будет MySQL, который у меня сейчас идёт в универе.

    Питон относительно спорное начинание. Да, в перспективе - он хорош, но, субъективно, найти работу на PHP без коммерческого опыта - проще(это если финансовое положение такое что надо вот сейчас найти работу). Спрос большой, ровно как и спектр задач. Когда в голове будет понимание спектра задач для языка и вообще того какие задачи возникают в коммерческой разработке, тогда уже можно примерять Python к тем задачам которые перед тобой стояли.
    Если есть время(3-6 месяцев) то можно подучить джангу/фласк(только что-то одно) и идти работать стажёром - бесплатно или же помогать в open source(тут как раз и поймёшь примерные задачи, которые будут вставать перед тобой в работе, потому как туториалы хорошо, а реальность отличается).
    Не знаю как у вас дают БД, у нас давали так себе, поэтому лучше дотягивай сам, хотя бы то как язык работает с базой.
    Если хочешь научное - компьютерное зрение и т.д., устраивайся на кафедру (вариант с натяжкой - работу где у тебя будет много свободного времени(сторож, продавец простаивающий)) и штудируй литературу пачками, т.к. минимальные требования там высокие и нужно больше фундаментальных знаний, нежели знания ЯП. Плюс ко всему - участие во всех олимпиадах по программированию, интересные курсовые работы, по актуальным темам.

    Среднесрочную задачу я перед собой поставил конкретную: через год устроиться на оплачиваемую стажировку, чтобы начать получать хотя бы какие-то деньги и опыт. Поэтому вариант с поступлением в ШАД, который я изначально рассматривал как основной, отпал, и я решил перенести эту затею на год вперёд.

    На год вперед после работы? Потому как ШАД+оплачиваемая стажировка+учеба = ничего. Нигде не будешь успевать. По большому счёту - не ШАДом единым, если год самообучения, плюс год работы, то лучше включить в эти 2 года ещё и изучение того что проходят в ШАД, чтобы быть подкованнее

    В итоге у меня вопрос: что посоветуете сделать/изучить? Сконцентрироваться на Django, мб html/css, и т.п. и гарантированно идти стажироваться в заданный срок? Или рискнуть, попробовать делать то, что интересно (изучить dsp на базе питона, либо opencv), и податься в какое-нибудь крутое место типа Яндекса, в надежде, что на тебя обратят внимание? (Наиболее туманный для меня вариант). Ещё недавно возникла идея попробовать себя в связке веба, и, например, машинного обучения, может тоже неплохо? В общем, помогите советом нубу)

    Выше писал. Тут стоит оценить риски и ситуацию в семье. В принципе, если попадётся хороший руководитель и ты сможешь его убедить цифрами что машинное обучение принесёт пользу бизнесу, то сможешь совместить и связку веба и машинное обучение, плюс подтянуть курсовые и дипломные на эту тему(заработать миллон долларов, прославиться, написать свой язык программирования)
    P.S. Не выпускник ШАДа, обычный человек-программист
    Ответ написан
    3 комментария
  • Как российскому айтишнику уехать жить и работать в Украину?

    @djay
    Кое-какой багаж знаний - это не ответ на вопрос, который задаст тебе любой работодатель первым делом. У тебя будут спрашивать конкретно, про твои работы, про твой опыт. И если реального опыта и портфолио нет (либо портфолио слишком примитивное), тебе откажут везде. Такова правда, что тут поделаешь.

    Прежде чем решаться на такие шаги, тебе сначала нужно железно и точно найти работодателя который тебя возмёт. Зайди на https://djinni.co и поищи что-нибудь подходящее для твоих навыков. Если найдешь, договоришься, то только тогда уже езжай, на готовое место.

    И как сказал Пума, на украине сейчас творится беспредел и не безопастно, и не факт что через месяц другой не начнут Киев бомбить, поэтому хорошо подумай надо ли тебе это или нет.
    Ответ написан
    3 комментария
  • Какова философия python и django?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Django - это эдакий комбайн, альтернатива Rails для Python. Соответственно из его философий - это простота и функциональность, дисциплина и модульность, удобство и производительность. Получается у него это весьма не плохо. Хотя есть свои моменты, не самые приятные, скажем так.
    Если по поводу Python, то здесь неплохо подходят такие слова, как простота, лаконичность, скорость. В некотором смысле удобство. Порой, хотя это и официально скорее возбраняется, есть такая неприятная особенность, как write only, то есть пишется код легко и просто, но через пару лет прочитать его будет весьма сложно.
    Ну и потом, Python - Generic Purpose Language, то есть он всё таки предназначен для всего, а не в основном для вэба. Порой это видно. Например, на его основе нет нормального сервера, нет нормальной поддержки https. И в то же время, он один из немногих (хотя сегодня это почти не так), неприемлит cgi-bin.
    К слову, хочу обратить внимание, на такой фреймворк, как Flask. Он пока не очень быстрый, зато лёгкий и очень модульный. К тому же на нём легко писать.
    Ответ написан
    6 комментариев
  • Какова философия python и django?

    softwaremaniacs.org/blog/2005/12/08/django Тут достаточно неплохо описаны некоторые идеи.
    Я так понимаю, Вас больше беспокоят дополнительные приложения.
    В идеале, проект Django состоит из некоторого числа независимых приложений, каждое из которых отвечает за свою часть во всем проекте (В блоге, например, отдельные приложения для постов, комментариев. И еще много других, о которых сейчас даже трудно задуматься: например, thumbnail для выдачи миниатюр аватарок пользователей и др.). Каждое такое приложение должно быть настолько независимым, что при желании можно совершенно безболезненно перенести его в другой проект. Достаточно подключить его в INSTALED_APPS и можно пользоваться. Эта идея достаточно практична: на сайте https://www.djangopackages.com/ можно найти приложения для решения почти любой повседневной задачи и не только.
    Конечно, в целях практики, стоит попытаться самому реализовать приложения, желаемого проекта. С каждым новым проектом вы будете начинать понимать, какие части прошлых проектов стоит выделить в отдельные приложения, чтобы не приходилось копипастить код, тем самым применяя принцип DRY.
    P.S. А начать изучать Django стоит с уроков из документации. Там и практика и разъяснение принципов.
    Ответ написан
    Комментировать
  • Стоит ли переходить с Python на Go?

    seriyPS
    @seriyPS
    Как верно заметили, зависит от того, чем сейчас занимаетесь и чем хотите заниматься. Если WEB2.0 сайты, то с Python особо нет смысла куда-то уходить. Тут тебе и фреймворки и ORM-ы и шаблонизаторы в ассортименте и опыта много наработано.
    Если сетевые какие-то сложные высококонкуррентные или низколатентные демоны, то идите к нам, в Erlang.
    Go в плане вычислительных задач хорошо работает, ну и для конкуррентных сетевых штук тоже потихоньку Erlang догоняет. Думаю, может найти в онлайн-игрушках применение, если сборщик мусора не станет помехой.
    Ответ написан
    3 комментария
  • Идея простого проекта веб-приложения

    slpdmn
    @slpdmn
    Лучше всего какой-нибудь сайт-шутку. Один мой знакомый, напр, лет двадцать назад запулил в инет страничку с простой кнопкой с надписью «безделометр» и счетчиком нажатий. Весь офис на ушах стоял и рекорды ставил. А ему параллельно пришлось осваивать идентификацию пользователей, хранение результатов, сообщения о промежуточных рекордах (это явасрипт уже) и т.п.
    Нарисуй, напр, муху, которая по экрану ползает и мышкой ее прибивай. Или для девушки напиши что-нибудь, калькулятор размеров там… Напр, какой нужен размер брюк (по канону Мерилин) при заданном объеме груди? Ну и меняй каноны.
    Ответ написан
    Комментировать
  • Сайт на JAVA с использованием Spring Framework?

    f0y
    @f0y
    Когда в своё время изучал Spring, положил в избранное несколько статей, может пригодятся.
    viralpatel.net/blogs/2010/11/spring3-mvc-hibernate-maven-tutorial-eclipse-example.html
    habrahabr.ru/blogs/java/83860/
    0agr.ru/blog/2011/04/15/spring-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B/
    www.spring-source.ru/articles.php
    Ответ написан
    Комментировать
  • Сайт на JAVA с использованием Spring Framework?

    kirill89
    @kirill89
    У себя в избранном нашел 2 статьи — они мне когда-то очень помогли разобраться:
    habrahabr.ru/blogs/java/111102/ — особенно эта
    habrahabr.ru/blogs/java2ee/83860/
    Ответ написан
    1 комментарий
  • Сайт на JAVA с использованием Spring Framework?

    @dos_88
    Для начала можно это — Spring MVC step-by-step
    Ответ написан
    Комментировать