Pull to refresh

Comments 147

Запускаем тяжелый вычислительный бэкенд в дата-центре, или просто на своём домашнем Threadripper 3990X.
Тут согласен.
Соединяемся с бэкендом из локального приложения, написанного на Java.
А чем не устраивает «ssh -XC»? Никаких проблем ни со шрифтами, ни со скоростью не наблюдаю.

Давай так, проблемы со скоростью есть и там и там. Не бывает так, чтобы был интернет, виртуалка, и нет проблем со скоростью.


Условно говоря, если ты человеку, который долго пишет в vim или emacs дашь нативную Идею, его перекорёжит, потому что тормоза есть даже там! Он скажет, что редактор как-то медленно реагирует на нажатия кнопок.


Это про тормоза. Кажется, это важно.


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


  1. Мой основной компьютер — это Windows. На Windows нет встроенных иксов, а браузер у тебя есть всегда.


  2. На серверах в облаке обычно нет иксов. Projector-у они не нужны, что очень-очень приятно.


  3. Зачастую твой сервер — это рабочая станция Windows. Projector наверняка можно завести на WSL2 или Docker for Windows и это будет совершенно бесплатно, а с иксами — большой вопрос.


  4. Имхо, проброс иксов — это сложно. Какие-то отчаянные ёли адоптеры, конечно, всё что угодно у себя заведут. Для среднестатистического человека обычная ссылка в браузере может оказаться удобней. Например, представь вики (какой-нибудь конфлюенс), где есть таблица ссылок на IDE развернутые на разных тестовых серверах.



Конечно, если тебя целиком устраивает проброс иксов — то ничего против не имею, пользуйся на здоровье ;) "А ты купи слона".


Я сам обычно пользюсь VNC, потому что это дает доступ не только к одному приложению, а сразу ко всей операционной системе. Хотя от лагов меня аж трясёт.

UFO just landed and posted this here
ты человеку, который долго пишет в vim или emacs дашь нативную Идею, его перекорёжит

Скорее всего, такие люди уже сделали вот так, но тем не менее:

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

Ну и если уже успел написать на Vim script всяких полезностей, в плагин их вряд ли добавишь.
X-server работает в Windows, в том силе и через ssh. Зачем нужен именно встроенный — не совсем понятно.
«На Windows нет встроенных иксов» — есть «невстроенные». Cygwin/X, например.
Заводить X-ы на Android/IOS не пытался (задачи такой не было), но предполагаю, что это будет неординарно :)
Поэтому соглашусь, что работа в браузере — более универсальный подход (но — только с точки зрения «клиента»; с точки зрения «бэкэнда» универсальнее уже проброс X11: пробрасывается всё, а не только специальным образом написанные/подготовленные программы).

«На серверах в облаке обычно нет иксов. Projector-у они не нужны» — в случае с пробросом иксов по SSH они на «бэкэнде» так же не нужны.

«Зачастую твой сервер — это рабочая станция Windows. Projector наверняка можно завести на WSL2 или Docker for Windows и это будет совершенно бесплатно, а с иксами — большой вопрос.» — те же яйца, вид сбоку. Х11 на «бэкэнде» не нужны, они нужны на «клиенте».

«Имхо, проброс иксов — это сложно. Какие-то отчаянные ёли адоптеры, конечно, всё что угодно у себя заведут.» — ну да, сложно. Это же надо на клиенте X-сервер поставить, да ключик "-X" к комманде ssh добавить.

А по поводу где как тормозит — я ниже в обсуждении ролики выложил.
Если вдруг будет интересно, как оно на совсем слабом железе (Raspberry Pi 2, например) — сделаю.
Было бы неплохо увидеть видео работы через projector.

Пример пользовательского опыта "для обычного человека", как это может быть:


  1. Зашел в Google Play, нашел Projector, установил.
  2. Запустил с рабочего стола, залогинился своей JB-учеткой.
  3. Подтвердил оплату в выбранном тобой облаке (виртуалки в облаке не бесплатные).
  4. Работаешь.

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


В идеальном варианте "для простых пользователей" никакого знания бэкенда технологии не требуется вообще. Приложение ничем вообще не отличается от notepad.exe за исключением необходимости в двух оплаченных учетках — на облако и на JB-аккаунт. Даже пра пра пра бабушка сможет всё это проделать.


Юзер экспириенс с ssh -X или разворачиванием докеров — не такой. Там реально нужно много знать и уметь. Куча мелких технических деталей, каждая из которых может привести к проблемам, которые придется решать с привлечением экспертизы. Хотя со стороны это может казаться не так, потому что квалифицированный специалист это умеет, и готов потратить время на применение навыков.

А чем не устраивает «ssh -XC»? Никаких проблем ни со шрифтами, ни со скоростью не наблюдаю.

IDEA или Firefox целиком рендерят свои окна и попытки пробросить с Linux на Windows их через SSH X11 Forwading приводят к совершенно фантастическим тормозам (20-30-40 секунд открытие пункта меню, например), даже если они запущены в виртуальной машине на том же компьютере или на сервере через один коммутатор.
У меня другой опыт. Вполне себе сносно получается работать в IDEA удаленно через SSH — но в локальной сетке, на 100 Мб. Т.е. в экстренных случаях, когда надо на Linux что-то собрать специфическое — спасает, так как в основном на Windows сижу. На постоянку конечно IDEA в Windows, дабы глаза поберечь.
Понизьте цвет до 8 бит, сильно удивитесь.
А как и где понижать?
С другой стороны, для Java-приложений мне очень помог параметр -Dsun.java2d.xrender=true

Господа, извините что врываюсь в дискуссию, но мне одному кажется странным что IDE пришли уже к клиент-серверной схеме и требуют кучу ресурсов даже ничего не делая?
Мне кажется где-то мы свернули не туда)

Еще никого не уволили, за то что купил у IBM ©

Намекаю на минимально необходимый суперкомпьютер для девов.

Беда конечно, но Андроид-девам деваться некуда =(

ИДЕЯ — первая ИДЕ, в которой я получил OOM в 32-битной машине (виртуалке) при макс памяти.

IDE может ничего не делать в текущую секунду (когда бездействует), но зато она сможет сделать очень многое в следущую секунду, как только вы нажмёте на клавишу, без загрузки всяких внешних инструментов.

Да я знаю зачем нужна IDE)
Просто удивляет сравнение с тем что было 10 лет назад и к чему пришли сейчас. Вопрос риторический был)

UFO just landed and posted this here

10 лет назад были NetBeans и Eclipse


Первый работал быстро, но мало умел. Второй умел все, но я не видел компьютера на котором он быстро работал :) так что за 10 лет ничего не поменялось. Ide все так же выжирает все ресурсы компа, до каких дотянется. А если не она, то рядом ее докер добьёт в котором база крутится :)

На локальной машине нормально работает, в инетах полно видео (wsl 2 vcxsrv), не натив конечно, но и секунды ждать не приходится. Проверял на Firefox, PHPstorm. В конце года обещают поддержку из коробки для запуска gui из wsl, возможно будет еще лучше.
Не поленился, проверил.
Windows — 8.1 в виртуалке (VirtualBox), линуксовые хосты — LXC на другой машине.
Между машинами с VirtualBox и LXC — гигабитная сеть.
«Зажать» сеть по инструкции не получилось (команды выполняются без ошибок, но по факту ограничения не работают), разбираться не стал.
X-сервер на Windows — Cygwin/X (вчера ночером тупо поставил последнюю версию).

Firefox — да, тормозит сильно (пользоваться сильно неприятно), причем независимо от того, перебрасываются ли иксы на Windows, или на Linux.
Но никаких «20-30-40 секунд открытие пункта меню» нет.
А вот IDEA (в моём случае — Goland) работает почти «like native» (тормозит только Lens — отображение окна с куском кода при позиционировании указателя мыши на строке прокрутки).

В общем, я бы сказал, что особой разницы в скорости работы при пробросе иксов на Linux/Windows я не заметил.

Прошлым летом был у родителей в деревне и через их ADSL (10M/768K, кажется) вполне комфортно работал в Goland, но да, из под Linux.
работает почти «like native»

Посмотрел ваше видео, оно «like native» только если вы привыкли с калькулятора работать. Иначе не понимаю как эти затупы по 200-500, иногда 1000-1500 мс можно нормально воспринимать. Плюс кадры теряются иногда.
Открытие about, открытие настроек, переключение на соседнюю вкладку с кодом по ощущениям секунду заняло.
Открытие about — это «непрогруз» Goland-а (там даже уже после показа about-а в статусе прогресс-бар мелькает), но никак не тормоза проброса иксов.

На что Goland при загрузке CPU тратит — я не знаю.
Для IDEA (точнее, для JVM и всех Java-приложений) есть волшебная опция -Dsun.java2d.xrender=true
Меня, во всяком случае, она выручила. Если правильно понимаю, суть в том, что по умолчанию Swing рисует всё попиксельно (а X11 передаёт это не как картинку, а как огромный, почти несжимаемый набор команд), а с данной опцией протокол X11 используется «как надо», более эффективно
Топикстартер уже дал развернутый ответ. Есть еще — хромбуки, на которых я ежедневно пользуюсь похожим решением для visual studio code. В них тоже есть linux сейчас, но не во всех (и в моем случае по разным причинам им пользоваться нельзя для соединения с рабочей машиной, в том числе и потому что это untrusted vm). И я прям пошел пробовать на своей workstation завести этот самый projector для idea. Ну еще есть всякие android'ы (и даже околодесктопные оболчки для них) и ipad'ы.

Не понял сентенции «и в моем случае… им пользоваться нельзя».

Если хромбук поддерживает Linux Beta (мы ведь о нём?) — то всё прекрасно соединяется/пробрасывается.

Вот если поддержки linux beta нет — тогда да, без напильника не обойтись.

Видео записано на Asus CN60 (на котором вроде как не должно быть ни Google Play, ни Linux Beta, и вообще, поддержка закончилась на 76 версии ChromeOS-а).
Политики.
Линукс бета есть, но подключаться к рабочей станции из него нельзя, потому что подключение к рабочей станции требует набора довольно специальных ключей и физического токена, которые теоретически конечно можно откуда-нибудь попробовать наковырять и пробросить/положить в вм, но безопасники настучат потом по одному месту. Потому что это untrusted vm и untrusted environment.
Я правильно понимаю, что доступ по ssh закрыт, но при этом по http/https соединяйся куда хочешь?
Доступ по ssh не закрыт. Он закрыт из непонятной виртуальной машины. С физических корпоративных железяк, при условии наличия всех сертификатов нужных и физического токена, все прекрасно работает. (в том числе проброс портов через ssh для обеспечения http/https (и на хромбуке тоже), в том числе и X11 forwarding, но не на хромбуке, конечно).
Предположения:
  • Имеется хромбук, способный зарегистрироваться и работать в корпоративной сети (неважно, напрямую или через VPN)
  • В этой же корпоративной сети имеется машина (неважно, физическая или виртуальная)
  • Имеется желание работать на хромбуке в некой программе (idea), запущенной на корпоративной машине
  • Подключиться по ssh на корпоративную машину с хромбука (как и с любого другого «неподтвержденного СБ» устройства) нельзя
  • При этом имеется достаточно прав на корпоративной машине, чтобы быть способным создавать/запускать образы docker


На каком пункте эти предположения ошибочны?
Подключиться с хромбука можно, он подтвержден СБ и там все, что нужно есть. С виртуальной машины, которой по сути и является linux на хромбуках, нельзя. Остальное все так, да.
Что мешает создать свой образ docker с блекджеком и ssh-сервером?
Где, на рабочей станции? Там есть ssh-сервер, зачем мне еще один?
Образ, в котором находится idea, projector и nginx (это как минимум) — это «Ок».
А образ, в котором находится idea и ssh-сервер — это неправильно?
Я не очень понимаю зачем мне ssh-сервер в образе. У меня есть ssh-сервер на рабочей станции, я через него могу любой мне нужный порт (в том числе и тот, который из контейнера в рабочую станцию торчит) прокинуть на хромбук. X11 forwarding я при этом не могу использовать, потому что на хромбуке нет иксов и такое взаимодействие с ssh не поддерживается (а из линукс не могу по озвученным уже причинам). А http — запросто.
ssh-ем с хромбука создаётся туннель между linux beta хромбука и портом докер-образа, на котором сидит «дополнительный ненужный» ssh-сервер.
После этого из linux beta выполняется вход на этот «дополнительный ненужный» ssh-сервер с пробросом иксов.
Ну кстати да, может наверное даже сработать. Ради интереса можно сделать PoC. Но я в целом, конечно, предпочту следовать рекомендациям СБ и чуть-чуть пользоваться линуксом для своих опосредованно связанных с работой нужд. Потому что если будет заметно много такого вот overus'а, linux просто выключат насовсем. Всем. (надо сказать СБшники тоже люди и работают с группой тех, кому это интересно, над правильным способом сертифицировать и использовать crostini для внутреннего пользования)
UFO just landed and posted this here
Видите в этом проблему? Вот, посмотрите:

Наверное, это нужно иметь ну ооочень хреновый интернет чтобы подобные артефакты на таком разрешении лезли.

О боги! Это чертовски круто, я обязательно этим воспользуюсь.


Мне осталось только понять две вещи:
• я не нашёл в статье момента, можно ли открывать файлы с хостовой машины, будь то bind mount или хотя бы отдельная volume для докера.
• осмыслить статью раздела "как сделать безопасное подключение". У меня с этими CA вечная беда, что когда пытался настроить OpenVPN, что когда пытался удалённо управлять докером.


Ну, и отправлять пароль в параметрах урла тоже так себе идея. Хотя тут она может быть вполне безопасной, но после консультации со StackOverflow она мне по-прежнему не нравится.
Хотелось бы иметь хотя бы basic-authentication из коробки, но это всё равно лучше чем ничего. А то в добавок к CA ещё свой OAuth2 сервер поднимать, то ещё счастье. :)

Да, нужно в докер смонтировать директории, которые тебе нужно, и жить счастливо.


Посмотри на файл run-container-mounted.sh, там уже есть заготовка чтобы не терять настройки. Документация к этому файлу есть на глагне, но это элементарное монтирование фиксированной директории в домашнем каталоге.


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

Крайне интересная замануха. Как интересно с лицензией будет?

А что с лицензией? Она просто работает. Ну в смысле, нужно вводить её изнутри IDE. Оно вообще никак не влияет на лицензионную политику. Это как если бы ты купил новый монитор, но этот монитор показывает HTML+JS. Никто не запрещает покупать мониторы :)

Я даже немного про другое, как бы потом это не вылилось в google stadia. А так то лицензия у меня есть :)

С лицензией всё просто — на идею — лицензия ваша (если она вообще нужна), на час прожектор лицензия GPL2 with CPE

И да, оно работает, хоть и крайне медленно на андроид машинке:


Картинка

Звучит очень круто! У меня в офисе стоит мощная машина, а на удалёнку беру ультрабук, но как подметил автор, это обжигает коленки и тратит нервы. Мысли о IDEA-"сервере" постоянно лезут в голову, думал про ssh-форвардинг или настройку удалённого LSP-сервера (но тогда нужно решать проблему маппинга файловой системы). А тут, надеюсь, глтовитс6 что-то интересное

Можете пока visual studio code в браузере настроить. Когда открываешь в хроме как WPA полное ощущение нативного vscode, запущенного при этом на workstation, где есть нужный код.
Поскроллил, экраны переключать не могу правда, у меня дома один монитор (на работе два).

Абсолютно никаких артефактов.

Уже больше двух месяцев на удаленке через RDP сижу, глаза не болят. RDP Windows — Windows, с Remmina были проблемы, да.

По моим личным наблюдениям — RDP дает лучшее качество картинки в одинаково хороших условиях.
Мне кажется RDP RDP рознь. Одно время работал только на VDI через RDP и ощущение было что работаешь на локальной машине, что при работе из офиса что из дома. Не знаю как они этого тогда добились. Во всех остальных случаях весь опыт с RDP это боль с пингом в полсекунды и кривыми шрифтами.
в Windows 10 RDP прям хорош… но бывает проскакивают артефакты

выглядит так:
image

в принципе не критично
При работе через RDP в Windows 10 (вынужден пользоваться на работе) (патч RdpWrap) не работают хоткеи Ctrl+Alt+Стрелки

Это только у меня проблема?
Нет, не только. RDP из Win 8.1 на Win 7 — также не работают.
offtopic:
Работают в RDP из Store.

Если Вам не обязательно подключать два удаленных монитора к двум локальным, то вполне рабочий вариант.
image
Тоже RDP. Для этого заведена VDS на обычной Windows 10.
Тема очень интересная, но очевидно, что проблема накручена. У Вас в посте скриншот сделан либо с таким-себе соединением либо с выкрученным на самый минимум качеством изображения в настройках сессии. Но Projector уже ставлю, интересна производительность.
А что за странные белые прямоугольники местами на фоне?
Вот например
Можете ткнуть пипеткой прямо возле конца строки и правее, у правого края картинки. И таких на вашем скриншоте много, мне сразу в глаза бросилось. Уж не знаю, хабр это прежал, или RDP, но очень напрягает.
Чувак, что у тебя с насыщенностью в настройках монитора?
Увидел только при изменении насыщенности. А так — глазу не видно. Я через RDP работаю уже больше полугода. Никаких проблем нет.

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

У меня два монитора — на обоих видно. С телефона где настройки все тоже стандартные — аналогично, прекрасно видно, даже лучше чем на пк. Очень бросается в глаза и напрягает.
Ну, тут уже немного не та тема, что у ТС. Очевидно же, что дело в настройках монитора. На IPS и VA с нормальной яркостью и насыщенностью все ок.
Просто попробуй через RDP поработать на сервере со стабильным интернетом (те шакалы, что у ТС на скриншоте, свидетельствуют о плохом соединении и выкрученной в минимум цветопередачей). Все будет в порядке.
Ну а если не в порядке и решение ТСа подходит — это здорово. Больше мне сказать нечего.
У меня никаких квадратов не видно.
Вот пришел домой, теперь уже могу точно сказать, на двух разных мониторах на работе, на телефоне galaxy a50, на ipad прошлогоднем и на домашнем мониторе — везде прекрасно бросается в глаза. Судя по тому что не один я это замечаю — вы просто возможно слабее оттенки различаете.
И нет, мне даже по локалке напряжно по RDP работать. Проверено. Как по времени отклика, так и по качеству картинки.
Завидую Вашему зрению.
Девушка художник на своем мониторе и планшете не видит — оттенки различает слабо, видимо, тоже.
Думаю, все видят по-разному. Выше и другой человек написал, что все нормально через RDP и никаких проблем нет.
Вот уж завидовать точно не стоит. Как раз завтра в оптику за новыми очками пойду — думаю -7 или -8 будет. Но тем не менее на любом мониторе на стандартных и на моих привычных настройках хорошо эти прямоугольники различаю. И не я один, как вижу по комментариям. Плюс из интереса скинул в чатик один — большинство все же увидело, но не все. Еще один на хорошем мониторе увидел, на каком то старом TN ноута не увидел.
У меня работа не картинки разглядывать, а код писать ))
Поделал еще скринов, поменял насыщенность — квадраты разные в разных местах в разном количестве. Просто при работе ничего не видно и усталости при работе не добавляет, я туда целый день смотрю.
Отлично видно. Это ж прям совсем разные цвета.

Я на одной работе только через 2 месяца узнал, что у нас оказывается на форме логина немного серый фон (а не белый). Кто-то из тестировщиков прикрепил к задаче видео, где это было заметно. Проблема оказалась связана с интегрированной графикой Intel. Значение "Контрастность" в настройках драйвера надо было сделать 49 (на 1 меньше чем по умолчанию), тогда цвета начинали нормально отображаться. Возможно у вас такая же причина.

Лопни мои глаза, эта картинка ведь — отличный тест на то, под правильным ли углом стоит монитор!

Искрутился весь, так и не увидел. Пришлось прибегнуть к магии фотошопа.
Для тех кто тоже не видит
Яркость снижена.
image
UFO just landed and posted this here

Локально по vnc (еще и с шифрованием через ssh) все летает и никаких лагов нет...

Мой опыт с VNC такой. Локально по проводу — да. Локально по Wi-Fi у меня уже есть серьезные затупы, хотя роутер не из дешевых, и отдельный асусовский Wi-Fi приемник с огромной антенной. Глобально из России в Германию — куда неприятней. Глобально из России в США — нужно иметь железную выдержку, чтобы пользоваться VNC.

Из России в США и прожектор будет вдуплять (пока что).

x over ssh ещё можно, для постоянной работы конечно не подойдёт, но быстренько поправить что-то находясь в отпуске или на даче можно. А главное ставить ничего не прийдётся ибо ssh клиент и иксы есть в любом (почти) дистре по умолчанию.
P.S.: на андроиде не пробовал но думаю будет не сильно хуже.
P.P.S: а вообще-то быстренько поправить что-то можно прям в вебморде вашего gitlab/github/etc не заморачиваясь ни с чем..

1) райдер скоро перепишут на .net
2) райдер жрет оперативу, а точнее не физическую память, а выделенную.
3) рдп видно вам не понравился т.к. не вкючена функция ремоутФХ.
4) на рдп с ремотФХ работает даже гейминг от нвидиа онлайн. Если нету проблем с 4к динамическими играми ни с графикой, ни с задержками, то проблема явно в вас .

1) райдер скоро перепишут на .net

Серьезно? А где можно почитать/посмотреть/послушать про это?

Неужели у кого-то действительно возникают проблемы со скоростью работы Идеи? По личному опыту — года 3 назад пользовался Идеей на windows-планшете с Атомом и 2 гигами RAM. Не летала, конечно, но небольшой проект без всяких проблем работал. При программировании тормозов не было, компиляция занимала адекватное количество времени.

Наверно, зависит от размера проекта. Когда последний раз запускал android studio на нетбуке с атомом и 3гб памяти, тот был не очень рад, а для экономии ресурсов приходилось закрывать весь посторонний софт и иногда даже браузер. Лет 5-7 назад мощности и памяти хватало, но со временем IDE и браузер становились всё прожорливее.

Android Studio совершенно не работоспособна с большими проектами даже на совершенно не бюджетном железе. Ну если отрубить все плюшки IDE то да, работает, но в таком случае проще использовать VSCode

Что именно неработоспособно? Что тормозит?


Что такое "большой проект", в чем измеряется?

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

В объеме кода видимо.

Ох, чувствую боль.


Кстати, насколько понимаю, Android Studio — это не продукт JetBrains. Её делает Google самостоятельно, от JB там только базовая платформа.


Ты пробовал запустить этот проект в IntelliJ IDEA с Android-плагином?

UFO just landed and posted this here

У вас, конечно же, есть десятки постов.


Шутка, рофляночка, я знаю, что нет. Потому что только что нажал "одобрить" на экране модерации этого крайне токсичного комментария.


А одобрил крайне токсичный комментарий я по одной простой причине. Чтобы написать, что грамотность, красота и достижимость поста — это совершенно разные вещи. Лучше написать хоть что-то на скорую руку, с десятками опечаток и грамматических ошибок, чем не написать ничего. Done is better than perfect.


Поэтому у меня на аккаунте около трехсот постов, а у кого-то — ни одного. Возможно, какой-то начинающий автор сейчас это читает, и ему это поможет.

UFO just landed and posted this here
Лучше лишний раз вычитать, чем опубликовать.

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

Как косноязычный говорю =)

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

Серьёзно? Если статью про работу в IntelliJ IDEA на слабом железе опубликовать не сегодня, а завтра — будет поздно? И главное это случится из-за зумеров с дефицитом внимания? Как это работает?


Или вы хотели сказать, что это авторы — зумеры с дефицитом внимания и если они не опубликуют статью сейчас, то через секунду всё выветрится из головы?

Как это работает?

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


Ну например, такой автор с дефицитом внимания — это я :) Чтобы статьи не выветривались, у меня есть два приёма. Во-первых, некоторая дисциплина с графками выпуска статей (даже если это статьи не по работе, а для развлечения, как вот эта). Если чего-то не существует в заметках или в календаре — этого не существует вообще.


Во-вторых, у тебя компьютер, квартира, всё на свете должно быть всегда готово к созданию контента "на счёт ноль". У меня всегда стоит на штативе фотоаппарат, включенный в компьютер, чтобы писать ролики — на него садится пыль, но я его не разбираю, потому что знаю — если для записи ролика мне придется собирать видеосетап, то к тому моменту как я его соберу, я уже расхочу снимать ролик :)


С этой статьей та же ситуация. Я попробовал Projector вечером, а потом сел и начал писать статью, и писал пока не дописал, а это случилось уже ночью. У статьи время публикации 14.02 — это потому, что я поставил будильник "опубликовать статью" на это время следующего дня, чтобы люди могли почитать за обедом. Если бы я остановился и продолжил назавтра — с высокой вероятностью, завтра было бы уже неинтересно что-то делать и статьи бы не было.


Такие дела.

О «токсичности» рассуждает человек, начавший комментарий с аргумента «сначала добейся», очень смешно.


Глаза действительно начинают кровоточить от ваших «1998-ого».

Тут принято об ошибках в личку сообщать. Это помогает снизить градус токсичности и улучшить качество маериалов.
Я в последнее время использую Parsec Gaming, чтобы стримить экран с хоста. Правда я больше для монтажа видео использую, но в этом случае артефакты еще большее зло.
У nvidia есть встроенная в драйвера поддержка стримминга кстати. Изначально для устройств nVidi Shield, но существует opensource клиент под все платформы (в том числе и под хромбуки). Гуглить по «nvidia moonlight». Работает хорошо.
Автор, что за тему вы используете в своем IDE на планшете?

Для этой демки — дефолтная тема. Оно так выглядит на Linux, на "нативном" Mac может быть немного по-другому, особенно шрифты.


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


Ещё достойная тема (тоже плагин) — Dark Purple.


Минутка рекламы закончена ;)

Правильно ли я понимаю:


  • Приложение транслируется из контейнера в HTTP трафик?
  • Может работать за проксей?
  • Иксы хосту не нужны?

Получается можно завести все в Kubernates?

  1. да
  2. не совсем понятен вопрос, но в принципе почему бы и нет? Это просто http, ничего особенного.
  3. да, не нужны.
не совсем понятен вопрос, но в принципе почему бы и нет? Это просто http, ничего особенного.

http это плохо, т.к. кто-то может их перехватить, не?


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


в идеале бы 1) сделать чтобы соединение-инициатор тоже было шифрованым 2) сделать хорошо оттестированную связку "правильного" прокси с полностью шифрованным соединением

Там nginx внутри контейнера, отдается все через него, похоже. Подложить ему сертификаты, или добавить поверх, снаружи контейнера, еще один с сертификатами не должно быть большой проблемой?

Попробую тогда PyCharm развернуть в пн в docker-compose за haproxy или nginx с сертификатами и http2. Если заведется, тогда можно попробовать в кубик загнать. Если и там заведется, то вообще JetBrains-as-Service это неплохая затея. Жаль только тестированные версии староваты.

Ну да, в этом некоторые большие клиенты и заинтересованы.

Жаль только тестированные версии староваты.

Попробуй нетестированные! Учитывая, что механизм универсальный, разницы особо быть не должно.

Я честно пытался завести это под RancherOS, но сбилдить контейнер мне так и не удалось. Сегодня попробую под убунтой.
Вообще проблема странная: нехватка памяти, но у меня на вируалке 8vCPU/16GB. Попробую собрать образ на убунту, там проверю и надеюсь потом завести это под RancherOS.

Так, я поднял под Ubuntu 18.04 с docker. Можно прятать за ingress, но сам проект вообще не юзабельный. Поднимается кое-как с некоторыми недокументированными движениями только в строго определённых условиях, а значит в сам кубик такое засунуть будет сложновато. В хроме меню вообще куда-то вверх убегает, а значит невозможно выбрать ни один пункт. Периодические лаги, когда окно исчезает и весь интерфейс встаёт колом.
Сама идея — классная, шрифты красивые и не плывут, авторизацию всегда можно навесить, притом разными интересными способами. В принципе, если даже не получится завернуть в K8s, то ничто не мешает подготовить виртуалку со всем необходимым для разных гипервизоров. Но реализация пока сильно сырая, поэтому работать в таком поделии невозможно. Ждём официального релиза от JB.
Как идея (если нас читают JB): можно было бы реализовать что-то вроде тонкого клиента, либо PWA (это было бы вообще киллер-фичей).

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


А поделитесь что там такого используется что мешает запихивать в k8s/rancher?


А что вы называете официальным релизом? Мы над этой штукой работаем, но политика партии такова, что громко кричать мы о ней пока что не будем (а может и вообще не будем). Так что просто дорабатываем, исправляем баги и т.д.

Это круто, что вы читаете.
Можете ссылку кинуть на то, где можно настрочить описание бага с подробностями? А то я репозиторий только на github видел. Или туда тоже норм?
Я не сказал, что нельзя завести, только сбилдить контейнер под rancheros. Вообще, было бы круто не билдить их самим, а взять, так сказать, проверенный авторами образ, особенно в свете того, что он зависит от билд-хоста. Но это уже капризы.
Под кубиком я не запускал, но образ в несжатом виде — 1.83Гб выглядит ужасающе для вытягивания с условного dockerhub. Хотя, там наверное сама IDE большую часть занимает. Тем не менее, если не запустится под неподготовленной системой (т.е. просто ставим докер, накатываем в кластер k8s), то для куба это решение будет сомнительным. Уверен, что есть поле для оптимизации размера образа.


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


А если не секрет, с чем связана такая политика? С тем, что продукт не prod-ready или какие-то маркетинговые штучки?

Отвечаю только на последний вопрос: это только про маркетинг и его использование. Мы делаем эту штуку для больших клиентов и заинтересованы в исправлениях для них. И конечно же у больших k8s и они там хотят и могут крутить.

особенно в свете того, что он зависит от билд-хоста

Мне кажется, сборка в Докере должна работать везде. Это баг, заведите тикет, пожалуйста.

Ну кстати, я вот собрался с духом и поднял ее таки совсем без контейнера (такой уж юзкейс, с контейнером не подходит) со своей собственной интсалляцией идею. Если на хромбуке через «open as window» запускать веб-клиента, то вообще красота (хоткеи по крайней мере работают правильно, по ctrl+shift+n не открывается порно-режим браузера). Выглялит хорошо, подлагивает только, но возможно это из-за качества соединения (рабочая станция суть виртуалка в датацентре). Попробую денек-другой поработать за этой штукой.
Поработал вчера, пока тяжеловато конечно идет. В целом оно работает, но очень похоже что сильно не дружит с какими-то оверлеями. (когда что-то не то удаляешь и весь файл раскрашивается красным, все иногда наглухо виснет вплоть до перезагрузки страницы, также при попытке работать в терминале я начал получать снизу зеленую подсказку про что-то, где надо было нажать got it и также все начало виснуть). Буду ждать обновлений в общем, пока тяжело.
На маке завелось по инструкции из репозитория (запустить три sh файла)

Если честно, это чуть ли не лучшая новость про IDEA за последние годы. Новый хоткей — это приятно, но в целом — ничего не меняет. Projector же меняет всё. Удивительно, что об этом никто ничего не пишет, что из каждого утюга не доносится победная песнь проекта Projector.

Да, тысячу раз да! Эта штука насколько просто и хорошо работает, что действительно непонятно, почему JetBrains о ней молчит и тратит так мало ресурсов (два человека, серьезно?)

Это же супер удобная фишка для больших компаний с их огромными монорепозиториями, в которых тормозит практически все: как tooling (lint, build, tests), так и JetBrains IDE.
Поэтому приходится разрабатывать на удаленной машине. А там практически нет выбора – только VS Code в remote режиме, качество подсказок которого сильно хуже по сравнению с настоящей IDE
Можно Вас попросить снять видео работы этого решения?

Я могу сделать, но только завтра

Youtube немного пожал видео, но идея ясна, я думаю
Вполне юзабельно.
А можно ещё как-то посмотреть, сколько оно при этом сети кушает?
А мне вот интересно стало можно ли будет так Android Studio запускать. Особенно это интересно т.к. в Android Studio 4.2 встроили эмулятор в панель интерфейса. А если эмулятор не отобразится, то можно посмотреть в сторону docker образа эмулятора Android от Google со стримингом WebRTC экрана эмулятора в браузер (https://github.com/google/android-emulator-container-scripts).
Таким образом целиком всю Android разработку можно будет перенести в облако. Актуально для больших проектов с тяжёлой сборкой.

Должно быть можно, я ток не уверен что будет прям всё работать — визуальный редактор, диалог добавления SDK и так далее — протестируйте и расскажите нам, пожалуйста.

Скорей всего, можно. Технология внутри — универсальная, позволяющая запускать любое джава-приложение. Но придется вначале придется разбираться самому, т.к. разработчиков пока не очень много ;)

И вот эмулятор ещё, да… Но Issues открыты — завести если что всегда можно. Хоть это и не проект JetBrains, но может что-то подскажем.

А шорткаты не сыпятся при этом? Все-таки это «сайт» под браузером, а также серверная и клиентская ОСи могут отличаться.

AlexunKo Текущее поведение следующее. Клиент при подключении говорит серверу о своей ОС, а сервер переключает раскладку запущенной IDE:


  • Клиент Windows -> X_WINDOW_KEYMAP
  • Клиент Mac -> MAC_OS_X_10_5_PLUS_KEYMAP
  • Другой клиент -> GNOME_KEYMAP
UFO just landed and posted this here
Надо запускать в PWA-режиме, тогда приоритет шорткатов уходит в приложение.

Звучит круто, спасибо за упоминание. Я, правда, быстро не смог нагуглить про перехват шорткатов в PWA режиме.


Не могли бы Вы поянить: нужно ли что-то будет сделать специально или в любом PWA шорткаты не идут в браузер вообще?

Я точной документации, описывающей эту разницу не видел. Но довольно активно пользуюсь в хромоси этим create shortcut -> open as window (также есть и в обычном хроме) для штук вроде secure shell app и visual studio code. И также пробовал projector (это то, про что пост, собственно) гонять. Для ssh в этом режиме ctrl+w перестает закрывать вкладку, для projector ctrl+n/ctrl+shift+n перестает открывать новые вкладки и вместо этого начинает открывать релевантные «идейные» окошки, то же самое для ctrl+p в vs code. Также в vscode и в idea начинает нормально ctrl+space работать для автокомплита (какой-то очень умный человек додумался на этот хоткей повесить переключение раскладки в хромоси и не дать возможность это поменять). При том ctrl+n в том же secure shell app, у которой нет своего действия на эти клавиши, вполне запускает новые окошки этого приложения. Т.е. чувство такое что хоткеи все еще работают, просто приоритет их обработки уходит от самой оболочки в программу. А уж если программа никак не отреагировала — тогда уже оболочка работает.

Сейчас мы стараемся перехватывать все шорткаты, и например Ctrl+F вызывает поиск в IDE и не доходит до браузера. Однако более жесткие шорткаты для закрытия страницы типа Ctrl+W или Ctrl+Q браузеры видимо не дают перехватить, и они у нас не работают.


Это проблема, на это есть тикет: https://youtrack.jetbrains.com/issue/PRJ-43. Если хотите, голосуйте и комментируйте.

Круто! Как раз есть мощная серверная тачка, на которой все билдится и тестируется, давно хотел вынести туда и разработку проекта.


Есть одна возможная деталь по этому поводу: Websocket-ы в браузерах как правило не включают TCP_NODELAY (Nagle's algorithm), который приводит к некоторым лагам при передаче коротких пакетов. Более того, было замечено, что некоторые мобильные браузеры еще больше грешат "оптимизацией траффика", и задержки вебсокета составляют несколько секунд. К сожалению, протокол Websocket не позволяет напрямую включить TCP_NODELAY.

Иногда удалённо работаю на IPAD Pro 12,9 2020(Перешел на него с ноута), подключаюсь к Windows с помощью родного Microsoft приложения из AppStore RD Client, IDEA выглядит так:
image

Вернусь к этой статье через 5 лет, когда наконец начну хоть что-то понимать на Хабре. Когда выучу Java, девелопмент, ide. Многие думают, что хабр — сборище недоинтеллектуалов, но это не так. Статью прочёл 3 раза, но я тупой пятнадцатилетка. Так что пока...

Через пять лет прогресс уйдет вперед, и эта статья будет не нужна

Прикинь, чувак специально для этого комментария зарегался!

Привет, я снова вернулся. Я изучаю OpenGL на C++, старый добрый Хабр. Спасибо за поддержку :D
Sign up to leave a comment.

Articles