Перейти до основного вмісту

Публікації

Mongod

Mongod – основний демон-процес (deamon process) в системі MongoDB. Основні параметри команди. Виведення довідкового матеріалу: mongod --help або mongod -h Версія mongod: mongod --version Зміна директорії, де зберігаються файли з даними: mongod --dbpath directory_path По замовчуванню всі дані зберігаються в папці /data/db. За допомогою цього параметра команди mongod можна задати інше місце. Directory path визначає нову папку. Зміна номера порта mongod --port port_number По замовчуванню процес запускається на порту з номером 27017. Запуском команди із цим параметром можна визначити інший порт. Включення обов’язкової автентифікації: mongod –auth Встановлення допустимих IP адрес. mongod --bind_ip localhost,111.111.111.111 Включення підтримки  IPv6 mongod –-ipv6 По замовчуванню підтримка адресації ipv6 відключена. Цей параметр дозволяє включити її. Запуск сервера: mongo Зупинка: use admin db.shutdownServer() exit

The Twelve-Factor App

12-факторні застосунки 12-факторні застосунки - це методологія розробки web-застосунків. Застосовується для різних мов програмування. Власне, самі 12 факторів : I. Кодова база Одна кодова база, що відслідковується в системі контролю версій та має багато розгортань II. Залежності Явно оголошуйте та ізолюйте залежності III. Конфігурація Зберігайте конфігурацію в середовищі виконання IV. Сторонні служби Вважайте сторонні служби (backing services) підключеними ресурсами V. Збірка, реліз, виконання Суворо відокремлюйте етапи збірки та виконання VI. Процеси Запускайте застосунок як один або декілька процесів без збереження внутрішньго стану (stateless) VII. Прив’язка портів Експортуйте сервіси за допомогою прив’язки портів (port binding) VIII. Конкурентність Масштабуйте застосунок за допомогою процесів IX. Утилізовуваність Підвищуйте надійність за допомогою швидкого запуску і коректного вимкнення X. Dev/prod паритет Прагніть максимальної ідентичності development, staging...

Оператор CNOT в квантовому програмуванні

CNOT Оператор (вентиль, гейт) CNOT приймає 2 входи і 2 виходи. Цей вентиль називають контрольованим запереченням (Controlled NOT). CNOT інвертує другий (керований) кубіт тільки, якщо на перший (керуючий) кубіт подано 1: До Після Керуючий кубіт Керований кубіт Керуючий кубіт Керований кубіт 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 Робота оператора схожа на оператор XOR, якщо не враховувати перший біт на виході: XOR Вхід 1 Вхід 2 Виіхід 0 0 0 0 1 1 1 0 1 1 1 0 Приклад реалізації в Strange Program program = new Program(8); Step step0=new Step(); Step step1=new Step(); step0.addGate(new X(3)); step0.addGate(new X(4)); step0.addGate(new X(6)); step0.addGate(new X(7)); step1.addGate(new Cnot(0,1)); step1.addGate(new Cnot(2,3)); step1.addGate(new Cnot(4,5)); step1.addGate(new Cnot(6,7)); program.addStep(step0); program.addStep(step1); QuantumExecutionEnvironment qee = new SimpleQuantumExecutionEnvironment(); Result result = qee.run...

Квантове програмування в Java

Strange Strange - бібліотека для емуляції квантових обчислень на Java. Бібліотека також дозволяє досить просто візуалізувати написану квантову програму за допомогою JavaFX. Підключення бібліотеки При використанні Maven це можна зробити, додавши залежність: org.redfx strange 0.1.3 Написання простої програми Приклад простої програми, код можна помістити прямо в метод main() : Program program = new Program(3); Step s0 = new Step(); s0.addGate(new X(0)); Step s1 =new Step(); s1.addGate(new Hadamard(2)); program.addStep(s0); program.addStep(s1); QuantumExecutionEnvironment qee = new SimpleQuantumExecutionEnvironment(); Result result = qee.runProgram(program); Qubit[] qubits = result.getQubits(); for (Qubit qubit:qubits){ System.out.println(qubit.measure()); } Після запуску програма має видати результат 1 0 0 або 1 0 1 Пояснення програми Створення програми, що буде оперувати 3-ма кубітами: Program program =...

Примітивні типи в JavaScript

1. Number Використовується для роботи з числами, як цілими, так і дробовими. 64-бітне число, з яких 52 біти відводиться на значення, 11 біти – на показник степеню 1 біт – на знак (+ чи -) Числа з плаваючою крапкою можуть приймати значення в діапазоні від 2^-1074 до 2^1024 (по модулю) Цілі числа можу змінюватися в діапазоні від -(2^53 − 1) to 2^53 – 1. Також є спеціальні значення +Infinity (Number.POSITIVE_INFINITY) та-Infinity (Number.NEGATIVE_INFINITY), Number.MAX_VALUE, Number.MIN_VALUE, Number.MAX_SAFE_INTEGER, Number.MIN_SAFE_INTEGER, Number.NaN. 2. BigInt Дозволяє працювати з цілими числами довільної довжини. 3. Boolean Можливі значення true та false. 4. String Рядковий тип 5. Symbol Унікальний рядковий ідентифікатор. 6. Null Має одне значення: null. 7. Undefined Має одне значення: undefined

Основи роботи з Git

Встановлення на Linux Для встановлення git на Linux через термінал, можна скористатися командою: sudo apt install git-all Перевірка версії Щоб перевірити поточну встановлену версію в терміналі можна набрати git --version Допомога Стисла довідка про команду git command -h або git command --help Наприклад: git add -h Для отримання більш повної інформації можна скористатися git help command Наприклад: git help add Ім’я користувача та електронна пошта Встановлення імені: git config --global user.name "Your Name" Встановлення email: git config --global user.email your@mail.com Якщо потрібно задати пошту та ім’я лише для одного проєкту, то потрібно використати команду без параметру —global . Для перегляду списку параметрів можна скористатися командою: git config --list Створення git-репозиторію Є 2 основних способи створення репозиторію: Створення репозиторію на сторонньому сервері і завантаження на локальну машину. Приклад створення репозиторію на Bitbacke...

Базові команди MongoDB

Основні команди для роботи з MongoDB. Shell-команди для роботи з базами даних Перегляд баз даних: show dbs; Перехід до бази або створення нової: use database-name; Виведення імені поточної бази: db.getName(); Отримання довідки: db.help(); Видалення бази даних: db.dropDatabase(); Робота з колекціями Колекція – аналог таблиці в реляційних базах даних. Документ – аналог рядка. BSON – формат бінарного представлення JSON-докменту. Створення нової колекції: db.createCollection(“name”); Перегляд колекцій: show collections; Інформація про колекцію: db.collectionName.stats(); Видалення колекції: db.collectionName.drop(); Виведення вмісту: db.collectionName.find(); або db.collectionName.find().pretty(); Робота з документами Додавання документу: db.collectionName.insert(…); Кілька документів можна додати командою: db.collectionName.insertMany(…); Кількість документів в колекції: db.collectionName.count();

Зміна повідомлення в останньому коміті

Проблема Припустимо, що зроблений коміт із повідомленням (коментарем), наприклад, за допомогою команди git commit -m 'some text' Як можна змінити текст повідомлення ? Тобто замість "some text" написати щось інше? Розглянемо випадок, коли нам потрібно змінити останній коміт, який ще не "залито" на сервер. Тобто ще НЕ виконана команда git push origin master Більше про базові команди git можна почитати тут . Розв'язаня проблеми Можна використати команду git commit --amend Після цього відкриється текстовий редактор, у якому можна буде змінити повідомлення. Потрібно враховувати, що у цьому випадку ідентифікатор коміту зміниться. Тобто такий спосіб не варто використовувати, якщо коміт вже заантажений на сервер.

Типи даних в Java

Примітивні типи В Java є 8 примітивних типів. Цілочислові типи: byte - займає 1 байт (8 біт), діапазон можливих значень -128 .. 127 short - 2 байти (16 біт), діапазон можливих значень -32678 .. 32677 int - 4 байти (32 біт), діапазон можливих значень -2147483648 .. 2147483647 long - 8 байт (64 біт), діапазон можливих значень -9223372036854775808 .. 9223372036854775807 Типи з плаваючою крапкою: float - займає 4 байт (32 біт), діапазон можливих значень -3.4Е+38 .. 3.4Е+38 double - 8 байтів (64 біт), діапазон можливих значень -1.7E+308 .. 1.7Е+308 Для роботи із символами використовується тип char . Цей тип займайє 2 байти пам'яті і дозволяє використовувати 65536 різних символів. Логічний тип boolean може приймати 2 значення: true, false. Класові типи Крім 8 примітивних типів, в Java також використовуються класові типи. Кожен клас, інтерфейс чи перелік (enum) фактично створюють новий тип даних. Кожен із класових типів успадковує тип Object. Класові...

Базові команди для роботи з Git та Bitbucket

Git Будемо вважати, що git на комп'ютері вже встановлений. Якщо ні, то його неважко завантажити та встановити. Налаштування git на вашому комп'ютері можна подивитися за допомогою команди git config --list Щоб встановити ім'я та email, за яким ваші коміти будуть ідентифікуватися в репозиторії, використовуються команди: git config --global user.name "Your Name" git config --global user.email your@mail.com Bitbucket Нам потрібний акаунт на Bitbucket . Його неважко зареєструвати, це безкоштовно. Для створення нового репозиторію потрібно вибрати команду Create Repository . Далі потрібно заповнити основну інформацію про репозиторій. Обов'язковими є лише назва проєкту та назва репозиторію: Після заповнення полів потрібно натиснути кнопку Create Repository . Клонування репозиторію на комп'ютер Для того, щоб клонувати репозиторій на свій комп'ютер, потрібно виконати наступні кроки. Отримати посилання для клонування. Для цього в репозиторії...