Dmitry
ну это если держать в голове знание об этих всех современных фишках) а так-то и хорошей книги всегда хватало
В книгах обычно изложены основы, которые и так можно изучать в документации тех или иных технологий. А вот, когда на практике сталкиваешься с какими-то проблемами, их решение чаще всего можно найти либо в статьях каких-то разработчиков, которые уже подобные проблемы решали, либо на форумах (или сообществах, форумы уже устаревший формат). И постоянно выходят обновления, книги не так часто издаются, как обновляются интернет-ресурсы.
Anton [az09@osm]
В книгах обычно изложены основы, которые и так можно изучать в документации тех или иных технологий. А вот, когда на практике сталкиваешься с какими-то проблемами, их решение чаще всего можно найти либо в статьях каких-то разработчиков, которые уже подобные проблемы решали, либо на форумах (или сообществах, форумы уже устаревший формат). И постоянно выходят обновления, книги не так часто издаются, как обновляются интернет-ресурсы.
ну пусть это будет документация в пдф взятая с сайта. такой промежуточный вариант... опять же с другой стороны неизвестно на каких ресурсах обучался чатжпт, наверно ему подсовывали и не очень хорошие данные, раз он до сих пор считает что пальцев на руке в среднем меньше 5 (я уж не говорю про яйца, которых вообще в среднем меньше одного на человека и поди попробуй растолкуй в чем тут соль))
Anton [az09@osm]
...или слишком хорошие. но бредит он всё равно настолько явно, что я лучше предпочту стековерфлоу прошерстить вдоль и поперек, чем довериться ии
Dmitry
...или слишком хорошие. но бредит он всё равно настолько явно, что я лучше предпочту стековерфлоу прошерстить вдоль и поперек, чем довериться ии
Copilot хорош в том, для чего был сделан - ассистент. Помогает дописывать много повторяющегося и вполне очевидного кода. Но самому на него нужно тратить время, а он предлагает на ходу, только Tab жмёшь, если подходит. ChatGPT хорошо справляется с задачами перевода. Например, у меня было решение одной задачи на Python, состоящее из множества функций. Я бы неделю, наверное, убил переписывать это всё на JS. ChatGPT за минуту на основе этого кода выдал то же самое на JS. То же самое я делал с другими языками, иногда он даже подсказывал, что в JS, например, каких-то встроенных функций нет, какие библиотеки нужно доустановить чтоб результат работал и т.д.
Dmitry
А вот в много файловом коде он тупит. Иногда очевидные вещи не понимает.
Dmitry
Но в любом случае - штука полезная. Программиста не заменит, но если как продвинутый Intelliisence использовать, то быстро привыкаешь.
Sergey
Gemini и Claude работают куда лучше ChatGPT
Sergey
ChatGPT по сравнению с ними довольно своеобразен Он лучше работает с извлечением информации из кода/текста, нежели с генерацией рабочих решений
Dmitry
Gemini и Claude работают куда лучше ChatGPT
Надо будет попробовать что-то из списка.
ALΣX
Up
https://www.electronjs.org/docs/latest/api/context-bridge
Anton [az09@osm]
а почему? права админа требует?
в нашем энтерпрайзе даже не у каждого айтишника есть админские права от своего рабочего компа. юсб перекрыт каспером и прочие ужасы "информационной безопасности"
Сергей
https://www.electronjs.org/docs/latest/api/context-bridge
Можно пример с созданием окна и назначением ему wordID
🅰️nimeCoder
А так, если софт не фильтрует по издателю, а не должно раз это пк разработчика, то opera-proxy в помощь или в чистом виде или в контейнере
Anton [az09@osm]
Честно говоря хрен знает что там можно делать без хотяб локального админа))
разрабатывать то точно не получится. поэтому и написал "айтишника". некоторые же просто на поддержке сидят, им и браузера зачастую хватает для работы
🅰️nimeCoder
А так, если софт не фильтрует по издателю, а не должно раз это пк разработчика, то opera-proxy в помощь или в чистом виде или в контейнере
У opera-proxy единственный минус - она не подписана В остальном все ок, права админа там не нужны, запустил, прописал в браузере прокси и все ок
🅰️nimeCoder
У opera-proxy единственный минус - она не подписана В остальном все ок, права админа там не нужны, запустил, прописал в браузере прокси и все ок
))) естт ещё другой вариант))) ну ssh то точно можно запускать, в win10 он встроенный ssh -D 1080 И прокси через сервер готов))
Anton [az09@osm]
А так, если софт не фильтрует по издателю, а не должно раз это пк разработчика, то opera-proxy в помощь или в чистом виде или в контейнере
и белый список софта есть и отслеживание интернета и периодические скриншоты экрана... ну и до кучи еще организационный запрет на использование обхода внутреннего прокси
🅰️nimeCoder
порты закрыты
Так, а их и не нужно открывать это все 127.0.0.1
🅰️nimeCoder
Ну мб конечно можно блочить но это уже какое то анальные рабство
🅰️nimeCoder
У вас военная организация?
Сергей
Примера из документации не достаточно?
Например, я создал функцию contextBridge.exposeInIsolatedWorld(worldId, apiKey, api) worldId - установил 5963 Как мне установить Id 5693 для созданного окна const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { preload: path.join(__dirname, 'preload.js') } })
Кирилл
Привет, может у кого-то есть надёжное решение чтобы на всех системах/мониторах/масштабах окно было фиксированного размера 1400х900? Я пробовал такое, но это работает не у всех пользователей: const primaryDisplay = screen.getPrimaryDisplay() const scaleFactor = 100 / primaryDisplay.scaleFactor mainWindow = new BrowserWindow({ width: 1400 * (scaleFactor / 100), height: 900 * (scaleFactor / 100), frame: false, resizable: false, transparent: false, fullScreenable: false, maximizable: false, fullScreen: false, ... }) mainWindow.webContents.setZoomFactor(scaleFactor / 100) Также вместо последней строчки ещё пробовал это(тоже не помогло, всё ещё у некоторых окно оч маленькое): mainWindow.on('ready-to-show', () => { let bounds = mainWindow.getBounds() // console.log("Фактические размеры:", bounds.width, bounds.height) // console.log(bounds.width / 1400) mainWindow.webContents.setZoomFactor(bounds.width / 1400) })
🅰️nimeCoder
Другой же вопрос что ты хочешь не 1400х900, а тот же размер с учётом маштабирования
Кирилл
Мне нужно не в пикселях, я хочу чтобы оно всегда было такого размера как 1400х900 на разрешении 1920х1080
🅰️nimeCoder
Далеко не факт что frame: false на всех DE / оконных менеджера и прочем даст создать на мониторе, окно больше монитора
Кирилл
Неправильно выразился, у меня приложение только под винду
🅰️nimeCoder
Мб ещё влияет как то Hdpi
Michael
Всем привет, как билд сделать так, что бы не было ошибки при запуске мол неизвестный источник
Кирилл
сертификат разработчика нужен
Michael
А где его взять можно ?
Кирилл
он платный
Michael
Который по 300 баксов в год ?
Michael
А русским его покупать можно вообще ? И компанию там можно русскую предоставлять ?
Кирилл
тонкостей я не знаю, почитай в гугле "code signing electron"
Michael
Ок. Спасибо. Если кто-то сталкивался на практике, отпишитесь плиз
Michael
А как вы программы отдаете клиентам ? Может криптуете как-то ?
Кирилл
А как вы программы отдаете клиентам ? Может криптуете как-то ?
bytenode есть https://jjeff.medium.com/creating-javascript-binaries-for-electron-5ea57345a594
Кирилл
либо обфусцировать
ALΣX
Который по 300 баксов в год ?
Чтобы вообще предупреждений не было, нужно выпускать EV сертификат: надежно, но удовольствие не из дешевых (~$1000 на 2-3 года). Можно выпустить обычный code signing сертификат, стоит в разы дешевле (от $100 в год), но работает по принципу репутации, т.е. чем больше скачало и установило приложение, тем лучше репутация приложения и меньше вероятность, что выскочит предупреждение во время установки или открытия приложения. Есть еще Azure Trusted Signing и мы перешли на него после EV, работает по принципу Code Signing, цена вопроса ~$10 в месяц. Создаешь аккаунт, проходишь верефикацию, как разработчик или организация, сертификаты создаются временные (2-3 дня выпускаются новые), есть возможность генерировать тестовые сертификаты. Если приложение для macOS, тогда нужно соответсвенно подпись от Apple.
Dmitry
Ок. Спасибо. Если кто-то сталкивался на практике, отпишитесь плиз
Если под Mac, то можно просто ad-hoc подпись добавить.
Dmitry
codesign --deep --force -s - /Applications/TestApp.app
🅰️nimeCoder
шо за подпись такая
Кирилл
А кто-нибудь пробовал тестировать приложение с помощью Playwright?
Dmitry
шо за подпись такая
Такая подпись для MacOS указывает, что проверять сертификат не нужно. Устанавливаем приложение, выполняем команду в терминале, можно скрипт написать и вместе с приложением отдавать.
Mimik
Всем привет! Я тут снова решил ворваться в электрон, сделал апк, сделал кросс сборку под линух и вынь все супер, завернул внутрь vue, а теперь вопрос, есть ли мануал где-то на просторах интернета, как бы сделать dll и вызвать эту dll из электрона js, чтобы прям в js истанс поднять?
Mimik
https://stackoverflow.com/questions/16783023/node-ffi-vs-node-extension-for-accessing-existing-c-functionality
Mimik
Нашел ответ сам, попробую, отпишусь 😁
🅰️nimeCoder
можно еще https://github.com/tjanczuk/edge
🅰️nimeCoder
😁
Борис
Всем привет, запускаю электрон на планшете на лубунту с арм процессором и GPU Mali-G52, хромиум ругается. [1893:0114/190633.517275:ERROR:angle_platform_impl.cc(44)] Display.cpp:1083 (initialize): ANGLE Display::initialize error 12289: GLX is not present. ERR: Display.cpp:1083 (initialize): ANGLE Display::initialize error 12289: GLX is not present. [1893:0114/190633.518103:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: GLX is not present. [1893:0114/190633.518577:ERROR:gl_display.cc(767)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type кто то сталкивался? Вот что пишет планшет про OpenGL: ======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-G52 GL_VERSION: OpenGL ES 3.2 v1.g2p0-01eac0.327c41db9c110a33ae6f67b4cc0581c7 Если честно слабо понимаю в чем проблема, видимо фронт добавил библиотеку которая использует OpenGL и хромиум на планшете не может подцепить видеокарту чтобы оно работало. Подскажите куда копать плз.
🅰️nimeCoder
Прила то пашет?
🅰️nimeCoder
Если да, то на лине с 20+ электронном у меня подобного говна серит нормлаьно, даже на x86, nVidia Я просто забил и игнорю
🅰️nimeCoder
Вероятно вообще есть смысл часто отрубить gpu acceleration ибо с ним наоборот лагает (какие то накладные на перенос с рам в гпу память) Но в твоём случае наверное не
Mimik
Какой же ад я прошел, жесть! Оказывается, чтобы собрать бинарник надо еще и версию ноды правильную, и тут нам электрон с гуглом подкиждывают пакость они делают версии разные и только специальным дефайном это можно подхачить
🅰️nimeCoder
Что?
Buna
ne ponel, pochemu udalili Brooklyn Chap?
Buna
Админ
Anton [az09@osm]
он две цифры местами перепутал
Brooklyn
Доброго дня, Ищу человека для интересной задачи. (Оплачиваю) Есть electron проект - нужно добавить bytenode (чтобы код не был виден после build) Я сам не справился… Electron, Vite, React Напишите пожалуйста кто может помочь 🙏 Как сказал оплачиваю
Brooklyn
Brooklyn
CommonJS код?
Typescript, vitejs, module
Brooklyn
CommonJS код?
Там нужно изменить vite.config.ts .
Brooklyn
Тут же гайды готовые есть https://electron-vite.org/guide/source-code-protection
Я не смог чувак, знаю этого гаида, пробовал эту либу китайскую но не смог, я сам не очень программист.
Brooklyn
Тут же гайды готовые есть https://electron-vite.org/guide/source-code-protection
Пробовал весь конфиг на эту либу кинуть…
Brooklyn
Тут же гайды готовые есть https://electron-vite.org/guide/source-code-protection
Есль можешь помочи даю тебе доступ к гитлабу