Сообщество - Лига программистов
Добавить пост

Лига программистов

823 поста 8 773 подписчика

Популярные теги в сообществе:

18

VS Code Yandex Music Extension для MacOS и Linux

VS Code Yandex Music Extension для MacOS и Linux Кросспостинг, Pikabu Publish Bot, Яндекс Музыка, Extension, Mac Os, Linux, Текст, Visual studio Code
Полтора года назад я выпустил первую более-менее стабильную версию расширения Яндекс.Музыки для VsCode. Разрабатывал я его в основном для себя, поэтому особо и не заморачивался, что поддерживается только винда, ведь именно виндой я пользовался. В прошлом феврале я перешёл на мак и с тех пор не пользовался расширением, как и все по старинке включал музыку в браузере. Пару недель назад решил всё-таки довести дело до конца и сделать расширение кроссплатформенным. Так вот, сегодня зарелизил новую версию, которая работает на всех операционках.

🐞 Проблема
Для воспроизведения музыки под капотом используется Electron. Проблема в том, что он собирается под каждую платформу отдельно, поэтому раньше поддерживалась лишь та операционная система, на которой происходила сборка расширения.

Решение
Теперь Electron устанавливается в рантайме именно для вашей операционной системы при установке плагина YandexMusic с помощью пакета @electron/get.


- Установить расширение

- Исходники


https://t.me/cherkashindev/70

Показать полностью
141

Как я написал свою поисковую систему для быстрого поиска личной информации

Как я написал свою поисковую систему для быстрого поиска личной информации Поиск, Web-программирование, Программирование, Поисковик, Поисковые системы, Поисковые запросы, IT, Длиннопост, Теги

Предыстория

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

Что касается поиска по названию файла, то количество символов, указанных в названии ограниченно и слова при поиске должны быть в строго определенной последовательности. Тем более, если система индексирует другие, не нужные для поиска файла (системные файлы, файлы проектов), то поиск выдает много "мусора".

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

Более того по содержанию можно искать только текстовые файлы.


Структура содержания информации

Структура папок представляется собой в виде дерева. Мне это не нравится, потому что каждая папка может содержать только определенные файлы, если не учитывать копирование и ссылки.

Так же это можно представить с примером из реальной жизни, для того, чтобы найти зелёное свежее яблоко сорт "девственный". Необходимо найти отдел с фруктами, затем отдел с яблоками, затем ищем зеленные, затем сорт, ну там ещё их на свежие, не свежие фасуют в этом воображаемом примере и наконец найти нужное apple.

Усложняется ещё все и тем, что я не помню есть ли там вообще яблоки, и если есть, то хранятся ли они в отделе фрукты там продаются.

А почему бы об этом просто не попросить прихвостня(они уже у всех есть, правда?) -"Принеси мне зелёное свежее яблоко".

Как сразу становится удобно!

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

А вот если мы не знаем существуют ли яблоки вообще, то спрашиваем прихвостня:

- "Яблоки есть?"

- "Есть, господин! Сотни, игрушечные, красные, гнилые..".

- "Мне нужно свежее яблоко".

- "Понял! Есть красное свежее яблоко "Сирота", красное свежее яблоко "курага",..".

- "А что насчёт зелёного свежего яблока".

- "Есть! Зелёное свежее яблоко "Пух-тибидух" и Зелёное свежее яблоко "Девственный"".

- "В таком случае, принеси мне, пожалуй, Зелёное свежее яблоко "Девственный"".

- "Да, сэр".

Вот последняя фраза как раз таки и стала названием приложения. Как ответ на команду пользователя - "Yes Sir".

Возвращаясь к яблокам. Заметили, что в первом случае нужно искать яблоки не пойми где, а во втором мы задаём уточняющие условия к запросу!?

Как я написал свою поисковую систему для быстрого поиска личной информации Поиск, Web-программирование, Программирование, Поисковик, Поисковые системы, Поисковые запросы, IT, Длиннопост, Теги

Для нахождения нужного результата, используя древовидную структуру(папки) приходится обходить все узлы. А в случае графа(теги) можно получить результат, в лучше случае за проход по единственному узлу.

Приведу пример более реалистичный. Есть папка с музыкой и подпапки для разделения на жанры. Но что если в какой-то момент мне захочется послушать французскую музыку не зависимо от жанра. Вот тут то и вся проблемность древовидной структуры папок вылазит. Можно конечно, как советовали на форумах, создавать отдельные папки под язык произведения и кидать ссылки, но опяяяттть папкии..

А вот, что произойдет, если каждому файлу установить теги с жанром, языком, ну и конечно что это музыка, песня.

В этом случае возможно группировать, сортировать музыку гораздо гибче. Например скомбинировав 3 тега: французская, русская, рок можно получить то, чего стандартными средствами Windows не возможно, ну или я чего-то не знаю.


Попытки найти готовое решение.

Первой идеей было воспользоваться "тегированием" файлов, папок. Таким образом можно искать информацию комбинируя теги, не зависимо от порядка слов. И лучшими приложениями для этого, могу выделить XYplorer и Tagging for windows. Первая из себя представляет отдельный файловый менеджер с опцией тегирования. Второе приложение - дополнение к стандартному файловому менеджеру. Однако они позволяют искать файлы только на ПК и конечно нельзя написать как в Гугл поисковике запрос близкий к пользователю, а алгоритм уже бы сам выбрал из запроса теги и отсортировал информацию по приоритету. В последствии удалил обе, они подвисали и крашились частенько (возможно дело в моих надстройках Windows, не хочу делать антипиар этих отличных программ).


Визуальный поиск

В попытках найти оптимальный способ поиска доходило до странного. Я больше визуал и поэтому загружал изображения более менее подходящее по теме информации в социальную сеть ВКонтакте, а саму информацию сохранял в комментариях под изображениями. Это дало некоторый прирост в скорости поиска и пользоваться можно с любого устройства. Но как вы, наверное, понимаете долго это продолжаться не могло. В конечном итоге я стал задумываться а к какой информации относится это изображение : "Рельсы означает адреса знакомых или желаемые места для путешествия..". Ну а уж то, что под одним изображением образуется портянка из информации без возможности вложенности - это фиаско, бро.

Желаемый функционал

Я подумал, что было бы отлично разработать приложение, которое бы подходило по таким критериям:

1. Можно использовать с любого устройства без возможности подключения к интернету.

2. Поиск личной информации настолько быстро, насколько это возможно.

3. Поиск должен быть простым как Google Search.

4. Возможность сохранить всю текстовую информацию в текстовый файл.


Выбор технологий

1. По первому пункту из желаний было решено разработать веб приложение, так как с любого устройства, на котором есть браузер, можно получить к нему доступ. Данные хранятся в localstorage браузера, но при открытии сайта сразу выгружаются в переменную для обеспечения лучшей скорости.

Для синхронизации данных с другим устройством, браузером я взял базу данных mysql от 000webhost бесплатно, но потом перестал использовать из-за ограничений на обьем.

Сейчас единственный способ для обновления пользовательских данных - импорт и экспорт файла. Однако я делаю это очень редко, тк в основном пользуюсь только со смартфона.

Что касается оффлайн режима - я использовал serviceworking. Необходимо только один раз зайти на сайт, чтобы все ресурсы сайта подгрузились и дальше использовать полностью оффлайн из браузера.

2. Быстрый поиск.

Раз поиск должен осуществляться подобно Гугл поисковику, то нужно чтобы каждое слово из запроса проверялось на существующий из уже созданного блока информации. Таким блоком у меня выступает объект с ключами: уникальное название блока, действие(показать информацию, открыть ссылку..), содержимое, теги.

Итак по ключу "теги" у нас будет храниться массив из символов(слов) для конкретного блока информации.

Сразу возьмём пример блока:

Название: как создать сайт,

Действие: показать информацию,

Содержимое: берём html, добавляем js и украшаем css,

Теги: создание сайта, веб программирование, верстка.

Массив из тегов формируется из текстов полученных с полей ввода для тегов и названия. Каждое слово это тег, разделять можно запятой и пробелом. Была идея конечно сделать как на Ютубе, теги как словосочетания, но я я решил остановиться на более широкой выдаче по ключевым словам.

Из примера блока выше массив тегов будет таким: ["как", "создать", "сайт", "создание", "сайта", "веб" "программирование", "верстка"]

Теперь самое важное - определиться как будет происходить поиск. Первое что пришло в голову это брать каждое слово из поискового запроса и сравнивать с каждым словом из тега каждого блока. В голову как пришло, так и ушло, это отвратительная идея. Следующей идеей было создание объекта, в котором каждый тег это отдельный ключ а значение это массив из индексов блоков.

3. Итак, при вводе запроса проверяется существует ли слово в хранилище тегов, если да, то блок добавляется в массив на отображение.

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

4. И насчёт сохранение в файл совсем кратко. Можно сохранять и импортировать файл в виде json.

Так же мой опыт с использованием ВКонтакте как поисковик по изображениям дал мне идею для возможности добавлять изображение к каждому блоку при желании.


Итоги

В результате я сделал то, чем пользуюсь уже больше года. Как веб, так и ПК версия оказались очень полезными. Использую для работы и личной жизни. Скорость поиска, которую я в итоге получил меня многократно выручала, когда нужно было найти что-то очень быстро.


Ответвление в другие проекты

Веб приложение мне настолько понравилось, что я захотел написать программу для исполнения программ по команде от запроса пользователя на ПК. Вдохновлённый голосовыми помощниками, я создал программу, которая ищет и исполняет файлы, ссылки на которые сохранены в программе, у которой поиск соответственно так же подобен веб поисковику. Особенность в том, что можно перетащить файл/файлы напрямую в программу и алгоритм автоматически установит теги исходя из названия файла и папок, в которых он содержится. Но это тема другого поста, если этот окажется интересным..


Послесловие

Буду рад любым комментариям. Узнать ваше мнение по поводу идеи. Полная ли это ерунда. Или, в чем я почти не сомневаюсь, есть уже приложения с подобной реализацией.

Спасибо!!

Показать полностью 2
8

Репетиторство по английскому/разговорная практика в обмен на помощь с Java, PHP, python (НАШЁЛ)

Пришла мне в голову "гениальная" идея 😅 И я подумал: "а почему бы и не да?".


Суть такова: готов преподавать английский одному человеку в обмен на помощь с изучением основ Java, PHP, Python.


я квалифицированный переводчик, 10 лет юношества проживший в Новой Зеландии. Английский на уровне носителя. За плечами учёба в НЗ школе, ВУЗе. Также 2 года преподавал английский в детсадах, частные уроки, Яндекс практикум, italki, но у меня маленький ресурс на общение с людьми и поэтому перестал преподавать.


Сейчас изучаю веб-разработку дистанционно в заграничном ВУЗе. Есть материалы лекций, там объясняют 70%. В основном справляюсь, но логику некоторых вещей не могу понять и не могу найти в интернетах. Плюс нет времени на поиск ответа, так как работа и учёба и нужен человек, которому могу задать вопросы.


В обмен на консультации по предметам предлагаю занятия английским и/или консультации по эмиграции в Австралию, Новую Зеландию (есть опыт, работал в иммиграционной фирме).


Спасибо большое всем, кто откликнулся! Некоторые предложили свою помощь без всяких условий. Вот что значит сила Пикабу!

Показать полностью
317

О карьере в IT от программиста средней паршивости

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

Благодаря этим требованиям я уже давно понял, что я не настоящий программист и скорее всего им не стану, поэтому решил поделиться тем как стать программистом средней паршивости на своем опыте

Поиск работы

Итак 7 или 8 лет назад я понял, что хочу много денег, но заработать их по своей профессии инженер электрик мне не светит. Я стал думать что делать дальше. С одной стороны в школе я изучал программирование на Паскале, но не сильно его любил, с другой думал пойти в менеджеры по продажам в какую нибудь крупную электротехническую компанию. Но учитывая, что продажник из меня еще хуже чем программист со школьными знаниями Паскаля то решил искать вакансии в it. План был такой - нужно было найти место где зарплаты настолько низкие что конкуренция будет очень низкой, но при этом задачи там будут нормального уровня. В итоге посмотрев отрасли я понял что программирование контроллеров в самый раз. После некоторого поиска я нашел работу на 35 тысяч в месяц под обучение, хотя инженером получал 70.


Первая работа

Сразу скажу, что с работой мне жутко повезло. В команде из 5 человек я нашел ментора, который по сути учил меня всему 3-4 года и должен сказать, что до сих пор я не встречал программиста талантливее. В итоге за это время я вырос из джуна до средней паршивости мидла. И до сих пор считаю это большим достижением так как не обладаю никаким талантом. В итоге на первом году я писал простейшие алгоритмы на с++, к концу 3 года делал проект самостоятельно. Со второго года я начал ходить на собеседования на мидла в компании крупнее, но по большей части надо мной смеялись и предлагали роли джуна. На третьем году я смог попасть в Нокию на мидла. за 3 года зарплата выросла с 30 тысяч до 120-150 с переработками.


Вторая работа.

На четвертом году я начал искать работу за рубежом. Собеседования в некоторые крупные компании провалились, но две средние прислали офферы. Зарплата в Амстердаме стала 60 тысяч евро в год, что примерно равнялось 4000 евро в месяц чистыми. Это была базовая зарплата, бонусы зависели от прибыли компании. За первый год работы я получил бонус 2000 евро чистыми, за 3 и 4 года по 40 000 евро чистыми благодаря пандемии и волатильности на финансовых рынках. За 3 года здесь я смог вырасти из мидла в синьора. Синьором конечно я был хреновым и повышение было скорее всего политическим чтоб удержать меня в компании. Но не удержали. 

Третья работа.

Я решил сменить компанию на что-то покрупнее. Попробовал несколько компаний по своей индустрии, но из 5 получил только один оффер хуже того что имел на текущем месте работы. Расстроился и решил подать заявку на вакансию в совсем другой области и другими технологиями. Купил курс по подготовке к собеседованиям и 2-3 недели готовился решая задачки по алгоритмам. Далее стал выбирать компании. Отсортировал зарплаты в Амстердаме по компаниям и выбрал две сверху которые знал - Амазон и Букинг. В итоге после 6 этапов собеседований я получил оффер из Амазона и отменил процесс в Букинге. Сейчас моя зарплата 8000 евро чистыми и все новые технологии я изучаю в рабочее время.


Резюме.

Я не люблю и никогда особо не любил программирование. Деньги единственное что меня держит в этой индустрии. Я никогда не тратил свои вечера на изучение новых технологий, у меня нет github и я не создаю игры в свободное от работы время. Но решение "войти в айти" было лучшим в моей жизни.

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


Конечно результат в жизни это всегда удача, и по сути мы кидаем кубик, но разница в том что вероятность повышается если вы кидаете кубик чаще. Нельзя сидеть на месте, нужно всегда искать новые проекты где можно научиться чему то новому и таким образом вы будете расти, даже если вы как и я не обладаете талантом, огромными знаниями и забываете о работе в 6 часов вечера.

Показать полностью
80

Тестовое задание Веселого водовоза

Скинул мне знакомый тестовое задание. Это компания Веселый водовоз ищет себе программиста. Обещают 90k. Но у моего знакомого закрались в голову сомнения что они просто хотят получить на халяву законченную программу. Бесплатно.
Почему возникли такие подозрения? Из-за последней строчки и зачем компании программист на постоянку, когда можно просто получить софт на халяву.

Тестовое задание Веселого водовоза Программирование, Тест, Вакансии, HH, Программист, IT
368

Коллективный договор в Австрии

Коллективный договор в Австрии Профсоюз, IT, Забастовка, Австрия, Трудовые отношения, Политика

Объединённые профсоюзы Австрии с сентября пытаются добиться компенсации дорожающего уровня жизни. Не осталось в стороне и австрийское IT. Первый ход сделали IT-корпорации. Они меняют условия коллективного договора в одностороннем порядке, оправдываясь общим ухудшением экономики и общемировым падением рынка IT.


Изменения:


- Индексация зарплаты на 5,65% при средней инфляции 8,3%.

- Увеличение переработок с 10 до 12 часов без выплаты сверхурочных.

- Выплата сверхурочных — только после превышения 40 часов в неделю суммарно.


На что 29 сентября 2022 года работники IT-индустрии Австрии при поддержке профсоюза GPA выдвинули встречные требования об изменении коллективного договора. Его изменение затронет 65 тыс. работников IT-индустрии.


Требования:


- Индексация заработной платы на 11%.

- Предоставление 6 недель отпуска вместо 5.

- Право сотруднику преобразовать часть заработной платы в свободное время.

- Обучение стажёров должно проводиться в рабочее время и оплачиваться соответствующе.

- Компании обязаны предоставлять ежегодный отчёт о прибылях и убытках в рабочий совет.

- Срок принятия — до 1 января 2023 года.


Но несмотря на рекордные прибыли IT-сектора в период коронавируса корпорации отказываются идти даже на малейшие уступки. На днях третий раунд переговоров завершился ничем. Следующий раунд состоится 2 декабря.


К сожалению, в Австрии и Германии для компаний обязательны «Рабочие советы» (Betriebsrat), которые, в отличие от профсоюзов (Gewerkschaft), не могут законно устраивать забастовки. Но работников это не останавливает. Так, железнодорожные профсоюзы остановили движение поездов по всей стране на 1 день. В России профсоюзы и забастовки законны и регламентируются ТК.


Можно убежать из страны, но нельзя убежать от ответственности за треть жизни, проведённую на работе. Не позволяйте работодателю решать за вас, решайте сами. Иначе незаметно обнаружите себя в твиттере Илона Маска.


Зачем нужен коллективный договор

Показать полностью
11

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск

Сейчас бесшовные обновления – это одно из главных требований для многих систем, и системы, использующие базы данных Oracle, не являются исключением. В этой статье я расскажу о технологии Edition-based redefinition, которая создана для решения данной проблемы, а также о трудностях, с которыми мы столкнулись в процессе внедрения и использования этой технологии.


Данная статья может пригодиться тем, кто работает с высоконагруженными системами, использующими СУБД Oracle и хочет начать обновлять их, не отключая пользователей.


Начну с того, что мы используем Edition-based redefinition (далее EBR) в одной из банковских систем уже около двух лет и смогли заметить как достоинства, так и недостатки. Технология была внедрена в 2020 как средство процесса внесения изменений в схему данных, позволяющее изменять объекты в БД без вмешательства в работу текущих пользователей.


Целью внедрения EBR является ускорение выхода новых задач на прод, которое достигается тем, что, используя EBR, многие патчи можно устанавливать без Downtime, хотя раньше это было невозможно. Таким образом, мы можем делать установки на тестовые стенды и на прод чаще. Примером могут служить интеграционные пакеты базы данных, которые используются в большом количестве функционала системы. Если раньше установка таких пакетов требовала отключения всех пользователей и перекомпиляцию объектов, то, используя EBR, можно установить его без Downtime на «горячую» базу.


Что же такое EBR?


Edition-based redefinition – это технология баз данных Oracle, позволяющая использовать несколько версий объектов PL/SQL, представлений и синонимов в одной схеме, что позволяет выполнять обновления приложений базы данных без Downtime, при этом не затрагивая работу текущих пользователей.


Чтобы лучше понять как работает эта технология, обратимся к условному пакету CONTRACT, который агрегирует функции работы с договорами в какой-либо системе. В базе, где используется EBR, может одновременно хранится несколько различных пакетов CONTRACT, которые будут относиться к разным редакциям.


Редакция или Edition - это, по сути, метка версии, которую можно назначить всем редактируемым (Editionable) объектам в схеме. Начиная с версии 11.2 в Oracle можно заводить разные редакции (editions), каждую со своим набором хранимых объектов и возможностью переключаться между ними. Редакции зависят друг от друга, а именно находятся в отношениях родитель (предок)-потомок. Причём, каждая редакция может иметь только одного прямого потомка и одного прямого родителя. Все редакции являются потомками редакции «ORA$BASE», которая создается при включении EBR. На рис. 1. приведен пример редакций на базе. Как можно увидеть, изначально была редакция «ORA$BASE», от которой была создана редакция «RT20_1» в качестве потомка, а далее, уже от неё редакция «RT20_2» и т.д. То есть, последовательность редакций имеет линейную структуру. Одна из редакций является редакцией по умолчанию, т.е. это та редакция, к которой подключается пользователь, если он не указал редакцию специально.

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис. 1. Editions


При создании новой редакции на основе старой, она наследует все определенные в родителе объекты. На практике, в целях оптимизации, Oracle копирует объекты в новую редакцию только при их изменении, данная стратегия носит название copy-on-change. Процесс копирования объекта в наследуемую редакцию называется актуализацией, по факту - это пересоздание данного объекта в дочерней редакции. Если объект актуализирован в текущей редакции, при его вызове будет загружена текущая версия. Если объект не актуализирован в текущей редакции, при его вызове будет загружена версия из последней редакции, где он актуализирован. Актуализировать объект можно скомпилировав его с определенными опциями: ALTER ... COMPILE REUSE SETTINGS.


Рассмотрим пример на рис.2. Пакет CONTRACT определен в редакциях ORA$BASE, RT20_1 и RT20_3, а в редакции RT20_2 используется пакет CONTRACT из ближайшей родительской редакции, т.е. из редакции RT20_1. Для того чтобы актуализировать пакет CONTRACT в редакции RT20_2 нужно выполнить в данной редакции команду ALTER CONTRACT COMPILE REUSE SETTINGS

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис. 2. Пример использования пакета в разных редакциях


Не все объекты баз данных Oracle можно создавать в разных редакциях и версионировать. Некоторые объекты существуют в единственном экземпляре и используются для всех редакций одновременно, такие объекты называются noneditionable. Примером такого объекта являются таблицы, поэтому при модификации таблиц некоторые объекты в некоторых редакциях могут инвалидироваться. Для решения этой проблемы обычно используются Editionable views, подробнее я расскажу во второй части этой статьи. Какие же объекты являются Editionable? Это все объекты PL/SQL, а также Views и Synonym, см. рис. 3.

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис. 3. Editionable объекты


Теперь рассмотрим пример установки патча с EBR. Представьте, что Петр, Инна и Иван работают в системе, использующей БД Oracle, в редакции T20_1_1, которая на данный момент является редакцией по умолчанию, а Семен и Полина на обеде, см. рис. 4. На рисунке CONTRACT, PERSON, CLIENT - примеры пакетов.

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис. 4. Пример установки патча с EBR


Начинается установка патча T20.1.2, и создается новая редакция T20_1_2, см. рис. 5.

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис. 5. Пример установки патча с EBR


В патче изменяется только один файл PERSON, для которого создается новая версия в редакции T20_1_2, а остальные объекты будут использоваться из родительской редакции, см. рис. 6

.

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис. 6. Пример установки патча с EBR


После деплоя патча, редакция T20_1_2 устанавливается редакцией по умолчанию, и, когда Семен и Полина возвращаются с обеда, они подключаются уже к вновь созданной редакции, см. рис. 7.

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис. 7. Пример установки патча с EBR


У Ивана завершается формирование отчета, и он подключается к редакции T20_1_2, см. рис. 8.

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис.8. Пример установки патча с EBR


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

Блеск и нищета технологии Edition-based redefinition в Oracle Database Часть 1. Блеск IT, Программирование, Oracle, Опыт, Длиннопост

Рис. 9. Пример установки патча с EBR


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


1) пользователи работают в редакции E_OLD_EDITION;

2) создается новая редакция E_NEW_EDITION, в ней создаются/меняются/удаляются объекты, не влияя на существующих пользователей;

3) новая редакция E_NEW_EDITION становится общей редакцией БД по умолчанию;

4) все пользователи переключаются на новую редакцию.


Может сложиться мнение, что EBR - это чудесная технология, которая позволяет обновлять БД, не создавая никаких проблем и дает возможность для быстрого отката к предыдущей редакции в случае сложных ошибок, но, к сожалению, это не соответствует действительности. Проблемы возникают на разных этапах. Об этом читайте в следующей части, мы скоро ее выложим:)

Показать полностью 9
16

Нужна помощь пикабушников-специалистов в области обучения в IT-программирования на начальной стадии, то есть с нуля

Всем доброго времени суток. Недавно получил инвалидность, соответственно пришлось уйти с предыдущей работы, так как физические нагрузки противопоказаны, да и ходить, в целом, на своих двоих противопоказано. Моральное состояние подавлено, но сдаваться не хочется. Есть хороший стационарный компьютер и желание научиться азам программирования, ибо чувствую что освоенное в дальнейшем, теперь станет моим постоянным источником дохода. Чтобы вы имели представление об уровне моего знания ПК - могу переустановить Windows, почти знаком со всеми сопутствующими утилитами и программами и предназначения каждой для правильного функционирования операционной системы. Лет мне 42, с недавнего времени активный пользователь ПК(люблю это дело и вполне усидчив).

Теперь к сути: Различных онлайн курсов великое множество на просторах интернета, но кому можно довериться? В наш век засилья мошеннических сайтов, особого доверия нет красиво оформленным сайтам по обучению. Прошу неравнодушных пикабушников поделиться проверенными источниками по обучению в программировании, а именно в обучении на тестировщика программного обеспечения! Если есть какие-то альтернативные методы обучения без посредников - тоже буду рад таким советам. Прошу прощения за отнятое время, всем откликнувшимся, заранее благодарен. Лучи добра и котиков. Всех обнял!

Отличная работа, все прочитано!