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

Публікації

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();