reklama - zainteresowany?

C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework - Helion

C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework
ebook
Autor: Ian Griffiths
Tytuł oryginału: Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework
TÅ‚umaczenie: Piotr Rajca
ISBN: 978-83-246-6987-5
stron: 840, Format: ebook
Data wydania: 2013-10-08
Księgarnia: Helion

Cena książki: 64,50 zł (poprzednio: 129,00 zł)
Oszczędzasz: 50% (-64,50 zł)

Dodaj do koszyka C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework

Tagi: C# - Programowanie | programowanie-kupon | XAML - Programowanie

Najlepszy podręcznik poświęcony C#!

W dzisiejszych czasach szczególnÄ… popularnoÅ›ciÄ… cieszÄ… siÄ™ jÄ™zyki programowania pozwalajÄ…ce na pisanie kodu Å‚atwego do przenoszenia miÄ™dzy platformami. Nikt nie ma czasu na pisanie kilku wersji jednej aplikacji. C# to uniwersalny jÄ™zyk, w którym bez trudu dokonasz tego dzieÅ‚a. DziÄ™ki swej elastycznoÅ›ci, wydajnoÅ›ci oraz mocnemu wsparciu spoÅ‚ecznoÅ›ci zdobyÅ‚ on uznanie programistów. Taki wybór to strzaÅ‚ w dziesiÄ…tkÄ™!

Ten rewelacyjny podrÄ™cznik jest Twoim kluczem do poznania wszystkich niuansów jÄ™zyka C# 5.0. Kolejne wydanie zostaÅ‚o zaktualizowane o wszystkie nowoÅ›ci w C#. Znajdziesz tu kompletny opis jÄ™zyka i platformy .NET. W trakcie lektury oprócz standardowych zagadnieÅ„ bÄ™dziesz mógÅ‚ sprawdzić, jak tworzyć aplikacje dla systemu Windows 8 i interfejsu Metro. Ponadto bÅ‚yskawicznie opanujesz detale zwiÄ…zane z programowaniem obiektowym, dynamicznym i statycznym okreÅ›laniem typów oraz jÄ™zykiem XAML. Książka ta jest uznanym kompendium wiedzy na temat jÄ™zyka C#. Musisz jÄ… mieć!

Dzięki tej książce:

  • przygotujesz interfejs użytkownika zgodny z duchem Windows 8
  • wykorzystasz wielowÄ…tkowość w platformie .NET
  • poznasz podstawy programowania obiektowego
  • przekonasz siÄ™, jak LINQ może uÅ‚atwić Ci życie
  • opanujesz jÄ™zyk C#

Wykorzystaj potencjał języka C#!

 


 

 


Dodaj do koszyka C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework

 

Osoby które kupowały "C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework", wybierały także:

  • JÄ™zyk C. Kurs video. Praktyczne wprowadzenie do programowania
  • Wzorce projektowe dla programistów C#. Kurs video
  • C# 9.0 w piguÅ‚ce
  • Gray Hat C#. JÄ™zyk C# w kontroli i Å‚amaniu zabezpieczeÅ„
  • ASP.NET Core 6. Kurs video. Rozwijaj aplikacje webowe z Entity Framework Core

Dodaj do koszyka C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework

Spis treści

C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework eBook -- spis treści

Wstęp (17)

1. Prezentacja C# (21)

  • Dlaczego C#? (21)
  • Dlaczego nie C#? (23)
  • Najważniejsze cechy C# (25)
    • Kod zarzÄ…dzany i CLR (27)
    • Ogólność jest ważniejsza od specjalizacji (29)
    • Programowanie asynchroniczne (30)
  • Visual Studio (31)
  • Anatomia prostego programu (33)
    • Dodawanie projektów do istniejÄ…cej solucji (35)
    • OdwoÅ‚ania do innych projektów (35)
    • Pisanie testu jednostkowego (37)
    • Przestrzenie nazw (40)
    • Klasy (44)
    • Punkt wejÅ›cia do programu (44)
    • Testy jednostkowe (45)
  • Podsumowanie (47)

2. Podstawy stosowania języka C# (49)

  • Zmienne lokalne (50)
    • Zakres (55)
  • Instrukcje i wyrażenia (58)
    • Instrukcje (59)
    • Wyrażenia (60)
  • Komentarze i biaÅ‚e znaki (65)
  • Dyrektywy preprocesora (67)
    • Symbole kompilacji (67)
    • Dyrektywy #error oraz #warning (68)
    • Dyrektywa #line (69)
    • Dyrektywa #pragma (69)
    • Dyrektywy #region i #endregion (70)
  • Wbudowane typy danych (70)
    • Typy liczbowe (71)
    • WartoÅ›ci logiczne (80)
    • Znaki i Å‚aÅ„cuchy znaków (80)
    • Object (81)
  • Operatory (81)
  • Sterowanie przepÅ‚ywem (87)
    • Decyzje logiczne przy użyciu instrukcji if (87)
    • Wielokrotny wybór przy użyciu instrukcji switch (89)
    • PÄ™tle: while oraz do (91)
    • PÄ™tle znane z jÄ™zyka C (92)
    • PrzeglÄ…danie kolekcji przy użyciu pÄ™tli foreach (93)
  • Podsumowanie (94)

3. Typy (95)

  • Klasy (95)
    • SkÅ‚adowe statyczne (98)
    • Klasy statyczne (100)
    • Typy referencyjne (101)
  • Struktury (106)
    • Kiedy tworzyć typy wartoÅ›ciowe? (110)
  • SkÅ‚adowe (115)
    • Pola (115)
    • Konstruktory (117)
    • Metody (125)
    • WÅ‚aÅ›ciwoÅ›ci (130)
    • Indeksatory (134)
    • Operatory (135)
    • Zdarzenia (138)
    • Typy zagnieżdżone (138)
  • Interfejsy (140)
  • Typy wyliczeniowe (141)
  • Inne typy (144)
    • Typy anonimowe (145)
  • Typy i metody częściowe (146)
  • Podsumowanie (147)

4. Typy ogólne (149)

  • Typy ogólne (150)
  • Ograniczenia (152)
    • Ograniczenia typu (153)
    • Ograniczenia typu referencyjnego (155)
    • Ograniczenia typu wartoÅ›ciowego (157)
    • Stosowanie wielu ograniczeÅ„ (158)
  • WartoÅ›ci przypominajÄ…ce zero (158)
  • Metody ogólne (160)
    • Wnioskowanie typu (160)
  • Tajniki typów ogólnych (161)
  • Podsumowanie (163)

5. Kolekcje (165)

  • Tablice (165)
    • Inicjalizacja tablic (168)
    • Użycie sÅ‚owa kluczowego params do przekazywania zmiennej liczby argumentów (169)
    • Przeszukiwanie i sortowanie (171)
    • Tablice wielowymiarowe (178)
    • Kopiowanie i zmiana wielkoÅ›ci (181)
  • List (182)
  • Interfejsy list i sekwencji (185)
  • Implementacja list i sekwencji (189)
    • Iteratory (190)
    • Klasa Collection (194)
    • Klasa ReadOnlyCollection (195)
  • SÅ‚owniki (196)
    • SÅ‚owniki posortowane (198)
  • Zbiory (200)
  • Kolejki i stosy (201)
  • Listy poÅ‚Ä…czone (202)
  • Kolekcje wspóÅ‚bieżne (203)
  • Krotki (204)
  • Podsumowanie (205)

6. Dziedziczenie (207)

  • Dziedziczenie i konwersje (208)
  • Dziedziczenie interfejsów (210)
  • Typy ogólne (211)
    • Kowariancja i kontrawariancja (212)
  • System.Object (217)
    • Wszechobecne metody typu object (217)
  • DostÄ™pność i dziedziczenie (218)
  • Metody wirtualne (220)
    • Metody abstrakcyjne (222)
  • Metody i klasy ostateczne (228)
  • DostÄ™p do skÅ‚adowych klas bazowych (229)
  • Dziedziczenie i tworzenie obiektów (230)
  • Specjalne typy bazowe (234)
  • Podsumowanie (235)

7. Cykl życia obiektów (237)

  • Mechanizm odzyskiwania pamiÄ™ci (238)
    • OkreÅ›lanie osiÄ…galnoÅ›ci danych (239)
    • Przypadkowe problemy mechanizmu odzyskiwania pamiÄ™ci (242)
    • SÅ‚abe referencje (244)
    • Odzyskiwanie pamiÄ™ci (248)
    • Tryby odzyskiwania pamiÄ™ci (254)
    • Przypadkowe utrudnianie scalania (256)
    • Wymuszanie odzyskiwania pamiÄ™ci (260)
  • Destruktory i finalizacja (261)
    • Finalizatory krytyczne (264)
  • Interfejs IDisposable (265)
    • Zwalnianie opcjonalne (271)
  • Pakowanie (272)
    • Pakowanie danych typu Nullable (276)
  • Podsumowanie (277)

8. WyjÄ…tki (279)

  • ŹródÅ‚a wyjÄ…tków (281)
    • WyjÄ…tki zgÅ‚aszane przez API (282)
    • WyjÄ…tki w naszym kodzie (284)
    • BÅ‚Ä™dy wykrywane przez Å›rodowisko uruchomieniowe (284)
  • ObsÅ‚uga wyjÄ…tków (285)
    • Obiekty wyjÄ…tków (286)
    • Wiele bloków catch (287)
    • Zagnieżdżone bloki try (289)
    • Bloki finally (290)
  • ZgÅ‚aszanie wyjÄ…tków (292)
    • Powtórne zgÅ‚aszanie wyjÄ…tków (292)
    • Sposób na szybkie zakoÅ„czenie aplikacji (295)
  • Typy wyjÄ…tków (296)
    • WyjÄ…tki niestandardowe (298)
  • WyjÄ…tki nieobsÅ‚ugiwane (301)
    • Debugowanie i wyjÄ…tki (303)
  • WyjÄ…tki asynchroniczne (305)
  • Podsumowanie (308)

9. Delegaty, wyrażenia lambda i zdarzenia (309)

  • Typy delegatów (310)
    • Tworzenie delegatów (311)
    • MulticastDelegate - delegaty zbiorowe (314)
    • WywoÅ‚ywanie delegatów (316)
    • Popularne typy delegatów (318)
    • Zgodność typów (319)
    • WiÄ™cej niż skÅ‚adnia (323)
  • Metody inline (326)
    • Przechwytywane zmienne (328)
    • Wyrażenia lambda oraz drzewa wyrażeÅ„ (335)
  • Zdarzenia (336)
    • Standardowy wzorzec delegatów zdarzeÅ„ (338)
    • Niestandardowe metody dodajÄ…ce i usuwajÄ…ce zdarzenia (339)
    • Zdarzenia i mechanizm odzyskiwania pamiÄ™ci (342)
    • Zdarzenia a delegaty (344)
  • Delegaty a interfejsy (345)
  • Podsumowanie (345)

10. LINQ (347)

  • Wyrażenia zapytaÅ„ (348)
    • Jak sÄ… rozwijane wyrażenia zapytaÅ„ (351)
    • ObsÅ‚uga wyrażeÅ„ zapytaÅ„ (353)
  • Przetwarzanie opóźnione (357)
  • LINQ, typy ogólne oraz interfejs IQueryable (359)
  • Standardowe operatory LINQ (361)
    • Filtrowanie (364)
    • Selekcja (366)
    • Operator SelectMany (369)
    • OkreÅ›lanie porzÄ…dku (371)
    • Testy zawierania (373)
    • Konkretne elementy i podzakresy (375)
    • Agregacja (379)
    • Operacje na zbiorach (384)
    • Operatory dziaÅ‚ajÄ…ce na caÅ‚ych sekwencjach z zachowaniem kolejnoÅ›ci (384)
    • Grupowanie (386)
    • ZÅ‚Ä…czenia (390)
    • Konwersje (392)
  • Generowanie sekwencji (396)
  • Inne implementacje LINQ (397)
    • Entity Framework (397)
    • LINQ to SQL (398)
    • Klient WCF Data Services (398)
    • Parallel LINQ (PLINQ) (399)
    • LINQ to XML (399)
    • Reactive Extensions (399)
  • Podsumowanie (400)

11. Reactive Extensions (401)

  • Rx oraz różne wersje .NET Framework (403)
  • Podstawowe interfejsy (405)
    • Interfejs IObserver (406)
    • Interfejs IObservable (407)
  • Publikowanie i subskrypcja z wykorzystaniem delegatów (413)
    • Tworzenie źródÅ‚a przy wykorzystaniu delegatów (413)
    • Subskrybowanie obserwowalnych źródeÅ‚ przy użyciu delegatów (417)
  • Generator sekwencji (418)
    • Empty (418)
    • Never (418)
    • Return (419)
    • Throw (419)
    • Range (419)
    • Repeat (419)
    • Generate (420)
  • Zapytania LINQ (421)
    • Operatory grupowania (423)
    • Operatory Join (424)
    • Operator SelectMany (429)
    • Agregacja oraz inne operatory zwracajÄ…ce jednÄ… wartość (430)
    • Operator Concat (431)
  • Operatory biblioteki Rx (431)
    • Merge (432)
    • Operatory Buffer i Window (433)
    • Operator Scan (440)
    • Operator Amb (441)
    • DistinctUntilChanged (442)
  • Mechanizmy szeregujÄ…ce (442)
    • OkreÅ›lanie mechanizmów szeregujÄ…cych (443)
    • Wbudowane mechanizmy szeregujÄ…ce (445)
  • Tematy (447)
    • Subject (447)
    • BehaviorSubject (448)
    • ReplaySubject (449)
    • AsyncSubject (449)
  • Dostosowanie (450)
    • IEnumerable (450)
    • Zdarzenia .NET (452)
    • API asynchroniczne (454)
  • Operacje z uzależnieniami czasowymi (456)
    • Interval (456)
    • Timer (457)
    • Timestamp (458)
    • TimeInterval (459)
    • Throttle (459)
    • Sample (460)
    • Timeout (460)
    • Operatory okien czasowych (460)
    • Delay (461)
    • DelaySubscription (461)
  • Podsumowanie (462)

12. Podzespoły (463)

  • Visual Studio i podzespoÅ‚y (463)
  • Anatomia podzespoÅ‚u (464)
    • Metadane .NET (465)
    • Zasoby (465)
    • PodzespoÅ‚y skÅ‚adajÄ…ce siÄ™ z wielu plików (466)
    • Inne możliwoÅ›ci formatu PE (467)
  • Tożsamość typu (468)
  • Wczytywanie podzespoÅ‚ów (471)
    • Jawne wczytywanie podzespoÅ‚ów (473)
    • Global Assembly Cache (474)
  • Nazwy podzespoÅ‚ów (476)
    • Silne nazwy (476)
    • Numer wersji (480)
    • Identyfikator kulturowy (484)
    • Architektura procesora (487)
  • PrzenoÅ›ne biblioteki klas (488)
  • Wdrażanie pakietów (490)
    • Aplikacje dla systemu Windows 8 (490)
    • ClickOnce oraz XBAP (491)
    • Aplikacje Silverlight oraz Windows Phone (492)
  • Zabezpieczenia (493)
  • Podsumowanie (494)

13. Odzwierciedlanie (495)

  • Typy odzwierciedlania (495)
    • Assembly (498)
    • Module (502)
    • MemberInfo (503)
    • Type oraz TypeInfo (506)
    • MethodBase, ConstructorInfo oraz MethodInfo (510)
    • ParameterInfo (512)
    • FieldInfo (513)
    • PropertyInfo (513)
    • EventInfo (514)
  • Konteksty odzwierciedlania (514)
  • Podsumowanie (516)

14. Dynamiczne okreÅ›lanie typów (517)

  • Typ dynamic (519)
  • SÅ‚owo kluczowe dynamic i mechanizmy wspóÅ‚dziaÅ‚ania (521)
    • Silverlight i obiekty skryptowe (524)
    • Dynamiczne jÄ™zyki .NET (525)
  • Tajniki typu dynamic (526)
    • Ograniczenia typu dynamic (526)
    • Niestandardowe obiekty dynamiczne (528)
    • Klasa ExpandoObject (531)
  • Ograniczenia typu dynamic (531)
  • Podsumowanie (534)

15. Atrybuty (535)

  • Stosowanie atrybutów (535)
    • Cele atrybutów (537)
    • Atrybuty obsÅ‚ugiwane przez kompilator (539)
    • Atrybuty obsÅ‚ugiwane przez CLR (543)
  • Definiowanie i stosowanie atrybutów niestandardowych (551)
    • Typ atrybutu (551)
    • Pobieranie atrybutów (553)
  • Podsumowanie (556)

16. Pliki i strumienie (557)

  • Klasa Stream (558)
    • PoÅ‚ożenie i poruszanie siÄ™ w strumieniu (560)
    • Opróżnianie strumienia (561)
    • Kopiowanie (562)
    • Length (562)
    • Zwalnianie strumieni (564)
    • Operacje asynchroniczne (565)
    • Konkretne typy strumieni (565)
  • Windows 8 oraz interfejs IRandomAccessStream (566)
  • Typy operujÄ…ce na tekstach (569)
    • TextReader oraz TextWriter (570)
    • Konkretne typy do odczytu i zapisu Å‚aÅ„cuchów znaków (572)
    • Kodowanie (574)
  • Pliki i katalogi (578)
    • Klasa FileStream (578)
    • Klasa File (581)
    • Klasa Directory (585)
    • Klasa Path (586)
    • Klasy FileInfo, DirectoryInfo oraz FileSystemInfo (588)
    • Znane katalogi (589)
  • Serializacja (590)
    • Klasy BinaryReader oraz BinaryWriter (590)
    • Serializacja CLR (591)
    • Serializacja kontraktu danych (594)
    • Klasa XmlSerializer (597)
  • Podsumowanie (598)

17. Wielowątkowość (599)

  • WÄ…tki (599)
    • WÄ…tki, zmienne i wspólny stan (601)
    • Klasa Thread (607)
    • Pula wÄ…tków (609)
    • Powinowactwo do wÄ…tku oraz klasa SynchronizationContext (614)
  • Synchronizacja (618)
    • Monitory oraz sÅ‚owo kluczowe lock (619)
    • Klasa SpinLock (625)
    • Blokady odczytu i zapisu (627)
    • Obiekty zdarzeÅ„ (628)
    • Klasa Barrier (631)
    • Klasa CountdownEvent (632)
    • Semafory (632)
    • Muteksy (633)
    • Klasa Interlocked (634)
    • Leniwa inicjalizacja (637)
    • PozostaÅ‚e klasy obsÅ‚ugujÄ…ce dziaÅ‚ania wspóÅ‚bieżne (639)
  • Zadania (640)
    • Klasy Task oraz Task (640)
    • Kontynuacje (643)
    • Mechanizmy szeregujÄ…ce (645)
    • ObsÅ‚uga bÅ‚Ä™dów (647)
    • Niestandardowe zadania bezwÄ…tkowe (648)
    • ZwiÄ…zki zadanie nadrzÄ™dne - zadanie podrzÄ™dne (649)
    • Zadania zÅ‚ożone (650)
  • Inne wzorce asynchroniczne (651)
  • Anulowanie (652)
  • RównolegÅ‚ość (653)
    • Klasa Parallel (653)
    • Parallel LINQ (654)
    • TPL Dataflow (654)
  • Podsumowanie (655)

18. Asynchroniczne cechy języka (657)

  • Nowe sÅ‚owa kluczowe: async oraz await (658)
    • Konteksty wykonania i synchronizacji (662)
    • Wykonywanie wielu operacji i pÄ™tli (663)
    • Zwracanie obiektu Task (666)
    • Stosowanie async w metodach zagnieżdżonych (667)
  • Wzorzec sÅ‚owa kluczowego await (668)
  • ObsÅ‚uga bÅ‚Ä™dów (672)
    • Weryfikacja poprawnoÅ›ci argumentów (674)
    • WyjÄ…tki pojedyncze oraz grupy wyjÄ…tków (675)
    • Operacje równolegÅ‚e i nieobsÅ‚użone wyjÄ…tki (677)
  • Podsumowanie (678)

19. XAML (681)

  • Platformy XAML (682)
    • WPF (683)
    • Silverlight (684)
    • Windows Phone 7 (686)
    • Windows Runtime oraz aplikacje dostosowane do interfejsu użytkownika Windows 8 (687)
  • Podstawy XAML (688)
    • Przestrzenie nazw XAML oraz XML (689)
    • Generowane klasy i kod ukryty (690)
    • Elementy podrzÄ™dne (692)
    • Elementy wÅ‚aÅ›ciwoÅ›ci (692)
    • ObsÅ‚uga zdarzeÅ„ (694)
    • Wykorzystanie wÄ…tków (695)
  • UkÅ‚ad (696)
    • WÅ‚aÅ›ciwoÅ›ci (696)
    • Panele (702)
    • ScrollViewer (712)
    • Zdarzenia zwiÄ…zane z ukÅ‚adem (712)
  • Kontrolki (713)
    • Kontrolki z zawartoÅ›ciÄ… (714)
    • Kontrolki Slider oraz ScrollBar (717)
    • Kontrolki postÄ™pów (718)
    • Listy (719)
    • Szablony kontrolek (721)
    • Kontrolki użytkownika (724)
  • Tekst (725)
    • WyÅ›wietlanie tekstów (725)
    • Edycja tekstów (727)
  • WiÄ…zanie danych (729)
    • Szablony danych (732)
  • Grafika (735)
    • KsztaÅ‚ty (735)
    • Bitmapy (736)
    • Media (737)
  • Style (738)
  • Podsumowanie (739)

20. ASP.NET (741)

  • Razor (742)
    • Wyrażenia (743)
    • Sterowanie przepÅ‚ywem (745)
    • Bloki kodu (746)
    • Jawne wskazywanie treÅ›ci (747)
    • Klasy i obiekty stron (748)
    • Stosowanie innych komponentów (749)
    • Strony ukÅ‚adu (749)
    • Strony poczÄ…tkowe (751)
  • Web Forms (752)
    • Kontrolki serwerowe (752)
    • Wyrażenia (758)
    • Bloki kodu (758)
    • Standardowe obiekty stron (759)
    • Klasy i obiekty stron (759)
    • Stosowanie innych komponentów (760)
    • Strony nadrzÄ™dne (760)
  • MVC (762)
    • Typowy ukÅ‚ad projektu MVC (763)
    • Pisanie modeli (769)
    • Pisanie widoków (771)
    • Pisanie kontrolerów (772)
    • ObsÅ‚uga dodatkowych danych wejÅ›ciowych (774)
    • Generowanie Å‚Ä…czy do akcji (776)
  • Trasowanie (777)
  • Podsumowanie (781)

21. WspóÅ‚dziaÅ‚anie (783)

  • WywoÅ‚ywanie kodu rodzimego (783)
    • Szeregowanie (784)
    • Procesy 32- i 64-bitowe (792)
    • Bezpieczne uchwyty (793)
    • BezpieczeÅ„stwo (794)
  • Mechanizm Platform Invoke (795)
    • Konwencje wywoÅ‚aÅ„ (796)
    • ObsÅ‚uga Å‚aÅ„cuchów znaków (797)
    • Nazwa punktu wejÅ›cia (797)
    • WartoÅ›ci wynikowe technologii COM (798)
    • ObsÅ‚uga bÅ‚Ä™dów Win32 (802)
  • Technologia COM (802)
    • Czas życia obiektów RCW (803)
    • Metadane (805)
    • Skrypty (811)
  • Windows Runtime (814)
    • Metadane (815)
    • Typy Windows Runtime (815)
    • Bufory (816)
  • Niebezpieczny kod (818)
  • C++/CLI i Component Extensions (819)
  • Podsumowanie (820)

Skorowidz (821)

Dodaj do koszyka C# 5.0. Programowanie. Tworzenie aplikacji Windows 8, internetowych oraz biurowych w .NET 4.5 Framework

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.