Inżynieria oprogramowania

Pytania i odpowiedzi dla profesjonalistów, nauczycieli akademickich i studentów pracujących w cyklu życia systemów

4
Jakie są zalety architektury klient / serwer w aplikacjach internetowych w porównaniu do aplikacji frontendowej generowanej przez serwer
W naszej firmie musimy zbudować interfejs WWW na wbudowanej platformie Linux. Widzę 2 opcje: używasz technologii, w której HTML i JavaScript są generowane po stronie serwera (Think JSP, Grails, ale jest to coś, co używa C ++ i generuje HTML / JavaScript) lub tworzysz „klienta” HTML5 aplikacja, która komunikuje się …

4
Tabela historii bazy danych / tabela śledzenia
Obecnie chcę uporządkować tabelę śledzenia / historii w następujący sposób: PrimaryKey - ID OtherTableId - fk fieldName - nazwa pola, które śledzi OldValue Nowa wartość Nazwa Użytkownika CreateDateTime Zasadniczo chcę mieć tabelę, która będzie śledzić kolejną historię tabel, przechowywać nazwę kolumny zmienionego pola z nową i starą wartością. Moje pytanie …
13 database  sql  tracking 

2
Jak zaprogramować przydział wątków na procesorach wielordzeniowych?
Chciałbym eksperymentować z wątkami na procesorze wielordzeniowym, np. Aby stworzyć program, który wykorzystuje dwa różne wątki, które są wykonywane przez dwa różne rdzenie procesora. Jednak nie jest dla mnie jasne, na jakim poziomie wątki są przydzielane do różnych rdzeni. Mogę sobie wyobrazić następujące scenariusze (w zależności od systemu operacyjnego i …

2
Czy mogę używać kodu JavaScript na licencji GPL w komercyjnej witrynie?
Patrzę na plupload dla niektórych funkcji przesyłania w witrynie, którą opracowuję. Teraz plupload ma licencję GNU GPLv2, co oznacza, że ​​całe oprogramowanie pochodne powinno również mieć licencję GPL (prawda?). Dlatego uruchamiam plupload przez mój minifikator, pojedynczy zminimalizowany plik js naruszy licencję, a na żądanie muszę udostępnić wszystkie źródła mojej strony …
13 licensing 

3
Jak mogę ukryć poufne dane w moim projekcie open source?
Mam projekt open source, który przesyła pliki do DropBox między kilkoma hostami plików. W tej chwili robię przeglądanie ekranu dla DropBox. Aby korzystać z ich interfejsu API, muszę zakodować na klucz tajny klucz, który mi podali, w celu uwierzytelnienia OAuth. Obawiam się jednak, że klucz nie będzie tajny, jeśli będzie …

2
Zalety i wady strukturyzacji całego kodu za pomocą klas i kompilacji do klas (np. Java)
Edycja: mój język pozwala na wielokrotne dziedziczenie, w przeciwieństwie do Java. Zacząłem projektować i rozwijać własny język programowania do celów edukacyjnych, rekreacyjnych i potencjalnie użytecznych. Na początku postanowiłem oprzeć ją na Javie. Sugerowało to, że cały kod zostałby napisany w postaci klas, a kod kompiluje się w klasy, które są …

7
Czy wszystkie zagrożenia bezpieczeństwa są wywoływane przez błędy oprogramowania?
Większość zagrożeń bezpieczeństwa, o których słyszałem, powstały z powodu błędu w oprogramowaniu (np. Wszystkie dane wejściowe nie są poprawnie sprawdzane pod względem czystości, przepełnienia stosu itp.). Więc jeśli wykluczymy wszelkie hakowanie społecznościowe, czy wszystkie zagrożenia bezpieczeństwa wynikają z błędów? Innymi słowy, gdyby nie było żadnych błędów, czy nie byłoby żadnych …
13 security  bug  hacking 

3
Czy przetestowano składnię dowolnego języka programowania pod kątem użyteczności?
Chcesz poprawić ten post? Podaj szczegółowe odpowiedzi na to pytanie, w tym cytaty i wyjaśnienie, dlaczego Twoja odpowiedź jest poprawna. Odpowiedzi bez wystarczającej ilości szczegółów mogą być edytowane lub usuwane. Czy przed opublikowaniem publicznie czy składnia dowolnego języka programowania przeszła testy użyteczności? Jeśli tak, jakie rodzaje testów zostały przeprowadzone, jakie …

4
Dobre strategie wdrażania dla enkapsulacji współdzielonych danych w potoku oprogramowania
Pracuję nad faktoringiem niektórych aspektów istniejącej usługi internetowej. Interfejsy API usług są implementowane poprzez rodzaj „potoku przetwarzania”, w którym są zadania wykonywane sekwencyjnie. Nic dziwnego, że późniejsze zadania mogą wymagać informacji obliczonych na podstawie wcześniejszych zadań, a obecnie sposób ten jest wykonywany przez dodanie pól do klasy „stan potoku”. Myślałem …


1
Scala jako język programowania ogólnego
W artykule „Rozszerzone badanie porównawcze obsługi języka dla programowania ogólnego” Garcia i in. interesujące porównanie funkcji języków programowania dla programowania ogólnego: z krótkim wyjaśnieniem terminologii: Czy ktoś może przetestować obsługę Scala dla ogólnego programowania w tym frameworku? Tj. Dodaj kolumnę do pierwszej tabeli z wyjaśnieniami, jeśli to możliwe.


1
Czy pakowanie kodu strony trzeciej jest jedynym rozwiązaniem do testowania jednostkowego konsumentów?
Robię testy jednostkowe i na jednej z moich klas muszę wysłać wiadomość e-mail z jednej z metod, więc za pomocą wstrzykiwania konstruktora wstrzykuję instancję Zend_Mailklasy, która jest w środowisku Zend. Teraz niektórzy twierdzą, że jeśli biblioteka jest wystarczająco stabilna i nie zmienia się często, nie trzeba jej owijać. Zakładając, że …

2
Jakie jest najlepsze podejście do komentarzy kodu wbudowanego?
Dokonujemy refaktoryzacji do 20-letniej bazy kodu starszego typu i rozmawiam z kolegą na temat formatu komentarzy w kodzie (plsql, java). Nie ma domyślnego formatu komentarzy, ale w większości przypadków ludzie robią coś takiego w komentarzu: // date (year, year-month, yyyy-mm-dd, dd/mm/yyyy), (author id, author name, author nickname) and comment proponowany …

1
Obsługa C ++ 11 dla funkcji list wyższych
Większość języków programowania funkcyjnego (np Common Lisp, Scheme / rakieta, Clojure, Haskell, Scala, Ocaml, SML) obsługuje niektórych funkcji wspólnego wyższego rzędu na listach, takich jak map, filter, takeWhile, dropWhile, foldl, foldr(patrz np Common Lisp, Scheme / rakieta, Clojure obok siebie dokumentacja , dokumentacja Haskell , Scala , OCaml i SML …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.