Forwarded from Kazarin.online (Kirill Kazarin)
3️⃣ как вообще организовать единообразную, не затратную с тз человеческих ресурсов, стабильную поставку на тестирование и доставку другим командам, выступающим пользователями-заказчиками новых нужных версий и доработок
и так далее.
Если собрать все это и сформулировать более абстрагировано от кейсов ребят, мы получаем следующие задачи:
1️⃣управление зависимостями и борьба с dependency hell на целевом хосте
2️⃣сборка артефактов
3️⃣доставка и запуск приложения
Как раз это те вещи, где докер (т.е. контейнеры, сорян но у меня это нарицательно-тождественные понятия, это как все копировальные аппараты - ксероксы), справляется на ура и для решения которых он в тч был создан.
Итого, решение
1️⃣пишем один или несколько Docker-file, в которых описываются нюансы установки зависимостей, сборки и пр
2️⃣получаем доступ в подходящий docker registry ( поднять свой, договориться с соседней командой и поселиться к ним, арендовать публичный и тп)
3️⃣пишем CI конфиг который будет брать код из репки и делать сборку образа (по нужным вам условиям), после чего собранный образ с нужным тегом помещает в реджистри
4️⃣создаем манифест для деплоя - например docker-compose файл если нужно поднять локально или на отдельном сервере или deployment манифест если это кубер, либо что то еще такое.
Все, проблема решена! надо локально развернуть версию 1.2.123? Ок, задаем переменную для докер-компоуза с версией тега и даем команду - up. 10 минут и стенд развернулся (в компоуз файле же еще можно хранить и дефолтные значения переменных чтоб наглядно, и все сторонние компоненты например mysql и пр.)
Да, это момент где надо один раз плотно вложиться, посидеть может пару дней, зато потом экономит кучу времени и сил и главное - уменьшает число ошибок, так как процедура становится понятной, воспроизводимой и автоматизированной.
и так далее.
Если собрать все это и сформулировать более абстрагировано от кейсов ребят, мы получаем следующие задачи:
1️⃣управление зависимостями и борьба с dependency hell на целевом хосте
2️⃣сборка артефактов
3️⃣доставка и запуск приложения
Как раз это те вещи, где докер (т.е. контейнеры, сорян но у меня это нарицательно-тождественные понятия, это как все копировальные аппараты - ксероксы), справляется на ура и для решения которых он в тч был создан.
Итого, решение
1️⃣пишем один или несколько Docker-file, в которых описываются нюансы установки зависимостей, сборки и пр
2️⃣получаем доступ в подходящий docker registry ( поднять свой, договориться с соседней командой и поселиться к ним, арендовать публичный и тп)
3️⃣пишем CI конфиг который будет брать код из репки и делать сборку образа (по нужным вам условиям), после чего собранный образ с нужным тегом помещает в реджистри
4️⃣создаем манифест для деплоя - например docker-compose файл если нужно поднять локально или на отдельном сервере или deployment манифест если это кубер, либо что то еще такое.
Все, проблема решена! надо локально развернуть версию 1.2.123? Ок, задаем переменную для докер-компоуза с версией тега и даем команду - up. 10 минут и стенд развернулся (в компоуз файле же еще можно хранить и дефолтные значения переменных чтоб наглядно, и все сторонние компоненты например mysql и пр.)
Да, это момент где надо один раз плотно вложиться, посидеть может пару дней, зато потом экономит кучу времени и сил и главное - уменьшает число ошибок, так как процедура становится понятной, воспроизводимой и автоматизированной.
Forwarded from Kazarin.online (Kirill Kazarin)
вот пример - джоба по сборке (gitlab ci), dockerfile и docker-compose файл для запуска.
Причем это далеко не самые сложные, замороченные варианты без ярого использования бест-практисов. Просто чтобы работало. в сумме около 100 строчек текста а сколько боли решает
Причем это далеко не самые сложные, замороченные варианты без ярого использования бест-практисов. Просто чтобы работало. в сумме около 100 строчек текста а сколько боли решает
Forwarded from Вечерний картограф
Одним из следствий переноса границы Польши на запад стали перемещения больших групп населения. Немцы начали бежать из восточных областей рейха еще в 1944 году в условиях наступления Красной армии. А по решению Потсдамской конференции с новоприсоединенных территорий Польши в 1945-1950 было выселено около 3,5 млн. немцев. Обезлюдевшие Силезия, Померания и Мазуры были заселены поляками, преимущественно из центральных районов страны.
Новая польская власть, хоть и не признавалась в этом, проводила пястовскую политику строительства мононационального государства. В рамках этой политики был проведен обмен населением с СССР. В 1945-47 г. из СССР в Польшу переселилось, по официальным данным, 1,2 млн. человек, а в обратном направлении – 520 тыс.
Проблемой для обеих стран было украинское вооруженное подполье. Поляки ее решили первыми, прибегнув к радикальным мерам: в 1947 г. значительную часть оставшихся в Польше украинцев (около 140 тыс. чел.) переселили на бывшие немецкие территории. Тем самым украинские боевики потеряли социальную, мобилизационную и хозяйственную базу. А вот в СССР они продолжали действовать до 1956 г. Счет жертв с обеих сторон ведется на десятки, а то и сотни тысяч человек.
Итогом всех этих драматических событий стало создание не только моноэтнической Польши, но и моноэтнической Западной Украины. Сложно, находясь в здравом уме, идеализировать этот процесс: он был болезненным для всех без исключения. Но Сталин сделал то, что ни поляки, ни украинцы не сделали бы сами ни при каких обстоятельствах: провел международно-признанные границы, закрепляющие Силезию, Померанию и Вармию с Мазурами за Польшей, а Волынь и Восточную Галицию – за Украиной. А дальше свое дело, как бы цинично это ни звучало, сделала демография: поляки нарожали поляков, а украинцы – украинцев. Польский Львов, как и немецкийВроцлавБреслау, стали историей.
Новая польская власть, хоть и не признавалась в этом, проводила пястовскую политику строительства мононационального государства. В рамках этой политики был проведен обмен населением с СССР. В 1945-47 г. из СССР в Польшу переселилось, по официальным данным, 1,2 млн. человек, а в обратном направлении – 520 тыс.
Проблемой для обеих стран было украинское вооруженное подполье. Поляки ее решили первыми, прибегнув к радикальным мерам: в 1947 г. значительную часть оставшихся в Польше украинцев (около 140 тыс. чел.) переселили на бывшие немецкие территории. Тем самым украинские боевики потеряли социальную, мобилизационную и хозяйственную базу. А вот в СССР они продолжали действовать до 1956 г. Счет жертв с обеих сторон ведется на десятки, а то и сотни тысяч человек.
Итогом всех этих драматических событий стало создание не только моноэтнической Польши, но и моноэтнической Западной Украины. Сложно, находясь в здравом уме, идеализировать этот процесс: он был болезненным для всех без исключения. Но Сталин сделал то, что ни поляки, ни украинцы не сделали бы сами ни при каких обстоятельствах: провел международно-признанные границы, закрепляющие Силезию, Померанию и Вармию с Мазурами за Польшей, а Волынь и Восточную Галицию – за Украиной. А дальше свое дело, как бы цинично это ни звучало, сделала демография: поляки нарожали поляков, а украинцы – украинцев. Польский Львов, как и немецкий
Forwarded from HN Best Comments
Re: Passkeys: The beginning of the end of the password
I'm still salty about this. Called it passkey too. http://www.multipasskey.com/susdemo/. Built this 5-6yrs ago and applied to YC. Crickets. Hope to see this take off, with my approach I made it where you don't even need to "register", you can go to a site and just have an account. I did the fingerprint, face scan, PIN approach for more security, but my favorite was NFC ring. Basically you have an NFC ring you wear on your finger. That way if someone steals your phone or takes it, you are protected. The entire thing uses a unique pub/pri keys for each site. Keys are backed up by shamir secret sharing distributed across your friends or providers you select. 100% of your keys are encrypted so I the provider can't see it, recover it or be forced to reveal it. Since each site has a key, one could do interesting things. E2E encryption for apps where they can't be forced to reveal a key. If you are using an App and want to send someone a message, the app can fetch the person's pub key, then an inbuilt editor outside of the App in our app will be used to compose the message and encrypt it. That way the App provider can't be forced to reveal the message, and they don't have keys either. Pretty much control in the hands of the user. The same approach can be used for a storage pod where you have a pod that stores your data that you encrypt and control. This is a good start, hopefully we can see the good ideas of this, AT protocol (account portability), keybase, etc all start to bear fruit.
What I don't like bout Google doing this is that the big providers use this to tether and lock you in to their platform. The power of this shines when it's federated. So if you run a site, you can provide security to your users without them needing Google, FB, etc.
segmondy, 5 hours ago
I'm still salty about this. Called it passkey too. http://www.multipasskey.com/susdemo/. Built this 5-6yrs ago and applied to YC. Crickets. Hope to see this take off, with my approach I made it where you don't even need to "register", you can go to a site and just have an account. I did the fingerprint, face scan, PIN approach for more security, but my favorite was NFC ring. Basically you have an NFC ring you wear on your finger. That way if someone steals your phone or takes it, you are protected. The entire thing uses a unique pub/pri keys for each site. Keys are backed up by shamir secret sharing distributed across your friends or providers you select. 100% of your keys are encrypted so I the provider can't see it, recover it or be forced to reveal it. Since each site has a key, one could do interesting things. E2E encryption for apps where they can't be forced to reveal a key. If you are using an App and want to send someone a message, the app can fetch the person's pub key, then an inbuilt editor outside of the App in our app will be used to compose the message and encrypt it. That way the App provider can't be forced to reveal the message, and they don't have keys either. Pretty much control in the hands of the user. The same approach can be used for a storage pod where you have a pod that stores your data that you encrypt and control. This is a good start, hopefully we can see the good ideas of this, AT protocol (account portability), keybase, etc all start to bear fruit.
What I don't like bout Google doing this is that the big providers use this to tether and lock you in to their platform. The power of this shines when it's federated. So if you run a site, you can provide security to your users without them needing Google, FB, etc.
segmondy, 5 hours ago
Forwarded from HN Best Comments
Re: Searches for VPN Soar in Utah Amidst Pornhub Block...
I have a favorite Utah story that is I think appropriate here. Many years ago as a young and green consultant I was sent to Salt Lake to help with some ASP.NET/C# app with Utah Department of Liquor. I was told to look for the tallest building in SLC and the warehouse did not disappoint, it was huge (well, SLC is really flat and squat too). They showed me the warehouse full of really fancy robotic stuff (all made in Utah, and they were correct to be proud of it). We got to work looking over the code of the app, and along the way they learn that I am originally from USSR/Russia. "Oh" the devs say, "do you want to see our Russia module"? I am of course intrigued, and discover that during the process of organization of 2002 SLC winter Olympics (Mitt Romney's baby/rise to prominence), there was a huge diplomatic incident. The rules of State of UT at the time limit the number of bottles sold to any one in a given transaction, and the Russian delegation was refusing to come to Utah because they would not be allowed to buy as much liquor (likely vodka) as they wanted to. This got escalated to the highest levels of State department, and the intrepid UT legislature found a way! They [very quickly] passed the law that any person with Russian citizenship could buy whatever the heck they want in any amount. Now it was up to the poor saps in the UT Dept. of Liquor to implement it. But you couldn't just rely on people showing passport! No, the software team feverishly coded up the "Russian Module" that implemented passport number validation, making sure that if you did show a red passport with double-headed eagle, its number was valid. There was serious collaboration on the numbering schemes and maybe even some proto API validation to the Russian Federation servers. Yeah, legit module. Used for 2 weeks, and then decommissioned as the law sunset very rapidly.
So, where there is a will, there is a way. And a VPN.
danielodievich, 1 hour ago
I have a favorite Utah story that is I think appropriate here. Many years ago as a young and green consultant I was sent to Salt Lake to help with some ASP.NET/C# app with Utah Department of Liquor. I was told to look for the tallest building in SLC and the warehouse did not disappoint, it was huge (well, SLC is really flat and squat too). They showed me the warehouse full of really fancy robotic stuff (all made in Utah, and they were correct to be proud of it). We got to work looking over the code of the app, and along the way they learn that I am originally from USSR/Russia. "Oh" the devs say, "do you want to see our Russia module"? I am of course intrigued, and discover that during the process of organization of 2002 SLC winter Olympics (Mitt Romney's baby/rise to prominence), there was a huge diplomatic incident. The rules of State of UT at the time limit the number of bottles sold to any one in a given transaction, and the Russian delegation was refusing to come to Utah because they would not be allowed to buy as much liquor (likely vodka) as they wanted to. This got escalated to the highest levels of State department, and the intrepid UT legislature found a way! They [very quickly] passed the law that any person with Russian citizenship could buy whatever the heck they want in any amount. Now it was up to the poor saps in the UT Dept. of Liquor to implement it. But you couldn't just rely on people showing passport! No, the software team feverishly coded up the "Russian Module" that implemented passport number validation, making sure that if you did show a red passport with double-headed eagle, its number was valid. There was serious collaboration on the numbering schemes and maybe even some proto API validation to the Russian Federation servers. Yeah, legit module. Used for 2 weeks, and then decommissioned as the law sunset very rapidly.
So, where there is a will, there is a way. And a VPN.
danielodievich, 1 hour ago
Microsoft
ASP.NET Core, an open-source web development framework | .NET
Build web apps and services that run on Windows, Linux, and macOS using C#, HTML, CSS, and JavaScript. Get started for free on Windows, Linux, or macOS.
Forwarded from Data is data
Очевидное историческое, раз уж тут я Плутарха поминал. Давно лежит статка по искажённому восприятию исторических личностей. Мы их изучаем, по большей частью как каких-то старцев, хотя по современным меркам они во многом молодёжь.
Канны
Ганнибал - 31 год
Аустерлиц
Наполеон - 36 лет
Полтава
Петр I - 37 лет
Карл XII - 27 лет
Фермопилы
Леонид - 39 лет
Ксеркс - 38 лет
Куликово Поле
Дмитрий Донской - 30 лет
Разгром Казанского ханства
Иван Грозный - 21 год
Канны
Ганнибал - 31 год
Аустерлиц
Наполеон - 36 лет
Полтава
Петр I - 37 лет
Карл XII - 27 лет
Фермопилы
Леонид - 39 лет
Ксеркс - 38 лет
Куликово Поле
Дмитрий Донской - 30 лет
Разгром Казанского ханства
Иван Грозный - 21 год
Forwarded from HN Best Comments
Re: Prime Video Abandons Serverless Distributed Stack ...
My word. I'm sort of gob smacked this article exists.
I know there are nuances in the article, but my first impression was it's saying "we went back to basics and stopped using needless expensive AWS stuff that caused us to completely over architect our application and the results were much better". Which is good lesson, and a good story, but there's a kind of irony it's come from an internal Amazon team. As another poster commented, I wouldn't be surprised if it's taken down at some point.
lastangryman, 1 hour ago
My word. I'm sort of gob smacked this article exists.
I know there are nuances in the article, but my first impression was it's saying "we went back to basics and stopped using needless expensive AWS stuff that caused us to completely over architect our application and the results were much better". Which is good lesson, and a good story, but there's a kind of irony it's come from an internal Amazon team. As another poster commented, I wouldn't be surprised if it's taken down at some point.
lastangryman, 1 hour ago
Собственно, заметка: https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90
Фраза, которая заставила меня задуматься: "This eliminated the need for the S3 bucket as the intermediate storage for video frames because our data transfer now happened in the memory".
Фраза, которая заставила меня задуматься: "This eliminated the need for the S3 bucket as the intermediate storage for video frames because our data transfer now happened in the memory".
Amazon News
Entertainment
Amazon produces and delivers to customers world-class entertainment via Prime Video, Amazon MGM Studios, MGM+, Amazon Music, Audible, Wondery, Amazon Games, and Twitch. Amazon’s entertainment properties empower millions of customers around the world to enjoy…
Forwarded from историк-алкоголик
Прислушались к нашим постоянным покупателям, которые попросили разнообразить ассортимент, например, заняться рекламной полиграфией Российской империи.
Может, у кого-то есть кафе или бар, куда отлично впишется дореволюционная реклама. Может, кто-то таким образом разнообразит интерьер квартиры или офиса.
В качестве подарка тоже сгодится.
Итак:
Культурно-промышленная и сельскохозяйственная выставка «Русская Ривьера»
Кофе товарищества «П.И. Кузьмичева с сыновьями»
Французские печенья к чаю С. Сиу и ко
Рояли и пианино К. М. Шредера
Рижское общество срочного пароходства
Южнобережиские крымские натуральные Виноградные вина
Швейные машинки «Зингер»
Фабрика конфет И.Л. Динг
Всероссийский праздник воздухоплавания
Первая международная выставка автомобилей, двигателей, велосипеда и спорта
Доставка по РФ – СДЭК, есть возможность доставить DHL в любую точку планеты (да, эта штука все еще работает).
Все плакты в моднейших тубусах.
Размер А2
Цена – 1500 р.
Заказать можно, написав вот в этот аккаунт - @map1903
Отзывы о картах вот здесь – @o_karte
А также, все еще можно заказать карты
Европейской России и Москвы,
Санкт-Петербурга
Исторические планы городов.
Может, у кого-то есть кафе или бар, куда отлично впишется дореволюционная реклама. Может, кто-то таким образом разнообразит интерьер квартиры или офиса.
В качестве подарка тоже сгодится.
Итак:
Культурно-промышленная и сельскохозяйственная выставка «Русская Ривьера»
Кофе товарищества «П.И. Кузьмичева с сыновьями»
Французские печенья к чаю С. Сиу и ко
Рояли и пианино К. М. Шредера
Рижское общество срочного пароходства
Южнобережиские крымские натуральные Виноградные вина
Швейные машинки «Зингер»
Фабрика конфет И.Л. Динг
Всероссийский праздник воздухоплавания
Первая международная выставка автомобилей, двигателей, велосипеда и спорта
Доставка по РФ – СДЭК, есть возможность доставить DHL в любую точку планеты (да, эта штука все еще работает).
Все плакты в моднейших тубусах.
Размер А2
Цена – 1500 р.
Заказать можно, написав вот в этот аккаунт - @map1903
Отзывы о картах вот здесь – @o_karte
А также, все еще можно заказать карты
Европейской России и Москвы,
Санкт-Петербурга
Исторические планы городов.