
s3rj1k
28.11.2017
20:50:54
Вы какой то злой. Я на полном серьезе спрашиваю

Daniel
28.11.2017
20:51:36
кавычки нужны при запуске из шелла, чтобы шелл не интерпретировал пробелы, которые вы не хотите, чтоб он интерпретировал
когда вы используете exec.Command() - вы сами разбиваете строку на аргументы, и кавычки тут не нужны вообще. некому интерпретировать пробелы, некому
если бы вы не ленились читать доку - вы бы сообразили это сами
а теперь идите, и напишите на доске "я буду читать доку всегда" 100 раз

Google

s3rj1k
28.11.2017
20:53:09
Find как бы интерпритирует пробелы
Просто попробуйте

Daniel
28.11.2017
20:53:32
я пробовал неоднократно
и у меня все всегда работает
я серьезно - идите почитайте доку

s3rj1k
28.11.2017
20:54:09
Ну так покажите пример как вы туда одинарные кавычки передаете :)

Daniel
28.11.2017
20:55:11
exec.Command("cmd", "/C", "shutdown", "/s", "'одинарные'").Run()
и в cmd приедет параметр 'одинарные'
вот прям так, с одинарными кавычками

s3rj1k
28.11.2017
20:56:20
Ну вот я ща приеду и скину в чатик код
Точно так же и не работает :)

Daniel
28.11.2017
20:57:08
а что в ошибке, которую вернул Run()?

s3rj1k
28.11.2017
21:00:03
Err nil
Output пустой

Dmitrii
28.11.2017
21:25:03
почему часто пишут в примерах по умолчанию так a := &[]int{1,2,3,4} если не базовые типы и так ссылочные? действительно так часто приходится работать с указателями?

Google

Максим
28.11.2017
22:03:47

s3rj1k
28.11.2017
22:03:52
а что в ошибке, которую вернул Run()?
ну вот к примеру такой код не выполняется
exec.Command("find", "/sys", "-maxdepth", "2", "-type", "l", "-regex", "'.+/block/.+'", "-printf", "%f%l\n").Output()
понятно что если убрать одинарные кавычки то он заработает, вот так
exec.Command("find", "/sys", "-maxdepth", "2", "-type", "l", "-regex", ".+/block/.+", "-printf", "%f%l\n").Output()
вопрос как можно их эскейпить что бы они оставались ?


Vladimir
28.11.2017
22:11:26
ну вот к примеру такой код не выполняется
exec.Command("find", "/sys", "-maxdepth", "2", "-type", "l", "-regex", "'.+/block/.+'", "-printf", "%f%l\n").Output()
понятно что если убрать одинарные кавычки то он заработает, вот так
exec.Command("find", "/sys", "-maxdepth", "2", "-type", "l", "-regex", ".+/block/.+", "-printf", "%f%l\n").Output()
вопрос как можно их эскейпить что бы они оставались ?
Вопрос на засыпку
Если ты сделаешь программу которая пишет все argv
Что будет если ей передать 'foo'?
Сначала из баша
Потом из го или любого другого языка

s3rj1k
28.11.2017
22:12:52
развернет кавычки

Vladimir
28.11.2017
22:13:09

s3rj1k
28.11.2017
22:13:25
ну так я же спрашивал как заэскейпить )

Vladimir
28.11.2017
22:13:32
Ты не баш дергаешь
Это забота тебя убрать кавычки до передачи

s3rj1k
28.11.2017
22:14:14
ну так а если "'arg'" ?

Vladimir
28.11.2017
22:14:41
А "'arg'" будет эквивалентно если и в баше также передать
Дёргая фаинд напрямую у тебя нет интерпретатора никакого перед. Что передано как аргумент то софт и получит

s3rj1k
28.11.2017
22:15:43
значит так какая то бида именно с файндом и регекспом

Vladimir
28.11.2017
22:16:00
Одинарные кавычки в баше нужны только ради того чтоб баш не лез в регулярку своими подстановками
Но у тебя нет баша

Google

Vladimir
28.11.2017
22:16:30
Естественно оно ничему не матчится
Никакой проблемы нет, все by design так
Притом в любом яп
Пиши код перед цмд, который будет выкивдвать кавычки обрамляющие

s3rj1k
28.11.2017
22:18:31
окей, допустим я теперь эти все аргменты хочу скормить башу который дерну из exec
там же нужно как то эскейпить?

Vladimir
28.11.2017
22:18:45
Пишешь функцию которая будет теперь уже заменять кавычки на экранированные
Возможно под это что то готовое даже есть

s3rj1k
28.11.2017
22:19:34
ну я видел обертки для exec так что точно есть )

Vladimir
28.11.2017
22:20:13
Когда ты дергаешь баш, ты ему как аргумент дашь скрипт, внутри которого пишешь все по правилам баша

s3rj1k
28.11.2017
22:21:46
так а что там с эскейп силволами будет если их на прямую пихать?

Vladimir
28.11.2017
22:21:59

s3rj1k
28.11.2017
22:26:14

Vladimir
28.11.2017
22:26:41
У меня к ночи с обьяснялкой и понималкой туговато...

s3rj1k
28.11.2017
22:27:39
нормально, все понятно
собственно проблема возникает когда очень хочется завернуть все аргументы в одну большую стрингу
а потом сплитать ее в слайс по пробелам и делать из слайса вариадик
вот там будет забавно когда где то нужно пробел эеранировать в стриге )

Egor
29.11.2017
02:17:30
Привет, гоферы. Есть, кто активно интересуется крипто-валютами?

/dev/null
29.11.2017
02:35:01
Опять блокчейен

Google

Egor
29.11.2017
02:35:24
нет

Anatoliy
29.11.2017
03:06:44

Egor
29.11.2017
03:08:18
что интересует?
ищу кого-нибудь, кто знаком с ними и знаком с го, чтобы разработать биржу. попрактиковать написание кода на го и глубже копнуть в крипто-валюты

Anatoliy
29.11.2017
03:08:51
если нет связей в органах - можешь даже не пробовать, по голове надают, знакомый недавно тоже пробовал

Egor
29.11.2017
03:10:04

Anatoliy
29.11.2017
03:10:16
угу, ты не с рф?

Egor
29.11.2017
03:10:26
нет

Sergius
29.11.2017
07:12:47
Не проще 2-3 годные статьи запилить + бесплатные ресурсы?

Admin
ERROR: S client not available

Slach
29.11.2017
07:13:00
как говорится mitmproxy тебе в помощь дорогой человек
чтобы правильно отреверсить процесс установки
к 1500$ я думаю пару ноликов справа надо подставить,
ну то есть может тебе и повезет
сделаешь фабрику рутованых дивайсов в которых сможешь что нибудь "переписать" так чтобы каждый раз device был как будто новый
но вообще скорее всего там именно АКАУНТЫ считаются
а не параметры устройства, в инсталляциях которые в google play показываются

Bohdan
29.11.2017
07:18:42
Аккаунт к уникальному устройству
Виртуалки в помощь
Но очень аккуратно, потому что гугл легко блочит любые накрутки

Maks
29.11.2017
07:18:43
Доброе утро. Расскажете, как вы делаете sql миграции? В частности версионные

Alexander
29.11.2017
07:19:13
liquibase. хз есть ли аналоги на go
а так - огонь инструмент. в целом-то на джаве писать и не нужно. можно как тулзу использовать.

Valentin
29.11.2017
08:01:08
Можно сделать хорошее и полезное приложение, тогда его начнут скачивать реальные пользователи

xPushkin
29.11.2017
09:26:05
Друзья, как лучше всего находить memory leaks?

Александр
29.11.2017
09:27:21
в гоу нету же ручного управления памяти, по крайне мере без бубна
где у тебя могут быть memory leaks? O_o

Valentin
29.11.2017
09:28:08
незакрытые sql.rows
context может течь

Google

xPushkin
29.11.2017
09:31:23
?

Александр
29.11.2017
09:31:47

xPushkin
29.11.2017
09:31:56

Александр
29.11.2017
09:31:59
мы решаем проблемы (с)

xPushkin
29.11.2017
09:39:52
А если я делаю build с -race это будет влиять на память?

Mykyta
29.11.2017
09:42:43

Andrew
29.11.2017
09:42:46

Mykyta
29.11.2017
09:42:48
еще может быть утечка горутин

xPushkin
29.11.2017
09:43:34

Александр
29.11.2017
09:43:46

Andrew
29.11.2017
09:43:48
Или бесконечный append в массивы

xPushkin
29.11.2017
09:44:26

Александр
29.11.2017
09:44:28
народ "не осободил ресурсы" "затупил с циклом" это не есть "memory leaks"

Andrew
29.11.2017
09:45:12

Александр
29.11.2017
09:45:53
на низком уровне, это сишники страдают в основном

Aleksandr
29.11.2017
09:47:08
memory leaks - память течет. свободная память незапланированно "утекает". Под это все что угодно подпадает

Mykyta
29.11.2017
09:47:23
подробнее :)
Банально запустил горутину, а она не завершилась, потому, что ожидает чтение из канала, контекст к которому уже потерялся, либо там цикл, либо что-то еще.

Kirill
29.11.2017
10:02:22