Что Вы используете для разработки приложений на Linux? [закрытый]

Как уже упоминалось, bulk_create не вызывает эти сигналы -

https://docs.djangoproject.com/en/1.8/ref/models/querysets/#bulk-create

Этот метод эффективно вставляет предоставленный список объектов в базу данных (как правило, только 1 запрос, независимо от того, сколько там объектов).

имеет несколько предостережений:

  • Метод save () модели не будет вызываться, а сигналы pre_save и post_save не будут отправлены.
  • Это не работает с дочерними моделями в сценарии наследования с несколькими таблицами.
  • Если первичный ключ модели - это AutoField, он не извлекает и не устанавливает атрибут первичного ключа, как это делает save ().
  • Он не работает со многими отношениями.
  • Параметр batch_size определяет, сколько объектов создается в одном запросе. По умолчанию используется для создания всех объектов в одной партии, за исключением SQLite, где значение по умолчанию таково, что используется не более 999 переменных для каждого запроса.
blockquote>

Таким образом, вы должны запускать их вручную. Если вы хотите, чтобы это для всех моделей, вы можете переопределить bulk_create и отправить их себе так:

class CustomManager(models.Manager):
    def bulk_create(items,....):
         super().bulk_create(...)
         for i in items:
              [......] # code to send signal

Затем используйте этот менеджер -

class Task(models.Model):
    objects = CustomManager()
    ....

45
задан Mike B 13 January 2009 в 01:06
поделиться

8 ответов

Это в основном зависит от того, какие приложения Вы интересуетесь разработкой. Толпа C придерживается старого доброго vi/emacs, сделайте, gdb, и много xterms. Люди Java часто используют межплатформенные инструменты как NetBeans и Eclipse. Python, Perl и люди Ruby используют инструменты командной строки часто также, но их IDE становятся более богатыми все время. Конечно, многие стойкие приверженцы будут командной строкой, всеми правдами и неправдами борется за остальную часть их карьеры.

Ожидают намного больше субъективных ответов. Я отметил бы его как таковой, если бы у меня был представитель

22
ответ дан joev 6 July 2019 в 03:18
поделиться

Я написал профессиональные (т.е. вы платите за покупку) приложения для Linux. Они были написаны на C и / или C ++. Они используют библиотеки X11 (которые существуют для Linux с 1993 г. и Unix с 1984 г.) и соблюдают и соблюдают все стандартные аргументы X11 (которые большинство приложений KDE и Gnome) не учитывают долгую историю стандартных параметров.

Для Интернета. приложения на базе PHP / mySQL / Apache или Java / Tomcat / Apache при необходимости. Я начал веб-разработку в 1993 году, когда браузером была Mosaic (которая была родительской для Netscape и IE), написанная новичками Netscape, когда они учились в колледже. Да, Microsoft лицензировала код Mosaic. Первоначальный браузер Netscape назывался Netscape Mosaic (до того, как он был изменен на Netscape Navigator). "Движок" получил название "Mozilla". даже в коде Mosaic и раннем Netscape можно было бы прочитать: «Это может быть написано Netscape, но произносится как Mozzila».

Я знаю, что новое поколение программистов не хочет тратить время на то, чтобы научиться писать код на C или С ++ больше нет, и я считаю, что это очень досадно. Код, созданный действительно хорошей программой и выходящим из компилятора, выполняет «управляемый код» в любой день (но для этого требуется больше навыков от разработчика).

5
ответ дан 5 July 2019 в 17:18
поделиться

Мир Linux, прежде всего, взламывается с Bash, Perl, Python и C. Для использования Linux эффективно я настоятельно рекомендую ведущее устройство те языки. То, что действительно прохладно о Linux, - то, как можно легко объединить небольшие приложения для разрешения проблемы действительно быстро. Когда я говорю Bash, я также имею в виду все маленькие утилиты.. такой как простофиля, sed, туалет, grep, и т.д.

Затем это зависит того, что Вы хотите сделать.. если Вы хотите, чтобы он был портативен на окнах. В этом случае, по моему скромному мнению, Java является способом пойти. (Eclipse и netbeans могут также использоваться на Linux). Моно прохладно.. пока это не делает то, что это, как предполагается.

я лично нахожу, что это действительно охлаждает это, много материала создается с помощью, только колотят.. это означает, что можно действительно учиться путем исследования тех файлов.. Я помню, что, когда я установил Archlinux, я читал файл удара установки в то же время и выполнил все шаги.

, Если Вы хотите использовать Linux действительно эффективно, я настоятельно рекомендую: "Практическое Руководство по Linux - Команды, Редакторы и Программирование Shell - Mark G. Sobell"

Однако, если Вы действительно не заботитесь о masterizing Linux и Вас "только", хотят кодировать некоторые приложения, тогда, так как Вы уже familiare с .net, использование Моно возможно, но я думаю, узнавая, что Java является лучшим выбором.

И между прочим, учась использовать энергию, если Вы планируете использовать Linux, немного похож на обучение идти, если Вы хотите работать.

9
ответ дан user35978 6 July 2019 в 03:18
поделиться

Если Ваша цель состоит в том, чтобы изучить Unix Путь, я рекомендую

  1. Запись некоторые сценарии оболочки с помощью bash или ksh. Игра вокруг с использованием sed, awk, и другие вещи Вы найдете в Kernighan и Пика Среда программирования Unix .

  2. Изучают немного C и делают немного программирования C. Руководство Kernighan и Ritchie является классиком.

  3. Делают некоторые сценарии. Python является популярным фаворитом, но Ruby и Lua является также прекрасным выбором. Python является, вероятно, самым богатым; Ruby является чистое OO, соединенное с операционной системой; Lua является самым быстрым и является настолько простым, можно освоить его полностью.

8
ответ дан Norman Ramsey 6 July 2019 в 03:18
поделиться

Если Вы хотите усилить свои навыки.NET, Моно опция. Для IDE продвигается MonoDevelop.

, Если бы Вы делаете это как осуществление изучения, я избегал бы Java. В отличие от Моно, который поощряет Вас использовать определенные для Linux функции, Java в большой степени абстрагирован от ОС. Кроме использования наклонной черты вправо в именах файлов, Вы не можете действительно сказать, что программируете на Linux.

при выполнении этого как карьеры C и Java являются более оптимальными вариантами. Моно имеет потенциал, но в настоящее время все еще нишевой плеер.

4
ответ дан Jonathan Allen 6 July 2019 в 03:18
поделиться

Java для реальных настольных приложений (в Eclipse) и Python для быстрых-и-грязных вещей. И это находится на Ubuntu Heron. Я предпочитаю использовать Среды выполнения Java Sun (Eclipse идет со своим собственным компилятором).

2
ответ дан paxdiablo 6 July 2019 в 03:18
поделиться

Вы сделали хороший выбор с Ubuntu, даже с его коммерческой полировкой, он сохраняет свои корни Debian как большую разработку ОС. Вы найдете, что большинство библиотек / модули / языки легко установить и что поставщики программного блока не 'искажают' функции в них. Например, Red Hat имел большую проблему с жемчугом, потому что поставщики программного блока вытянули в предрелизном коде.

В зависимости от типа приложения Вы хотите записать.. Я высоко предложил бы Python и C. Python делает пользовательские интерфейсы GTK довольно простыми, C является лучшим языком, чтобы записать некоторому демону или системной службе с. Оба делают мобильность между различными дистрибутивами Linux легкой. Узнавание Вашего пути вокруг портативных сценариев оболочки было бы хорошо.. если Вы имеете некоторое время, смотрите на Perl также.

Java так высоко абстрагирован, что Вы действительно не закопали бы к простоте разработки приложений Linux с помощью него. Java является Java, везде, где Вы используете его.

Python является достаточной абстракцией для хранения Linux от пугающего Вами, в то время как Вы учитесь, C собирается представить Вас всем большим и ужасным вещам, которые должен предложить POSIX совместимое ядро и библиотека C.

, Если можно обновить вопрос с идеей того, что Вы хотите записать, я уверен, что Вы будете видеть более соответствующие ответы.

1
ответ дан Tim Post 6 July 2019 в 03:18
поделиться

Вы могли бы хотеть посмотреть, что рабочие столы как Gnome и KDE дают Вам. В KDE необходимо разработать C++ использования с использованием универсальной библиотеки QT - который также используется в мобильных/встроенных устройствах.

Для IDE можно проверить KDevelop и Eclipse + CDT для задания C/C++. Изучение автоделает набор инструментальных средств, должна также быть премия, поскольку много программного обеспечения для Linux использует это. Однако для персональных проектов я взял бы что-то лучшее/более новое как CMake (например, KDE использует CMake).

Для быстрых заданий используют Python или Ruby - какой бы ни подходит Вам больше.

0
ответ дан Marcin Gil 6 July 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: