Pull to refresh
1
0
Игорь Бестужев @Yngvie

User

Send message

Видимо это применимо к Python2. Там если записать в одну строку, то результат поменяется


>>> b = [-10]; b.append(-10); b[0] is b[1]
True

Но в Python 3 эта же строка вернет False. Более того, даже для создания списка сразу из двух элементов будет False


>>> b = [-10, -10]
>>> b[0] is b[1]
False

Даже если положить это в файл.

Вариант с token.js тоже довольно часто используется. Например в Python/Django, часто создают файл settings_local.py. Но такой подход сработает только для интерпретируемых языков, и только если код физически на сервере и его можно править.


Этот подход не сработает, если ваше приложение написано на C#, и на сервере лежит только результат команды dotnet build, без собственно кода. Или если вы делаете приложение в виде пакета, и на сервере ставите его через npm install my-package. Или если вы используете typescript, и перед запуском приложения оно собирается в большой JS файл. Теоретически в последнем случае все еще можно использовать import TOKENS from "tokens", но придется поднапрячься с настройкой, чтобы собранный файл импортировал файл с токенами.


И второй момент — переменные окружения работают на уровне ОС, чтобы использовать их не надо ничего знать о структуре вашего приложения. Например такой подход применяется в популярном сервисе Heroku. При деплое на Heroku приложение может узнать, какой из портов открыт считав значение process.env.PORT.
На примерах с Docker в статье — можно собрать один image, и запускать его с разными настройками, не меняя файлы.

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


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


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


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

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


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

Интересно, какое все таки время установлено, например для той же Ауди А8. Хотя бы порядок там, секунды или минуты?

Я так понимаю вы про эту статью — Linux-контейнеры для Windows.


Только что попробовал, видимо там zip архив с LinuxKit обновили. Теперь удалось запустить… правда через раз почему то, и на второй раз начало зависать при распаковке образа, но хоть что-то. Пришлось пару раз очищать папку lcow и качать образы заново.


Один из моментов который интересовал работает — можно добавить volume с диска который не расшарен. Так что есть повод ждать релиза.

Частично отвечу на свой же вопрос.


Прочитал тикет 1219 — после определенной версии нужна еще одна переменная окружения.


$env:LCOW_API_PLATFORM_IF_OMITTED="linux"

Но все равно при попытке pull выходит ошибка. Образ находится, скачивается, но после распаковки падает.


Текст ошибки

C:\Work\dockerbeta\docker.exe: failed to register layer: failed to start service utility VM (applydiff c01367536c422450a2126cfc8ff74f689748c09740e399186473ab911faa1d16): container c01367536c422450a2126cfc8ff74f689748c09740e399186473ab911faa1d16_svm encountered an error during CreateContainer: failure in a Windows system call: Access is denied. (0x5) extra info: {"SystemType":"container", "Name": "c01367536c422450a2126cfc8ff74f689748c09740e399186473ab911faa1d16_svm", "Layers":null,"HvPartition":true, "HvRuntime":{"ImagePath":"C:\\Program Files\\Linux Containers\\uvm.vhdx", "BootSource":"Vhd"},"ContainerType":"linux", "TerminateOnLastHandleClosed":true}.


Скрипт для ACL я выполнял. Если открыть в проводнике, то там есть Full Access для Virtual Machines. Но если попробовать давать права через проводник, то он не находит роль NT VIRTUAL MACHINE\Virtual Machines. И с LinuxKit вместо Xenial выходит тоже самое.

С выходом Creator Fall решил попробовать сделать все по туториалу.
И столкнулся с проблемой из этого тикета. Флаг experimental тоже не помог. Не знаете, есть ли какое-то решение? Возможно надо откатиться на предыдущую версию dockerd?

Я на простом проекте пробовал — текст печатался, так что код доступен. Про другие потоки не подумал, тут не подскажу к сожалению

А нельзя просто в Program.Main добавить код после вызова .Run()?


public static void Main(string[] args)
{
    BuildWebHost(args).Run();
    System.Console.WriteLine("Some code to execute on quit");
}

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


А что с потреблением памяти? Сейчас под виртуалку с докером можно выделить фиксированное количество ОЗУ, у меня например стоит 2 Гб.
А при новом подходе — надо будет задавать объем памяти для каждого контейнера?


И еще вопрос, который волнует — можно ли теперь подключать volumes без необходимости расшаривать весь диск по самбе?

Я пробовал несколько месяцев назад, запустить Docker под Linux subsystem — не получалось. Даже с попыткой замены Unix сокетов на TCP. Не помню что именно, но это ядро не поддерживало все фичи изоляции, которые нужны докеру.


Так что думаю что вопрос в использовании самой подсистемы как линукса.


И насколько я помню, там продублирован не весь функционал Линукса, так что некоторые утилиты не работают.

А я так понимаю что .\dockerd.exe запускается вместо стандартного докер-демона, который запускается через "C:\Program Files\Docker\Docker\Docker for Windows.exe"


То есть запустив таким образом особый Ubuntu-Docker, я не смогу использовать другие контейнеры, например на основе alpine?


Или все не Ubuntu контейнеры будут также запускаться через старый MobyLinuxVM?

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


А по Германии такое еще популярней, насколько я слышал. До города на машине или электричке, потом на веле.

использование рекламы на русском языке, отсылающей к соответствующему интернет-сайту

А это еще интересней момент. Учитывая что рекламные объявления обычно автор сайта руками не отбирает, а отдает это на плечи баннерных сетей. Тогда ведь на любых сайтах пользователю из РФ будет показываться реклама магазинов из РФ.

А меня в core разочаровал Entity Framework Core. Недавно столкнулся с тем что там GROUP BY очень ограничен, и не конвертируется нормально в SQL запрос.


Обещают в 2.1 добавить.

А какие именно Garmin и смартфон? У меня сразу после покупки были конфликты на Sony Z3 Compact + Fenix 3HR.


То отпадали уведомления, то начинался дикий жор батареи. Решилось это добавкой приложений Garmin'a в исключения для стамины и энергосбережения, а также делал pair не только через Garmin Connect, но и через сам Андроид.


Осталась проблема с контролем музыки, иногда отпадает почему-то, но редко.


Можете еще попробовать костыльные софтины типа Reconnect Garmin.

Ну Heroku вроде не совсем из той серии. У них больше автоматизаций, но и больше ограничений, например только один порт на машину, для VPN не подходит.


Это скорее аналог Azure App Service или Google App Engine.
Проще деплоить, но и писать надо с оглядкой на платформу.

Я так понимаю, что с распространением https граббинг все менее и менее юзабелен.

Есть, только у них пользователей меньше.


Кстати, я думал что такая проверка идет из Chromium, поэтому проверил сразу и в Хроме и в Опере (46). Так Опера проверила сертификат и не дала зайти на сайт. А у Хрома вполне себе зеленый замочек как у валидного HTTPS.


И даже Edge не позволил зайти


Error Code: ERROR_INTERNET_SEC_CERT_REVOKED

Не туда ответил

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity