Kategoria: Programowanie

Microsoft Visual Studio ulepsza obsługę języka C.

Microsoft Visual Studio IDE dodał obsługę standardów językowych C11 i C17 C, rozszerzając w ten sposób ograniczoną wcześniej obsługę IDE dla C. C11 i C17 stają się obsługiwanymi wersjami językowymi, począwszy od Visual Studio 2019 16.8 Preview 3, który został wydany 14 września. Visual Studio od lat ogranicza obsługę języka C do tego, co było wymagane dla języka C ++, który został zbudowany jako rozszerzenie języka C. Teraz do kompilatora dodan

Czytaj więcej

Samouczek Homebrew: Jak używać Homebrew na MacOS

Na początku była linia poleceń. Dotyczy to prawie wszystkich systemów operacyjnych, ale gdzieś po drodze graficzny interfejs użytkownika stał się „twarzą” komputera i tylko starzy hakerzy lub nowicjusze wiedzieli nawet, jak otworzyć konsolę wiersza poleceń lub terminal. Wielu użytkowników komputerów Mac może wspaniale zarządzać bez otwierania aplikacji Terminal, a tym bardziej wpisywania poleceń w powłoce Bash. Jeśli spędzasz dzień na

Czytaj więcej

Jak używać HashSet w C #

HashSet to zoptymalizowana kolekcja nieuporządkowanych, unikalnych elementów, która zapewnia szybkie wyszukiwanie i wydajne operacje na zestawach. Klasa HashSet została po raz pierwszy wprowadzona w .NET 3.5 i jest częścią przestrzeni nazw System.Collection.Generic. W tym artykule omówiono, jak możemy pracować z HashSets w C #. Aby prac

Czytaj więcej

Co nowego w programie Microsoft Visual Studio Code 1.50.0

Visual Studio Code firmy Microsoft stał się jednym z najpopularniejszych narzędzi programistycznych. Zbudowany przy użyciu międzyplatformowej platformy Electron GitHub, Visual Studio Code to w pełni funkcjonalny, rozszerzalny edytor kodu typu open source, który obsługuje szeroki wybór języków programowania i struktur, od znanych C, C ++ i C # po nowoczesne języki, takie jak Go, Rust i Node.js. Visual S

Czytaj więcej

Google kupuje Facebooka

Uwaga redaktora: Poniższa historia pochodzi z pakietu funkcji Prima Aprilis z 2008 roku. To nie prawda. Cieszyć się! W ruchu, który oszołomił Dolinę Krzemową, Google ogłosił, że kupi popularny serwis społecznościowy Facebook w ramach transakcji gotówkowej i akcji o wartości 25 miliardów dolarów. CEO Google Eric

Czytaj więcej

Android Studio dla początkujących, część 4: narzędzia do debugowania i wtyczki zwiększające produktywność

Aktualizacja: styczeń 2020 r. Android Studio oferuje bogatą paletę wbudowanych narzędzi programistycznych i jeszcze bogatszy ekosystem wtyczek. Pierwsze trzy artykuły z tej serii dotyczyły instalacji i konfiguracji oraz kodowania i uruchamiania prostej aplikacji mobilnej w Android Studio. Teraz zapoznasz się z bardziej zaawansowanymi narzędziami: trzema wbudowanymi narzędziami i trzema wtyczkami do debugowania i poprawiania jakości i produktywności kodu aplikacji na Androida. W tym art

Czytaj więcej

Java otrzymuje obsługę portów szeregowych z nowym pakietem javax.comm

Interfejs API Java Communications (aka javax.comm) to proponowane standardowe rozszerzenie, które umożliwia autorom aplikacji komunikacyjnych pisanie oprogramowania Java, które uzyskuje dostęp do portów komunikacyjnych w sposób niezależny od platformy. Ten interfejs API może być używany do pisania oprogramowania do emulacji terminala, oprogramowania faksu, oprogramowania czytnika kart inteligentnych i tak dalej. Tworzeni

Czytaj więcej

GitHub po Microsoft: jak to się zmieniło

GitHub, przez długi czas będący głównym ośrodkiem rozwoju oprogramowania typu open source, stał się częścią firmy Microsoft pod koniec października 2018 r. Teraz, pod kierownictwem byłego dyrektora generalnego Xamarin, Nat Friedmana, platforma zarządzania źródłami w chmurze i przedsiębiorstwach nadrabia stracony czas dzięki nowym funkcjom nowe plany cenowe. Na początku proce

Czytaj więcej

Diagnozowanie i rozwiązywanie StackOverflowError

Niedawna wiadomość na forum społeczności JavaWorld (Stack Overflow po utworzeniu instancji nowego obiektu) przypomniała mi, że podstawy StackOverflowError nie zawsze są dobrze rozumiane przez osoby, które nie znają Javy. Na szczęście StackOverflowError jest jednym z najłatwiejszych do debugowania błędów środowiska uruchomieniowego. W tym poście na

Czytaj więcej

Dlaczego Gentoo Linux przeszedł w zapomnienie?

Dlaczego Gentoo Linux przeszedł w zapomnienie? Gentoo Linux było dość dobrze znane w pewnym momencie, a wielu zaawansowanych technicznie użytkowników Linuksa zdecydowało się uruchomić go na swoich komputerach. Ale Gentoo Linux powoli tracił popularność z biegiem czasu i jest teraz bladym cieniem swojego dawnego ja, jeśli chodzi o użytkowanie i podział myśli wśród użytkowników Linuksa (chociaż na Reddicie wciąż jest kilku zagorzałych użytkowników Gentoo). Co się stało z Gentoo Li

Czytaj więcej

Narzędzia JSON, których nie chcesz przegapić

JSON, dla JavaScript Object Notation, to popularny i lekki format wymiany danych, który stał się wszechobecny w Internecie. JSON jest znany z tego, że jest zarówno łatwy w użyciu dla programistów, jak i łatwy do analizowania i generowania przez maszyny. Nic dziwnego, że JSON przyciągnął uwagę twórców narzędzi, którzy stworzyli różnorodne narzędzia do ponownego formatowania, sprawdzania poprawności i analizowania JSON. Są to zarówno narzędz

Czytaj więcej

Korzystanie z klasy Graphics

Wiele czynników inspiruje ludzi do pisania programów. Uważam, że dla wielu motywacja wypływa z chęci tworzenia grafiki, manipulowania obrazami, animacji. Niezależnie od tego, czy chcą tworzyć gry zręcznościowe, symulatory lotu czy pakiety CAD, programiści często zaczynają od nauki rysowania. Zestaw narzę

Czytaj więcej

Przyjrzyj się dokładniej interfejsowi API Java Reflection

W zeszłomiesięcznym „Java In-Depth” mówiłem o introspekcji i sposobach, w jakie klasa Java z dostępem do surowych danych klasy mogłaby zajrzeć „do wnętrza” klasy i dowiedzieć się, jak została skonstruowana. Ponadto pokazałem, że po dodaniu programu ładującego klasy te klasy mogą być ładowane do działającego środowiska i wykonywane. Ten przykład jest formą stat

Czytaj więcej

Pakiety i statyczne importy w Javie

W moim poprzednim samouczku dotyczącym języka Java 101 nauczyłeś się, jak lepiej organizować kod, deklarując typy referencyjne (znane również jako klasy i interfejsy) jako elementy składowe innych typów referencyjnych i bloków. Pokazałem również, jak używać zagnieżdżania, aby uniknąć konfliktów nazw między zagnieżdżonymi typami odwołań i typami odwołań najwyższego poziomu, które mają tę samą nazwę. Oprócz zagnieżdżania Java używa p

Czytaj więcej

Jak wybrać odpowiednią bazę danych NoSQL

Bazy danych NoSQL zapewniają dużą szybkość działania i większą elastyczność dla programistów i innych użytkowników w porównaniu z tradycyjnymi tabelarycznymi (lub SQL) bazami danych. Struktury danych używane przez bazy danych NoSQL - klucz-wartość, szeroka kolumna, wykres lub dokument - różnią się od tych używanych przez relacyjne bazy danych. W rezultacie bazy dan

Czytaj więcej

Wydarzenia i słuchacze

Jak utworzyć zdarzenie niestandardowe i jak je uruchomić, aby komponent mógł uzyskać zdarzenie? Przed patrząc na zdarzenia niestandardowego, pozwala spojrzeć na wcześniej istniejące imprezy: the ActionEvent. Komponenty, takie jak Buttoni JButtonuruchamiają się, ActionEventsaby wskazać jakieś działanie zdefiniowane przez komponent. Na przykład B

Czytaj więcej

Jak pracować z sesjami w ASP.Net

HTTP to protokół bezstanowy. Oznacza to, że za każdym razem, gdy nowe żądanie jest wysyłane od klienta do serwera, informacje o stanie poprzedniego żądania są tracone. Istnieje kilka sposobów przechowywania i zarządzania stanem w ASP.Net. Obiekt sesji jest jednym z nich, pozostałe to obiekty buforowania i aplikacji. Buforowanie

Czytaj więcej

Jak pracować z delegatami w C #

Delegat to bezpieczny typ wskaźnika funkcji, który może odwoływać się do metody, która ma taki sam podpis jak delegat. Możesz skorzystać z delegatów w języku C #, aby zaimplementować zdarzenia i metody wywołania zwrotnego. Delegat multiemisji to taki, który może wskazywać jedną lub więcej metod, które mają identyczne podpisy. Zrozumienie delega

Czytaj więcej

Wskazówka dotycząca języka Java: kiedy używać ForkJoinPool, a kiedy ExecutorService

Biblioteka Fork / Join wprowadzona w Javie 7 rozszerza istniejący pakiet współbieżności Java o obsługę równoległości sprzętowej, kluczowej funkcji systemów wielordzeniowych. W tej wskazówce dotyczącej języka Java Madalin Ilie demonstruje wpływ na wydajność zastąpienia ExecutorServiceklasy Java 6 przez Java 7 ForkJoinPoolw aplikacji przeszukiwacza sieci WWW. Przeszukiwacze si

Czytaj więcej

JavaWorld

Nakrętki i śruby Protokół przewodowy Oczyść protokół okablowania za pomocą SOAP, część 2 Użyj Apache SOAP do tworzenia aplikacji opartych na SOAP. 27 kwietnia 2001 Java po stronie serwera Ułatw przetwarzanie formularzy za pomocą interfejsu API przetwarzania formularzy Użyj nowego interfejsu API opartego na serwletach z JSP i JavaBeans do przetwarzania danych formularza. 27 kwietnia 2

Czytaj więcej

3 kroki do przeglądu asynchronicznego Pythona

Python jest jednym z wielu języków, które obsługują pewien sposób pisania programów asynchronicznych - programów, które swobodnie przełączają się między wieloma zadaniami, wszystkie działające jednocześnie, tak że żadne zadanie nie wstrzymuje postępu innych. Są jednak szanse, że pisałeś głównie synchroniczne programy w Pythonie - programy, które robią tylko jedną rzecz naraz, czekając na zakończenie każdego zadania przed rozpoczęciem kolejnego. Przejście do async może być iryt

Czytaj więcej

7 chronicznych błędów przeglądarek nękających sieć

Przeglądarki internetowe są niesamowite. Gdyby nie przeglądarki, nie bylibyśmy w stanie łączyć się prawie tak dobrze z użytkownikami i klientami, przesyłając nasze dane i dokumenty do ich komputerów stacjonarnych, tabletów i telefonów. Niestety, cała wspaniała zawartość dostarczana przez przeglądarkę internetową sprawia, że ​​jesteśmy bardziej sfrustrowani, gdy renderowanie nie jest tak eleganckie ani wolne od błędów, jak byśmy chcieli. Jeśli chodzi o tworzenie stro

Czytaj więcej

Przeciążanie metod w JVM

Witamy na nowym blogu Java Challengers ! Ten blog poświęcony jest trudnym koncepcjom programowania w języku Java. Opanuj je, a będziesz na najlepszej drodze do zostania wysoko wykwalifikowanym programistą Java. Techniki przedstawione na tym blogu wymagają pewnego wysiłku, aby je opanować, ale znacznie odmienią Twoje codzienne doświadczenia jako programisty Java. Unikanie

Czytaj więcej

Hashtables

21 czerwca 2002 P: Kiedy używam obiektu jako klucza w tablicy z haszowaniem, co w klasie Object muszę przesłonić i dlaczego? Odp .: Kiedy tworzysz własny obiekt klucza do użycia w a Hashtable, musisz przesłonić metody Object.equals()i Object.hashCode(), ponieważ Hashtableużywa kombinacji klucza hashCode()i equals()metod do szybkiego przechowywania i pobierania jego wpisów. Jest to ró

Czytaj więcej

Co nowego w Microsoft .Net Framework 4.8

Firma Microsoft wydała .Net Framework 4.8, najnowszą wersję platformy programistycznej firmy dla systemu Windows. Aktualizacja zawiera szereg poprawek błędów, poprawek zabezpieczeń i ulepszeń środowiska uruchomieniowego języka wspólnego, ASP.Net, Windows Forms, Windows Presentation Foundation i Windows Communication Foundation.  Ską

Czytaj więcej

Java Tip 67: Leniwe tworzenie instancji

Jeszcze nie tak dawno byliśmy zachwyceni perspektywą posiadania wbudowanej pamięci w 8-bitowym mikrokomputerze, która przeskoczyła z 8 KB do 64 KB. Sądząc po stale rosnących aplikacjach wymagających dużej ilości zasobów, których obecnie używamy, jest zdumiewające, że komukolwiek udało się napisać program, który mieściłby się w tak niewielkiej ilości pamięci. Chociaż w dzisiejszych c

Czytaj więcej

Przegląd bibliotek klienta Java FTP

Wyobraźmy sobie sytuację, w której chcemy napisać czystą aplikację Java, która musi pobierać pliki ze zdalnego komputera z serwerem FTP. Chcemy również filtrować pobieranie na podstawie informacji o zdalnym pliku, takich jak nazwa, data lub rozmiar. Chociaż napisanie programu obsługi protokołu dla FTP od zera jest możliwe i może zabawne, zrobienie tego jest również trudne, długie i potencjalnie ryzykowne. Ponieważ wolelibyś

Czytaj więcej

Struktury danych i algorytmy w Javie, Część 3: Tablice wielowymiarowe

Struktury danych i algorytmy w Javie, część 2, wprowadziły różnorodne techniki wyszukiwania i sortowania tablic jednowymiarowych, które są najprostszymi tablicami. W tym samouczku poznasz tablice wielowymiarowe. Pokażę ci trzy sposoby tworzenia wielowymiarowych tablic, a następnie nauczysz się, jak używać algorytmu mnożenia macierzy do mnożenia elementów w dwuwymiarowej tablicy. Przedstawię równ

Czytaj więcej

Jak zarządzać projektami w Pythonie za pomocą Pipenv

Ekosystem pakietów Pythona umożliwia wykorzystanie pracy milionów innych programistów za pomocą prostego pip installpolecenia. Środowiska wirtualne Pythona pozwalają izolować projekty i ich pakiety dla siebie. Jednak żonglowanie środowiskami i pakietami osobno może być niewygodne. Podwójnie tak, jeśli Twoje projekty mają określone wymagania dotyczące pakietu i chcesz skupić się na programowaniu zamiast na konserwacji. Potrzebujemy sposo

Czytaj więcej

Jak pracować z HttpModules w ASP.NET

Istnieją dwa sposoby wprowadzania logiki w potoku żądań aplikacji ASP.NET - HttpHandlers i HttpModules. HttpModule to składnik, który jest częścią potoku przetwarzania żądań ASP.NET i jest wywoływany przy każdym żądaniu skierowanym do aplikacji. Należy pamiętać, że HttpModules mogą mieć dostęp do zdarzeń cyklu życia żądania, a zatem mogą być również używane do modyfikowania odpowiedzi. HttpModules są zwykle używane d

Czytaj więcej

Recenzja: Visual Studio 2015 otwiera nowe możliwości

Visual Studio zawsze było dużym produktem z wieloma funkcjami, które rosły z każdym wydaniem. Visual Studio 2015 rozszerza ten trend w sposób, którego nigdy nie spodziewałem się zobaczyć od firmy Microsoft. Tworzenie aplikacji mobilnych na wiele platform? Zaznacz to pole co najmniej dwa razy, raz dla platformy Xamarin i raz dla Cordova, z dodatkowym kredytem na przenośny C ++ i integrację z Unity. Serwery wi

Czytaj więcej

Co to jest Google Cloud Anthos? Kubernetes wszędzie

Google Cloud uruchomił platformę Anthos w kwietniu 2019 roku, obiecując klientom sposób na uruchamianie obciążeń Kubernetes lokalnie, w Google Cloud, a co najważniejsze, w innych dużych chmurach publicznych, w tym Amazon Web Services (AWS) i Microsoft Azure. Ta kluczowa ostatnia część zajęła trochę czasu Google Cloud. Firma ostatecz

Czytaj więcej

Poprawka KB 2952664 dla systemu Windows 7 kończy się niepowodzeniem i pojawia się błąd 80242016

Firma Microsoft wystawia swoją nowo wydaną aktualizację KB 2952664 jako „aktualizację zgodności do uaktualnienia systemu Windows 7”, ale nie podaje żadnych innych szczegółów. Łatka została wydana siedem razy w ramach automatycznej aktualizacji (i usług Windows Server Update Services): 16 kwietnia, 22 kwietnia, 13 maja, 10 czerwca, 8 lipca, 12 sierpnia i 14 października. to dobrze. Osta

Czytaj więcej

Jak pracować z typem danych listy Pythona

Python zawiera kolekcję wbudowanych typów danych, które ułatwiają wykonywanie typowych operacji związanych z manipulowaniem danymi. Wśród nich jest  lista , prosty, ale wszechstronny typ kolekcji. Dzięki liście Python można grupować obiekty Pythona w jednowymiarowy wiersz, który umożliwia dostęp do obiektów według pozycji, dodawanie, usuwanie, sortowanie i dzielenie. Podstawy list w

Czytaj więcej

Co nowego w Rust 1.48.0

Unikalne podejście języka programowania Rust skutkuje lepszym kodem z mniejszą liczbą kompromisów niż C, C ++, Go i inne języki, których prawdopodobnie używasz. Jest również regularnie aktualizowany, często co miesiąc. Skąd pobrać najnowszą wersję Rusta Jeśli masz już zainstalowaną poprzednią wersję Rusta za pośrednictwem rustup, możesz uzyskać dostęp do najnowszej wersji za pomocą następującego polecenia: Aktualizacja $ rustup stabilna Powiązane wideo: Tworzenie bezpieczniejszego oprogramowania za pomocą Rust Szybko opanuj nowicjusz Rust, zaprojektowany do tworzenia szybkiego oprogramowani

Czytaj więcej

Kiedy używać słowa kluczowego volatile w języku C #

Techniki optymalizacji używane przez kompilator JIT (just-in-time) w środowisku wykonawczym języka wspólnego mogą prowadzić do nieprzewidywalnych rezultatów, gdy program .Net próbuje wykonać nieulotne odczyty danych w scenariuszu wielowątkowym. W tym artykule przyjrzymy się różnicom między dostępem do pamięci ulotnej i nieulotnej, roli słowa kluczowego volatile w języku C # oraz sposobowi używania słowa kluczowego volatile. Podam kilka przykł

Czytaj więcej

Plan przeniesienia Java na iOS

Propozycja unosząca się w społeczności OpenJDK ma na celu przyspieszenie uruchomienia Javy na iOS firmy Apple. Plan zakłada ponowne rozpoczęcie prac nad projektem OpenJDK Mobile, który ma na celu zbudowanie klas OpenJDK i API dla iOS i Androida - powiedział Johan Vos, CTO w Mobile Developer Gluon. Vos ni

Czytaj więcej

Nowy dyrektor generalny IBM przedstawia swoją mapę drogową

Nowo mianowany dyrektor generalny IBM, Arvind Krishna, poprowadził w tym tygodniu swoją pierwszą konferencję IBM Think - za pośrednictwem transmisji strumieniowej wideo w związku z trwającą globalną pandemią. W swoim przemówieniu skorzystał z okazji, aby potwierdzić swoje przekonanie, że „chmura hybrydowa i sztuczna inteligencja to dwie dominujące siły napędzające dziś cyfrową transformację”. Nic dziwnego, że wiele

Czytaj więcej

Microsoft zakończy wsparcie dla IE8, IE9 i IE10

Microsoft w końcu odchodzi od starzejących się przeglądarek internetowych, ponieważ Internet Explorer 8, 9 i 10 otrzyma ostatnie aktualizacje zabezpieczeń i zakończy swoją żywotność 12 stycznia. Użytkownicy zobaczą wtedy zakładkę z łączem pobierania do najbardziej aktualnych Internet Explorer dostępny dla systemu operacyjnego. Koniec życia nie

Czytaj więcej

Najważniejsze funkcje w systemie Windows Small Business Server 2011

Windows Small Business Server 2010 to niedrogie połączenie najlepszych technologii serwerowych firmy Microsoft w jednym pakiecie, który oferuje skonsolidowane zarządzanie i cenę, na jaką może sobie pozwolić większość nowych sieci. Zbudowany z Windows Server 2008 R2, Exchange 2010 i SharePoint Foundation 2010, SBS 2011 zapewnia wszystkie funkcje, których użytkownicy oczekują w sieci korporacyjnej, ale bez kosztów korporacyjnych. SBS 2011 jest

Czytaj więcej

Demistyfikacja zasady Prawa Demeter

Prawo Demetera (lub zasada najmniejszej wiedzy) to wytyczne projektowe dotyczące tworzenia aplikacji. Zasada ta, po raz pierwszy omówiona na Northeastern University w 1987 roku, głosi, że obiekt nigdy nie powinien znać wewnętrznych szczegółów innych obiektów. Został zaprojektowany, aby promować luźne powiązania w projektach oprogramowania. Należy zauwa

Czytaj więcej

Jak pracować z HTTPHandlers w ASP.Net

HTTPhandler może być zdefiniowany jako punkt końcowy, który jest wykonywany w odpowiedzi na żądanie i służy do obsługi określonych żądań na podstawie rozszerzeń. Mechanizm wykonawczy ASP.Net wybiera odpowiednią procedurę obsługi do obsługi przychodzącego żądania na podstawie rozszerzenia pliku adresu URL żądania. Wręcz przeciwnie, Http

Czytaj więcej

Najlepsze praktyki w buforowaniu w ASP.Net

Buforowanie to strategia zarządzania stanem często stosowana w ASP.Net w celu poprawy wydajności aplikacji poprzez zminimalizowanie zużycia zasobów w systemie. Jeśli jest używany prawidłowo, może znacznie poprawić wydajność aplikacji, przechowując stronę wWb w całości lub częściowo, a nawet przechowując dane aplikacji w żądaniach HTTP. Buforowanie umożliwi

Czytaj więcej

Witaj, OSGi, Część 1: Pakiety dla początkujących

Open Services Gateway Initiative (OSGi) definiuje architekturę do tworzenia i wdrażania modułowych aplikacji i bibliotek. W tym pierwszym artykule w trzyczęściowym wprowadzeniu do OSGi, Sunil Patil przedstawia koncepcje programistyczne OSGi i pokazuje, jak zbudować prostą aplikację Hello World przy użyciu implementacji kontenera Eclipse OSGi, Equinox. Porusza

Czytaj więcej

Samouczek Cythona: Jak przyspieszyć Pythona

Python to potężny język programowania, który jest łatwy do nauczenia i łatwy w obsłudze, ale nie zawsze jest najszybszy do uruchomienia - zwłaszcza gdy masz do czynienia z matematyką lub statystyką. Biblioteki innych firm, takie jak NumPy, które zawijają biblioteki C, mogą znacznie poprawić wydajność niektórych operacji, ale czasami potrzebujesz tylko surowej szybkości i mocy języka C bezpośrednio w Pythonie. Cython został opra

Czytaj więcej

8 darmowych urządzeń wirtualnych, które pokochasz

Pomimo faktu, że nie ma czegoś takiego jak darmowy lunch, możesz pobrać osiem urządzeń wirtualnych omówionych w tym artykule za darmo. Nie oznacza to, że możesz używać dowolnego z nich w środowisku produkcyjnym wysokiej klasy, ale nie oznacza to, że też nie możesz. Niektórzy mają nawet płatne i obsługiwane wersje, jeśli zdecydujesz się pójść tą drogą. Nasza kolekcja obejmuje

Czytaj więcej

JDK 15: Nowe funkcje w Javie 15

Java Development Kit 15, implementacja przez Oracle następnej wersji Java SE (Standard Edition), staje się dostępna jako wydanie produkcyjne dzisiaj, 15 września 2020 r. Najważniejsze cechy JDK 15 obejmują bloki tekstowe, ukryte klasy, API dostępu do pamięci obcej, Z Garbage Collector oraz podglądy zapieczętowanych klas, dopasowywania wzorców i rekordów. JDK 15 to

Czytaj więcej

Analiza leksykalna i Java: część 1

Analiza leksykalna i parsowanie Podczas pisania aplikacji Java jedną z bardziej powszechnych rzeczy, które będziesz musiał wykonać, jest parser. Parsery obejmują zarówno proste, jak i złożone, i są używane do wszystkiego, od patrzenia na opcje wiersza poleceń po interpretację kodu źródłowego Java. W grudniowym wy

Czytaj więcej

JavaScript w Javie

Niedawny post JavaLobby Top 10 nieużywanych funkcji w Javie był niezwykle popularny. W chwili pisania tego tekstu jest to najwyżej oceniany post w kategorii DZone Top Links. Ponadto została również wysłana odpowiedź. W obu postach na blogach jest wiele interesujących obserwacji na temat niewykorzystywanych funkcji w Javie i zgadzam się z niektórymi bardziej niż innymi. Jednak rzec

Czytaj więcej

Co nowego w programie Visual Studio 2019

Firma Microsoft wydała wersję produkcyjną IDE programu Visual Studio 2019, w której aktualizacje są wykonywane, gdy maszyna jest bezczynna. Skąd pobrać program Visual Studio 2019 Możesz pobrać program Visual Studio 2019 z witryny internetowej programu Visual Studio. Co nowego w programie Visual Studio 2019 W programie Visual Studio 2019 deweloperzy zyskują następujące nowe i zmienione funkcje: Łatwiej jest sklonować repozytorium Git lub otworzyć istniejący projekt. Łatwiej jest ró

Czytaj więcej

Strzelanina w Cloud IDE: AWS Cloud9 kontra Eclipse Che kontra Eclipse Theia

Sprowadzenie nowego programisty do projektu programistycznego z wieloma zależnościami może czasami być koszmarem. Widziałem skrajny przypadek, w którym firma w końcu zrezygnowała i kupiła deweloperowi nowy komputer po miesiącu problemów z konfiguracją starego. Częściej konfigurowanie nowego środowiska programistycznego dla nowego programisty może zająć od trzech dni do dwóch tygodni. Ta kwestia jest j

Czytaj więcej

Jak używać odwrócenia kontroli w C #

Zarówno odwrócenie kontroli, jak i iniekcja zależności umożliwiają przerwanie zależności między składnikami w aplikacji i ułatwiają testowanie i konserwację aplikacji. Jednak odwrócenie kontroli i wstrzyknięcie zależności to nie to samo - istnieją między nimi subtelne różnice. W tym artykule przyjrzymy się inwersji wzorca kontroli i zrozumiemy, jak różni się on od iniekcji zależności z odpowiednimi przykładami kodu w języku C #. Aby pracować z przykładami

Czytaj więcej

Jak sobie radzić z końcem FireWire

Latem ubiegłego roku Apple ogłosił 15-calowego MacBooka Pro Retina z zaskakującym pominięciem: bez portu FireWire. Jego miejsce zajmuje najnowsze złącze urządzeń peryferyjnych Apple, USB 3.0, które zapewnia równoważną wydajność i jest szeroko stosowane w najnowszych komputerach z systemem Windows. Następnie w pa

Czytaj więcej

Twórca Pythona, Guido Van Rossum, udaje się do firmy Microsoft

W tweecie opublikowanym w czwartek w południe twórca języka programowania Python, Guido van Rossum, ogłosił, że dołączy do działu deweloperów firmy Microsoft, gdzie będzie pracował nad ulepszeniem języka Python w systemie Windows i ogólnie Pythonie. „Zdecydowałem, że przejście na emeryturę jest nudne” - napisał van Rossum, ogłaszając, że dołączył do działu deweloperów w firmie Microsoft. "Zrobic co? Za dużo opcji do p

Czytaj więcej

Co to są mikrousługi? Twoja następna architektura oprogramowania

Prawie każdy system komputerowy wykonuje wiele zadań przy użyciu współdzielonych zasobów, a jednym z pytań związanych z programowaniem komputerowym jest to, jak ściśle fragmenty kodu, które wykonują te zadania, powinny być ze sobą powiązane. Coraz popularniejszą odpowiedzią jest koncepcja mikrousługi - niewielkiego, dyskretnego fragmentu funkcjonalności, który współdziała z innymi mikrousługami w celu stworzenia większego systemu. Chociaż podstawowa idea

Czytaj więcej

XML dla absolutnie początkującego

HTML i World Wide Web są wszędzie. Jako przykład ich wszechobecności jadę w tym roku do Ameryki Środkowej na Wielkanoc i jeśli zechcę, będę mógł surfować po sieci, czytać e-maile, a nawet robić bankowość internetową w kafejkach internetowych w Antigua Guatemala i Belize City. (Nie zamierzam jednak tego robić, ponieważ zabrałoby to trochę czasu od randki, którą mam z palmą i kokosem wypełnionym rumem). A jednak pomimo wszechob

Czytaj więcej

Recenzje Ubuntu 15.04

Recenzje Ubuntu 15.04 Ubuntu 15.04 został właśnie wydany i jest kilka wczesnych recenzji najnowszej dystrybucji Canonical na komputery stacjonarne. Jak dotąd szum wydaje się nieco mieszany i nie jest to zaskakujące, ponieważ Ubuntu 15.04 jest stosunkowo prostym wydaniem bez wielu krzykliwych, nowych funkcji. Darie

Czytaj więcej

javac's -Xlint Options

Kompilator języka programowania Java (javac) dostarczany przez firmę Oracle (a wcześniej przez firmę Sun) ma kilka niestandardowych opcji, które są często przydatne. Jedną z najbardziej użytecznych jest zestaw niestandardowych opcji, które wyświetlają ostrzeżenia napotkane podczas kompilacji. Ten zestaw o

Czytaj więcej

Deweloper tworzy pierwszego wirusa Java i nazywa go „Strange Brew”

28 sierpnia 1998 - W elektronicznym magazynie Codebreakers został opublikowany prawdopodobnie pierwszy wirus Java w sieci . Wirus, zwany Strange Brew i stworzony przez programistę o nazwie kodowej „Landing Camel”, nie wydaje się być ekstremalnie niebezpieczny dla użytkowników, ponieważ wbudowane funkcje bezpieczeństwa wbudowane w przeglądarki obsługujące Javę mogą go pokonać. Australijski stud

Czytaj więcej

Jak bezpieczna jest Java w porównaniu z innymi językami?

Podobnie jak w przypadku innych aspektów cyberbezpieczeństwa, poziom bezpieczeństwa języka programowania zależy od tego, co rozumiemy przez „bezpieczny”. Prawdą jest, że Java ma mniej zidentyfikowanych luk w zabezpieczeniach niż niektóre inne powszechnie używane języki. Prawdą jest również, że niektóre nowsze języki wydają się bezpieczniejsze niż Java, przynajmniej na pierwszy rzut oka. Wiele luk w zabezpiecz

Czytaj więcej

Moje dwa centy na metodzie GC.Collect w C #

Metoda GC.Collect () od dawna jest popularna wśród programistów .Net. Jednak niewielu z nas wie, jak to faktycznie działa lub czy w ogóle jest potrzebne wezwanie do niego. CLR (Common Language Runtime) przyjmuje wyrzucanie elementów bezużytecznych jako mechanizm do czyszczenia zasobów używanych przez aplikację. Zauważ, ż

Czytaj więcej

Ukryte pułapki związane z niezależnością w IT

Życie niezależnego wykonawcy IT brzmi wystarczająco atrakcyjnie: wolność wyboru klientów, swoboda ustalania harmonogramu i swoboda ustalania stawki wynagrodzenia podczas robienia kodu na plaży. Ale cała ta wolność ma swoją cenę. Jasne, niesamowite czasy dla niektórych zestawów umiejętności mogą sprawić, że IT stanie się wolnym strzelcem na rynku sprzedawcy, ale samodzielne uderzenie wiąże się z przeszkodami. Im bardziej jesteś świ

Czytaj więcej

7 narzędzi i usług do wspólnego kodowania w czasie rzeczywistym

W większości przypadków współpraca nad projektem oprogramowania oznacza pracę z narzędziami takimi jak Git - wprowadzanie na zmianę modyfikacji, a następnie uzgadnianie produktu końcowego w jedną bazę kodów. Jednak współpraca na żywo nad kodem - dwie lub więcej osób pracujących nad tym samym plikiem w czasie rzeczywistym - stała się znacznie bardziej opłacalna w ostatnich latach. Nadal będziesz chciał

Czytaj więcej

Czym jest Apache Solr? I dlaczego warto go używać

Apache Solr to podprojekt Apache Lucene, który jest technologią indeksowania, która stoi za najnowszą technologią wyszukiwania i indeksowania. Solr to w istocie wyszukiwarka, ale to znacznie więcej. Jest to baza danych NoSQL ze wsparciem transakcyjnym. Jest to baza danych dokumentów, która obsługuje język SQL i wykonuje ją w sposób rozproszony. Brzmi inte

Czytaj więcej

Jak korzystać z Google Vision API

Niedawno omówiłem, jak komputery mogą widzieć, słyszeć, czuć, wąchać i smakować. Jednym ze sposobów, w jaki Twój kod „widzi”, jest interfejs API Google Vision. Interfejs API Google Vision łączy Twój kod z funkcjami rozpoznawania obrazów Google. Możesz myśleć o wyszukiwarce grafiki Google jako o pewnego rodzaju interfejsie API / REST dla images.google.com, ale robi on

Czytaj więcej

Projekty Java open source: GitHub

Jeśli byłeś ciekawy GitHub, ten krótki samouczek z serii projektów Java Open source jest dla Ciebie. Zapoznaj się z przeglądem repozytorium kodu źródłowego, które zmieniło sposób pracy wielu programistów, zarówno indywidualnie, jak i zespołowo. Następnie wypróbuj GitHub dla siebie, używając typowych poleceń Git, aby rozgałęzić i zatwierdzić własny projekt open source. GitHub to serwis społecz

Czytaj więcej

Java Tip 130: Czy znasz rozmiar swoich danych?

Ostatnio pomogłem zaprojektować aplikację serwerową Java, która przypominała bazę danych w pamięci. Oznacza to, że zdecydowaliśmy się na buforowanie ton danych w pamięci, aby zapewnić superszybką wydajność zapytań. Gdy uruchomiliśmy prototyp, naturalnie zdecydowaliśmy się profilować ślad pamięci danych po jego przeanalizowaniu i załadowaniu z dysku. Niezadowalające początk

Czytaj więcej

Jak tworzyć tabele w R z rozwijanymi wierszami

Interaktywne tabele z wyszukiwaniem i sortowaniem mogą być przyjemnym sposobem eksplorowania danych. Czasami możesz chcieć udostępnić te dane innym osobom - w tym dane tekstowe, takie jak lista samouczków wideo Zrób więcej dzięki R. Ale jeśli te dane zawierają kolumnę z dość długimi wpisami, ta kolumna może nie pasować dobrze do tabeli szerokości ekranu. Może to być szczeg

Czytaj więcej

Przegląd JNDI, Część 3: Zaawansowane JNDI

Muszę w tym miesiącu pokryć dużo ziemi, więc pominę puch i przejdę od razu do punktów. Po pierwsze, Java Naming and Directory Interface odgrywa ważną rolę w kilku technologiach Java. Przyjrzymy się tej roli, aby lepiej zrozumieć strategiczną pozycję JNDI w ogólnym obrazie Javy. Następnie, w uznaniu potrzeby posiadania działającej usługi JNDI do zabawy, przedstawię Ci swobodnie dostępną, przenośną implementację LDAP i nauczę Cię, jak połączyć się z dostawcą usług JNDI i jak z niego korzystać. Na koniec przyjrzę się bliżej wiąz

Czytaj więcej

Jak wyszukiwać na Twitterze za pomocą rtweet i R

Twitter to świetne źródło wiadomości o R - zwłaszcza podczas konferencji typu useR! i RStudio Conference. Dzięki R i pakietowi rtweet możesz zbudować własne narzędzie do pobierania tweetów w celu łatwego wyszukiwania, sortowania i filtrowania. Przyjrzyjmy się krok po kroku. Najpierw chcesz zainstalować dowolny pakiet projektu rtweet, którego jeszcze nie masz: rtweet, reactable, glue, stringr, httpuv i dplyr. Następnie, aby

Czytaj więcej

Spraw, aby Java była szybka: optymalizuj!

Według pioniera informatyka, Donalda Knutha, „przedwczesna optymalizacja jest źródłem wszelkiego zła”. Każdy artykuł na temat optymalizacji musi zaczynać się od wskazania, że ​​zwykle jest więcej powodów, aby nie optymalizować niż optymalizować. Jeśli Twój kod już działa, optymalizacja to pewny sposób na wprowadzenie nowych i prawdopodobnie subtelnych błędów Optymalizacja sprawia, że ​​kod jest trudniejszy do zrozumienia i utrzymania Niektóre z przedstawionych tu technik zwiększają szybkość poprzez zmniejszenie rozszerzalności kodu Optymalizacja kodu dla jednej platformy może faktycznie po

Czytaj więcej

Przewodnik dla początkujących do Enterprise JavaBeans

Enterprise JavaBeans (EJB) wzbudziło wiele emocji od czasu ogłoszenia w marcu 1998 r. Specyfikacji Enterprise JavaBeans w wersji 1.0. Firmy takie jak Oracle, Borland, Tandem, Symantec, Sybase i Visigenic, między innymi, ogłosiły i / lub dostarczyły produkty zgodne ze specyfikacją EJB. W tym miesiącu przyjrzymy się wysokopoziomowo, czym dokładnie są Enterprise JavaBeans. Omówimy, c

Czytaj więcej

Usługi internetowe w Java SE, część 1: Omówienie narzędzi

Java Standard Edition (SE) 6 zawiera obsługę usług internetowych. Ten post rozpoczyna czteroczęściową serię poświęconą usługom sieciowym w języku Java SE, wyjaśniając, czym są usługi sieci Web i przeglądając ich obsługę w języku Java SE. Przyszłe posty będą wykorzystywać tę obsługę do tworzenia usług sieci Web opartych na protokole SOAP i RESTful, a także będą obejmować zaawansowane tematy usług internetowych. Java XML i JSON W tej serii zak

Czytaj więcej

Co to jest Julia? Nowe podejście do obliczeń numerycznych

Julia to darmowy, wysokopoziomowy, dynamiczny język programowania o otwartym kodzie źródłowym do obliczeń numerycznych. Ma wygodę programowania dynamicznego języka z wydajnością skompilowanego języka statycznego, częściowo dzięki kompilatorowi JIT opartemu na LLVM, który generuje natywny kod maszynowy, a częściowo dzięki projektowi, który implementuje stabilność typu poprzez specjalizację poprzez wiele wysyłka, co ułatwia kompilację do wydajnego kodu. W poście na blogu ogła

Czytaj więcej

AWS, Azure czy Google Cloud: która bezpłatna warstwa jest najlepsza?

Kto nie lubi darmowych rzeczy? Dostawcy chmury publicznej wiedzą, że wszyscy to robimy. Główne usługi w chmurze oferują swoje produkty każdemu, od niezależnego dewelopera z kartą kredytową po przedsiębiorstwa, które obniżyły siedmiocyfrowe umowy SLA. Wielka trójka - Amazon AWS, Google Cloud Platform i Microsoft Azure - również oferuje bezpłatne wersje próbne różnych indywidualnych usług pod ich banerami. Darmowe oferty nie za

Czytaj więcej

Jak używać wyrażeń lambda w C #

Wyrażenia lambda zostały po raz pierwszy wprowadzone w .NET 3.5, w tym samym czasie, gdy udostępniono Language Integrated Query (LINQ). Wyrażenia lambda są jak anonimowe metody, ale mają znacznie większą elastyczność. Korzystając z wyrażenia lambda, nie musisz określać typu danych wejściowych. Dlatego wyraże

Czytaj więcej