Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

20
Как вы справляетесь с вашим менеджером проектов
В настоящее время я работаю в компании, которая недавно сократилась. Я делаю всю внутреннюю работу, клиентские установки, сборки, QA и, в общем, всю внутреннюю работу. Мой непосредственный начальник - ОЧЕНЬ нетехнический, и в последнее время мне ОЧЕНЬ было трудно справляться с его недостатком знаний. Самые большие проблемы у меня были …

3
Как называется функция, которая не принимает аргументов и ничего не возвращает? [закрыто]
В java.util.functionпакете Java 8 мы имеем: Функция : принимает один аргумент, выдает один результат. Потребитель : принимает один аргумент, ничего не производит. Поставщик : не принимает аргументов, дает один результат. ... : другие случаи обработки примитивов, двух аргументов и т. Д. Но мне нужно разобраться с делом «не принимает аргументов, …

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

12
Почему недавний переход к удалению / исключению точек с запятой из Javascript?
В последнее время кажется модным опускать точки с запятой в Javascript. Несколько лет назад был пост в блоге, в котором подчеркивалось, что в Javascript точки с запятой необязательны, и суть поста заключалась в том, что вам не следует беспокоиться о них, потому что они не нужны. Эта публикация, на которую …

5
Промежуточная среда против производственной среды
Я работаю в компании , где мы строим корпоративные приложения, и мы поддерживаем три среды: развитие (или Dev ), постановка (или стадии ) и производство (или прод ). Значение dev интуитивно понятно: это среда, используемая при разработке приложения. В чем разница между промежуточной и производственной средой?

8
Как именно следует писать модульные тесты без насмешек?
Как я понимаю, суть модульных тестов заключается в том, чтобы тестировать модули кода изолированно . Это значит, что: Они не должны нарушаться никакими несвязанными изменениями кода в другом месте кодовой базы. Только один модульный тест должен прерваться из-за ошибки в тестируемом модуле, в отличие от интеграционных тестов (которые могут разбиться …

15
Почему Java может быть быстрее, чем C ++?
Иногда Java превосходит C ++ в тестах. Конечно, иногда C ++ выигрывает. Смотрите следующие ссылки: http://keithlea.com/javabench/ http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/ http://blog.cfelde.com/2010/06/c-vs-java-performance/ Но как это вообще возможно? Меня поражает, что интерпретируемый байт-код может быть быстрее, чем скомпилированный язык. Может кто-нибудь объяснить, пожалуйста? Спасибо!
80 java  c++  performance 

2
Почему одновременные записи не разрешены в базе данных SQLite?
Я занимаюсь программированием баз данных, используя Java с SQLite. Я обнаружил, что только одно соединение одновременно с базой данных имеет возможность записи, в то время как многие соединения одновременно имеют возможность чтения. Почему архитектура SQLite была разработана таким образом? Пока две записываемые вещи не записываются в одно и то же …

8
Зачем использовать завершающие переводы строк вместо лидирующих с printf?
Я слышал, что при использовании вы должны избегать вводить новые строки printf. Так что вместо printf("\nHello World!")тебя стоит использоватьprintf("Hello World!\n") В этом конкретном примере выше это не имеет смысла, поскольку выходные данные будут другими, но учтите это: printf("Initializing"); init(); printf("\nProcessing"); process_data(); printf("\nExiting"); по сравнению с: printf("Initializing\n"); init(); printf("Processing\n"); process_data(); printf("Exiting"); …
79 c 

7
Почему битовые маски называют «масками» и какой цели они служат?
Почему "битовые маски" называются так? Я знаю, что они в основном используются для побитовых операций, и использование битовых масок более эффективно, чем использование отдельных переменных. Однако мой вопрос: почему и когда были изобретены битовые маски? Были ли они использованы с ранних вычислений? Существуют ли другие типы «масок» помимо битовых масок …

6
Как работает сборка мусора на языках, которые скомпилированы изначально?
После просмотра нескольких ответов о переполнении стека становится ясно, что некоторые скомпилированные в нативе языки имеют сборку мусора . Но мне неясно, как именно это будет работать. Я понимаю, как сборка мусора может работать с интерпретированным языком. Сборщик мусора будет просто работать рядом с интерпретатором и удалять неиспользуемые и недоступные …

3
Как мне отойти от школы мысли «за петлей»?
Это довольно концептуальный вопрос, но я надеялся получить хороший совет по этому вопросу. Я занимаюсь программированием с массивами ( NumPy ); Мне часто приходится сопоставлять элементы в двух или более массивах разных размеров, и первое, на что я обращаюсь - это цикл for или, что еще хуже, вложенный цикл for. …
79 python  array  loops 

6
Одинарные кавычки против двойных кавычек [закрыто]
Я только начал работу, где я пишу Python после того, как пришел из Java-фона, и я заметил, что другие разработчики склонны заключать строки в кавычки, используя одинарные кавычки ( '') вместо двойных кавычек ( ""). Например: line1 = 'This is how strings typically look.' line2 = "Not like this." Есть …


2
Существуют ли какие-либо ОО-принципы, которые практически применимы для Javascript?
Javascript - это объектно-ориентированный язык на основе прототипов, но он может быть основан на классах различными способами: Написание функций для самостоятельного использования в качестве классов Используйте изящную систему классов в фреймворке (например, mootools Class.Class ) Создайте его из Coffeescript Сначала я писал код на основе классов в Javascript и очень …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.