Биз жөнүндөБлогБайланыш
Веб-иштеп чыгуу2011-ж., 14-август 3 мин 101Жаңыланды: 2026-ж., 22-июнь

Кыргызстандагы биринчи веб-тиркемелер: 2011-жылдын технологиялык тажрыйбасы

AunimedaAunimeda
📋 Мазмуну

2011-жылы биз Бишкекте онлайн-тиркеме жасап баштаганда, эң негизги суроо мындай болчу: сервер кайда жайгашат?

Кыргызстандын өзүндө data-центр жок болчу. VPS хостинг компаниялары жок болчу. Варианттар: Москвадагы сервер (ping 80-120мс), Германиядагы сервер (ping 140-200мс), же Украинадагы (ping 100-150мс). Колдонуучуларыбыз Бишкекте, сервер 5000 километр алыс.

Бул жерде биз жасаган биринчи туура чечим - Москвада хостинг алганыбыз. Ping башка опциялардан эки эсе аз болчу.


PHP жана MySQL: негизги стек

2011-жылы PHP 5.3 жана MySQL 5.1 - стандарт болчу. Framework катары Kодeigniter колдонгонбуз (Laravel 1.0 эми чыга баштаган кез болчу, продакшнга даяр эмес). ORM жок, таза SQL-суроолор.

<?php
// Ошол кезде жазган типичный код
class UserModel {
    private $db;
    
    public function __construct() {
        $this->db = new CI_DB();
    }
    
    public function getUserById($id) {
        $query = $this->db->query(
            "SELECT id, name, email, created_at 
             FROM users 
             WHERE id = ? AND is_active = 1",
            array((int)$id)
        );
        return $query->row();
    }
    
    public function getUserPosts($userId, $limit = 10) {
        // 2011-жылы JOIN жазуу "чеберчилик" деп эсептелчү
        $query = $this->db->query(
            "SELECT p.id, p.title, p.created_at, u.name as author
             FROM posts p
             INNER JOIN users u ON p.user_id = u.id  
             WHERE p.user_id = ?
             ORDER BY p.created_at DESC
             LIMIT ?",
            array((int)$userId, (int)$limit)
        );
        return $query->result();
    }
}

Кыргызча мазмун - техникалык кыйынчылык

2011-жылда кыргызча текст менен иштөө - өзүнчө маселе болчу.

UTF-8 баары жерде: MySQL tablелерин utf8_general_ci collation менен жасабасаң, кыргыз тамгалары (ң, ү, ө, ж ж.б.) базада ???? болуп сакталчу. Бул мааселени 3-4 жолу башынан кечирдик.

-- Туура конфигурация (2011-жылы унутула берчү)
CREATE TABLE content (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci,
    body TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci,
    lang ENUM('ky','ru','en') DEFAULT 'ky'
) CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB;

-- MySQL туташуусун дагы орнотуу керек
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");

Кыргызча менен орусча бирге: платформада эки тил болчу. Content таблицасына lang талаасын кошуп, ар бир мазмун үчүн ар бир тилде жазуу сакталчу. Азыркы i18n frameworks жок болчу - баарын кол менен жасачубуз:

// Тил логикасы - жөнөкөй, бирок иштечү
function getContent($id, $lang = 'ru') {
    $content = $this->db->query(
        "SELECT * FROM content WHERE id = ? AND lang = ?",
        array($id, $lang)
    )->row();
    
    // Эгер кыргызча жок болсо, орусча кайтар
    if (!$content && $lang === 'ky') {
        $content = $this->db->query(
            "SELECT * FROM content WHERE id = ? AND lang = 'ru'",
            array($id)
        )->row();
    }
    
    return $content;
}

Жайылтуу: SSH жана FTP

2011-жылы "деплоймент" деген - SSH аркылуу серверге кирүү жана файлдарды өзгөртүү.

# Типичный "деплоймент" процесс
ssh user@server.ru

cd /var/www/myproject
git pull origin main          # Git 2010-жылдан баштап колдонгонбуз
php artisan migrate           # Же вручную SQL файлды жүктөтчүбүз

service apache2 restart       # Же: /etc/init.d/apache2 reload

Эгер бирдеме бузулса - rollback дегени git checkout болчу. Staging environment жок болчу. Баарын продакшнда тестирдик. Ушундай болчу.


Жетишкен нерселер

2011-жылы биз Бишкекте сатуу платформасы деген жасадык. Ошол убакта Кыргызстанда онлайн-соода мүмкүнчүлүгү болгон платформа болгон эмес. Учурдагы стандарттар боюнча техника жөнөкөй, код кемчиликтүү. Бирок ошол учур үчүн бул - реалдуу чечим болчу.

Негизги сабак: технология абсолют мааниде "жакшы" же "жаман" болбойт. Ал ошол убактагы команданын мүмкүнчүлүгүнө, рыноктун шартына жана колдонуучулардын реалдуу муктаждыгына жараша баа берилет.

2011-жылдагы Кыргызстан рыногу үчүн PHP + MySQL + Москвадагы сервер + мобилдик GPRS колдоосу - бул туура архитектура болчу. 2025-жылы ошол эле чечим - туура эмес болор эле. Технология убакыт менен бирге өзгөрөт. Принцип калат: реалдуу колдонуучуну жана реалдуу шартты биринчи орунга кой.

Биз 2011-жылы Бишкекте иштеп чыкканды бүгүн дагы колдонобуз - рыноктун чынчыл баасы катары.

Ошондой эле окуңуз

WebSockets vs SSE vs Long Polling: realtime технологиясын кантип тандоо керекaunimeda
Веб-иштеп чыгуу

WebSockets vs SSE vs Long Polling: realtime технологиясын кантип тандоо керек

Чат, кабарлар, заказ статусу - булардын баары реалдуу убакытта жаңыртууну талап кылат. WebSocket, Server-Sent Events жана Long Polling ар башка иштейт. Кайсын качан колдонуу керегин Node.js код мисалдары менен карайбыз.

Node.js vs Bun vs Deno 2026: кайсы JavaScript runtime тандоо керекaunimeda
Веб-иштеп чыгуу

Node.js vs Bun vs Deno 2026: кайсы JavaScript runtime тандоо керек

Bun 1.x продакшн стабилдүү. Deno 2.0 npm колдойт. Node.js 22 TypeScript'ти нативдүү иштетет. Реалдуу benchmark'тар, экосистема салыштыруусу жана Кыргызстандагы долбоорлор үчүн конкреттүү сунуштамалар.

Node.js'теги таза архитектура: бизнес логиканы инфраструктурадан бөлүп алууaunimeda
Веб-иштеп чыгуу

Node.js'теги таза архитектура: бизнес логиканы инфраструктурадан бөлүп алуу

Алты айдан кийин Node.js долбоору спагетти кодго айланбасын десеңиз - Use Cases, Repository Pattern жана Dependency Inversion. Маалымат базасыз тестирленген бизнес логика - реалдуу код мисалдары менен.

Бизнесиңизге IT иштеп чыгуу керекпи?

Веб-сайттарды, мобилдик тиркемелерди жана AI чечимдерин иштеп чыгабыз. Акысыз консультация.

Веб-сайт иштеп чыгуу

Консультация алуу Бардык макалалар