TDD i ATDD

treść
  1. Quality Assurance zrównoważony
  2. automatyzacji testów
  3. TDD i ATDD
  4. wniosek
  5. Przeczytałem na jednej stronie

Ze statycznych narzędzi analizy kodu, takich jak FindBugs często, FxCop lub Checkstyle być używana do sprawdzania kodu przed uszkodzeniem niezależne od aplikacji. Odsłonięte wyjątki oczywiste zerowe wskaźnik odniesienia i fragmenty niewykorzystany kod może zatem znaleźć konkretne. Na ogół jednak, nie powinno być ograniczone do statycznej analizy kodu, ale uzupełniać dane przez programowanie w parach. To dzielenie się wiedzą jest również dawna wspiera zespół i Collective Kod Własność pozwala. Jeżeli którykolwiek programista w zespole jest w stanie zmienić dowolny inny kod, tworząc zupełnie nowy sposób pracy, ponieważ nie jest już kod Peters już nie iść na raz, ale to jest kod wszystkich członków zespołu.

Jak w przypadku wszystkich wskaźników, jednak należy pamiętać, że nie chodzi o to, aby mierzyć wydajność poszczególnych członków zespołu lub użyć, na przykład, wskaźniki pokrycia jako cel dla zespołu rozwoju oprogramowania. Cem Kaner i Walter P. Bond ołowiu "Engineering Software Metrics - Czego oni mierzyć i jak wiemy?" [3], że takie zachowanie się do manipulowania i Przechytrzyć wyników danych. Na przykład, badania jednostki mogą tworzyć celowo tak, że zakres procentowy jest osiągnięty. Następnie są one zazwyczaj silnie związany z logiki aplikacji, więc jest to trudne z perspektywy czasu, aby zmienić kod bez przerywania testu. Zamiast tego autorzy proponują, aby inwestować w szkolenie programistów i pracować z nimi bezpośrednio do kodu.

Na tyle nie wystarczy

Gdy sieć zautomatyzowanych testów jest umieszczony wraz z ciągłym integracji, to tylko jeden krok do czasu (TDD), rozwój testu napędzane. Cykl rozpoczyna się rozwój małej, badania upadającego: Uruchamia test nie tak samo kod produkcyjny powinien być napisany tak, że może być z powodzeniem zakończone. Następnie jest redundancja kodu zmniejszenie o refaktoringu (fig. 3). Większość zespołów nie zdają sobie sprawy, że jest to również w automatyzacji testów do rozwoju oprogramowania gdzie kod test jest czyste, jak to inaczej szybko zmierzyć się z problemem złych testów utrzymaniu.

Wraz z rozwojem testu napędzane w utrzymaniu długoterminowej testowane kod być tworzone (fig. 3).Wraz z rozwojem testu napędzane w utrzymaniu długoterminowej testowane kod być tworzone (fig. 3).


Takie podejście wydaje się początkowo dogmatyczny, ale nauczyć się test-driven development, on celowo dobrane w ten sposób. Gdy wystąpi bezpieczeństwa po pewnym czasie w pewnych obszarach mogą również starać się wdrożyć w większych odstępach. Jednak powinno być jasne, że zbyt duży krok pociąga za sobą ryzyko ugrzęznąć, a test nie przyjdzie szybko z powrotem i działa. Jeśli to nastąpi, problem powinien zostać podzielony na mniejsze jednostki i być rozwiązany w ten sposób.

Szczegółowy przykłady

Nowy trend w rozwoju metod obecnie idzie ku Acceptancetest-Driven Development (ATDD) Zachowanie i rozwój napędzany (BDD). W swej istocie, BDD jest stowarzyszeniem TDD, ATDD, Domain-Driven Design, na zewnątrz, w rozwoju i wykorzystaniu wszechobecnego języka jako warsztatach specyfikacji stworzonych przez instrumenty. W praktyce ATDD Niestety, często jest mylony z BDD.

ATDD jest zaprojektowany, aby pomóc odpowiednie funkcje do opracowania (Rys. 4).ATDD jest zaprojektowany, aby pomóc odpowiednie funkcje do opracowania (Rys. 4).

W ATDD (patrz [4]). Jest to środek do wymogów urządzenia poprawnie możliwe kodu (fig. 4). Praca rozpoczyna się tu wcześnie, nawet wtedy, gdy rzeczywiste wymagania zostały określone. Przedstawiciele rozwoju i zespołu testowego przyjdzie razem z klientem i określić kryteria akceptacji dla przyszłych funkcji (rys. 5). Tutaj, testerów i programistów ([5] Zob.) Wspólne zrozumienie potrzeb klienta, przy dostatecznie dużej sali dla różnych decyzji projektowych pozostaje otwarta. Więc programiści i testerzy mogli znaleźć rozwiązanie problemu klienta, z którego może być spełnione w perspektywie długoterminowej.

Cały zespół z klientami, programistów i testerów powinno być wspólne rozumienie funkcji wynikających mieć (rys. 5).Cały zespół z klientami, programistów i testerów powinno być wspólne rozumienie funkcji wynikających mieć (rys. 5).


Na podstawie powyższych kryteriów akceptacji, twórcy początkowo pracuje nad opisowych przykładów ich przed przejściem funkcję, jednak nadal udoskonalić. Przykłady pchnąć go zwięźle i dokładnie to, co ma być osiągnięte dzięki funkcji. Poruszają się na poziomie wymagań biznesowych i powinien mieć nic wspólnego ze szczegółami implementacji takich jak położenie elementów GUI.

Równolegle z realizacją funkcji zespołu pracuje wtedy zautomatyzować przykłady. Niektóre grupy Deweloperzy są nawet w stanie zintegrować logikę biznesową przypadków biznesowych opartych na kodzie domeny. W literaturze mówi zewnątrz do rozwoju: Rozwój jest napędzany od zewnątrz do wewnątrz. W tym przypadku tylko tyle kodu domeny i program sterujący został zaprojektowany i napisany jak jest to absolutnie konieczne. Praktycznie istnieje kilka zespołów, które osiągnęły taki poziom dojrzałości. Zaletą tego podejścia, jednak nie należy odrzucić z ręki: Może być przed koncertem rozwoju, że proponowana aplikacja wykona to, co chcą, a potem elastyczność na zmiany wymagań długoterminowych.

Razem TDD i ATDD tworzą symbiozę z których wysoki stopień można osiągnąć na automatyzacji testów. W ten sposób jest możliwe ATDD pokrywą żądanie blisko 100 procent, podczas gdy w przypadku TDD 100 procent pokrycia kod jest możliwy. Połączony TDD zapewnia tym samym, że kod był prawidłowy, podczas ATDD zapewnia, że ​​jest to właściwy kod.

standardem programowania systemów wbudowanych MISRA C 2012 opublikowany

Przemysł motoryzacyjny Niezawodność Software Association (MISRA) niedawno wydała Embedded Standard programowanie MISRA C 2012th Standard definiuje standardy kodowania dla C i C ++ - programistów, aby uniknąć błędów czasu wykonywania, które mogą wynikać z niebezpiecznymi konstrukcjami lub słabości strukturalnych języków. Im więcej niż 200 stron grubości specyfikację, która w ten sposób niemal podwoiła się, jest zgodne z nową wersją do C99 i widocznie był znacznie zmieniony w kilku miejscach.

Istnieje więc teraz oprócz zasad i wytycznych, które mają być traktowane jako wytyczne mają być wykorzystywane do innych zasobów w celu sprawdzenia zgodności z wymaganiami. Reguły mogą być weryfikowane tylko o testowaniu kodu, jednak. może odnosić się do standardu w postaci pliku PDF za pośrednictwem sklepu internetowego konsorcjum za 15 funtów brytyjskich, wersja druk kosztuje 45 funtów.

MISRA to stowarzyszenie producentów samochodów, dostawców i usługodawców. Pierwszy przyjęty przez organizację w 1998 przepisów MISRA C z dobrze 100 zasady bezpiecznego programowania C stał się czymś w rodzaju de facto standardem dla osadzonych programowania C. Druga wersja, MISRA w 2004 roku, napisał między innymi, aby użyć narzędzia do sprawdzania reguł. W 2008 roku konsorcjum z MISRA C ++ rozszerzył wytyczne dla obiektowym wersji języka. (Ane)

Serwery aplikacji Java: Red Hat są JBoss Application Server 10 za darmo

JBoss Application Server 10

Obecnie dostępny w wersji 10 serwera Enterprise Java stanowi podstawę komercyjnej platformy JBoss Enterprise Application Red Hata 7 jest również trzeci główne wydanie od czasu zmiany nazwy projektu open source.

Red Hat w wersji 10 serwera aplikacji Java JBoss Application Server opublikowany. Realizuje wszystkie specyfikacji Java EE 7 karta profili i Java EE Web Profile 7 obecnie najnowszymi wersjami standardów Java Enterprise. Wsparcie dla Java 7 została zakończona, co ma zapewnić lepszą integrację z bieżącym Java. 8 Serwer może być używany z aktualnymi migawkami rozwoju oczekiwanego przyszłego roku Java 9 poza nią.

Główne innowacje

Zamiast Message Broker HornetQ JBoss Application Server zawiera teraz jego rozwój ActiveMQ Artemis, choć wzbogacona o szereg nowych funkcji, protokół poziomie zgodnym z HornetQ zachowywać. Nowa wersja integruje projekt Undertow JS. Ten serwer-side skryptów nie może pisać, może sprawić, że dostęp do kontekstów i CDI (Dependency Injection) i fasoli JPA jednostki (Java Persistence API). W ramach transakcji nazwa cofająca wciąż młodych ze standardowej zgodnej serwerze WWW HTTP / 2.

Dla programistów również powinny być ciekawe, że teraz w wersji 5 ram utrwalania jest obsługiwane skrypty Hibernate i PowerShell katalogu bin dystrybucji JBoss Application Server, które zostały dodane. W przyszłych wersjach, mają zastąpić .bat skryptów. Z JBoss Application Server 10, to jest w końcu możliwe, każda aplikacja jako "Singleton Deployment" skonfigurować. Pozwala aplikacji należy zawsze powinien być zainstalowany na danym węźle serwera w klastrze. Awaria węzła, aplikacja zostanie automatycznie uruchomiony ponownie na innym węźle.

JBoss do JBoss Application Server

Z 10 JBoss Application Server pojawił się już trzeci główne wydanie serwera aplikacji Java, działa pod tą nazwą od serwera open source. że doszło do zmiany nazwy, ponieważ stojący za nim firma chciała większego zróżnicowania oferty handlowej z JBoss Application Server oparte. Pierwsze wydanie - JBoss Application Server 8 - ukazał się w lutym 2014 roku, drugi pod numerem wersji 9, a następnie w lipcu 2015. Mimo że wersja była zgodna z Java EE 7 (Java Enterprise Edition). JBoss Application Server stanowi podstawę dla następnej wersji Red Hat handlowej JBoss Enterprise Application Platform 7 (JBoss EAP 7)(Ane)

Modułowy, lepiej udokumentowane i PHP 7 – Zend Framework 3 został wydany

Modułowy, lepiej udokumentowane i PHP 7? Zend Framework 3 został wydany

Po kilku latach rozwoju, nie ma wreszcie nową większe uwalnianie popularnych ram PHP i poza ramami Micro.

Plan był taki, że faktycznie Zend Framework będzie pochodzić z nowych głównymi wydaniami każdy półtora roku do dwóch lat. Spośród nich, twórcy ramach PHP, które ogłoszonego wraz z wydaniem wersji 2 we wrześniu 2012 roku miał jednak przyjąć wkrótce. A później, planowane na jesień 2015 data premiery nie mógł ich pomieścić. Ale teraz czekanie się skończy, ponieważ wersja 3 z Zend Framework jest już oficjalnie dostępny.

zmodularyzowany Framework

Większość zmian ma charakter strukturalny. To tutaj, na przykład, przydział niektórych elementów we własnym wersjonowanymi projektów. Odbywa się to w celu ponownego wykorzystania tych składników łatwiej i gdzie indziej tak aby przyspieszyć proces rozwoju. Ważne jest również, że pod koniec ubiegłego roku wydała PHP 7.x jest obsługiwany przez nową wersję.

Opracowując nową wersję językową, ale również z poprzednim PHP 5.x do czterech razy większą wydajność obserwowany. Minimal PHP 5.6 jest obecnie przewidziany Zend Framework. 3 Przestarzała uwolnienie pasma pod numerem wersji 1.x nie jest już rozwijany, nie jest w najlepszym razie tylko poprawki bezpieczeństwa - i tylko do końca września 2016th

Dokumentacja i Micro Framework

Do przełączania z rozwiniętym z Zend Framework 2 wnioski MVC (Model-View-Controller), aby ułatwić nowa wersja zapewnia użytkownikom dużą ilością udokumentowanej ścieżki migracji dostępnych jest wprowadzenie kilku zmian potrzebne. Ponadto, ogólnie świetny uwagę zwrócono na dokumentacji. Więc po prostu taki jest przechowywany w każdym repozytorium komponentu. Nowe funkcje w przyszłości zostać przyjęte jedynie w zakresie w jakim zostały one również udokumentowane.

Nowe ścieżki w końcu bieżnika deweloperów z wprowadzeniem odrębnej middleware Micro ramowej. Ekspresyjny jest uważany za przyszłość rozwoju PHP ze strony deweloperów ramowych, w przeciwieństwie do dużych MVC ofertą pełnej stosu.(Ane)

CreateJS wiązki biblioteki dla programistów HTML5 i Flash

We współpracy z Adobe ma zespół do przyznania Skinner (gskinner.com), który pracował w tym czasie dla Microsoft już na technologii HTML 5 demo Piraci Miłość stokrotki, nowa biblioteka JavaScript dla HTML5 i Flash / AIR dewelopera zaprezentowane. CreateJS łączy szereg istniejących bibliotek do odtwarzania grafiki, audio i elementów Flash. Ponadto kolekcja zawiera swój własny zestaw narzędzi, które mogą być eksportowane do zawartości HTML5 z platformą Flash Pro.

Na CreateJS podstawowych wiązki czterech JavaScript bibliotek EaselJS, TweenJS, SoundJS i PreloadJS wciąż w fazie rozwoju dla wstępnego ładowania różnych składników. Ponadto Adobe aplikacja AIR Zoë jest zawarte w pakiecie z których animacje SWF można wyeksportować arkusz dla EaselJS jak Sprite.

Zupełnie nowy jest Toolkit CreateJS że gskinner.com został opracowany we współpracy z Adobe. Oferuje on znacznie więcej funkcji niż Zoë i umożliwić programistom Flash Pro eksportować treści, takich jak ikony, wektory, animacje, mapy bitowe, dźwięku i tekstu. Dane dostarczone z Toolkit jako biblioteki obiektów, które mogą odwołać się bezpośrednio powyżej CreateJS i HTML5 wtedy.

Biblioteka nowe CreateJS powinny być dostępne w ciągu najbliższych tygodni createjs.com. Dokumentacja, pokazy i różne tutoriale że gskinner zespół chce również opublikować. Dla licencji, grupa nie posiada informacji - ale jak większość bibliotek już ujęte są open source na licencji MIT, można spodziewać się porównywalna forma licencja CreateJS. Nieco dłużej opracowany wspólnie przez Adobe Toolkit będzie długo czekać, co więcej, bo Adobe wciąż nie może dostarczyć informacji o jego dostępności.(R)

ranking programowania: Java, JavaScript i na górze

W RedMonk rankingi Język programowania: styczeń 2016

Z JavaScript, Java, PHP, Python, C #, C ++, Ruby, CSS, C i Objective-C, dokładnie to samo programowanie, patrz półrocznym RedMonk rankingu - a także w tej samej kolejności.

Istnieje miesięcznych Tiobe indeks programowanie w celu określenia najbardziej popularny język programowania swoich wyników na życzenie " programowanie" uzyskano w 25 wyszukiwarkach. Ale istnieją również dwuletnie RedMonk rankingi język programowania, w którym analitycy korelacje między dyskusji języka na StackOverflow produkowane z ich wykorzystania w projektach GitHub, aby ocenić, jak bardzo język programowania jest wykorzystywany w przyszłości.

Trochę późno RedMonk teraz podano wyniki styczniowe znane obecnej popularności najważniejszych języków programowania.

RedMonk W prawym górnym rogu są dla najbardziej popularnych języków programowania. Zmienia nie było mało w porównaniu z lipcem 2015 r.(Zdjęcia:RedMonk )

stabilna sytuacja

Wśród pierwszych 10 miejsc w stosunku do poprzedniego badania w nic nie zrobił, więc JavaScript przed Java nadal prowadzić z wąskim marginesem listę, a następnie PHP (3), Python (4), C # (5), C ++ ( 5) Ruby (5), CSS (8) C (9), celem C (10). Że Java i JavaScript są w toku, aby znaleźć się na górze, będzie prawdopodobnie również wspierany że te dwa języki były często stosowane w firmach w tej samej aplikacji, może być wystarczające, zwłaszcza że coraz więcej profesjonalnych JavaScript roszczeń.

Że nie będzie się również zmiany w top 10, analityk RedMonk wytłumaczyć faktem, że decyzje o języku w biznesie jest zwykle zaprojektowane w dłuższej perspektywie. W związku z tym nie można było oczekiwać w najbliższej przyszłości z większą fragmentacją, będzie jeszcze spadać, ponieważ zestaw języki mają wysoki poziom dojrzałości.

Rozmawiałem z potencjałem poza top 10 lub nawet jeszcze poza top 20 są głośne RedMonk Elixir (54-cia), Julia (51), Rdza (46), Swift (17) i script type (31) składające się z różnych powodów, aby być oszacowane. So Elixir, Julia i Rust były w stanie pociągnąć za ich dobrze przemyślanej konstrukcji język uwagi. Objectice C następca Swift również w tym, że stała się ostatnio open source, a Typescript otrzymał wiele windy w społeczności JavaScript, ale również w Microsoft lately zdobywa pewno teraz.(Ane)

Red Hat wydała OpenJDK 8 dla (wśród deweloperów) Windows

OpenJDK 8 dostępny dla Windows

Firmy open-source, ogłosił dostępność oficjalnej wolnej implementacji Java SE for Windows. Grupami docelowymi są programiści, którzy tworzą pracownię dla aplikacji Windows z RHEL middleware JBoss Developer.

OpenJDK jest wolna implementacja Javy SE, która powstała jako odłam JDK. 6 Red Hat wziął czas, aby doprowadzić ten projekt. Oracle jest sponsorem gubernator i szef Java OpenJDK. 8

Na stronie pobierania projektu OpenJDK buduje dla różnych systemów Linux, ale nie dla Windows istnieje. Red Hat wydała kompilację OpenJDK 8 dla systemu Windows. Jednak nie powinny zasadniczo zastąpić normalną JDK, ale jest przeznaczony dla programistów, aplikacje middleware z Red Hat JBoss Developer Studio pod Windows dla RHEL (Red Hat Enterprise Linux) kompilacji. Windows kompilacji OpenJDK 8 jest w pełni kompatybilny z odpowiednimi wydaniach RHEL, tak aby oprogramowanie Java zachowuje się tak samo na obu systemach.

Dalsze szczegóły dotyczące OpenJDK dla Windows dostępne są na stronie projektu, gdzie znajduje się link do instalatora MSI. Informacje na temat warunków brakuje: Nazwa pobrań wskazuje build 64-bitowy. Nawet jeśli witryna zawiera tylko system operacyjny Windows 8, można założyć, że jest również kompatybilny z Windows 7 i Windows 10 tylko ze względu na analogicznym rozprzestrzeniania OpenJDK kompilacji. (RME)

Najważniejsze pytania i odpowiedzi dotyczące realizacji PaaS

treść
  1. Najważniejsze pytania i odpowiedzi dotyczące realizacji PaaS
  2. Vendor lock-in, bezpieczeństwa i sprawiedliwości
  3. Przeczytałem na jednej stronie
Najważniejsze pytania i odpowiedzi dotyczące realizacji PaaS

Korzystanie z chmury jest, oczywiście, dla wielu przedsiębiorstw, ograniczają one stosowanie, ale przede wszystkim w modelu SaaS i IaaS. Zastosowanie PaaS jest tylko powoli nabiera tempa. Ale to, co należy wziąć pod uwagę przed podjęciem decyzji firmy? Ten artykuł zawiera odpowiedzi na pięciu kluczowych pytań przed realizacją PaaS.

Gdzie PaaS przynosi żadnych korzyści?

Jako platforma jako usługa (PaaS) jest w dużej mierze nowe podejście, wiele firm często nie jest jasne, w jaki sposób prace koncepcyjne i jakie korzyści są. PaaS często jest postrzegana jako środowisko programistyczne lub tylko eliminacji zadań administracyjnych wykonywanych. Może być również używany jako podstawę dla zarządzania cyklem życia oprogramowania, jednak - od projektowania do eksploatacji.

Rozwój może także znacznie "zwinny"nerfolgen ponieważ PaaS obsługuje narzędzia różnorodność i technik i scenariuszy wdrażania pozwala na słońce "klasyczny" architektur serwerowych nie są wykonalne. Każdy programista może, na przykład, wypróbować nowe pomysły bezpośrednio w sposób wdrożony w środowisku testowym krótkiego czasu, który dokładnie pasuje do nowszego środowiska produkcyjnego. Z narzędzi do symulacji obciążenia jako Blitz.io i oprogramowania do analizy aplikacji, takich jak programiści New Relic można wstępnie analizują zachowanie aplikacji pod prawie rzeczywistych warunkach i przystosować. Producentów takich jak Cloud9 oferują nawet kompletnym przeglądarki IDE, z którym można rozwijać oprogramowanie bezpośrednio w chmurze. W skrócie: To może być wszystkie powody, które znacznie zwiększają wydajność z PaaS i jakości działu IT.

W związku z ciągłym Deployment wyniki dzieło programistów będą dostarczane użytkownikowi szybciej. Nawet niewielkie zmiany mogą być rozwijane przez PaaS kilka razy dziennie, a deweloperzy zwykle dostarczają nowego kodu poprzez Git lub podobnego Versionskontrollsyteme w PaaS. Do oprogramowania użytkownicy mogą kontynuować pracę bez przerw z aplikacji podczas wdrażania nowych wersjach. Ciągła integracja oprogramowania jak Travis-ci oferuje również możliwość integracji dostawę oprogramowania dla różnych platform chmurowych w procesie CI.

Gdy oprogramowanie roll-out jest zapewnione, że każdy węzeł serwera zapewnia tego samego środowiska wykonawczego, zarówno w rozwoju oraz w systemach produkcyjnych. W ten sposób unika brakujących składników i konfliktów wersji. Aktualizacje składników lub zastosowanie nowych języków programowania można wiarygodnie izolowane systemy pomostowe przed dostarczeniem do testu pracy na żywo.

Aplikacje PaaS może być skalowane w locie w krótkim czasie. Operatorzy aplikacji gwarantuje jako końcowemu użytkownikowi spójny wysokiej wydajności. dostawców SaaS w skali, na przykład, w czasie normalnych godzin pracy i z powrotem w dół ponownie później, gdy większość użytkowników jest w dzień roboczy. W grach internetowych i aplikacji społecznościowych, okazuje się na odwrót: jest to maksymalna wartość w godzinach wieczornych.

Dla dużych firm, które prowadzą własne centra danych, prywatny PaaS może być interesująca. Zapewnia, że ​​zastrzeżonych zasobów obliczeniowych oraz istniejących aktywów bardziej efektywnie. Dzięki samoobsługowych zasobów rezerw według jednego przycisku może zostać udostępniona. Pozwala to na bardziej wydajne i bardziej sprawnych procesów rozwojowych, skracając cykle innowacji.

Poprzez wykorzystanie PaaS, IT może szybko przystosować się do zmieniających się wymagań -
być hamowane bez wąskich gardeł zasobów. Zwłaszcza w wysoce dynamiczne rynki, takie jak rynek konsumencki lub telekomunikacyjnej, koszt i czas oszczędności związane stanowią ważkie przewagi konkurencyjnej przedsiębiorstw.

Jednak PaaS nie jest zaletą, gdy aplikacje bardzo statyczne w naturze lub gdy dostosowanie do PaaS oznacza nieproporcjonalnego wysiłku. Przykładami są mniejsze aplikacje CMS, istniejące standardowe oprogramowanie lub stare starsze oprogramowanie bez warstwy abstrakcji.

Jakie aplikacje działają w chmurze, które nie są?

Większość aplikacji mogą być uruchamiane w środowiskach PaaS. Java, Ruby, Python, PHP i .NET, istnieje wielu dostawców PaaS - niektórzy specjalizują się w języku, który inni oferują wsparcie dla wielu języków.

Wiele z tych ram są ustawione tak, że pracują optymalnie z PaaS. Są to ramy, które są wyposażone w automatyczną konfigurację lub oferują wsparcie magazynów blokowych. Łatwo rozmieszczenia na ram PaaS, na przykład, szyny, Symfony i wiosną.

W nowoczesnych zastosowań cloud API może być skonfigurowany do scentralizowanego przechowywania danych - w ten sposób są one kompatybilne PaaS w większości przypadków. niech starszych aplikacji
Funkcje te zwykle instalowane. Dostosowań PaaS myśli głównie optymalizacje, które są korzystne dla wydajności, niezawodności i poziomego skalowania, jako dostawcy PaaS ich platformy z orientacją na "Najlepsze praktyki" zostały zaprojektowane.

Wdrażanie procedur auto-konfiguracja nie jest obowiązkowe, ale jest zdecydowanie zalecane. Zazwyczaj ustawiony dostawcę PaaS żadnych parametrów konfiguracyjnych aplikacji za pośrednictwem pliku lub zmiennych środowiskowych że aplikacja może używać do konfiguracji. Zatem, błędów ludzkich może być. Jednocześnie, zapobiega, na przykład aplikacji w środowisku testowym przypadkowo z bazy produkcyjnej "mówi",

Aby ułatwić przenoszenie aplikacji, które zapewniają dostawcom PaaS informacji potrzebnych do zastosowania korekt w postaci dokumentacji i materiałów szkoleniowych. Alternatywnie, można wyciągnąć na know-how konsultantów w chmurze, aby odpowiednio reprezentowania złożonych systemów informatycznych na PaaS.

Jednak nie wszystkie techniki są obrazowane na PaaS. Serwer poczty nie może pracować, na przykład, w pracy z systemami IP przypisanych dynamicznie PaaS. Dostarczanie poczty elektronicznej jest zatem obsługiwane przez osoby trzecie. Strumieniowe aplikacji, które pracują z dala od standardów HTTP, które utrudniały również do przesyłania swoich danych za pośrednictwem strony internetowej zoptymalizowanej routingu zwierzęcia oraz wszelkie skrytek internetowych.

Web Development: zespół Mono planuje wdrożenie do webassembly

Web Development: Projekt Mono planuje wdrożyć do webassembly

Zespół odpowiedzialny za wdrażanie open source .NET Framework Microsoft webassembly chce używać jako platformy docelowej. Obecnie eksperymentuje z dwóch różnych podejść: statyczną i kompilację kodu zarządzanego.

Projekt Mono ma przyjść poprzez montaż internetowej dla aplikacji internetowych do wykorzystania w przyszłości. Obecnie realizacja jest we wczesnej fazie poszukiwawczej. Według raportu na stronie Mono pierwsze eksperymenty są bardzo obiecujące.

stosowane są dwa różne prototypy. Pierwszy opiera się na pełnej kompilacji statycznej. Stwarza to wielki aplikacji, która zawiera zarówno czas pracy mono-C i związane bibliotek klas, jak również skompilowany program. Drugie podejście przekłada się tylko na czas pracy mono, który następnie wykonuje programy twórców jak kodzie zarządzanym. Drugie podejście zmniejsza rozmiar pobierania, ale nie osiąga pełnej wydajności skompilowanego projektu.

Oba podejścia obecnie nadal korzystać z pełnego profilu pulpitu dla Mono. W następnym kroku, zespół chce zoptymalizować profil na stronie internetowej lub aplikacji mobilnych i usuwania niepotrzebnych funkcji. Ponadto, twórcy chcą zoptymalizować komfort dla programistów. W tym celu, tłumacza lub kompilator JIT w przeglądarce jest niezależne od ostatecznej metodologii użytej do utworzenia gotowego programu dla procesu rozwoju pożądana, buforowane wersje libmono używany.

Krótka prezentacja webassembly i mono

Webassembly (wasm) jest podejście do programowania przeglądarki po stronie klienta. Projekt, który opuścił początku fazy podglądu przeglądarki, korzysta z formatu binarnego. To nie powinno zastąpić JavaScript, ale komplementarne, a co najważniejsze stosowane tam, gdzie wymagana jest wysoka wydajność. Zasadniczo podejście formacie binarnym nie jest nowa: ActiveX i Java są jednymi z najbardziej znanych przedstawicieli. Java nie powiodło się w przeglądarce, jak Adobe Flash, zwłaszcza w licznych luk, ActiveX Microsoft już na sam. Na webassembly W3C Grupa Społeczność pracownicy z głównych dostawców przeglądarce prace należą.

Mono jest implementacją open source Microsoft .NET Framework, która jest oparta na specyfikacji ECMA dla C # i Common Language Infrastructure. Przynosi ramy dla różnych platform, zwłaszcza MacOS, Linux i Windows. W maju, piąty główną wersji. Microsoft jest sponsorem projektu.(RME)

Java EE 8 oficjalnie wydany

Java EE 8 oficjalnie wydany

W cieniu kręgu 9 Java, Oracle uaktualnił wersję Enterprise. Technicznie, jest daleki od pierwotnych oczekiwań. Ekscytujące jest obecnie również przyszłość platformy jako projekt open source.

Ze znacznie mniejszą liczbą kręgów niż Java 9 Oracle wreszcie wydany Java EE 8, po tym jak firma przeniosła się także wydanie wersji Enterprise kilka razy. Już w grudniu 2016 roku było jasne, jakie funkcje będzie częścią platformy. Tak było też jasne, że wiele modułów nie czynią go do ósmej wersji Java dla przedsiębiorstw.

Nowe i zaktualizowane API

Kluczowe nowe funkcje Java Servlet 4.0 API, po raz pierwszy zapewnia wsparcie HTTP / 2, a dedykowany Bezpieczeństwo API należy. JSON-B (JSON Binding) dostaje swoją własną API i API Java dla JSON-P jest w wersji 1.1 komponent platformy. Liczne inne API otrzymali ważne dodatki do pewnego stopnia, w tym kontekście i Dependency Injection (CDI) o skoku do wersji 2.0.

Inne zaktualizowane pakiety są JavaServer Faces (JSF) 2,3 Bean Validation 2.0, Java API REST Web Services (JAX-RS) 2,1, Java Persistence 2.2, Java API dla websocket 1.1 i Java poczta 1.6. Chociaż Java EE 8 pojawia się równolegle do Javy 9, najpierw rozwiązuje pewne rozszerzenia, które nie zostały uwzględnione w wersji 8 Standard Edition w poprzednim platformy Java EE. Warto wspomnieć tu strumienie i API-data i czas.

Przyszłe plany Fundacji Eclipse

Java 2017

Szczegółowe informacje na temat Java EE, Java 8 9 i aktualnej sytuacji w środowisku Java jest dostępna w iX Developer Special Edition, który jest dostępny między innymi w sklepie H.

Oczekuje się Java EE 8 będzie ostatnią wersją platformy w ramach obecnego modelu licencji i nazwy. Oracle ogłosił plany w sierpniu do przeniesienia Java EE społeczności open source. W połowie września, firma określiła plany i ogłosił, między innymi, że platforma ma wylądować pod patronatem Fundacji Eclipse. Istotne jest to, że Fundacja nie tylko kontrolę nad specyfikacjami, ale także o wdrożeń referencyjnych (RI), technologia Compatibility Kit (TCK) i przejęcia dokumentacji projektowej z przewodnikiem technologii Oracle Java EE i GlassFish powinno.

Szczegóły na temat nowych funkcji w Java EE 8 można pobrać z witryny projektu. Istnieje dokumentacja API, tutorial i SDK połączony do pobrania.

Zobacz heise Developer:

  • Oracle chce przenieść Java EE do społeczności open source
  • Analiza: Oracle wydaje się obrócić ziemię w Java EE w ostatniej chwili
  • Java EE w kierunku Open Source: Szanse i Zagrożenia
  • Java EE 8 zajmuje ostatnią przeszkodę przed premierą
  • Java EE jest wylądować pod patronatem Fundacji Eclipse
(RME)

Rój: Java EE Micro Usługi z JBoss Application Server

Ostatnio, pierwsza alfa nowego JBoss Application Server Sidecar Swarm jest dostępna. Należy zatem pakowania tyle serwera aplikacji wraz z aktualnym zastosowaniem, ile potrzeba do uzyskania wykonywalny archiwum Java. to "Jeden wniosek jar"- lub "tłuszcz jar"Koncepcja jest często postrzegany jako właściwym podejściem dla mikro Usługi architektur.

Obecnie, wiadomości z obszaru Java EE gromadzić. Oprócz najnowszej wersji Release Candidate z JBoss Application Server-9 Application Server tzw konserwacja została przygotowana w tym Java EE 7 uwalniania (MR). I Java EE 8 JSR oficjalnie dostępny przez jakiś czas. Niemniej jednak, ta wiadomość utykać od klasycznej Java EE stosie za obecną sytuację. słowa "pojemnik" lub "Micro Usługi" jeden patrzy na próżno w specyfikacji. Przynajmniej dla tworzonego na podstawie aplikacji JBoss Application Server, luka ta zamyka się trochę.

JBoss Application Server Swarm: Micro Services wykonywalne

roje "Jeden wniosek jar"- lub "tłuszcz jar"Koncepcja jest uważany przez niektórych za właściwe podejście do Micro Services architektur. Bez niego chce filozofować teraz, jest to dość ekscytujące, aby coś po prostu patrzeć na tego nowego wydania. W poniższym przykładzie, chcę podkreślić, że to jest po prostu przykładem techniki i nie stanowią jedyną właściwą drogę dla Micro Services.

Biorąc pod uwagę prostą Maven opartych na Java EE 7 aplikacji WWW. W pom.xml jawi się jako jedyna funkcja:


javax
Java EE web-api
7.0
pod warunkiem

Jest zbudowany plik WAR 6-kB. rój / RS / 8080 klient / do prostego wyjścia JSON: działa na JBoss Application Server, prowadząc rozmowy na http: // localhost:

{
"Imię": "Markus",
"lastName": "Eisele",
"ulica": "Werner-von-Siemens-Ring 14",
"miasto": "Grasbrunn",
"pcode": "85630",
"phoneNumbers": [
{
"gatunek": "przenośny",
"liczba": "111-111-1111"
}
{
"gatunek": "dom",
"liczba": "222-222-2222"
}
]
}

O ile to wszystko nie jest ekscytujące. Aby to prosta aplikacja jest archiwum wykonywalnego samodzielny, teraz Swarm wchodzi w grę. W tym celu, nowy plug-in musi być łatwo dodana do projektu właśnie utworzony:


org.wildfly.swarm
JBoss Application Server-rój-plugin
$ {Version.wildfly-rój}


pakiet

tworzyć



Numer wersji, to najlepiej pom.xml poprzez Nieruchomości w Maven. Obecnie Swarm jest dostępny jako 1.0.0.Alpha1. Małe ostrzeżenie zostało wypowiedziane tutaj dla użytkowników systemu Windows. Tylko ta wersja nie działa na Windows. Ostatnio mistrz zawiera poprawkę, ale już i kto buduje sobie szybko i wykorzystywane lokalnie do 1.0.0.Alpha2-SNAPSHOT Swarm można obserwować wynik na Windows.

Ale plug-in nie robi sam całą pracę. Z zależności (zależności) funkcji Java EE wykorzystywane są nadal dodać. Dla małej próbki to tylko funkcja JAX-RS:


org.wildfly.swarm
JBoss Application Server-rój-jaxrs
$ {Version.wildfly-rój}
pod warunkiem

Następnie projekt może być budowane poprzez pakiet mvn. Oprócz oczekiwanego rezultatu, plik rój-sample-1,0-SNAPSHOT.war jest teraz znacznie większy rój-sample-1,0-SNAPSHOT-swarm.jar wylądował w docelowym / katalogu. Teraz ma około 30 MB.

przetestować JAR tłuszczu

rzeczywiście pozostaje tylko uruchomienie i testowanie nie tak małym słoiku:

Java jar rój-1,0-obrazy stanu swarm.jar

Wyjście jest wskazanie różnych wersjach podsystemów stosowanych. Teraz nawet test:

C: \>curl -v http: // localhost: 8080 / R / klienta
* Połączenie z localhost (:: 1) Port 8080 (# 0)
> GET / RS / HTTP klient / 1.1
> User-Agent: curl / 7.30.0
> Host: localhost: 8080
> Accept: * / *
>
< HTTP / 1.1 200 OK
< Connection: keep-alive
< Content-Type: application / json
< Content-Length: 221
< Data: piątek, 08 maja 2015 07:59:00 GMT
<
{"Imię":"Markus","lastName":"Eisele","ulica":
"Werner-von-Siemens-Ring 14","miasto":"Grasbrunn",
"pcode":"85630","phoneNumbers
"[{"gatunek":"przenośny","liczba":"111-111-1111"}
{"gatunek":"dom","liczba":"222-222-2222"}]} * # 0 do połączenia
localhost pozostaje nienaruszona

Kto jeszcze chce użyć innych specyfikacji, znajdzie więcej szczegółów na blogu roju. Aktualnie aplet, JAX-RS shrinkwrap, DataSource poprzez wdrożenia, wiadomości i kilka innych są obsługiwane.

pożądane jest potwierdzenie i współpracy. Każdy, kto chce znaleźć wszystkie informacje na temat @ WildFlySwarm-Twittera uchwytem. W przypadku pominięcia funkcji lub znajdzie błędy, mogą bezpośrednio uczestniczyć w projekcie GitHub.

Przegląd alternatyw Java do zastosowań przemysłowych

treść
  1. Przegląd alternatyw Java do zastosowań przemysłowych
  2. Scala
  3. Fantom
  4. Kotlin
  5. Ceylon
  6. wniosek
  7. Przeczytałem na jednej stronie
Przegląd alternatyw Java do zastosowań przemysłowych

Długa została przeniesiona do świata niewiele Java. W marcu 2014 roku, zamknięcia Java są 8 wreszcie opuścić ponownie zapłacić świeży powiew. Ale nawet osiem lat i tylko nowo rozgorzał klęska modularyzacja Java Jigsaw pokazuje, jak trudne twórcy mogą spaść kolejne innowacje w przyszłości. Ale jest nadzieja. Języki alternatywą dla JVM obiecują nowe paradygmaty programowania, kod bardziej zwięzłe i większą elastyczność.

Do zastosowań przemysłowych, szczególnie tych, którzy reprezentują pojawiające się na horyzoncie statycznej i ściśle wpisywanych języków programowania są interesujące. Ich egzaminy w czasie projektowania i gwarancje w czasie wykonywania skomplikowanych środowiskach są większe zabezpieczenie, a tym samym uczynić je bezpośrednich konkurentów dla Java. Czas na przegląd głównych kandydatów.

W związku z nowym programowaniem problemem jest często cytowany jako pierwsze: "programowanie funkcyjne", Programowanie czysto funkcjonalny jest dość egzotyczny, a także zupełnie obcy dla wielu twórców. Generalnie zatem więcej języków multi-paradigmische oznaczało, że łączą między innymi elementami programowania funkcyjnego w sobie.

Ale za co? Funkcjonalne narzędzia językowe umożliwiają znacznie bardziej wydajne programowanie w pewnych okolicznościach. I Java 8 wykonuje się Zamknięcia ważnym elementem funkcjonalnym. Poniższy przykład ilustruje różnicę na podstawie sortowania listy:

// "klasyczny" Sortować listy za pomocą komparatora
Collections.sort (listOfCars nowa komparatora () {
public int Porównaj (c1 samochodów, c2 samochodów) {
powrotu p1.maker.compareTo (p2.maker);
}
});

Z zamknięć w Java 8, zadanie można rozwiązać, jednak nierówny zwięzły:

// Sortowanie listy za pomocą wyrażenia lambda
listOfCars.sort ((C1, C2) -> c1.maker.compareTo (c2.maker));

Przede wszystkim: Wszystkie z prezentowanych języków są funkcjonalne, skupiając się jasno na temat możliwości w Java 8 środków. Ostatecznie jednak różnice są w szczegółach, tak, że szczegółowa analiza indywidualna ofiara.

Tomee z nowych funkcji i poprawek

Pod kierownictwem firmy David Blevins' Tomitribe nowa wersja 1.7 Java Enterprise Edition Apache Tomcat został opublikowany kilka dni temu.

Pierwszy ogłosił w październiku 2011 wersja Tomcat Tomee (wymawiane: "Tommy") Uzupełnia serwer WWW i kontener serwletów do funkcji Java Enterprise Edition (Java EE). Główny deweloper David Blevins wydała najnowszą wersję 1.7. Oprócz poprawek błędów w setki nowych funkcji numerycznych i zostały dostarczone. Więc Tomee 1.7.x jest teraz działa także na Java SE 8

ale bardziej interesujące jest wprowadzenie nowego profilu o nazwie pióropusz. To jest wciąż w fazie eksperymentalnej i obejmuje dystrybucję Tomee plus z Mojarra jako implementacji JSF (Java Server Faces) i EclipseLink jako dostawcę JPA (Java Persistence API). Oczywiście, społeczność Apache chce ułatwić wcześniejsze GlassFish klientów, aby przełączyć się Tomee.

Rozkład można pobrać ze stron Tomee lub zintegrowany bezpośrednio poprzez Maven (Java EE API, OpenEJB i Tomee):


org.apache.openejb
JavaEE api
6.0-6
pod warunkiem

org.apache.openejb
OpenEJB rdzeń
4.7.0

org.apache.openejb
Tomee
1.7.0

Tutaj wersja 1.7 jest nadal certyfikowane tylko dla starszych Java EE 6 Web Profile. Dlatego zapowiedź nie dziwi na stronie internetowej, że wszystkie działania są konsekwentnie zorientowanej do nowej wersji 2.0.x od teraz. Cel ten powinien na podstawie Tomcat 8 do certyfikacji Java EE 7. Certyfikat internetowy profil zebrane w przeciwieństwie do tylko pełnej profilach technik stosowanych w typowej aplikacji internetowych Java używany. (Markus Eisele) /(Ane)

ASP.NET vNext: Od MVC, Web API i stron sieci Web MVC 6

Ramy, Web API i stron internetowych ASP.NET MVC są ujednolicone i połączone w ASP.NET MVC. 6 Tutaj pojawiają się zasadnicze zmiany.

W Ameryce TechEdNorth w Houston, Microsoft ogłosił, że następna wersja ASP.NET, która jest obecnie nazywany ASP.NET vNext że jednoczy Ramki wstęgi ASP.NET MVC, ASP.NET Web API i ASP.NET Web Pages dając im wspólny model programowania. Wiadomo było również, że te ramy są połączone z wersji 6 ASP.NET MVC.

Ta nowa wersja jest oddzielona od hotelu Internet Information Server (IIS), a zatem mogą być uruchamiane w różnych serwerach. Na przykład, inżynierowie Microsoft Scott Hunter i Scott Hanselman pokazał w wykładzie, że tak opracowane, aby aplikacje internetowe mogą być uruchamiane na komputerze Mac Mono dzięki wolnej implementacji .NET. Mono założyciel Miguel de Icaza był również wcześniej informowaliśmy wsparcie dla systemu Linux. Przez oddzielenie IIS 6 aplikacji MVC może być również uruchomiony w oddzielnym procesie.

Jednak to oddzielenie przynosi również pewne fundamentalne zmiany. Na przykład, z nowym projektem i konfiguracji systemu i połączenie koncepcji analogowych w ASP.NET MVC i ASP.NET Web API wymienione. Ponadto, pojedynczy mechanizm wtrysku zależność jest wprowadzony. Z tego powodu, Microsoft zapewnił, że ASP.NET vNext będzie również wspierać bieżące najnowsze wersje MVC, Web API, stron internetowych i ASP.NET Web Forms nawet swoją obecną formę, oprócz MVC. 6

Poza MVC SignalR pojawi się z ASP.NET vNext w nowej wersji. Te dwie ramy są również obsługiwane przez zoptymalizowany dla wariantu aplikacje serwerowe .NET wraz z nadchodzącej wersji 7 O / R odwzorowujący Entity Framework. (Manfred Steyer) /(Ane)

Uczenie maszynowe: Microsoft Project dzieli się na Oxford

Microsoft akcja Projektu na Oxford

Funkcje usługi w chmurze, takich jak analizy obrazu i rozumienia języka naturalnego są dostępne w przyszłości jako oddzielne moduły. Istnieją również inne usługi, takie jak Bing Search API.

Na wiosnę 2015 Microsoft Project Oxford opublikował jako zbiór usług w chmurze, które korzystają z uczenia maszynowego dla różnych funkcji analitycznych. Deweloperzy połączyć swoje oprogramowanie SDK specyficzne dla platformy z ofertą w chmurze, odpowiedni REST API zapewnia. W ciągu roku, w tym usługi dla rozumienia języka naturalnego oraz dodatek do rozpoznawania emocji na twarzach przyszedł.

Bing na pokładzie

Teraz Microsoft podzielił projekt na poszczególnych modułów, a link do starej strony prowadzi do nowych usług, "poznawcze Usługi" gorąco. Spojrzenie na uprzednio angielsko-tylko lista pokazuje więcej niż w poprzednich usług: Wiele API Bing są również częścią kolekcji.

API są podzielone na następujące główne kategorie:

SDK dla różnych platform i języków

Na stronie SDK znajdziemy liczne przykłady twórców i bibliotek platformy specyficzne dla różnych języków, takich jak JavaScript, C #, Java, Objective-C i Python. Przykładem jest poświęcony Raspberry Pi, który korzysta z API rozpoznawania twarzy i rozpoznawanych ludzi otwiera drzwi.

MicrosoftW praktycznym zastosowaniu w domu otwór w chmurze poprzez drzwi rozpoznawania twarzy będzie bardziej prawdopodobne dyskomfortu produkcji. Jednakże, jako przykład, jest ekscytujący projekt.(Zdjęcie: Microsoft)

SDK i przykłady są na licencji MIT na GitHub. Dla usług w chmurze Microsoft ma po raz pierwszy utworzenia cennika, który oferuje obecnie wymienia ale tylko w dolarach amerykańskich.(RME)