int f(int[] array, int x) {
int low = 0;
int high = array.length - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
int midVal = array[mid];
if (midVal < x)
low = mid + 1;
else if (midVal > x)
high = mid - 1;
else
return mid;
}
return -(low + 1);
}
четвер, 26 листопада 2015 р.
Алгоритм бинарного поиска
Аглоритм линейного поиска
int f(int[] array, int x) {
for (int k = 0; k < array.length; k++) {
if (array[k] == x) {
return k;
}
}
return -1;
}
Инвертирование одномерного массива
void f(int[] array) {
for (int k = 0; k < array.length / 2; k++) {
int tmp = array[k];
array[k] = array[array.length - 1 - k];
array[array.length - 1 - k] = tmp;
}
}
Задача: Изменить порядок следования элементов массива на обратный, используя только одну вспомогательную переменную.
Алгоритм обмена елементами
void f(int[] array, int i, int j) {
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
середа, 25 листопада 2015 р.
Алгоритм сортировки вставками
public class InsertionSorter {
public static void sort(int[] arr) {
for (int k = 1; k < arr.length; k++) {
int newElement = arr[k];
int location = k - 1;
while (location >= 0 && arr[location] > newElement) {
arr[location + 1] = arr[location];
location--;
}
arr[location + 1] = newElement;
}
}
}
На кожному кроці алгоритму ми вибираємо один з елементів вхідних даних і вставляємо його на потрібну позицію у вже відсортованому списку до тих пір, доки набір вхідних даних не буде вичерпано. Метод вибору чергового елементу з початкового масиву довільний; може використовуватися практично будь-який алгоритм вибору. Зазвичай (і з метою отримання стійкого алгоритму сортування), елементи вставляються за порядком їх появи у вхідному масиві.BubbleSorter
public class BubbleSorter {
public static void sort(int[] arr) {
for (int barrier = arr.length - 1; barrier >= 0; barrier--) {
for (int index = 0; index < barrier; index++) {
if (arr[index] > arr[index + 1]) {
int tmp = arr[index];
arr[index] = arr[index + 1];
arr[index + 1] = tmp;
}
}
}
}
}
четвер, 19 листопада 2015 р.
Boolean
Є три типи операцій:
1. Запереченя
2. Канкатенація AND
3. Обєднання OR
Заперечення а або б рівне запереченю а і запереченню в
1. Запереченя
2. Канкатенація AND
3. Обєднання OR
Заперечення а або б рівне запереченю а і запереченню в
середа, 18 листопада 2015 р.
Token Java
1. Ключові слова (keywords)
зарезервовані слова, які не можна використовувати для власних потреб при написанні коду.
В java 50 зарезервованих слів
2. Літерали (literal)
це те як ми ініціалізуємо змінні.
Integer literal:
- цифри 0-9 (12378345)
- нижнє підкреслення, щоб розділяти розряди (12_378_345)
- 16-ва система числення (0xBCEOE9 це шістнадцяткове представлення числа12378345)
- суфікси l L (12378345L)
- знак + -
Floating Point Literal:
- крапка-розподілювач (.) (12354.00)
- степінь десятки або експонента е Е (1.2378345е7f) - це означає, що число треба помножити на 10 в степені 7. f вкінці означає, що число типу флоат
- суфікси f F d D. Флоат і дабл
Boolean literal - true false
Characteral literal
- символи a-z | A-Z | 0-9 | а-я
- спеціальні символи
\b backspace
\t табуляція
\n перенос каретки
\f
\r
\'
\''
String literal
Null liteal - null. Ми можемо зарезервувати змінну зі значенням null
3. Розподілювачі (separators)
() {} [] ; , . ... @ ::
4. Operator
! унарний оператор. Це логічне заперечення
<> бінарний оператор
% залишок від ділення
Перегрузка операторів - в залежності від контексту операторам відповідають різні сутності
Наприклад,
"123" + "123" = "123123" канканація String
123+123=246 додавання int
5. Ідентифікатори
це будь-які комбінації Java-літер або чисел , крім ключових слів
зарезервовані слова, які не можна використовувати для власних потреб при написанні коду.
В java 50 зарезервованих слів
2. Літерали (literal)
це те як ми ініціалізуємо змінні.
Integer literal:
- цифри 0-9 (12378345)
- нижнє підкреслення, щоб розділяти розряди (12_378_345)
- 16-ва система числення (0xBCEOE9 це шістнадцяткове представлення числа12378345)
- суфікси l L (12378345L)
- знак + -
Floating Point Literal:
- крапка-розподілювач (.) (12354.00)
- степінь десятки або експонента е Е (1.2378345е7f) - це означає, що число треба помножити на 10 в степені 7. f вкінці означає, що число типу флоат
- суфікси f F d D. Флоат і дабл
Boolean literal - true false
Characteral literal
- символи a-z | A-Z | 0-9 | а-я
- спеціальні символи
\b backspace
\t табуляція
\n перенос каретки
\f
\r
\'
\''
String literal
Null liteal - null. Ми можемо зарезервувати змінну зі значенням null
3. Розподілювачі (separators)
() {} [] ; , . ... @ ::
4. Operator
! унарний оператор. Це логічне заперечення
<> бінарний оператор
% залишок від ділення
Перегрузка операторів - в залежності від контексту операторам відповідають різні сутності
Наприклад,
"123" + "123" = "123123" канканація String
123+123=246 додавання int
5. Ідентифікатори
це будь-які комбінації Java-літер або чисел , крім ключових слів
Парадигма Java
1. Строготипізована
кожній змінній потрібно зазначати тип
2. Компільована
це оначає, що джава-файл ми не можемо запустити. Потрібно перетворити його в клас-файл і запустити цей клас-файл. Клас-файл є продуктом компіляції
3. Кросс-платформена
write once, run anywhere
4. Обєктно-орієнтована
кожній змінній потрібно зазначати тип
2. Компільована
це оначає, що джава-файл ми не можемо запустити. Потрібно перетворити його в клас-файл і запустити цей клас-файл. Клас-файл є продуктом компіляції
3. Кросс-платформена
write once, run anywhere
4. Обєктно-орієнтована
понеділок, 16 листопада 2015 р.
Step by Step tutorial to create a REST/SOAP service/client using Apache CXF
http://blog.sortedset.com/step-by-step-web-services-with-tomcat-tomee-apache-cxf-eclipse/
http://www.asjava.com/web-services/web-services-hello-world-example-with-cxf/
https://www.youtube.com/watch?v=Vt97IU7xNJs
http://www.javacodegeeks.com/2013/06/developing-soap-web-service-using-apache-cxf.html
http://www.javatips.net/blog/2012/02/cxf-restful-tutorial
http://www.javatips.net/blog/2012/02/cxf-restful-client
http://www.javatips.net/blog/2012/04/expose-cxf-service-with-rest-and-soap
http://www.javatips.net/blog/2011/09/create-cxf-client
https://angelozerr.wordpress.com/2011/08/24/jaxwscxf_step2/#WSHelloServiceImpl
APACHE CXF RESTFUL WEB SERVICE EXAMPLE
http://www.simplecodestuffs.com/create-and-deploy-web-service-and-web-service-client-in-eclipse/
http://www.javacodegeeks.com/2013/06/developing-soap-web-service-using-apache-cxf.html
https://www.ibm.com/developerworks/ru/library/ws-soapvalid/
http://www.benchresources.net/apache-cxf-jax-rs-restful-web-service-integrating-with-spring-hibernate/
http://www.tutorialspoint.com/restful/restful_quick_guide.htm
https://mjtoolbox.wordpress.com/2014/03/30/building-restful-webserviceclient-using-wildfly-8-0-0-final-resteasy-and-maven-deployment/
http://www.dineshonjava.com/2013/06/restful-web-services-with-jersey-jax-rs.html#.VqpAxPl96Uk
http://blog.sortedset.com/step-by-step-web-services-with-tomcat-tomee-apache-cxf-eclipse/
http://www.asjava.com/web-services/web-services-hello-world-example-with-cxf/
https://www.youtube.com/watch?v=Vt97IU7xNJs
http://www.javacodegeeks.com/2013/06/developing-soap-web-service-using-apache-cxf.html
http://www.javatips.net/blog/2012/02/cxf-restful-tutorial
http://www.javatips.net/blog/2012/02/cxf-restful-client
http://www.javatips.net/blog/2012/04/expose-cxf-service-with-rest-and-soap
http://www.javatips.net/blog/2011/09/create-cxf-client
https://angelozerr.wordpress.com/2011/08/24/jaxwscxf_step2/#WSHelloServiceImpl
APACHE CXF RESTFUL WEB SERVICE EXAMPLE
http://www.simplecodestuffs.com/create-and-deploy-web-service-and-web-service-client-in-eclipse/
http://www.javacodegeeks.com/2013/06/developing-soap-web-service-using-apache-cxf.html
https://www.ibm.com/developerworks/ru/library/ws-soapvalid/
http://www.benchresources.net/apache-cxf-jax-rs-restful-web-service-integrating-with-spring-hibernate/
http://www.tutorialspoint.com/restful/restful_quick_guide.htm
https://mjtoolbox.wordpress.com/2014/03/30/building-restful-webserviceclient-using-wildfly-8-0-0-final-resteasy-and-maven-deployment/
http://www.dineshonjava.com/2013/06/restful-web-services-with-jersey-jax-rs.html#.VqpAxPl96Uk
http://blog.sortedset.com/step-by-step-web-services-with-tomcat-tomee-apache-cxf-eclipse/
How to deploy project in Tomcat
1. download Tomcat http://tomcat.apache.org/download-80.cgi
2. unzip
3. go to D:\Program\apache-tomcat-8.0.28-windows-x64\apache-tomcat-8.0.28\bin and click on startup.bat
Click on shutdown.bat if you want to close tomcat
4. go to browser and open localhost:8080
5. the page with message "If you're seeing this, you've successfully installed Tomcat. Congratulations!"
6. go to D:\Program\apache-tomcat-8.0.28-windows-x64\apache-tomcat-8.0.28\conf and open toncat-user.xml
7. edit file
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
8. go to localhost:8080 and click on "Manager App" button. Login by admin/admin
9. the page with projects should be opened
10. create in Eclipse project
11. click on File/Export/Web/War file
12. go to Tomcat and deploy war file
2. unzip
3. go to D:\Program\apache-tomcat-8.0.28-windows-x64\apache-tomcat-8.0.28\bin and click on startup.bat
Click on shutdown.bat if you want to close tomcat
4. go to browser and open localhost:8080
5. the page with message "If you're seeing this, you've successfully installed Tomcat. Congratulations!"
6. go to D:\Program\apache-tomcat-8.0.28-windows-x64\apache-tomcat-8.0.28\conf and open toncat-user.xml
7. edit file
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
8. go to localhost:8080 and click on "Manager App" button. Login by admin/admin
9. the page with projects should be opened
10. create in Eclipse project
11. click on File/Export/Web/War file
12. go to Tomcat and deploy war file
How to check what services are in run and kill proces in Windows using console.
1. c:\> cd c:\windows\system32
2. C:\WINDOWS\system32>netstat -o -n -a | findstr 8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 4184
3. C:\WINDOWS\system32> taskkill /F /PID 4184
SUCCESS: Sent termination signal to the process with PID 4184.
2. C:\WINDOWS\system32>netstat -o -n -a | findstr 8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 4184
3. C:\WINDOWS\system32> taskkill /F /PID 4184
SUCCESS: Sent termination signal to the process with PID 4184.
четвер, 5 листопада 2015 р.
Курси по Big Data
http://newprolab.com/bigdata/?utm_source=datareview.info&utm_medium=referral&utm_campaign=interviewPetrov5.08.2015
понеділок, 2 листопада 2015 р.
SQL fundamentals
http://jtest.ru/bazyi-dannyix/
https://drive.google.com/open?id=0B82wCxQRWVScdjBVcVktV3NTVGc
https://drive.google.com/open?id=0B82wCxQRWVScMVlsZkhiR1pLS2c
https://drive.google.com/open?id=0B82wCxQRWVScdjBVcVktV3NTVGc
https://drive.google.com/open?id=0B82wCxQRWVScMVlsZkhiR1pLS2c
Mobile testing links
1. https://drive.google.com/open?id=0B82wCxQRWVScSTZ6RE1ObTVwMlk
2. https://drive.google.com/open?id=0B82wCxQRWVScTXdjR3pFeUdZTUE
3. https://drive.google.com/open?id=0B82wCxQRWVScT2ZjVzQyV1BTSk0
2. https://drive.google.com/open?id=0B82wCxQRWVScTXdjR3pFeUdZTUE
3. https://drive.google.com/open?id=0B82wCxQRWVScT2ZjVzQyV1BTSk0
The sample of automation strategy
1. When we
can start to automate:
·
Stability of the product/application is ensured;
·
Interface to be tested has been identified;
·
Scope of automation has been defined;
·
Individual testcases to be automated have been identified;
·
The right tool has to be decided
Virtual Private Network
VPN technology (Virtual Private Network) enables mobile and remote users to set
up secure connections to the company main office network. The advantage of VPN access
is that a user with the VPN connection to the company network can work in the same
network environment as if the computer is directly connected to the local network on the
work place. To create such connections, user just needs Internet access: dial-up, DSL, or
cable; and there is no need to perform long-distance calls or rent data transfer channels.
This guide describes the usage of SSL VPN (Secure Socket Layer VPN).
Links for MapReduce Haddop Cloudera Manager
1. MapReduce или подсчеты за пределами возможностей памяти и процессора
2. Hadoop configuration & performance tuning
3. Hadoop и хранение Больших данных: От «эксперимента» к продукту
4. Survey on Methodology & Examples of Mapper / Reducer /Combiner for Big data
5. Resource Allocation for Jobs and Applications
6. Hadoop Cluster Setup
7. Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce
8. Big Data от А до Я. Часть 2: Hadoop
9. Утилиты командной строки могут быть в 235-раз быстрее вашего Hadoop кластера
10.
2. Hadoop configuration & performance tuning
3. Hadoop и хранение Больших данных: От «эксперимента» к продукту
4. Survey on Methodology & Examples of Mapper / Reducer /Combiner for Big data
5. Resource Allocation for Jobs and Applications
6. Hadoop Cluster Setup
7. Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce
8. Big Data от А до Я. Часть 2: Hadoop
9. Утилиты командной строки могут быть в 235-раз быстрее вашего Hadoop кластера
10.
13.
15. Книжка Чак Л. "Hadoop в действии"
16. Video lynda.com
неділя, 1 листопада 2015 р.
Java: static
Статік можуть бути змінні, методи, класи
Використовується, коли:
1. не потрібно створювати екземпляр класа
2. деколи потрібно, щоб змінна була в єдиному екземплярі
3. деколи потрібно викликати метод ще до того як буде можливість створювати обєкти. Добре пояснюється на прикладі метода main. Він обявляється статичним для того, щоб він одразу виконувався після завантаження класа в память, ще до того як можна буде створювати обєкти
Використовується, коли:
1. не потрібно створювати екземпляр класа
2. деколи потрібно, щоб змінна була в єдиному екземплярі
3. деколи потрібно викликати метод ще до того як буде можливість створювати обєкти. Добре пояснюється на прикладі метода main. Він обявляється статичним для того, щоб він одразу виконувався після завантаження класа в память, ще до того як можна буде створювати обєкти
Підписатися на:
Коментарі (Atom)

