Игорь @itmind
Fullstack
Информация
- В рейтинге
- 3 625-й
- Откуда
- Хабаровск, Хабаровский край, Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Fullstack Developer, 1C Developer
Lead
От 300 000 ₽
Rust
Golang
Kotlin Multiplatform
DevOps
Development management
Optimization of business processes
SSR и SSG при таком подходе будут поддерживаться?
И мне больше нравится вариант отрисовки компонентов через функции, как в Compose Multiplatform (в котором есть компиляция в js) или SwiftUI
Чем это отличается от вызова обычной, не suspend, функции?
Есть у меня нативное приложение под android (compose). Получает данные с сервера, отображает, хранит данные в sqlite и делает бэкап в хранилище. Решил сделать его кросплатформенным: android+iOS+desktop+wasm. Выбирал между kmp и flutter. На Хабре топят за kmp, выбрал его (точнее compose multiplatform). И... Ничего быстро не получилось. В процессе выяснилось, что используемые мной сторонние compose библиотеки собраны только под android, а под compose multiplatform даже аналогов нет, нужно писать с нуля. Работа с файлами, получение разрешений, открытие диалогов открытия/сохранения файлов находится в composable функциях (т. к. это интерфейс) и это нельзя шарить между платформами, нужно под каждую писать свою реализацию, свои экраны. На это уйдёт много времени и по сути это как дублирование кода. Еще неизвестно с какими проблемами придется столкнуться под web.
Таким образом выбор kmp в разы увеличил время разработки, требует навыков разработки под ios. (Приложение пишу я один). Поэтому мне пока не понятны восхищённые отзывы об kmp. И теперь опять перед выбором: писать все с нуля и долго на kmp (всетаки как язык Kotlin нравится) или перейти на flutter и быстро получить результат под все платформы...
А довод про поиск разработчиков считаю невереным. Для разработки на flutter нужен один разработчик, для kmp два. Это же дороже в два раза. При этом сам язык Dart проще Kotlin, его изучить можно за пару дней (естественно имея базу из Си подобных языков).
В чем преимущество Ktorfit над Ktor ?
Почему выбран Room? Он вроде не мультиплатформенный.
По моему мнению громоздкий синтаксис у C#, Java, Kotlin, C++
Пример синтаксиса на C# (на Java похоже)
У Kotlin плюс ко всему его DSL, когда вызов функции пишется как объявление функции (и получаются многоярусные вложения на несколько экранов)
А на Golang исходный код проще всего читать, он понятнее, синтаксические конструкции прощее. Минимализм конструкций языка позволяет после пары часов изучения уже писать достаточно качественное ПО.
В Kotlin же например только 5 scope function: let, run, with, apply, и also. И программист глубоко не знакомый с языком, читая код не поймет, что там происходит? не прочитав документацию.
Я наоборот не могу набрать вес. Ем целый день, но по подсчету калорий выходит всего максимум 1600-1700. Физически съесть больше не могу, так как и так почти передаю, и поменять на жирные продукты не могу, т.к. проблема с ЖКТ тогда будет. Пример меню (один прием пищи - 250-400 грам):
Завтрак: Овсяная каша, куриная грудка отварная с сыром, банан
Перекус: яблоко, банан
Обед: картофельное пюре, котлета куриная
Перекус: банан
Ужин: рис, котлета из свинины, салат из овощей
Практически не ем: мучное (булки,хлеб), сладости: сгущенку, торты, печенья и прочее.
Голода никогда нет, так как ем много. И очень хочу набрать вес, но получается медленно.
В тех же Java, Kotlin, C# нужно так же чуть ли ни каждую строчку оборачивать в try-catch
Вот пример для Kotlin:
А то, что не обернуто в try-catch, нужно проверить на null. Пример:
Получается в Go много "if err != nil", а в Java/C# много if ( p != null ).
В той же 1с очень редко используется перехват исключений, вся обработка ошибок построена на том, что функция возвращает "неопределенно" (null) в случае ошибки, а вызывающая сторона проверяет, что вернулось.
И проверки на null после каждого вызова функций никого не смущает.
Мне тоже не нравится, что в Go код "замусоривается" проверками ошибок, но прочитав статью, понял, что и механизм исключений не лучше. Получается лучший вариант, это вариант описанный в разделе "Устранение обработки ошибок за счёт устранения ошибок"
Не решит, т.к. во первых проблема не в данных интерфейса, а в том, что тип и данные записываются разными операциями записи, между которыми может вклинится другая операция. И в самом интерфейсе всегда хранится ссылка на данные (uintptr). Не важно, что мы определили приемником значение, а не ссылку.
Или я не прав?
Из текста я понял, что пустая структура нужна только для того, что бы использовать ее как ресивер метода.
И все? Зачем?
Т.е. вместо 100500 методов вы предлагаете создать 100500 реализаций абстрактного класса? В чем профит?
Что за параметры low и high и зачем они в данном примере? Ведь в linearSearch нет таких параметров.
И вместо "Сортировка выбором" у вас функция linearSearch.
А как за сам ChatGPT платить?
Подскажите, как с токенов JaCarta скопировать?. Вариант с CertFix.exe не подходит
Очень спорное утверждение про Java/C#. Может для бизнес логики больше подходит 1с? Ведь именно в конфигурациях 1с работают сотни тысяч организаций по всей России.
Логика тех кто там работает.
Их не устраивали условия в России и они уехали в другую страну, не стали бороться за улучшение условий в России. Теперь для них история повторяется: их не устраивают условия работы в организации, следовательно они должны уйти в другую организацию.
192 ТК РФ. Когда выговоров и замечаний накопилось два или больше, работника можно уволить. Основание называется «за неоднократное неисполнение работником без уважительных причин трудовых обязанностей».
Зачем терпеть, не рабство же. Просто уходите на другую работу, если эта не устраивает.
Ваше собеседование нейросеть проходит лучше мидлов и сеньоров, но вы никогда не возьмете на работу нейросеть. И не из-за того, что не хотите показывать ваш код, а из-за того, что это не самостоятельный сотрудник. Неройсеть сама не сделает условно кнопку расчета кэшбэка и не зальет изменения на боевой сервер, за ней нужно проверять, контролировать, дописывать.
Но если нейросеть, которая не может выполнять рабочие задачи, прошла ваше собеседование лучше людей, значит ваше собеседование не правильное, отсеивает тех кто реально может выполнять рабочие задачи. Ну и в принципе такое собеседование не показывает, может ли решать кандидат рабочие задачи лии нет.
Можно ли ставить любые сторонние приложения apk?
На днях гуляли с ребёнком в коляске, так я больше носил коляску по лесницам, чем катал. Никаких пандусов нет нигде, тротуары узкие, съездов для колясок нет. Как передвигаются маломобильные граждане непонятно. Светофоров мало, в основном нерегулируемые пешеходные переходы через 4 полосы с интенсивным быстрым движением.
Всё заставлено машинами, припарковаться очень сложно, т.к. нет мест. Во дворах парковок практически нет, на 25 этажный дом может быть парковка на 20 машин. Знаки не соответствуют движению по дороге. Например стоит знак что дальше прямо ехать нельзя, только направо. При этом все едут прямо, т.к. там продолжение дороги. Ехал по односторонней дороге вдоль Спортивной набережной и оказался на встречке, т.к. внезапно, без всяких знаков, дорога стала двусторонняя. Многие местные ездят так как будто сами не понимают как и куда ехать.
Но в городе крутятся большие деньги и это чувствуется, много сделано для туристов. Все портит организация движения и стихийная застройка, отсутсвие нормальных тротуаров.