Maks
Время за которое отвечает сервер влияет на конверсию. Даже при быстрых ответах.
El
Возможно изучение Django сразу или python, а потом уже Джанго?
Илья
https://youtu.be/P0czP5MEbYQ
Не ну это
слыш, Хауди Хо ван лав
Grigory
Когда это ресурсы сервера стали ценными?
Примерно после прекращения поставок
Valery
Примерно после прекращения поставок
Ну вот это аргумент, согласен
Evgeny
Null
Merge sort Реализуйте конкурентное решение merge sort (сортировка слиянием), используя горутины и каналы. В качестве опорной точки можно взять эту последовательную реализацию: В начале при сортировке слиянием мы рекурсивно разделяем массив на right и left стороны и на строках 30-34 вызываем MergeSort для обеих сторон. Теперь нужно сделать так, чтобы Merge(left, right) выполнялась после получения возвращаемых значений от обоих рекурсивных вызовов, то есть и left и right должны обновляться до того, как Merge(left, right) сможет быть выполнена. Для этого на строке 26 мы вводим канал типа bool и отправляем в него true сразу после выполнения left = MergeSort(data[:mid] (строка 32). Операция <-done блокирует код на строке 35 до инструкции Merge(left,right), чтобы она не продолжилась, пока горутина не завершится. После завершения горутины и получения true в канале done код переходит к инструкции Merge(left, right) на строке 36. @golang_interview
Иван
черный рынок никто не отменял
Null
➕dynaQ Расширение для пакета Go sql в стандартной библиотеке для поддержки динамических запросов из базы данных. Установка: go get github.com/syke99/dynaQ Github Описание @Golang_google
Victor
черный рынок никто не отменял
параллельный импорт :)
Иван
не надо способствовать распространению новояза)
Maks
Просто у него и так работа сидячая
Maks
не хочется в свободное время тоже сидеть)
Konstantin
Всем привет, тут на работе такой вопрос возник. Мы разрабатываем сервис, внутри него генерируются 4 одинаковых JSON’а в которых отличается лишь 1 поле. На выходе имеем JSON’ы: A, B, C и D. Внутри них по 20 одинаковых полей и лишь 1 отличается. Эти JSON’ы в заэнкоженом виде являются частью URL. Example: https://127.0.0.1/track/{A}. Мы не можем раздувать URL, поэтому не можем сделать 1 JSON с 4 разными полями. Мы сейчас занимаемся оптимизацией работы этого сервиса и самым узким местом являются эти 4 JSON’а. Во такой вопрос, есть ли какая-нибудь такая либа, чтобы можно было смаршалить 20 полей. А потом к этому сообщение отдельно добавить нужное поле? Хотелось бы вот такой примерно функционал иметь (псевдокод): type MegaMessage struct { Field1 string Field2 string Field3 string … Field20 string MegaString string } x := &MegaMessage{} data, _ := x.Marshall() newdata := data.AddMegastring(“very big string…”) Есть понимание как это примерно ручками можно сделать. Вопрос есть ли какая-нибудь либа для этого?
Oleg
https://github.com/tidwall/sjson не подойдёт?
Alexander
Доброе утро. Ребят, подскажите, пожалуйста, как быть. , программированием знаком только в школе( и то Pascal ABC, и то 15 лет назад). Сам почитывал html,css. На практике не закреплял, сейчас всё по новой. Чисто для себя хочется сделать простой динамический сайт. Думал php, python изучить, но как-то не зашло( рядом единомышленников нет, мотивация слабая). Увидел golang в каком-то видео уроке вёрстки. Начал читать. Вопрос 1: в литературе описывается синтаксис, а на практике мало что можно найти. Мне интересно ( на данный момент) только возможность создать админку, слайдер страниц, страницу с отзывами. В книгах не описывается как можно все команды соединить и получить что-то ( мне как гуманитарию сложно самому додумать). Это как дать топор, дать дерево и сказать , что можно наколоть дров. Ок. А про то что можно построить дом, сделать фигурки это лишнее. Может, подскажете какую литературу? ( акцент на моих задачах). Может что про основы бэкенда, где рассказаны алгоритмы мыслей для воссоздания задуманного. Может есть книги, в которых описывается go с реализацией его. Спасибо. Работаю в медицине, математический склад ума, но нет базы программирования
по желаниям скорее пыха подойдет. есть же желание сделать, а не чтобы оно быстро отрабатывало, нагрузки держало. так что странное решение
Alexander
А что насчёт nodejs?
да то же самое, где-то посередине получается
🅞leksiy
Всем привет, тут на работе такой вопрос возник. Мы разрабатываем сервис, внутри него генерируются 4 одинаковых JSON’а в которых отличается лишь 1 поле. На выходе имеем JSON’ы: A, B, C и D. Внутри них по 20 одинаковых полей и лишь 1 отличается. Эти JSON’ы в заэнкоженом виде являются частью URL. Example: https://127.0.0.1/track/{A}. Мы не можем раздувать URL, поэтому не можем сделать 1 JSON с 4 разными полями. Мы сейчас занимаемся оптимизацией работы этого сервиса и самым узким местом являются эти 4 JSON’а. Во такой вопрос, есть ли какая-нибудь такая либа, чтобы можно было смаршалить 20 полей. А потом к этому сообщение отдельно добавить нужное поле? Хотелось бы вот такой примерно функционал иметь (псевдокод): type MegaMessage struct { Field1 string Field2 string Field3 string … Field20 string MegaString string } x := &MegaMessage{} data, _ := x.Marshall() newdata := data.AddMegastring(“very big string…”) Есть понимание как это примерно ручками можно сделать. Вопрос есть ли какая-нибудь либа для этого?
Типа один раз смаршалить, а потом в готовом json менять одно поле?
Konstantin
https://github.com/tidwall/sjson не подойдёт?
сейчас гляну, спасибо
Alexander
Всем привет, тут на работе такой вопрос возник. Мы разрабатываем сервис, внутри него генерируются 4 одинаковых JSON’а в которых отличается лишь 1 поле. На выходе имеем JSON’ы: A, B, C и D. Внутри них по 20 одинаковых полей и лишь 1 отличается. Эти JSON’ы в заэнкоженом виде являются частью URL. Example: https://127.0.0.1/track/{A}. Мы не можем раздувать URL, поэтому не можем сделать 1 JSON с 4 разными полями. Мы сейчас занимаемся оптимизацией работы этого сервиса и самым узким местом являются эти 4 JSON’а. Во такой вопрос, есть ли какая-нибудь такая либа, чтобы можно было смаршалить 20 полей. А потом к этому сообщение отдельно добавить нужное поле? Хотелось бы вот такой примерно функционал иметь (псевдокод): type MegaMessage struct { Field1 string Field2 string Field3 string … Field20 string MegaString string } x := &MegaMessage{} data, _ := x.Marshall() newdata := data.AddMegastring(“very big string…”) Есть понимание как это примерно ручками можно сделать. Вопрос есть ли какая-нибудь либа для этого?
а нет возможности взять джосн с 4 полями, генерить от него хэш и в урл пихать хэш, а потом находить по хэшу этот джсон
Alexander
вообще урлы довольно много терпят
Alexander
по длине
Alexander
не вижу, траблу +3 поля, если там уже 20
Maks
Всем привет, тут на работе такой вопрос возник. Мы разрабатываем сервис, внутри него генерируются 4 одинаковых JSON’а в которых отличается лишь 1 поле. На выходе имеем JSON’ы: A, B, C и D. Внутри них по 20 одинаковых полей и лишь 1 отличается. Эти JSON’ы в заэнкоженом виде являются частью URL. Example: https://127.0.0.1/track/{A}. Мы не можем раздувать URL, поэтому не можем сделать 1 JSON с 4 разными полями. Мы сейчас занимаемся оптимизацией работы этого сервиса и самым узким местом являются эти 4 JSON’а. Во такой вопрос, есть ли какая-нибудь такая либа, чтобы можно было смаршалить 20 полей. А потом к этому сообщение отдельно добавить нужное поле? Хотелось бы вот такой примерно функционал иметь (псевдокод): type MegaMessage struct { Field1 string Field2 string Field3 string … Field20 string MegaString string } x := &MegaMessage{} data, _ := x.Marshall() newdata := data.AddMegastring(“very big string…”) Есть понимание как это примерно ручками можно сделать. Вопрос есть ли какая-нибудь либа для этого?
Отличается имя поля?
Konstantin
Отличается имя поля?
Нет, но можно сделать, чтобы отличалось
🅞leksiy
да
Тогда ручками проще всего, уникальное ключ-значение и сплит по нему
Maks
А почему тогда не сделать сеттер структуре? И всегда отдавать один жсон но с разным значением этого единственного поля?
Alexander
да можно замаршаллить значение поля, а потом перед последним символом вставить ","\" +fieldName+"\":" + marshalledField
Alexander
в чем вообще вопрос
Aziz
Привет всем https://go.dev/play/p/B1kttgTCC_h
Aziz
я сейчас делаю скрипт (учебный) что бы он перевел Фаригейт на Цельсий
Aziz
но функция celcToFar
Aziz
дает ошибку
Aziz
я ему говорю что вот это может быть float64 но он хочет именно int делать
Aziz
и ожидает от функции тоже int
Vladislav
и ожидает от функции тоже int
func celcToFar(faringate int) float64 { celc := ((faringate - 32) * 5 / 9) return float64(celc) }
Alexander
там же деление идет дальше
Alexander
я ему говорю что вот это может быть float64 но он хочет именно int делать
и еще дай себе по рукам за то, что обработку ошибок в strconv.Atoi пропускаешь
Maks
там деление на инт что дает инт вроде как
Roman
добрый день! подскажите куда копать делаю запрос в консоле nslookup 70.228.184.185.zen.spamhaus.org получаю Server: 217.23.0.121 Address: 217.23.0.121#53 Non-authoritative answer: Name: 70.228.184.185.zen.spamhaus.org Address: 127.0.0.4 Name: 70.228.184.185.zen.spamhaus.org Address: 127.0.0.3 Name: 70.228.184.185.zen.spamhaus.org Address: 127.0.0.11 когда делаю запрос из приложения через exec то получаю пердушню Server: 217.23.0.121 Address: 217.23.0.121#53 ** server can't find "70.228.184.185.zen.spamhaus.org": NXDOMAIN
Aziz
Понял, спасибо
Roman
делаю вот так cmd := exec.CommandContext(ctx, "nslookup", domain) var out bytes.Buffer cmd.Stdout = &out cmd.SysProcAttr = &syscall.SysProcAttr{} err := cmd.Run()
Roman
уже мозг сломал! ничего не понимаю! может для приложения нет какихто прав
Roman
хотя на сервере все под рутом пока
Alexander
а запускаешь свое приложение из консоли руками или какой-нибудь докер там?
Roman
супервизор
Roman
бинарник
Roman
центос7
Alexander
а если руками запустить?
Roman
не пробовал)
Roman
щас попробую)
Alexander
тогда не представляю. мб вот это убрать "cmd.SysProcAttr = &syscall.SysProcAttr{}" и попробовать руками
Null
Предотвращаем утечки памяти в Go, ч. 1. Ошибки бизнес-логики Можно любить Go за многое: за простоту и строгость, за горутины и каналы, за реализацию параллельного и асинхронного программирования, за продвинутый планировщик, за аллокатор с большим количеством оптимизаций, за высокую производительность. Но, по сообщениям некоторых пользователей, у программ, написанных на Go, течёт память. Issue-трекер языка Go на github по запросам «high memory usage», «memory leak», «out of memory» выдаёт сотни и тысячи тикетов. А в самом популярном вопросе на stackoverflow по словосочетанию «golang memory» автор пытается разобраться, почему потребление оперативной памяти в рантайме в 4 раза превышает количество реально сделанных аллокаций. Обращения, в которых люди рапортуют о перерасходе оперативной памяти в Go, стали массовым явлением. Что же это — утечки памяти, вызванные программистскими ошибками, или ожидаемое поведение рантайма языка? Мы попытаемся разобраться в причинах этого явления и сформулировать общие рекомендации, которые помогут в отладке проблем с потреблением памяти. Читать дальше @Golang_google
Yurysnv
Всем привет! я начинающий разработчик, который заинтересовался go. Как думаете, подходит ли этот язык для поиска своей первой работы в качестве разработчика, или для этого уже нужно иметь опыт работы с другими серверными языками?
Emin Zalaev
почему бы и нет, сам прохожу по такому пути
Grigorij
да, сначала в джаву надо
Victor
джаву джаву взял я на халяву
Yurysnv
я многое об этом слышал, говорят что сначала нужно оттрубить сколько-то на рабочем месте, а потом уже идти в go
Yurysnv
правда когда листал резюме на hh, заметил, что есть и те кто сразу устроился с go
Grigory
проблема только в наличии вакансий на джунов, года три назад трудно было что-то найти, сейчас с удаленкой возможно попроще будет, возможно еще стажировки какие-нибудь
Rostislav
правда когда листал резюме на hh, заметил, что есть и те кто сразу устроился с go
Они тебе еще скажут, что надо кнута в 7м классе было прочитать иначе не программист
Grigory
Они тебе еще скажут, что надо кнута в 7м классе было прочитать иначе не программист
кнута полезно знать, но не обязательно, в отличии от книги с кабанчиком :D
Victor
Сейчас многие проекты сразу на го пишут, раньше была тенденция в основном переписывания старых сервисов на го.
Yurysnv
я так понимаю, что go становится все популярнее и популярнее
Victor
Похоже на то.
Rostislav
кнута полезно знать, но не обязательно, в отличии от книги с кабанчиком :D
чтож вы на нее все так молитесь. Прям социально одобрительный ответ эта книга с кабанчиком
Grigory
я ж не серьезно)
Rostislav
ну сложно от сарказма отличить. Я про нее реально от каждого слышу. Ток никто не читает, зато хвалят
Grigory
есть у людей такая особенность, хвалить культовые книги не читая)