Pull to refresh

В рамках эксперимента на МКС будут изучать перемещение малого суслика в Дагестане

Popular science Health Biology

Ставропольский противочумной институт начал исследование, в рамках которого учёные будут отслеживать перемещение малого суслика на территории Дагестана при помощи оборудования на МКС. 

Читать далее
Total votes 3: ↑3 and ↓0 +3
Views 1.3K
Comments 6

Миграции БД для .NET

.NET *
В и без того непростом процессе разработки программных продуктов время от времени появляются совсем уж неприятные вопросы. Один из них — что же делать со структурой БД, как хранить информацию о версиях, как обновлять копии БД на серверах да и как организовывать совместную работу.

Что же делать?
Total votes 26: ↑19 and ↓7 +12
Views 6.4K
Comments 46

Автоматизация изменений БД в .NET

.NET *
Здравствуйте!
Я хотел бы рассказать о проектах Migrator.Net и ECM7.Migrator.

Migrator.Net — это механизм контроля версий базы данных, похожий на Migrations в Ruby on Rails. Migrator позволяет автоматизировать выполнение операций изменения БД и автоматически ведет учет версий.

Migrator написан на C# и будет удобен, в первую очередь, при использовании в проектах под.NET.

Сначала я сделаю небольшой обзор указанных проектов, а потом постараюсь выделить их «плюсы» и «минусы».

Читать дальше →
Total votes 44: ↑35 and ↓9 +26
Views 5.5K
Comments 46

В Yii появились миграции

Yii *
Приятная новость для всех, кто использует или присматривается к PHP-фреймворку Yii. Готова ожидаемая многими возможность — миграции.

Миграции очень важны для командной разработки, когда постоянно меняется не только код, но и структура базы данных. Чтобы каждый не применял руками изменения остальных членов команды и существуют миграции.

Как происходит типичная работа с миграциями?

Разработчик Андрей создаёт миграцию

yiic migrate create --name=create_news_table

Идёт в protected/migrations и наполняет её полезным кодом:

class m20101129185401_create_news_table extends CDbMigration {
    public function up(){
        $this->createTable('tbl_news', array(
            'id' => 'pk',
            'title' => 'string NOT NULL',
            'content' => 'text',
        ));
    }
 
    /*
    public function down(){
    }
    */
}


Тут можно использовать совершенно любой код, например, зачистить кеш или assets.

Далее Андрей как-то передаёт миграцию Ивану. Через SVN, почтой или по FTP — не важно (лучше, конечно, через систему контроля версий). Иван применяет миграцию:

yiic migrate up

и спокойно работает с новым кодом.

Более подробное описание на русском будет на yiiframework.ru в ближайшее время (ну или, в крайнем случае, перед релизом).

Миграции будут включены в следующий релиз Yii, а пока можно поиграться с trunk-ом. Синтаксис может незначительно поменяться до релиза.
Total votes 54: ↑48 and ↓6 +42
Views 8.5K
Comments 25

Yii 1.1.6

Yii *
PHP-фреймворк Yii обновился до версии 1.1.6. Обновление не только правит ошибки, но
и добавляет много нового. Какие же изменения были сделаны?

Читать дальше →
Total votes 65: ↑57 and ↓8 +49
Views 1.7K
Comments 27

Ограничиваем интерфейс редактирования с помощью прокси-моделей

Django *
Административный интерфейс джанго позволяет настраивать права доступа к объектам различных приложений. Для любой модели любого приложения вы можете разрешить пользователю три действия: добавлять новые объекты, редактировать и удалять существующие объекты.

А что делать, если мы хотим разрешить пользователю редактировать только часть полей? И в то же время оставить возможность другим пользователям редактировать все поля.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Views 7.5K
Comments 13

Миграции БД для .NET — новый ECM7.Migrator

.NET *
О проблеме внесения изменений в БД в ходе разработки приложения писали на Хабре много раз.
Версионная миграция БД — удобный подход к решению проблемы.

Уже долгое время я участвую в разработке ECM7.Migrator — инструмента для автоматизации изменений БД. О том, как его использовать и почему это удобно, мы писали здесь.

8 месяцев назад мы выпустили версию 2.0, а на этой неделе вышла версия 2.6. По сравнению с версией 2.0 многое изменилось.
  • Полностью переписаны классы всех провайдеров: API стал проще и удобнее, все методы работают адекватно (а для проверки адекватности было написано большое количество модульных тестов);
  • Поддержка SQL Azure и Firebird;
  • Методы Up и Down переименованы в Apply и Revert, реализовывать Revert не обязательно;
  • Обработка разделителей запросов (например, «GO» для MSSQL);
  • Возможность работы со схемами БД (отличающимися от схемы по умолчанию);
  • … и много других мелких доработок.

Попробуйте наш новый мигратор и, возможно, он понравится вам так же, как нравится нам!
Взять новую версию можно в google code и в галерее пакетов nuget.
Total votes 24: ↑22 and ↓2 +20
Views 3.6K
Comments 6

Миграция базы данных в Zend Framework: Akrabat_Db_Schema_Manager

PHP *MySQL *Zend Framework *
Sandbox
В процессе работы над одним огромным проектом на Zend Framework, возникла необходимость миграции баз данных и перемещение между версиями, т.е. кроме update, был необходим так называемый downdate. Немного погуглив натолкнулся на интересную статью Роба Алана (в дальнейшем Автор) «Akrabat_Db_Schema_Manager: Zend Framework database migrations». Данная статья не является переводом оригинала, а скорее синтезом его и возникшей проблемы. Об этом и пойдет разговор.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views 7.6K
Comments 8

Пишем CLI модуль для Zend Framework 2

PHP *Zend Framework *
Sandbox
image
Приветствую!

Недавно начал работать с Zend Framework 2, и возникла потребность написать cli модуль работающий с миграциями базы данных.

В этой статье я опишу как создать модуль для Zend 2 для работы с ним из командной строки на примере модуля миграций, как написать тесты, как опубликовать модуль в packagist.org

Что такое миграции: Миграции базы данных — это система классов описывающая действия над базой данных и позволяющая выполнять эти действия.

Установка фрэймворка


Начнем с установки фрэймворка, в качестве каркаса возьмем ZendSkeletonApplication
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 12K
Comments 5

YiiConf 2017 16 июня в Москве — сформирована программа

DevConf corporate blog CMS *Website development *PHP *Yii *


YiiConf — конференция по PHP-фреймворку Yii, уже близко. Если ещё не оформили билет — самое время. И не забудьте указать свой никнейм при регистрации — это очень поможет найти знакомых, с которыми вы общались виртуально.


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

Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Views 3.5K
Comments 14

От пул-реквеста до релиза. Доклад Яндекс.Такси

Яндекс corporate blog Geoinformation services *Industrial Programming *Web services testing *
В релизном цикле сервиса есть критически важный период — с момента, когда новая версия подготовлена, до момента, когда она становится доступна пользователям. Действия команды между этими двумя контрольными точками должны быть единообразны от релиза к релизу и, по возможности, автоматизированы. В своём докладе Сергей Помазанов alberist описал процессы, которые следуют за каждым пул-реквестом в Яндекс.Такси.


— Добрый вечер! Меня зовут Сергей, я руководитель группы автоматизации в Яндекс.Такси. Если вкратце, основная задача нашей группы — минимизация времени, которое разработчики тратят на решение своих задач. Сюда входит все: от CI до процессов разработки и тестирования.

Что наша разработка делает, когда код написан?

Total votes 36: ↑32 and ↓4 +28
Views 12K
Comments 9

Переход Tinder на Kubernetes

Флант corporate blog System administration *IT Infrastructure *DevOps *Kubernetes *
Translation
Прим. перев.: Сотрудники всемирно известного сервиса Tinder недавно поделились некоторыми техническими деталями миграции своей инфраструктуры на Kubernetes. Процесс занял почти два года и вылился в запуск на K8s весьма масштабной платформы, состоящей из 200 сервисов, размещённых на 48 тысячах контейнеров. С какими интересными сложностями столкнулись инженеры Tinder и к каким результатам пришли — читайте в этом переводе.

Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Views 21K
Comments 14

Беспростойная миграция RabbitMQ в Kubernetes

Флант corporate blog System administration *IT Infrastructure *DevOps *Kubernetes *
Tutorial


RabbitMQ – написанный на языке Erlang брокер сообщений, позволяющий организовать отказоустойчивый кластер с полной репликацией данных на несколько узлов, где каждый узел может обслуживать запросы на чтение и запись. Имея в production-эксплуатации множество кластеров Kubernetes, мы поддерживаем большое количество инсталляций RabbitMQ и столкнулись с необходимостью миграции данных из одного кластера в другой без простоя.
Читать дальше →
Total votes 37: ↑34 and ↓3 +31
Views 10K
Comments 4

Практические истории из наших SRE-будней. Часть 3

Флант corporate blog System administration **nix *Server Administration *Database Administration *
Рады продолжить цикл статей с подборками из недавних вызовов, случившихся в нашей повседневной практике эксплуатации. Для этого мы описываем свои мысли и действия, которые привели к их успешному преодолению.



Новый выпуск посвящён опыту с неожиданно затянувшейся миграцией одного Linux-сервера, знакомству с Kubernetes-оператором для ClickHouse, способу ускорить восстановление данных в сломавшейся реплике PostgreSQL и последствиями обновления CockroachDB. Если вы тоже думаете, что это может быть полезно или хотя бы просто интересно, добро пожаловать под кат!
Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Views 5.5K
Comments 0

Выводы Grofers после двух лет Kubernetes в production

Флант corporate blog System administration *IT Infrastructure *DevOps *Kubernetes *
Translation
Прим. перев.: эта статья — опыт миграции на Kubernetes одного из крупнейших в Индии онлайн-магазинов продуктов. В ней Vaidik Kapoor, software engineer из Grofers, рассказывает о главных ошибках и препятствиях этого долгого путешествия, а также делится своими мыслями о целесообразности и плюсах подобного переезда в целом.

Почти два года назад мы решили отказаться от развертывания приложений на EC2 с конфигурациями, управляемыми через Ansible, и перейти к контейнеризации и оркестровке приложений с помощью Kubernetes. За это время большую часть инфраструктуры уже перенесли в Kubernetes. Миграция была сопряжена со своими вызовами: от технических, связанных с необходимостью обеспечивать работу гибридной инфраструктуры до завершения миграции, до обучения всей команды совершенно новой парадигме работы.

В данной публикации я хочу поразмышлять о полученном опыте и поделиться уроками, извлеченными из него. Надеюсь, это поможет вам принимать более взвешенные решения и повысит шансы на успех в аналогичных затеях.
Читать дальше →
Total votes 46: ↑46 and ↓0 +46
Views 10K
Comments 4

Как мы потерпели неудачу, а затем преуспели в переходе на TypeScript

SkillFactory corporate blog Website development *JavaScript *Programming *TypeScript *
Translation

К старту курса о Fullstack-разработке на Python, где также рассматривается TypeScript, мы перевили статью о миграции в Heap.io — компании, которая предоставляет платформу аналитики продуктов, — c языка CoffeeScript на TypeScript; TS в Heap.io начали использовать более 4 лет назад. Несмотря на широкое предпочтение TypeScript среди инженеров, миграция была медленной, а чёткого пути к 100 % кода TS не было.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Views 5K
Comments 2

Опыт миграции инфраструктуры клиента из AWS в Яндекс.Облако

Флант corporate blog System administration *IT Infrastructure *Cloud services *

Задача по миграции из одного облака в другое, на самом деле, довольно распространенная в нашей практике. Происходит это по разным причинам: ценовая политика облачного провайдера, требования местного законодательства, наличие отдельных преимуществ облака, в которое мы будем переезжать…

В этой статье мы расскажем про основные решения, которыми воспользовались в процессе одного из недавних переездов в Яндекс.Облако, и о некоторых особенностях, с которыми столкнулись во время эксплуатации. Основным мотивом к этой миграции было снижение ежемесячных расходов на облачную инфраструктуру (без существенного снижения качества эксплуатации).

Читать далее
Total votes 37: ↑37 and ↓0 +37
Views 9K
Comments 6

Опыт миграции из Gitea в GitLab. Сложно, но успешно

Флант corporate blog System administration *Git *Version control systems *DevOps *

В мире существует множество различных систем для хранения кода. Различаются они как протоколом работы: Git, Mercurial, Bazaar, — так и форматом работы (cloud, self-hosted). Но есть и другой важный параметр: степень интеграции с сопутствующим инструментарием: issue tracker, CI/CD, wiki и т.д. Так сложилось, что мы в компании предпочитаем GitLab (вариант on-premise) и по умолчанию, если клиент не против, предлагаем ему это решение. В статье я расскажу про миграцию из Gitea c Jenkins в GitLab и о том, с какими сложностями пришлось столкнуться, а заодно поделюсь Python-скриптами, которые пригодились для успеха этого мероприятия.

Читать далее
Total votes 45: ↑44 and ↓1 +43
Views 13K
Comments 31

Опыт миграции кластера PostgreSQL на базе Patroni

Флант corporate blog System administration *PostgreSQL *Database Administration *
Tutorial

Недавно мне посчастливилось заниматься переносом кластера PostgreSQL под управлением Patroni на новое железо. Задача казалась простой — я и не думал, что могут возникнуть проблемы. Но в процессе реализации встретились некоторые сложности, которые натолкнули на мысль поделиться полученным опытом. В этой работе описываются практические шаги и нюансы, которые встретились во время переноса кластера на новую платформу. Использовались следующие версии ПО: PostgreSQL 11.13, Patroni 2.1.1, etcd 3.2.17 (API version 2). Итак, поехали!

Читать далее
Total votes 48: ↑48 and ↓0 +48
Views 11K
Comments 15

Переехать в Kubernetes и платить за инфраструктуру вдвое меньше? История Adapty

Флант corporate blog IT Infrastructure *DevOps *Cloud services *Kubernetes *

Недавно мы помогли нашему клиенту Adapty перенести инфраструктуру с managed-сервисов AWS. Теперь она размещена в Kubernetes-кластере на обычных инстансах другого облачного провайдера, но ее можно легко мигрировать в другой ЦОД в случае необходимости. Этот бизнес-кейс во многом показательный: Adapty удалось минимизировать зависимость от поставщика, снизить инфраструктурные затраты на 50%, а также снять некоторые технические ограничения по масштабированию и оптимизации своих приложений.

Читать далее
Total votes 44: ↑43 and ↓1 +42
Views 8.7K
Comments 30
1