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

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

6
Как мне изучить Python с нуля до веб-разработки? [закрыто]
Я изучаю Python для веб-разработки. Предполагая, что у меня уже есть некоторый базовый опыт веб-разработки с Java (JSP / Servlets), я уже знаком с веб-дизайном (HTML, CSS, JS), базовыми концепциями программирования и что я совершенно новичок в Python, как мне поступить изучать Python структурированным способом, который в конечном итоге приведет …

9
Как мне начать с Lisp? [закрыто]
Я программирую уже много лет, прорабатывая различные итерации Blub (BASIC, Assembler, C, C ++, Visual Basic, Java, Ruby без какого-либо конкретного порядка «Blub-ness»), и я хотел бы научиться Лисп. Тем не менее, у меня много интертаций с ограниченным временем (семья, работа на полную ставку и т. Д.) И комфортное счастье …

3
Как угробить кабину? [закрыто]
Мне бы очень хотелось выбраться из «кабины» 9-5 и сделать что-нибудь, где я могу работать из дома, снимать, когда захочу, и т. Д. Не поймите меня неправильно ... Я не против усердно работать , но я просто не наслаждаюсь всей корпоративной вещью, где установлены мои часы, дни отпуска, дресс-код, место …

24
Как получить деньги от неохотного клиента? [закрыто]
Я закончил этот сайт 4 месяца назад. (Я хотел бы сохранить анонимность веб-сайта - если эта публикация будет появляться в поиске Google клиентами, это негативно повлияет на их бизнес). Мы сделали несколько итераций, клиент был очень требовательным (и любопытным), я выполнил все, что хотел, включая размер шрифта нижнего колонтитула, который …

3
Почему метод PATCH не идемпотентен?
Мне было интересно об этом. Предположим , у меня есть userресурс с idи nameполей. Если я хочу обновить поле, я мог бы просто сделать запрос PATCH к ресурсу, как это PATCH /users/42 {"name": "john doe"} И тогда приложение обновит имя пользователя 42. Но почему, если я повторю этот запрос, результат …

4
Почему виртуальные машины должны быть «стековыми машинами» или «регистрировать машины» и т. Д.?
(Это чрезвычайно новый вопрос). Я немного изучал виртуальные машины. Оказывается, многие из них спроектированы очень похоже на физические или теоретические компьютеры. Я читал, что JVM, например, является «машиной стека». Это означает (и исправьте меня, если я ошибаюсь), что он хранит всю свою «временную память» в стеке и выполняет операции с …

1
Обработка 1D структуры данных как 2D сетки
Я работаю с собственным классом, который представляет 2D-изображение в виде одномерного массива. Например, если вы хотите изменить один пиксель, вам нужно узнать, как получить индекс из x,yкоординат. Итак, допустим, у нас есть одномерный массив, array1dподобный этому: array1d = [ a, b, c, d, e, f, g, h, i, j, k, …

9
Как и зачем выбирать между методами именования с префиксами «get» и «find»
Мне всегда трудно понять, стоит ли мне называть определенный метод, начиная с « getSomethingпротив» findSomething. Проблема заключается в создании помощников для плохо разработанных API. Это обычно происходит при получении данных от объекта, который требует объекта в качестве параметра. Вот простой пример: public String getRevision(Item item) { service.load(item, "revision"); // there …
48 naming  methods 

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

10
Как лучше всего избегать написания раздутого кода GUI?
Я нахожу, что всякий раз, когда я работаю с кодом GUI, код, как правило, раздувается быстрее, чем другие виды кода. Это также кажется сложным для рефакторинга. Принимая во внимание, что в других видах кода я могу довольно легко выполнить рефакторинг - я нахожу, что могу разложить большой класс на более …
48 refactoring  gui 

17
Как проверить или оценить навыки отладки человека? [закрыто]
Какие навыки определяют человека, который способен легко отлаживать код? Некоторое время назад мой друг провел интервью с относительно хорошим программистом. Программист был нанят. Он мог писать хороший код, понимать основы и шаблоны проектирования. Чего ему не хватало - отладочных навыков. Он вообще не мог отлаживать, и обнаружение проблем с его …

17
Рекурсия без факториала, чисел Фибоначчи и т. Д.
Почти каждая статья, которую я могу найти о рекурсии, включает примеры факторных чисел или чисел Фибоначчи, которые: математический Бесполезно в реальной жизни Есть ли интересные примеры не математического кода для обучения рекурсии? Я имею в виду алгоритмы «разделяй и властвуй», но они обычно включают сложные структуры данных.
48 recursion 

3
Может ли git commit иметь более 2 родителей?
В этой документации упоминается У объекта коммита может быть любое количество родителей. Но, насколько я понимаю, единственный случай, когда коммит будет иметь более одного родителя, - это когда произошло слияние, и в этом случае будет только два родителя. Итак, мой вопрос, может ли коммит иметь более 2 родителей? Если да, …
48 git 

8
Почему NoSQL быстрее, чем SQL?
Недавно меня спросили: Почему NoSQL быстрее, чем SQL? Я не согласился с предпосылкой вопроса ... это просто нонсенс для меня лично. Я не вижу никакого повышения производительности при использовании NoSQL вместо SQL. Может быть, SQL поверх NoSQL, да, но не так. Я что-то упускаю из-за NoSQL?

6
Что такое инварианты, как их можно использовать, и использовали ли вы их когда-либо в своей программе?
Я читаю Coders at Work , и в нем много говорят об инвариантах. Насколько я понял, инвариант - это условие, которое выполняется до и после выражения. Они, помимо прочего, полезны для доказательства правильности цикла, если я правильно помню курс по логике. Мое описание верно, или я что-то пропустил? Вы когда-нибудь …
48 invariants 

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