• С какого языка изучать программирования (с нуля)?

    @bromzh
    Drugs-driven development
    Ты ещё не умеешь программировать (и искать в интернете, ведь тут такие вопросы задают минимум по 1 разу в неделю), но уже решил, что питон - это несерьёзный несовременный язык. Видимо по этим причинам он самый популярный язык для обучения в технических вузах США.
    Зачем тебе чужое мнение? Ты вполне самостоятельный!
    Ответ написан
    8 комментариев
  • Какую область прокачать для работы на фрилансе (Графика, Программирование)?

    Jeiwan
    @Jeiwan
    Прокачатьcя во фронтенде - получить ачивку "Front-end develop". Создать портфолио, набраться опыта).
    Двинуться к Back-end (Ruby/Rails).
    Параллельно учиться рисовать и работы выкладывать на стоки.

    Ну вот ты и решил свою проблему. Что ещё нужно? Пробуй, что можешь, и делай, что нравится. Как там у тебя всё сложится — хрен его знает, у бабы Ванги сегодня выходной.
    Ответ написан
    2 комментария
  • Как сделать фильтр из моделей django, поля разные, значения схожие?

    syschel
    @syschel
    freelance/python/django/backend
    Моё виденье.
    Структуру можно сделать двух типов
    1. Всё в одну модель, кроме списков(списки через связи ForeignKey/ManyToManyField/OneToOneField подгружать из других моделей или choices, они задаются администратором сайта и всегда статичны). Пускай даже будет 40 полей у модели.
    2. Одна базовая, где общие данные. И куча типовых, относящихся связями к базовой модели, но имеющие свои уникальные поля. Списки так же как и в первом варианте, выносил в отдельные модели или choices.
    Я бы выбрал второй вариант.

    Поиск. Тут два варианта.
    1. Сфинск или другие независимые поисковые программы работающие с джангой (Solr, Elasticsearch, Whoosh, Xapian).
    2. Делать самой джангой и воевать за логику и ресурсы. То есть весь поиск прописывать руками, всю логику возможных вариантов.
    Но я бы выбрал первый вариант, слишком много будет условий и по сути написание велосипеда. А второй вариант подходит под более "простой" тип поиска.
    Ответ написан
    Комментировать
  • Какой ос пользоваться для написания на java?

    gadfi
    @gadfi
    https://gamega.org
    Какой ос пользоваться для написания на java?

    Оставайся на винде. Серьезно, был бы это Python то linux был бы оправдан, для ruby тоже лучше что то никсовое ) а вот для java по серьезной разницы нет. Все за тебя сделает maven, не трать время зря на изучение ос (хотя чтоб достаточно уютно себя чувствовать под той же ubuntu больше недели времени не займет), потрать его лучше на изучение java
    Ответ написан
    1 комментарий
  • Разница, что лучше/удобнее Django-cms ИЛИ FeinCMS ИЛИ Mezzanine?

    @marazmiki
    Укротитель питонов
    Мне кажется, что "лучше" или "удобнее" — субъективные метрики. И не очень абсолютные. К примеру, меня бесит grappelli (приложение, изменяющее внешний вид админки), а кому-то она наоборот нравится. Mezzanine, насколько я помню, grappelli использует. Мне это покажется дичайшим минусом, а кому-то плюсом.

    Личный опыт: довелось довольно плотно поработать с django-cms и fein. Они, в общем-то работают по одному принципу, хотя и используют разную терминологию (django-cms для расширения функциональности страницы плагины, которые помещаются в плейсхолдеры, а fein — контент-тайпы и области соответственно), суть примерно одна. Хоть и слегка по-разному реализовано.

    Сейчас ключевое отличие djnago-cms и fein в том, что первая, начиная вроде бы с версии 3.х, перешла целиком на фронтэнд-редактирование контента. Админки как таковой нет, вместо неё редирект на страницу с включенным редактированием. А Фейн управляется из админки, как и django-cms ранних версий.

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

    По поводу удобства редактирования контента, опять же субъективно: оба ужасны. Наверное, фейн даже в большей степени. Но при этом он более очевиден. Чего не скажешь о фронтэнд-редактировании django-cms, где вообще без поллитры не разобраться: сначала перевести страницу в режим редактирования, потом переключить непонятный тумблер контент\структура (или что-то такое, сейчас точно не помню), потом выбрать редактируемый плагин... потом не запутаться в кнопках сохранения и публикации, и так далее. Мой коллега придерживается мнения, что показывать такое пользователям просто нельзя.

    Кстати, пользователь легко сможет сломать дерево сайта (вплоть до вызова 500-й вместо захода на любую из страниц), просто активно перетаскивая в админке ноды дерева туда-сюда. Это касается и fein, и django-cms.

    Что до mezzanine. Запомнилось так: использует grappelli, зачем-то есть встроенные магазин и блог, которые сааавсем не на каждом сайте нужны. Плюсов не запомнил, снёс. Хотя сейчас, открыв ради любопытства документацию, вижу что-то про custom content types, так что, вероятно, будет всё то же самое, что и fein/django-cms, но в зелевноватых тонах grappelli. И с магазином :-)
    Ответ написан
    1 комментарий
  • Совет по PHP(freelance)?

    butteff
    @butteff
    Раз в тысячу лет заправляю свитер в носки
    Зайдите на hh.ru и поищите требования на зарплаты выше 100к для вакансии "Разработчик php" или иной, интересующей Вас с максимальной оплатой. И начинайте эти технологии, фреймворки, системы контроля версий, базы данных учить. Читайте книги, статьи по теме и смотрите видеокурсы. Чтобы закрепить материал попытайтесь делать что-то свое.
    Затем идите и получайте опыт в реальных проектах на реальных рабочих местах. Какие-то наработки и портфолио, код, у Вас уже будет, поэтому устроиться куда-то особых проблем вызвать не должно. По-другому никак. В процессе обучения хорошо бы и проект делать покруче и наставника иметь.

    Фриланс - это вообще дно, там нет нормальных задач. Если Вы хотите делать сайты для Васяна, то может это и выход, но если Вы хотите делать крутые штуки, сложные и большой командой, скажем так, инновационные и полезные проекты, интересные, то на фрилансе их не будет. Потому что нет на фрилансе заказчиков, готовых оплачивать труд команды разработчиков годами.
    Ответ написан
    Комментировать
  • Перспективы Delphi?

    @kvsemenov
    Не могу сказать про Delphi (он до сих пор живёт как дорогущий коммерческий проект), но его Open Source реинкарнация - Lazarus - вполне даже пригодна для многих задач. Поддерживает компиляцию в Win(32/64), Mac (32), Linux (32/64), FreeBSD итд., в том числе с возможностью кросс-компиляции; а также iOS и Android. Я им пользуюсь только для того чтобы быстро собрать редактор БД с какой-нибудь сложной структурой - очень уж быстро всё получается по сравнению с другими средствами разработки.
    Ответ написан
    Комментировать
  • Как настроить mod_wsgi для Apache на Windows XP?

    sim3x
    @sim3x
    Для разработки на джанго не нужен апач python manage runserver
    Для продакшена - не нужен апач и винда
    Ответ написан
    Комментировать
  • Куда податься девушке в IT?

    @MJee
    Разработчик мобильных приложений для Android
    Не придумывайте!
    Я девушка программист, за 8 лет работы ни разу никакой дискриминации не испытывала. На собеседовании иногда спрашивали, почему я выбрала такую "мужскую" профессию, но это единичные случаи и обычно ответ "просто интересно" их целиком устраивал.

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

    Чем вы лучше других?
    Чем вы можете быть нам полезны?
    Почему вы думаете, что справитесь с этой работой?
    Ответ написан
    1 комментарий
  • Подгрузка контента Django?

    Я бы сделал следующим образом

    1) 1-ый вариант
    во вьюхах
    from django.core import serializers
    from .models import MyModel
    
    def my_view(request):
        if request.is_ajax():
            x = request.GET.get('value', 5)
            data = serializers.serialize('json', MyModel.objects.all()[:x] )   #тут по вкусу, можно все объекты, можно частями.
            return HttpResponse(data, content_type='application/json')
        else:
            return render(request, 'template.html')

    2) 2-ой вариант использовать Django-Rest-Framework

    И в шаблонах уже jQuery-Ajax, Angular и.т.п.

    Но я сам ещё совсем новичок в этом деле, поэтому могу ошибаться :)

    Update:
    Я нашёл вот такой вариант:

    $(window).scroll(function() {   
       if($(window).scrollTop() + $(window).height() == $(document).height()) {
           $.ajax({
                type: 'GET',
                url: '{% url 'app:json_view' %}', //Ссылка на вьюху
                dataType: "json",
                data: {'value': 10},  //Здесь можно передать данные в GET запросе, например сколько значений получить 
                success: function(data) {
                    // Ответ приходит в переменную data. Её и рендерим на страницу
                }
            }); 
      }
    });
    Ответ написан
    2 комментария
  • Подгрузка контента Django?

    @kazmiruk
    Джанга тут не при чем. Делаете апи (django-rest-framework можно использовать), а затем яваскриптом отслеживаете скролл на странице. Как только скролл подошел к нижней границе - вызываете апи с запросом на следующую порцию данных. Получив данные отрисовываете их.
    Ответ написан
    4 комментария
  • С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

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

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

    Между слоем сервисов и слоем доступа к данным нарисуйте большой контур и назовите его слоем бизнес-логики. В маленьких прямоугольниках внутри этого контура перечислите основные бизнес-задачи. Один компонент Вашей системы будет решать одну бизнес-задачу.

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

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан
    2 комментария
  • Какая книга поможет в освоении JS?

    kumaxim
    @kumaxim
    Web-программист
    Репозиторий на GitHub со ссылками на книжки/курсы/подкасты по разным языка/технологиям. Рекомендую добавить его в закладки.

    Список книг именно по JavaScript: en | рус

    От себя могу рекомендовать Вам курсы по JavaScript и JQuery на CodeAcademy. Единственный минус CodeAcademy, на мой взгляд в том, что они ну очень сильно разжёвывают материал, хотя изложен он достаточно легко, местами даже с юмором.
    Ответ написан
    Комментировать
  • Каким образом поменять код django?

    sim3x
    @sim3x
    def __unicode__(self):  # python 2
    def __str__(self):  # python 3


    Так же буду благодарен за хорошую инструкцию отображающихся миниатюр изображений в админке

    stackoverflow.com/questions/1385094/django-admin-a...
    https://google.com/search?q=django+admin+show+images
    Ответ написан
    Комментировать
  • Каким образом поменять код django?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    Добавьте в модели:
    def __str__(self):
        return self.title
    Ответ написан
    Комментировать
  • Как получить содержимое pdf?

    angru
    @angru
    Ответ написан
    Комментировать
  • Какую технологию выбрать для асинхронной передачи данных?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Поддержу про торнадо, но еще более рекомендую посмотреть на cyclone.io
    Это торнадо переписанный под twisted, который как нельзя лучше вам подойдет (это я про https://twistedmatrix.com/ ). У меня так система работает, вся обработка делается в twisted, а отдаю через cyclone по ajax (вебсокетов на клиентах, увы у меня нет :-( )
    А технология называется comet. Реализуется в разных вариантах, у которых есть плюсы и минусы. Смысл в том, что браузер тем или иным образом (comet, websocket, ajax, ajaxp, longframe, longpooling и т.д.) подключается к серверу и ждет прихода события от сервера. Само событие может содержать кучу данных, которые обновились.

    Я бы рекомендовал сделать следующим образом. Поставить сервер очередей типа rabbitmq, а через торнадо/cyclone подключаться к очереди через ajax/ajaxp и/или websockets.

    Ну а если просто нужно слушать очереди сообщений (без хитрой обработки на web-сервере), то можно просто обойтись rabbitmq-stomp.

    В принципе, в циклоне есть несколько примеров:
    - https://github.com/fiorix/cyclone/tree/master/demo... - очереди на основе redis
    - https://github.com/fiorix/cyclone/tree/master/demo... - собственно websocket
    - https://github.com/fiorix/cyclone/tree/master/demo... = чистый ajax
    Ответ написан
    Комментировать
  • Какую технологию выбрать для асинхронной передачи данных?

    dizballanze
    @dizballanze
    Software developer at Yandex
    WebSocket + Tornado, например.
    Ответ написан
    Комментировать