Какво е API? Обяснени интерфейси за приложно програмиране

API означава интерфейс за програмиране на приложения, концепция, която се прилага навсякъде - от инструменти на командния ред до корпоративен Java код до уеб приложения Ruby on Rails. API е начин за програмно взаимодействие с отделен софтуерен компонент или ресурс. Освен ако не напишете всеки ред код от нулата, ще

Кога да използваме абстрактен клас срещу интерфейс в C #

Когато проектирате приложения, е важно да знаете кога да използвате абстрактен клас и кога да използвате интерфейс. Въпреки че абстрактните класове и интерфейси изглеждат сходни в някои отношения, има ключови разлики, които ще определят кой е най-добрият избор за това, което се опитвате да постигнете. В тази публикация в блога ще обсъдя тези разлики и как да реша кога да използвам коя. Кратък отговор: Абстрактният клас ви позволява да създадете функционалност, която подкласовете могат да внедрят или отменят. Интерфейсът ви позволява само да дефин

Какво е CI / CD? Обяснено е непрекъснато интегриране и непрекъсната доставка

Непрекъснатата интеграция (CI) и непрекъсната доставка (CD) въплъщават култура, набор от операционни принципи и колекция от практики, които позволяват на екипите за разработка на приложения да доставят промени в кода по-често и надеждно. Изпълнението е известно още като CI / CD тръбопровод.  CI / CD е една от най-добрите практики за прилагане на екипите на devops. Това е и най-добрата гъвкава методология, тъй като позвол

Какво е гъвкава методология? Обяснено съвременното разработване на софтуер

Днес всяка технологична организация изглежда практикува пъргавата методология за разработване на софтуер или нейната версия. Или поне те вярват, че го правят. Независимо дали сте нов в гъвкавата разработка на приложения или сте научили разработването на софтуер преди десетилетия, използвайки методологията за разработване на софтуер за водопад, днес работата ви е повлияна поне от гъвкавата методология. Но какво представлява гъвкавата методология и как трябва да се практикува при разработването на софтуер? По какъв начин пъргавото развитие се различава от водопада на практика? Какъв е пъргавият ж

Adobe Flash достига края на живота си

Вездесъщият Flash Player на Adobe, базирано на браузър време за показване на мултимедийно съдържание в Интернет, стигна до края, като компанията направи окончателното планирано издание на технологията за всички региони извън континентален Китай. Окончателното издание е направено на 8 декември. Adobe няма да поддържа Flash Player след този месец; Съдържанието на Flash ще бъде блокирано за стартиране във Flash Player от 12 януари 2021

Какво е PaaS? Обяснено за платформа като услуга

Platform-as-a-service (PaaS) е вид предлагане на облачни изчисления, при което доставчикът на услуги предоставя платформа на клиентите, като им позволява да разработват, стартират и управляват бизнес приложения, без да е необходимо да изграждат и поддържат инфраструктурата като такъв софтуер процесите на развитие обикновено изискват. Тъй като архитектурите PaaS държат основната инфраструктура далеч от полезрението на разработчиците и другите потребители, моделът е подобен на концепциите за безсървърни изчисления и функция като услуга (FaaS), при които доставчикът на облачни услуги осигур

Какво представлява изчислението в облак? Всичко, което трябва да знаете сега

Облачните изчисления имат две значения. Най-често се отнася за стартиране на натоварвания от разстояние през интернет в центъра за данни на търговски доставчик, известен също като модела „публичен облак”. Популярните публични облачни предложения - като Amazon Web Services (AWS), CRM системата на Salesforce и Microsoft Azure - илюстрират това познато понятие за облачни изчисле

Какво е SaaS? Дефиниран софтуер като услуга

Една от най-популярните форми на облачни изчисления е софтуерът като услуга (SaaS). Ето една проста дефиниция на SaaS: модел за разпространение на софтуер, при който доставчикът на услуги хоства приложения за клиенти и ги прави достъпни за тези клиенти чрез интернет. SaaS е една от трите основни категории облачни услуги, заедно с инфраструктурата като услуга (IaaS) и платформата като услуга (PaaS). Примери за SaaS Предвид лесния достъп, SaaS моделът на доставка на софтуер

Какво е SQL? Lingua franca за анализ на данни

Днес структурираният език за заявки е стандартното средство за манипулиране и заявки за данни в релационни бази данни, макар и със собствени разширения сред продуктите. Лекотата и повсеместността на SQL дори са накарали създателите на много „NoSQL“ или нерелационни хранилища на данни, като Hadoop, да приемат

Избор на вашата Java IDE

Актуализирано: декември 2018 г. Всеки разработчик на Java се нуждае от редактор за програмиране или IDE, който може да подпомогне по-грубите части на писането на Java и използването на библиотеки и рамки на класове. Решението кой редактор или IDE ще ви подхожда най-много зависи от няколко неща, включително от естеството на проектите в процес на разработка, от вашата роля в о

Какво е JSON? По-добър формат за обмен на данни

JavaScript Object Notation е безсхемно, текстово базирано представяне на структурирани данни, което се основава на двойки ключ-стойност и подредени списъци. Въпреки че JSON се извлича от JavaScript, той се поддържа или вграден, или чрез библиотеки на повечето основни езици за програмиране. JSON се използва често, но не изключително, за обмен на информация между уеб клиенти и уеб сървъри.  През последните 15 години JSON стана вездесъщ в мрежата. Днес това е избраният формат за почти вс

Преглед: 10-те най-добри редактора на JavaScript

Програмистите на JavaScript имат много добри инструменти за избор - почти твърде много, за да ги следите. В тази статия обсъждам 10 текстови редактора с добра поддръжка за разработване с JavaScript, HTML5 и CSS и за документиране с Markdown. Защо да използваме редактор за програмиране на JavaScript вместо IDE? С една дума: скорост. Основната разлика между редакторите и IDE е, че IDE могат да отстр

Как да обедините данни в R, като използвате R merge, dplyr или data.table

R има редица бързи, елегантни начини за свързване на рамки с данни от обща колона. Бих искал да ви покажа три от тях: базова merge()функция R , семейството функции на dplyr и синтаксис на скобата на data.table. Вземете и импортирайте данните За този пример ще използвам един от любимите ми демо набори от данни - времена на закъснение на полета

Предава ли Java препратка или предава стойност?

Много езици за програмиране позволяват предаване на параметри по референция или по стойност . В Java можем да предаваме параметри само по стойност . Това налага някои ограничения и също така повдига въпроси. Например, ако стойността на параметъра се промени в метода, какво се случва със стойността след изпълнението на метода? Може също да се чудите как Java управлява обект

Какво представлява JPA? Въведение в API за устойчивост на Java

Като спецификация, API за устойчивост на Java се занимава с постоянство , което свободно означава всеки механизъм, чрез който Java обектите надживяват процеса на приложение, който ги е създал. Не всички Java обекти трябва да се поддържат, но повечето приложения продължават да са ключови бизнес обекти. Спецификацията JPA ви позволява да де

Какво представлява JVM? Представяме виртуалната машина Java

Виртуалната машина Java е програма, чиято цел е да изпълнява други програми. Това е проста идея, която също е един от най-големите ни примери за кодиране на кунг-фу . JVM наруши статуквото за времето си и продължава да подкрепя иновациите в програмирането и днес. За какво се използва JVM JVM има две основни функции: да позволява на Java програми да се изпълняват на всяко устройство или операционна система (известна като принцип „Пиши веднъж, стартирай навсякъде“)

Какво е CUDA? Паралелно програмиране за графични процесори

CUDA е паралелна изчислителна платформа и модел за програмиране, разработен от Nvidia за общи изчисления на собствени графични процесори (графични процесори). CUDA дава възможност на разработчиците да ускорят изчислително интензивните приложения, като използват мощността на графичните процесори за паралелизиращата се част на изчислението. Въпреки че има и други предложени API за графични процесори, като OpenCL, и има конкурентни графични процесори от други компании, като AMD, комбинацията от графични процесори CUDA и Nvidia доминира в няколко области на приложение, включително задълбочено обуче

Какво е JSP? Въведение в JavaServer Pages

JavaServer Pages (JSP) е стандартна технология на Java, която ви позволява да пишете динамични, управлявани от данни страници за вашите Java уеб приложения. JSP е изграден върху спецификацията Java Servlet. Двете технологии обикновено работят заедно, особено в по-старите уеб приложения на Java. От гледна точка на кодирането, най-очевид

Какво е Дженкинс? CI сървърът обясни

Jenkins предлага лесен начин за създаване на среда за непрекъсната интеграция или непрекъсната доставка (CI / CD) за почти всяка комбинация от езици и хранилища на изходен код, използващи конвейери, както и за автоматизиране на други рутинни задачи за разработка. Въпреки че Дженкинс не премахва необходимостта от създаване на скриптове за отделни стъпки, той ви дава по-бърз и по-надежден начин да интегрирате цялата си верига от инструменти за изграждане, тестване и в

Поредица от уроци: Android Studio за начинаещи

Пълно ръководство за начинаещи за Android Studio , от инсталирането на Android Studio до кодирането и отстраняването на грешки в първото ви приложение за Android. Включва съвети за отстраняване на неизправности за емулатора на устройство с Android и изходен код за примерното приложение за Android. Vasabii / Гети изображения ЧАСТ 1:Инсталация + настройка Получете системни изисквания и инструкции за инсталиране на Android Studio 3.x и стартиране на първия ви проект за Android. Ще стартирате първ

Android Studio за начинаещи, Част 1: Инсталация и настройка

Актуализирано: януари 2020 г. От няколко години стана ясно, че Android е сила, с която трябва да се съобразяваме в пейзажа на мобилната операционна система. Тази Java-базирана технология предизвика нова златна треска, като програмистите се надпреварват да печелят пари от своите мобилни приложения. Работите за Android също са в изобилие, както показва бързо търсене на работа с помощта на Indeed.com. За да бъдат успешни, разработчиците на Android се нуждаят от добро разбиране на езика Java (или Kotlin), API на Android и архите

Сървър на приложения, уеб сървър: Каква е разликата?

23 август 2002 г. В: Каква е разликата между сървъра за приложения и уеб сървъра? A: Уеб сървърът обработва изключително HTTP заявки, докато сървърът за приложения обслужва бизнес логика на приложните програми чрез произволен брой протоколи. Нека разгледаме всеки по-подробно. Уеб сървърът Уеб сървърът обработва HTTP протокола. Когато уеб сървърът получи HTTP заявка, той отговаря с HTTP отговор, като например изпращане обра

Какво е JDBC? Въведение в Java Database Connectivity

JDBC (Java Database Connectivity) е Java API, който управлява свързването към база данни, издава заявки и команди и обработва набори от резултати, получени от базата данни. Издаден като част от JDK 1.1 през 1997 г., JDBC е един от първите компоненти, разработени за Java персистентния слой. JDBC първоначално е замислен ка

Какво е Python? Мощно, интуитивно програмиране

Датиращ от 1991 г., езикът за програмиране Python се счита за запълващ празнини, начин за писане на скриптове, които „автоматизират скучните неща“ (както се казва в една популярна книга за изучаване на Python) или за бързо прототипиране на приложения, които ще бъдат внедрени на други езици . През последните няколко години обаче Python се очертава като първокласен гражданин в съвременното разработване на софтуер, управление на инфраструктурата и анализ на данни. Той вече не е полезен език, но основна сила в съз

Интерфейси в Java

Java интерфейсите се различават от класовете и е важно да знаете как да използвате техните специални свойства във вашите Java програми. Този урок представя разликата между класове и интерфейси, след което ви води през примери, демонстриращи как да декларирате, внедрявате и разширявате Java интерфейси. Също така ще научите как се е развил интерфейсът в Java 8 с добавяне на стандартни и статични методи и в Java 9 с новите частни методи. Тези допълнения правят интерфейсите по-полезни за опитни разработчици. За съжаление те също размиват лин

Какво е TensorFlow? Обяснено е библиотеката за машинно обучение

Машинното обучение е сложна дисциплина. Но внедряването на модели за машинно обучение е далеч по-малко обезсърчително и трудно, отколкото преди, благодарение на рамките за машинно обучение - като Google TensorFlow - които улесняват процеса на получаване на данни, модели на обучение, обслужване на прогнози и усъвършенстване на бъдещите резултати. Създаден от екипа на Google Brain, TensorFlow е библиотека с отворен код за цифрови изчисления и широкомащабно машинно обучение. TensorFlow обединява множество модели и алгоритми за машинно обучение и дълбоко обучение (известни още като невронни мрежи)

Сортиране с Comparable и Comparator в Java

Програмистите често трябва да сортират елементи от база данни в колекция, масив или карта. В Java можем да реализираме какъвто и да е алгоритъм за сортиране с всеки тип. Използвайки Comparableинтерфейса и compareTo()метода, можем да сортираме, използвайки азбучен ред, Stringдължина, обратен азбучен ред

Node.js срещу PHP: Епична битка за споделяне на ум от разработчици

Това е класически холивудски сюжет: битката между двама стари приятели, които са тръгнали по различен начин. Често триенето започва, когато единият приятел проявява интерес към това, което винаги е било неизказаната област на другия приятел. Във версията на този филм на езика за програмиране, въвеждането на Node.js превръща приятеля в недоволство: PHP и JavaScript, двама партньори, които някога са управлявали интернет, но сега го превръща

Какво е Apache Spark? Платформата за големи данни, която смаза Hadoop

Определен Apache Spark Apache Spark е рамка за обработка на данни, която може бързо да изпълнява задачи за обработка на много големи набори от данни и може също да разпределя задачи за обработка на данни в множество компютри, самостоятелно или в тандем с други разпределени изчислителни инструменти. Тези две качества са ключови за световете на големите данни и машинното обучение, които изискват разпределянето на масивна изчислителна мощ, за да се пробият през големи хранилища за данни. Spark също сваля някои от програмните

Какво е Kotlin? Обяснена е алтернативата на Java

Kotlin е безплатен, с отворен код, статично въведен „прагматичен“ език за програмиране с общо предназначение, първоначално проектиран за JVM (Java Virtual Machine) и Android, който съчетава обектно-ориентирани и функционални функции за програмиране. Той е фокусиран върху оперативната съвместимост, безопасността, яснотата и поддръжката на инструментите. Производят се и версии на Kotlin, насочени към JavaScript ES5.1 и родния

Какво е ориентирана към услуги архитектура?

Ориентираната към услуги архитектура (SOA) се появи в началото на този век като еволюция на разпределените изчисления. Преди SOA услугите се разбираха като краен резултат от процеса на разработване на приложения. В SOA самото приложение е съставено от услуги. Услугите могат да се доставят индивидуално или да се комбинират като компоненти в по-голяма, композитна услуга. Услугите си

Какво е Docker? Искрата за революцията на контейнерите

Docker е софтуерна платформа за изграждане на приложения, базирани на контейнери - малки и леки среди за изпълнение, които използват споделено ядрото на операционната система, но иначе се изпълняват изолирано една от друга. Въпреки че контейнерите като концепция съществуват от известно време, Docker, проект с отворен код, стартиран през 2013 г., спомогна за популяризирането на технологията и спомогна

Какво представлява JDK? Въведение в Java Development Kit

Java Development Kit (JDK) е един от трите основни технологични пакета, използвани в Java програмирането, заедно с JVM (Java Virtual Machine) и JRE (Java Runtime Environment). Важно е да правите разлика между тези три технологии, както и да разберете как са свързани: JVM е компонентът на платформата Java, който изпълнява програми. JRE е дисковата част на Java, която създава JVM. JDK позволява на разработчиците да създават Java програми, които могат да се изпълняват и изпълняват от JVM и JRE. Разработчиците, които

Структури на данни и алгоритми в Java, Част 1: Общ преглед

Програмистите на Java използват структури от данни за съхраняване и организиране на данни, а ние използваме алгоритми за манипулиране на данните в тези структури. Колкото повече разбирате за структурите на данни и алгоритмите и как те работят заедно, толкова по-ефективни ще бъдат вашите Java програми. Този урок стартира кратка поредица, представяща структури от данни и алгоритми. В част 1 ще научите какво представлява структурата на данните и как се класифицират структурите на данните. Също така ще научите какво е алгоритъм, как са представ

Това, което научих, играейки плячка на Windows измамници

„Обаждам ви се от Windows.“ Така отива и началната линия на добре познатата телефонна измама, където човек се обажда, претендирайки, че е техник в бюрото за помощ, за да разреши проблемите с компютъра ви. Тези измамници на Windows подхранват притесненията на хората за пробиви на данни и кражба на самоличност, за да ги подлъжат да инсталират зловреден софтуер на

Програмиране на сокети в Java: Урок

Този урок е въведение в програмирането на сокети в Java, започвайки с прост пример клиент-сървър, демонстриращ основните характеристики на Java I / O. Ще се запознаете както с оригиналния  java.io пакет, така и с NIO, неблокиращите java.nioAPI на I / O ( ), въведени в Java 1.4. И накрая, ще видите пример, който демонстрира Java мр

Сравняване на Java обекти с equals () и hashcode ()

В този Java Challenger ще научите как equals()и hashcode()комбинирате, за да направите сравненията на обекти ефективни и лесни във вашите Java програми. Най-просто казано, тези методи работят заедно, за да проверят дали два обекта имат еднакви стойности.   Без equals()и hashcode()би трябвало да създадем много големи " if" сравнения, сравнявайки всяко поле от обект. Това би направило кода наистина объркващ и труден за чет

Java 101: Разбиране на Java нишките, Част 1: Представяне на нишки и изпълними

Тази статия е първата от четири части от серия Java 101 , изследващи Java нишки. Въпреки че си мислите, че нишките в Java ще бъдат предизвикателни за разбиране, възнамерявам да ви покажа, че нишките са лесни за разбиране. В тази статия ви запознавам с нишките и изпълнимите програми на Java. В следващите статии ще изследваме синхронизацията (чрез заключване), проблемите със синхрони

Най-добрият език за програмиране, който да научите сега

Най-добрият начин да разберем компютрите и да ги приведем към нашата воля е да се научим да говорим на техния език, така че те да разбират нашите команди. Хората, които обичат фантастичните романи, понякога си въобразяват, че учат магически заклинания и заклинания. Практически мислещите използват по-обоснован език, за да представят логическата структура на числата и данните. Във всеки случай всичко е свързано с разбирането коя последователност от натискания на клавиши и кликван

12 Pythons за всяка нужда от програмиране

Когато изберете Python за разработване на софтуер, вие избирате голяма езикова екосистема с богатство от пакети, покриващи всякакви нужди от програмиране. Но в допълнение към библиотеките за всичко - от разработка на графичен интерфейс до машинно обучение, можете да избирате и от редица изпълнения на Python - и някои от тези изпълнения може да са по-подходящи за случая на употреба, който имате под ръка, отколкото други. Ето кратка обиколка на дистрибуциите на Python, от стандартното изпълнение (CPython) до версии, оптимизирани за скорост (PyPy), за специални случаи на употреба (Anaconda, Active

Код на Visual Studio срещу Visual Studio: Как да изберем

В продължение на десетилетия, когато трябваше да работя сутрин, стартирах Microsoft Visual Studio (или един от неговите предшественици, като Visual C ++ или Visual InterDev), след това приготвях чай и вероятно присъствах на сутрешна среща, докато преминаваше през трудоемкото си стартиране . Щях да държа IDE отворен през целия ден, докато преминавах през цикли за разработка / тест / отстраняване на грешки, за да избегна ново забавяне при стартиране. Когато работех по проект на C ++ с ~

Как да инсталирате Python по интелигентен начин

Python е лесен за използване, приятелски настроен към начинаещия и достатъчно мощен, за да създаде стабилен софтуер за почти всяко приложение. Но това все още е софтуер като всеки друг, което означава, че може да бъде сложен за настройка и управление. В тази статия ще разгледаме как да настроим правилния начин на Python: как да изберем подходящата версия, как да предотвратим стъпването на множество версии и как да избегнем всички останали остри

Как да изтриете личните си данни от сайтовете за „намиране на хора“

Няма значение какво правите онлайн: Интернет знае тон за вас и тази информация е на едно щракване с мишката. Потърсете в който и да е сайт за търсене на хора - Spokeo, PeekYou, Whitepages, за да назовем само няколко - и шансовете са, че ще намерите страница с вашето пълно име, дата на раждане, имена на членове на семейството, текущ адрес и телефонен номер. В зависимост от агресивността на сайта, той може да предложи (за нисък членски внос или цената за регистрация на акаунт) допълнителни подробности като минали адреси, профили в социалните медии, семейно положение, трудова история, образование

Какво е JSF? Представяме ви JavaServer Faces

JavaServer Faces (JSF) е стандартната технология на Java за изграждане на базирани на компоненти, ориентирани към събития уеб интерфейси. Подобно на JavaServer Pages (JSP), JSF позволява достъп до данни и логика от страна на сървъра. За разлика от JSP, който по същество е HTML страница, пропита с възможности от страна на сървъра, JSF е XML документ, който представлява формални к

Какво представлява JRE? Въведение в Java Runtime Environment

Заедно Java Development Kit (JDK), Java Virtual Machine (JVM) и Java Runtime Environment (JRE) формират мощна трифекта от компоненти на платформата Java за разработване и стартиране на Java приложения. Преди това съм представил JDK и JVM. В този бърз урок ще научите за JRE, която е средата на изпълнение за Java. Практически погледнато, среда за изп

Изключения в Java, част 1: Основи за работа с изключения

Изключенията на Java са типове библиотеки и езикови функции, използвани за представяне и справяне с отказ на програма. Ако сте искали да разберете как се представя неуспехът в изходния код, сте попаднали на правилното място. В допълнение към общия преглед на изключенията на Java, ще ви помогна да започнете с езиковите функции на Java за хвърляне на обекти, изпробване на код, който може да се провали, ул

Машинно обучение за разработчици на Java, Част 1: Алгоритми за машинно обучение

Самоуправляващите се автомобили, софтуерът за разпознаване на лица и гласово управляваните високоговорители са изградени върху технологии и рамки за машинно обучение - и това са само първата вълна. През следващото десетилетие ново поколение продукти ще трансформира нашия свят, инициирайки нови подходи към разработването на софтуер и приложенията и продуктите, ко

Какво е Tomcat? Оригиналният контейнер за сървлети на Java

Apache Tomcat е дългогодишен контейнер за Java сервлети с отворен код, който реализира няколко основни спецификации на Java Java, а именно Java Servlet, JavaServer Pages (JSP) и WebSockets API. Проект на Apache Software Foundation, Tomcat е издаден за първи път през 1998 г., само четири години след самата Java. Tomcat стартира като референтна реализация за първия Java Servlet API и спецификацият

Полиморфизъм и наследяване в Java

Според легендата Venkat Subramaniam, полиморфизмът е най-важното понятие в обектно-ориентираното програмиране. Полиморфизмът - или способността на даден обект да изпълнява специализирани действия въз основа на неговия тип - е това, което прави Java кода гъвкав. Дизайнерски модели като Command, Observer, Decorator, Strategy и много други, създадени от Gang Of Four, всички използват някаква форма на полиморфизъм. Овладяването на тази концепция значително по

Node.js срещу Java: Епична битка за споделяне на ум от разработчици

В историята на компютрите 1995 г. беше лудо време. Първо се появи Java, след което наближи JavaScript. Имената ги караха да изглеждат като сближени близнаци наскоро откъснати, но не можеха да бъдат по-различни. Един от тях е компилиран и набран статично; другият се интерпретира и динамично пише. Това е само началото на техническите разлики между тези два изключ

Какво е LLVM? Силата зад Swift, Rust, Clang и др

Новите езици и подобренията на съществуващите се разрастват в целия пейзаж на разработката. Mozilla's Rust, Apple Swift, Jetbrains's Kotlin и много други езици предоставят на разработчиците нов избор от възможности за скорост, безопасност, удобство, преносимост и мощност. Защо сега? Една голяма причина са новите инструменти за изграждане на езици - по-специално компилаторите. И главен сред тях е LLVM, проект с отворен код, първоначално разработен от създат

Наследяване срещу състав: Как да изберем

Наследяването и композицията са две техники за програмиране, които разработчиците използват, за да установят връзки между класове и обекти. Докато наследяването извлича един клас от друг, съставът определя клас като сбор от неговите части. Класовете и обектите, създадени чрез наследяване, са тясно свързани, тъй като промяната на родителя или суперкласа в връзка за наследяване рискува да счупи вашия код. Класовете и обектите, създадени

Проучване на виртуални и абстрактни методи в C #

Езикът за програмиране C # осигурява поддръжка както за виртуални, така и за абстрактни методи, всеки от които има различни предимства. Използвате виртуални методи за внедряване на късно свързване, докато абстрактните методи ви позволяват да принудите подкласовете от типа методът да бъде изрично заменен. В този пост ще представя дискусия както за виртуалните, така и за абстрактните методи и кога те трябва да бъдат използвани. Виртуален метод е този, който е деклариран като виртуален в базовия клас. Методът се декларира като виртуален, като се посочи клю

Какво е NoSQL? Бази данни за бъдеще в облак

Един от най-фундаменталните избори, които трябва да се направи при разработването на приложение, е дали да се използва SQL или NoSQL база данни за съхранение на данните. Конвенционалните SQL (т.е. релационни) бази данни са плод на десетилетия на развитие на технологиите, добри практики и реални тестове за стрес. Те са предназначени за надеж

Устойчивост на Java с JPA и Hibernate, Част 1: Обекти и взаимоотношения

API за устойчивост на Java (JPA) е спецификация на Java, която преодолява пропастта между релационни бази данни и обектно-ориентирано програмиране. Този урок от две части представя JPA и обяснява как Java обектите се моделират като JPA обекти, как се дефинират връзките на обекти и как да се използват JPA EntityManagerс модела на хранилището във вашите Java приложения. Имайте предвид, че този урок използва Hibernate като доставчик на JPA. Повечето концепции могат да бъдат разширени и към други рамки за устойчивост на Java. Какво представлява JPA? Вижте "Какво е JPA? Въведение в API за устойчив

Започнете с ламбда изрази в Java

Преди Java SE 8, анонимните класове обикновено се използваха за предаване на функционалност на метод. Тази практика замъглява изходния код, което го прави по-трудно за разбиране. Java 8 елиминира този проблем, като въведе ламбда. Този урок първо въвежда функцията за ламбда език, след това предоставя по-подробно въведе

Go pro: Ръководството на Power Power за PowerShell

Ако сте се борили с Windows 10, несъмнено сте чували за PowerShell. Ако наскоро сте се опитали да направите нещо изискано с Win7 / 8.1, вероятно PowerShell също е излязъл. След години, в които разчитате на командния ред на Windows и събраните партидни файлове, е време да насочите вниманието си към нещо по-мощно, по-адаптивно - по-добро. PowerShell е огромно допълнение към инструментариума на Windows и може да предизвика малко страх предвид тази огромност. Това скриптов език ли е, командна обвивка, восък за под? Трябва ли да свържете кратка команда с екземпля

Linux: Лубунту по-добър ли е от Xubuntu?

Lubuntu срещу Xubuntu Ubuntu има редица различни вкусове, включително Lubuntu и Xubuntu. И двата вида вкусове на Ubuntu предлагат леки настолни компютри, но кой от тях е по-добър? Писател в Linux и Ubuntu наскоро прецени плюсовете и минусите на Lubuntu и Xubuntu: През годините Lubuntu и Xubuntu са два популярни вкуса, които осигуряват алтернатива на много хора, които са предпочели нещо различно от ванилия Ubuntu с работния плот на Unity. Lubuntu и Xubuntu са изборът на ентусиасти и потребители на Linux, които предпочитат да имат постно или леко Linux дистрибуция или такова, което ще осигури н

Уеб услуги в Java SE, Част 2: Създаване на SOAP уеб услуги

JAX-WS поддържа базирани на SOAP уеб услуги. Част 2 от тази поредица от четири части за уеб услугите на Java SE дефинира базирана на SOAP уеб услуга за преобразуване на единици, изгражда и след това проверява тази уеб услуга локално чрез лекия HTTP сървър по подразбиране (обсъден в част 1), интерпретира WSDL документа на услугата и получава достъп до услугата от прост клиент. Дефиниране на уеб услуга за преобразуване на единици Уеб услугата за преобразуване на единици, която нарекох UC, се състои от четири функции за преобразуване между сантиметри и инчове и между градуси по Фаренхайт и градус

Защо Redis бие Memcached за кеширане

Memcached или Redis? Това е въпрос, който почти винаги възниква при всяка дискусия относно изтласкването на повече производителност от съвременното уеб-приложение, управлявано от бази данни. Когато трябва да се подобри производителността, кеширането често е първата предприета стъпка, а Memcached или Redis обикновено са първите места за

Как да получите Siri на вашето устройство с Android

Въпреки че съм доволен от моя телефон Samsung Galaxy S II Android, имам и лош случай на завист от Siri. Аз също бих искал „личен асистент“, който отговаря на заявките на естествен език като „Премести срещата ми от 3 на 4“. И съм сигурен, че не съм сам, за което свидетелстват милионите резултати от търсенето в Google за „Siri за Android“. Можете ли да създадете подобно на

Функционално програмиране за разработчици на Java, част 1

Java 8 запозна разработчиците на Java с функционално програмиране с ламбда изрази. Това издание на Java ефективно уведомява разработчиците, че вече не е достатъчно да се мисли за програмиране на Java само от императивната, обектно-ориентирана перспектива. Разработчикът на Java също трябва да може да мисли и кодира, използвайки декларативната функционална парадигма. Този урок представя основите на функционалното програмиране. Ще започна с терминолог

Обяснено асоцииране, агрегиране и състав в ООП

Унифицираният език за моделиране (UML) е фактически стандарт за моделиране на обектно-ориентирани системи. В UML има пет различни типа връзки: асоцииране, агрегиране, състав, зависимост и наследяване. Тази статия представя дискусия на първите три от тези концепции, оставяйки останалите на друга публикация в блога. Асоциация в обектно ориентирано програмиран

Инсталиране на Oracle Java SE 11 на Ubuntu 18.04

Тази статия е кратко ръководство за потребители на Ubuntu Linux, които инсталират Java 11, текущата версия на Java за дългосрочна поддръжка (LTS). Накратко ще представя случая за мигриране на вашата кодова база към Java 11, след което ще ви преведа през стъпките за инсталиране на Oracle JDK 11 с помощта на командния ред на Ubuntu. Имайте предвид, че това е кратко ръководство за потребителите на Ubuntu, които инсталират Java 11. Няма да се впускам твърде дълбоко в функции на Java 11 или проблеми с миграцията, които са обхванати много другаде. Случая

Джулия срещу Python: Кое е най-доброто за науката за данни?

Сред многото случаи на използване, които Python обхваща, анализът на данни се превърна в може би най-големият и най-значимият. Екосистемата на Python е заредена с библиотеки, инструменти и приложения, които правят работата на научните изчисления и анализа на данни бърза и удобна. Но за разработчиците зад езика Джулия - насочени конкретно към "научни изчисления, машинно обучение, извличане на данни, мащабна линейна алгебра, разпределени и паралелни изчисления" -Python не е бърз или удобен доста

Какво е машинно обучение? Интелигентност, получена от данни

Дефинирано машинно обучение Машинното обучение е клон на изкуствения интелект, който включва методи или алгоритми за автоматично създаване на модели от данни. За разлика от системата, която изпълнява задача, следвайки изрични правила, системата за машинно обучение се учи от опит. Докато система, базирана на правила, ще изпълнява задача по един и същи начин всеки път (за добро или лошо), производителността на системата за машинно обучение може да се подобри чрез обучение, чрез излагане на алгоритъма на повече д

Научете Java от нулата

И така, искате да програмирате в Java? Това е чудесно и сте попаднали на правилното място. Серията Java 101 предоставя самоуправляващо се въведение в програмирането на Java, като се започне с основите и се обхванат всички основни концепции, които трябва да знаете, за да станете продуктивен Java разработчик. Тази поредица е техническа, с много примери за кодове, които да ви помогнат да разберете концепциите, докато вървим напред. Предполагам, че вече имате известен опит в програмирането, но не и в Java. Тази първа статия представя платфо

Преглед: VirtualBox 5.0 срещу VMware Workstation 11

Oracle VirtualBox и VMware Workstation го изтласкват от няколко години. VirtualBox заема ъгъла „безплатен и с отворен код“ на пръстена, докато VMware Workstation е собствено търговско приложение. Срещу цената си Workstation обикновено води до функции и производителност, като същевременно осигурява тясн

Java 9 е тук: Всичко, което трябва да знаете

Java 9 - официално, Java Platform Standard Edition версия 9 - най-накрая е тук и неговият Java Development Kit (JDK) е достъпен за изтегляне от разработчиците. Той има няколко важни, но противоречиви нови функции, но също така е последният от редицата за стария стил на доставка на Java. Къде да изтеглите Java 9 JDK Oracle публикува Java SE 9 JDK и документация за изтегляне от разработчиците. Ключовите нови функции в Java 9 Дебютирайки почти три години

Как да броим по групи в R

Преброяването от множество групи - понякога наричани отчети за кръстосани таблици - може да бъде полезен начин за разглеждане на данни, вариращи от проучвания на общественото мнение до медицински тестове. Например как хората гласуваха по пол и възрастова група? Колко разработчици на софтуер, които използват и R, и Python, са мъже срещу жени? Има много начини да се направи

Какво разочарова уеб разработчиците? Уеб браузъри

Програмистите, анкетирани от Mozilla през втората половина на 2019 г., относно техния опит с уеб платформата, инструментите и възможностите бяха най-вече доволни, но те посочиха някои недостатъци, особено проблеми с поддръжката на браузъра. Като цяло 59,8 процента съобщават, че са доволни от мрежата, докато 16,3 са много доволни. Само 6,8 процента са недоволни и 2,2 процента са много недоволни. Тези констатации са част от до

Използвайте константи за по-безопасен и по-чист код

В този урок ще се разшири идеята за изброените константи, както е описано в Ерик Армстронг, "Създаване на изброени константи в Java." Силно препоръчвам да прочетете тази статия, преди да се потопите в нея, тъй като ще предположа, че сте запознати с понятията, свързани с изброените константи, и ще разгледам някои от примерните кодове, които Ерик представи. Понятието константи При работата с изброените константи ще обсъдя изброената част от концепцията в края на статията. Засега ще се съсредоточим само върху постоянния аспект. Константите са основно променливи, чиято стойност не може да се проме

Използване на JavaScript и формуляри

Javascript носи много шапки. Можете да използвате JavaScript за създаване на специални ефекти. Можете да използвате JavaScript, за да направите своите HTML страници „по-интелигентни“, като използвате възможностите за вземане на решения. И можете да използвате JavaScript за подобряване на HTML формите. Това последно приложение е от особено значение. От всички шапки, които JavaScript може да носи, функц

Защо методите getter и setter са зло

Не възнамерявах да стартирам поредица „е зло“, но няколко читатели ме помолиха да обясня защо споменах, че трябва да избягвате методите get / set в колоната от миналия месец „Защо разширява е зло“. Въпреки че методите getter / setter са нещо обичайно в Java, те не са особено обектно ориентирани (OO). Всъщност те могат да навредят на поддръжката на вашия

StringBuffer срещу String

Java осигурява StringBufferи Stringкласове и Stringклас се използва за манипулиране на символни низове, които не могат да бъдат променяни. Просто казано, обектите от тип Stringса само за четене и неизменни. В StringBufferклас се използва за представяне знаци, които могат да бъдат променени. Значителната разлика в производителността между тези

Как да използвам твърдения в Java

Писането на програми, които работят правилно по време на изпълнение, може да бъде предизвикателство. Това е така, защото нашите предположения за това как ще се държи нашият код при изпълнение често са погрешни. Използването на функцията за твърдения на Java е един от начините да проверите дали вашата логика на програмиране е здрава. Този урок представя твърдения за Java. Първо ще

Какво е EJB? Еволюцията на Enterprise JavaBeans

Enterprise JavaBeans (EJB) е спецификация за разработване на широкомащабни, разпределени бизнес приложения на платформата Java. EJB 1.0 е издаден през 1998 г. Най-актуалната версия, EJB 3.2.3, е приета за включване в Джакарта EE, където ще бъде преименувана на Jakarta Enterprise Beans. EJB архитектура

Инициализация на клас и обект в Java

Класовете и обектите в Java трябва да бъдат инициализирани, преди да бъдат използвани. По-рано сте научили, че полетата на класа се инициализират до стойности по подразбиране, когато се зареждат класове и че обектите се инициализират чрез конструктори, но има и повече за инициализация. Тази статия представя всички функции на Java за инициализиране на класове и обекти.изтегляне Вземете кода Изтеглете изходния код, например приложения в този урок. Създадено от Jeff Friesen за JavaWorld. Как да инициализираме Java

Ефективно обработване на Java NullPointerException

Не е необходим много опит в разработката на Java, за да научите от първа ръка какво е NullPointerException. Всъщност един човек подчерта, че се справя с това като грешка номер едно, която Java разработчиците правят. Блогирах преди това за използването на String.value (Object) за намаляване на нежеланите NullPointerExceptions. Има няколко други прости техники, к

Какво представлява Kubernetes? Следващата ви платформа за кандидатстване

Kubernetes е популярна платформа с отворен код за оркестрация на контейнери - тоест за управление на приложения, изградени от множество, до голяма степен самостоятелни изпълнения, наречени контейнери. Контейнерите стават все по-популярни от началото на проекта за контейнеризиране на Docker през 2013 г., но големите разпределени контейнерирани приложения мог

Полиморфизъм на Java и неговите видове

Полиморфизмът се отнася до способността на някои образувания да се срещат в различни форми. Популярно е представено от пеперудата, която се превръща от ларва в какавида в имаго. Полиморфизмът съществува и в езиците за програмиране, като техника за моделиране, която ви позволява да създадете един интерфейс към различни опер

Как да върнете вашия ъпгрейд на Windows 10

Стотици милиони потребители на Windows 10 не могат да грешат - или могат? Всеки ден се чувам с хора, които са опитвали надстройката на Win10 и поради различни причини - счупени драйвери, несъвместими програми, непознаване, страх от подслушване, съмнение относно бъдещето на Win10 - искат да се върнат към добрия си Windows 7 или 8.1 . Ако сте извършили надстройка с помощта на инструментите на Microsoft и помазаните техники, връщането назад трябва да е лесно. Оперативен термин: „трябва“. За съжаление много хора откриват, че Win10 е еднопосочно пътуване - понякога по

Структури на данни и алгоритми в Java, Част 4: Единично свързани списъци

Подобно на масивите, които бяха въведени в Част 3 от тази поредица от уроци, свързаните списъци са основна категория на структурата на данни, върху която могат да се основават по-сложни структури от данни. За разлика от поредицата от елементи обаче, свързаният списък е поредица от възли, където всеки възел е свързан с предходния и следващия възел в последователността. С

Защо трябва да използвате Docker и контейнери

Книга, публикувана през 1981 г., наречена  Nailing Jelly to a Tree , описва софтуера като „мъгляв и труден за здраво захващане“. Това беше вярно през 1981 г. и не по-малко вярно почти четири десетилетия оттогава. Софтуерът, независимо дали е приложение, което сте закупили, или такова, което сте създали сами, остава труден за внедряване, труден за управле

Основи на байт кода

Добре дошли в друга част от „Под капака“. Тази колона дава на разработчиците на Java представа какво се случва под техните работещи Java програми. Статията от този месец първоначално разглежда набора от инструкции за байт кода на виртуалната машина Java (JVM). Статията обхваща примитивни типове, оперирани от байт кодове, байт кодове, които преобразуват между типове, и байт кодове, които работят на стека. Следващите статии ще обсъждат други членове на семейст

Какво е Maven? Изграждане и управление на зависимости за Java

Apache Maven е крайъгълен камък в разработката на Java и най-използваният инструмент за управление на компилация за Java. Рационализираният, базиран на XML модел на Maven позволява на разработчиците бързо да описват или схващат очертанията на всеки Java-базиран проект, което прави стартирането и споделянето на нови проекти бързо. Maven също така поддържа разработено с тест, дългосрочна поддръжка на проекти, а декларативната му конфигурация и широка гама от приставки го правят популярна опция за CI / CD. Тази статия е кратко въведение в Maven, включително POM на Maven и стр

Наследяване в Java, част 1: ключовата дума extends

Java поддържа повторно използване на класа чрез наследяване и композиране. Този урок от две части ви учи как да използвате наследяването във вашите Java програми. В част 1 ще научите как да използвате extendsключовата дума за извличане на дъщерен клас от родителски клас, извикване на конструктори и методи на родителски клас и замяна на методи. В част 2 ще обиколите java.lang.Object, което е суперкласът на Java, от който наследява всеки друг клас. За да завършите обучението си за наследяване, не забравяйте да разгледате моя съвет за Java, обясняващ кога да използвате композиция срещу наследяване

GitHub прави частни репо сделки безплатни за екипи

GitHub направи частни хранилища с неограничени сътрудници достъпни за всички акаунти в GitHub, което означава, че основните функции вече са безплатни за всички, включително за екипите. Преди съобщението на GitHub от 14 април, организациите трябваше да се абонират за платен план, ако искаха да използват GitHub за частно разви

Преглед: 6 IDE на Python отиват на тепиха

От всички показатели, които бихте могли да използвате, за да прецените популярността и успеха на даден език, един сигурен фактор е броят на средите за разработка, достъпни за него. Нарастването на популярността на Python през последните няколко години донесе със себе си силна вълна от IDE поддръжка с инструменти, насочени как

Суифт срещу Цел-С: 10 причини бъдещето да благоприятства Суифт

Езиците за програмиране не умират лесно, но магазините за разработки, които се придържат към избледняващите парадигми, умират. Ако разработвате приложения за мобилни устройства и не сте разследвали Swift, обърнете внимание: Swift не само ще измести Objective-C, когато става въпрос за разработване на приложения за Mac, iPhone, iPad, Apple Watch и бъдещите устройства, но също така ще замени C за вградено програмиране на платформи на Apple. Благодарение на няколко ключови функции, Swift има потенциала да се превърне в фактически език за програмиране за създаване на завладяващи, отзивчиви, ориентир

Какво ново в Angular 10.1

Angular 10.1.0, последваща версия на Angular 10, беше пусната на 2 септември, като донесе подобрения в производителността на компилатора и рутера заедно с нов инструмент за извличане на съобщения.  Angular 10 стана общодостъпна като производствена версия на 24 юни. Основното надграждане на разработената от Google рамка, базирана

Какво е родно в облака? Съвременният начин за разработване на софтуер

Терминът „роден в облака“ се разпространява много, особено от доставчиците на облак. Не само това, но дори има своя собствена фондация: Cloud Native Computing Foundation (CNCF), стартирана през 2015 г. от Linux Foundation. Дефинирано „Cloud-native“ Най-общо „облачно“ е подход за изграждане и изпълнение на приложения, който из

Какво е без сървър? Обяснено безсървърно изчисление

Разработчиците прекарват безброй часове в решаване на бизнес проблеми с код. След това е ред на оперативния екип да прекара безброй часове, като първо измисли как да получи кода, който разработчиците записват и изпълняват на всички налични компютри, и второ, като се увери, че тези компютри работят безпроблемно. Втората част наистина е безкрайна задача. Защо не оставите тази част на някой друг? Голяма част от иновациите в ИТ през последните две десетилетия - виртуални машини, изчислителни облаци, контейнери - бяха съсредоточени върху това да не се налага да мислит

24 библиотеки на Python за всеки разработчик на Python

Искате добра причина за смазващия успех на езика за програмиране Python? Не търсете повече от огромната колекция от библиотеки, налични за Python, както местни, така и библиотеки на трети страни. С толкова много библиотеки на Python, обаче, не е изненадващо, че някои не получават цялото внимание, което заслужават. Освен това програмистите, ко

Преглед: Visual Studio 2017 е най-добрият досега

Преди две години, когато прегледах Visual Studio 2015, си отидох с мисълта, че IDE на Microsoft се превърна в най-сложния продукт досега и Microsoft ще трябва да го опрости в бъдеще. Сбърках в едно отношение: Въпреки че Microsoft изхвърли няколко функции за Visual Studio 2017, добави много повече. Но със сигурност Microsoft успя да предостави по-опростена и по-пъргава IDE във Visual Studio 2017, въпреки че увеличи възможностите си. За разлика от някои предишни версии на Vis

10 основни съвета за производителност за MySQL

Както при всички релационни бази данни, MySQL може да се окаже сложен звяр, който може да започне да спира в един момент, оставяйки вашите приложения на покой и бизнеса ви на линия. Истината е, че често срещаните грешки са в основата на повечето проблеми с производителността на MySQL. За да сте сигурни, че сървърът ви M

Какво е Node.js? Обяснено е изпълнението на JavaScript

Мащабируемостта, латентността и производителността са ключови показатели за ефективност на уеб сървърите. Поддържането на ниска латентност и висока производителност при мащабиране и намаляване не е лесно. Node.js е среда за изпълнение на JavaScript, която постига ниска латентност и висока производителност, като използва „неблокиращ“ подход към обслужването на заявките. С други

Как да се ориентирате в измамно простия модел на Singleton

Моделът Singleton е измамно прост, дори и особено за разработчиците на Java. В тази класическа статия за JavaWorld Дейвид Гири демонстрира как разработчиците на Java прилагат единични модели, с примери за кодове за многопоточност, зареждане на класове и сериализация, използвайки шаблона Singleton. Той завършва с поглед върху внедряването на сингълтън регистри, за да се уточнят сингълтони по време на изпълнение. Понякога е подходящо да имате точно един екземпляр на клас: мениджърите на прозорци, буферите за п

7 платформи с нисък код, които разработчиците трябва да знаят

Някои разработчици се свиват при мисълта да използват платформи с нисък код, които ги отвеждат извън техните Java, .NET и JavaScript среди, или ги отделят от техните IDE, автоматизирани тестови рамки и платформи devops. Други са възприели платформите с нисък код като инструменти, които позволяват бърза разработка на приложения, поддържат сложни интеграции и предоставят м