Ваня Гречка
Вспоминаю как на 1 курсе я офигел от того что такое иф елсе
Ваня Гречка
И думал что программирование это не мое
Ramil
Есть симуляторы где можно писать автопилоты для космических кораблей на разных языках, но в основном с++ вроде как было . Считаю, это реально круто)
Юра (Юрий Александрович)
круто - это писать симуляторы, в которых можно писать автопилоты )
Юра (Юрий Александрович)
Кстати, для новичков, которым нужно практиковаться в абстрактном алгоритмическом мышлении есть много игр. Уже упомянули Factorio (которое мне не понравилось), а понравилось мне SpaceChem (есть в стиме, но и на торрентах тоже). Там и нелинейность, и асинхронность, и увлекательная фантастическая история - все, что нужно для будущего Гошника.
Ramil
В свое время писал софт для хождения антропоморфного робота, задача ни разу не тривиальная, сказал бы нереальная .. нужно учитывать слишком много факторов, поэтому большинство роботов на колесах или гусеницах ..
Илья
@max_blessrng жив?
Maks
Да, а че
Илья
просто ничего не пишешь
Maks
Да я не слежу за чатом. Иногда когда интересное что то замечу тогда пишу
Maks
На неделе жду офер на 6к
Maks
)))
Maks
Правда оформление как ип и налоги сам платишь
Maks
Нет праздничных дней
Юра (Юрий Александрович)
И маленький вклад дохода в пенсию. Но какое это имеет значение, когда речь идет о 6к? )
Rostislav
или вы надеетесь на пенсию от государства?
Rostislav
имхо меньший процент на пенсию с ип - даже лучше для образованного человека. Ты можешь сам эту разницу инвестировать и под больший процент.
Юра (Юрий Александрович)
Я вообще не знаю, что будет через 35-40 лет 🤷‍♂️
Maks
Ну вообще пенсия у нас зависит сейчас от того сколько баллов ты ежегодно зарабатываешь
Maks
Максимум 10 баллов
Maks
Если чисто с зарплаты то это 130 тысяч в месяц зп позволяет получить максимальные 10 баллов
Maks
Итого при зп 130+(хоть миллион) государтсво говорит что через 35 лет я буду получать 44 тысячи)))
Rostislav
мм, здорово)
Maks
С учетом того что 11 лет назад 7 тысяч были как сегодня 15, то навеврное нет смысла на нее надеяться)
Maks
Ну а у целом 10 баллов самому себе обеспечивать не так уж сложно)
Maks
Напомним, что по итогам 2021 года ИП должны были заплатить личные медицинские взносы в размере 8 426 руб., а пенсионные взносы — в размере 32 448 руб. Плюс к этому следовало перечислить 1% от суммы дохода, которая превысила 300 000 руб.
Maks
Это за год если я правильно помню
No Important
sync.Mutex Golang известен своим параллелизмом (горутинами). Существует не только параллелизм, но и настоящий параллелизм, который можно реализовать с помощью Golang. Таким образом, в этом случае мы должны убедиться, что несколько горутин не должны пытаться изменить ресурс одновременно, что приводит к конфликту. Чтобы убедиться, что к ресурсу одновременно обращается только одна горутина, мы можем использовать нечто, называемое sync.Mutex. Эта концепция называется взаимным исключением, а структура данных, обеспечивающая его, общепринятым названием — mutex. Вариант использования без мьютекса Давайте рассмотрим простой пример использования Mutex в горутинах. Скажем, например, если нам нужно увеличить значение одной переменной одной горутиной и уменьшить значение той же переменной другой горутиной. Этот пример предназначен только для понимания концепции. Читать дальше @Golang_google
Привет всем, sync.Mutex блокирует ресурс для всех но мне нужно блокировать по значению (например по ИД), какие варианты есть чтобы блокировать по значению?
No Important
Мапа
т. е объявляю мап(map[string]sync.Mutex) и при входе записываю ид и блокирую, при выходе заблакирую и удаляю из мапа, так?
No Important
Зачем удалять?
Если на будущее мне нужен
Grigory
Если на будущее мне нужен
Ну так если нужен - не удаляй
Юра (Юрий Александрович)
Привет всем, sync.Mutex блокирует ресурс для всех но мне нужно блокировать по значению (например по ИД), какие варианты есть чтобы блокировать по значению?
На всякий случай нужно проговорить вашу ситуацию: кого и от чего у вас предохраняет каждый мьютекс. Нередки случаи, когда новички при самостоятельном изучении Go понимают назначение мьютексов неправильно.
Юра (Юрий Александрович)
В данном случае я слышу тревожные маркеры: "мютекс блокирует ресурс". А мьютекс-то никаких ресурсов не блокирует...🧐Лучше обсудить.
No Important
На всякий случай нужно проговорить вашу ситуацию: кого и от чего у вас предохраняет каждый мьютекс. Нередки случаи, когда новички при самостоятельном изучении Go понимают назначение мьютексов неправильно.
Ситуация такая: в базе есть неки транзакции которые требуются ручную обработку и есть рест запрос с параметром ид транзакции чтобы обрабатывать, если пользователи одновременно запрашивают этот запрос будет ошибка при обработке, поэтому я должен блокировать по ид транзакции
Юра (Юрий Александрович)
Есть ощущение, что мьютексы задействованы для чего-то, чем должна заниматься СУБД или другой алгоритм. Есть открытый вопрос с удалением мьютексов из мапы. Т.к. горутина, создавшая мьютекс, не может узнать, сколькими горутирами еще он заблокирован.
Юра (Юрий Александрович)
И получится, что надежно удалить мютекс из мапы некому. Значит они там будут накапливаться. Что-то не могу пока придумать, как надо.
David
Всем привет! Как я писал выше, перехожу с Пайтона на го, потому что на работе сервисы на нем) Скажите плиз пару вещей: 1. Как получить доступные методы обьекта? (dir(object) в Пайтоне)). 2. Как получить справку по методу (help(method) в Пайтоне). 3. Как узнать метод изменяет объект на месте или возвращает новый объект?
Илья
3) если вы про ресиверы, то в коде?
Юра (Юрий Александрович)
Всем привет! Как я писал выше, перехожу с Пайтона на го, потому что на работе сервисы на нем) Скажите плиз пару вещей: 1. Как получить доступные методы обьекта? (dir(object) в Пайтоне)). 2. Как получить справку по методу (help(method) в Пайтоне). 3. Как узнать метод изменяет объект на месте или возвращает новый объект?
1) Рефлексия в Go есть, но она медленная и следует избегать ее использования. Но т.к. в языке строгая типизация, в большинстве случаев код можно написать так, что у каждой переменной будет конкретный тип данных - следовательно будет понятно, какие у объекта методы. 2) - 3) Возвращает ли метод новый объект, видно по его сигнатуре. Узнать, изменяет ли метод объект, на котором вызван, в общем случае нельзя, если не смотреть код метода. (исключение - методы, у которых ресивер копия объекта, а не ссылка - там сразу понятно, что объект не изменяется)
David
Спасибо
Ron Mount
go doc
Юра (Юрий Александрович)
Контрол левый клик по методу. Или дождаться, пока подсказка в IDE всплывет (сигнатурой в Go называют объявление метода: т.е. перечень типов аргументов и возвращаемых значений)
12:47 👊
подскажите , проблема с путями , не могу файл подключить , workspace на другом диске , в Env Var windows все пути добавил
David
Понял. Спасибо) Извините, но пайтон в этих моментах удобнее) Можно сразу понять применим ли метод к объекту (по наличию в выводе dir, например append не применим к tuple, т.к. последний неизменяем). Ну и пункт 3 понятен автоматически. Если метод применяется через точку - объект изменяется на месте, иначе - новый объект
David
для такого есть интерфейсы
Логично. Я про встроенные объекты сейчас, tuple - встроенный объект Пайтона.
Tossadar
блядь, ну иди дрочи питона. хули куда то приходить и кому-то рассказывать что там где то лучше, заебали лгбтшники
Grigory
нравится мне этот подход, сначала учатся молотком гвозди забивать, а потом спрашивают как это отверткой сделать
Grigory
и потом такие "ну молоток конечно удобнее"
Grigory
Grigory
Понял. Спасибо) Извините, но пайтон в этих моментах удобнее) Можно сразу понять применим ли метод к объекту (по наличию в выводе dir, например append не применим к tuple, т.к. последний неизменяем). Ну и пункт 3 понятен автоматически. Если метод применяется через точку - объект изменяется на месте, иначе - новый объект
Ну и пункт 3 понятен автоматически. Если метод применяется через точку - объект изменяется на месте, иначе - новый объект нет, все зависит от того, что в ресивере у метода, если указатель - то поля структуры будут меняться у оригинального объекта, если нет - то не будут
Tossadar
если указатель - то МОГУТ меняться.
Tossadar
не факт что метод их меняет
David
блядь, ну иди дрочи питона. хули куда то приходить и кому-то рассказывать что там где то лучше, заебали лгбтшники
Ну да, вместо того что бы сказать "го есть чему научиться у Пайтона" (как и наоборот) - будем всех ЛГБТ называть
Tossadar
да всем похуй
Grigory
Ну да, вместо того что бы сказать "го есть чему научиться у Пайтона" (как и наоборот) - будем всех ЛГБТ называть
ну тут не чему учиться, ты перечислил сахар, применимый конкретно к пайтану, который есть только в пайтане, и который натянуть на другие языки анриал
Victor
Юра (Юрий Александрович)
"Здравствуйте. Вы хотите поговорить о Питоне? Вот, почитайте интересную брошюрку"
innit?
Годно
Tossadar
Но согласись, что весьма точно
Ron Mount
но вообще грубость да неуместная ладно бы он у тебя еду отобрал
David
Я ещё не так познакомился с языком, чтобы участвовать в дискуссиях.
🅞leksiy
Раз в две недели: добрый вечер, я тут начал изучать го, и понял что это совсем не раст и не пайтон. А когда в го все это завезут? 😅
umdnt 📻
Раз в две недели: добрый вечер, я тут начал изучать го, и понял что это совсем не раст и не пайтон. А когда в го все это завезут? 😅
"Я тут выбрал автомобиль и понял, что это совсем не велосипед... Когда сюда добавят педали?"
Victor
Скорее наоборот, с автомобиля на велосипед :)
umdnt 📻
Скорее наоборот, с автомобиля на велосипед :)
Но ведь есть и электровелосипеды :)
Ron Mount
блядь, ну иди дрочи питона. хули куда то приходить и кому-то рассказывать что там где то лучше, заебали лгбтшники