Pull to refresh

Comments 71

В следующих статьях я расскажу про то, как я немного изменил gomobile, добавив уведомления и работу в фоне для IOS и Android приложений

Про Катю то допишете, это же еще не конец?
Да, про Катю тоже напишу.
Через неделю от Кати пришла смс-ка.
Ну вот, на самом интересном месте…
Мне кажется что всех программистов это бесит больше всего. Когда что-то (кто-то) ломается и обратного кейса ты не видишь и продебажить не получается. Нам бы хоть причину знать, а тут последний пинг «не звони мне больше» и еще один «а вдруг она перезапустилась уже» =)

Девушки, люди, будте адекватными. Если посылаете, то хоть причину скажите. А то некоторые в while (true) ожидание сваливаются =)
Девушки иногда возвращают ошибку корректно, но поскольку парни её обычно обрабатывают так:
for {
  if err := girl.attempt(); err != nil {
    log.Printf("attempt failed: %v, retrying", err)
    continue
  }
  break
}

то желание так делать у них быстро пропадает.
По моему большенство вот так обрабатывает =)
for {
    _ := girl.attempt()
}
UFO just landed and posted this here
(голосом Винни-Пуха) Девушка это очень странный предмет, скандал уже есть — а причин еще нет.

кстати, автор часом не изобрел Love-Hate Driven Programming?
> Девушки, люди, будте адекватными.

Скидывайте core dump!
Ну, или хотя бы stack trace…
ага, тестовый доступ давайте…
или конфиги для нормальной настройки логов…
Автором статьи походу просто манипулировали, игра в «ближе-дальше».
Возможно ему даже повезло, что после масла ничего не случилось, т.к. похоже она «завирусована» по самый биос :))
Думаю автор конечно заготовил для этого «виртуальное окружение», а возможно и развернул его… но после масла и поцелуев все-таки подхватил короткоживущий троян в свою ОС ((
По моему уже кто-то говорил, но тем не менее. Автор, перестань класть отрывки про Катю в спойлер. Оборачивай в спойлер отрывки про Go!
Ради эксперимента можно вообще не оборачивать ни чего и даже мини заголовки не писать, что бы люди наконец-то начали читать статью =)
То чувство когда под спойлеры спрятана не та часть текста
То чувство когда зашёл в статью прочитать про Катю, а не про Go.
UFO just landed and posted this here
Второй сезон «Mr. Robot» не за горами, да.
UFO just landed and posted this here
Жду новых серий, надеюсь у вас получилось отладить Катю )
Судя по заголовку, Катю пришлось полностью переписать на Машу…
Интересно ещё узнать, что думала Катя.
А не мешали ли ей pet projects?

Есть мол. чел., у него есть работа и личная жизнь.
В личной жизни есть отношения с девушкой, друзья, хобби (pet project)…
И если этот pet project занимает тот ресурс, который девушка считает своим, то отношения с ней будут не лучшими.

Так вот, если у человека есть pet project, который отнимает несколько часов в день, то как ему относиться к отношениям с девушкой?
Скорее всего, девушку не устроит, что нескольько часов в день после работы уходит на pet project, а не на неё.
Или найти такую девушку, которая сама будет гореть его pet project, помогать, подгонять… Наверное, таких дефицит
Или у неё есть свой pet project и она сама туда время сливает. Но это странно для девушки, они по-другому устроены.
Или она трудоголичка.
Или ей всё равно до мол.чел.
Или умудриться объяснить ей, что это как бы так важно и для неё тоже… Но только без обмана! Это действительно нужно в её жизни при том, что ей время на отношения не хватает?
Или ещё что-нибудь
Воу-воу-воу, а мнение pet-project'a о какой-то внезапно появившейся девушке, отнимающей столь ценное время, которое могло бы быть с пользой потрачено на взаимное развитие, тебя вообще не интересует? Или то, что она одного с тобой биологического вида, автоматически означает, что она лучше кода? Чёртовы органические шовинисты!
UFO just landed and posted this here
а как же вариант, при котором половинка помогает, вдохновляет?
UFO just landed and posted this here
Да автор ставит брейкпоины похлеще всех этих сериалов.

>«Не звони и не пиши мне больше!!!!»
>Через неделю от Кати пришла смс-ка.
Не знаю, что там было в смс, но я б ее послал.
Снег идет… С первым днем зимы!
А автор в этот момент в Бильдяжках, да.
Так для девушек код возврата
Не звони и не пиши мне больше!!!!

Это вообще практически синоним
the program was successful

(=
Я понимаю, что бывают «эксепшены», но емае… Автор в любви признался, позаботился о ее желудке, домой приехал повидаться. Стоит под дверью, а ему тут такая смс.
Нельзя к себе такое отношение допускать.
Ну а посмотрите с точки зрения девушки — его никто не звал, его никто не ждал, а он под дверью стоит. Кто его знает с какой целью. Кто его знает, что у этого программиста в голове. Нуегонахрен!
Ещё и с подругами через VK перезнакомился (в прошлом посте). Многовато напора для трёх свиданий-то.

Хотя, потеряв голову, какой только глупости не сделаешь.
У Фейнмана в книгах «Вы конечно шутите мистер Фейнман» и «Какое тебе дело до того что думают другие» есть отличный алгоритм обращения с девушками, и там же еще немного рассуждений на тему «почему девчонкам не нравятся сопливые неуверенные в себе мальчишки»
С одной стороны алгоритм есть, а с другой — сам Фейнман особо им и не пользовался. К тому же Фейнман описывает не всех, а некоторое-подмножество-девушек, которое взаимодействует с некоторым-подмножеством-юношей. Хотя, конечно, описание позволяет по-другому взглянуть на общение с Катями.
Помню, в 2004-м году, когда Катя (уж не знаю, эта же самая или они все одинаковые) съела мне моск по поводу моей работы, я стал программистом. Катю, впрочем, бросил одновременно со старой работой.
Слишком мало Кати в этот раз…
Жаль нет возможности title для спойлера делать жирным, а то аж пролистал случайно.

А Катя знает об этих статьях и о том, что является главным героем?
Нет, не знает. И я не уверен, стоит ли ей про это говорить.
Хмм, это намёк на то что всё наладилось?
Когда уже следующая статья то? =)
Нет, не намек :)
Следующая статья пока в процессе, там про android и gomobile, как только допишу, вставлю «про Катю» и выложу.
Хороший подход к написанию статьи. Прямо жизнь программиста в миниатюре — кодинг параллельно личной жизни. Но меня эта история тронула ещё и тем, что в ней я заметил несколько пересечения со своей. Я тоже встречался с девушкой по имени Катя. Длилось это 4.5 года. Когда у нас только начался разлад в середине этого срока, в попытках хоть как-то отвлечься, я начал писать свой js движок. После расставания в апреле 2015-го я так же подумал, что у меня теперь много свободного времени и почти полностью переработал его. Только помимо этого я ещё сменил город и место работы, почти как DrPass
Раз тут обсуждают в первую очередь Катю и Ваши с ней взаимоотношения;)) Прочитав про нее и комменты, странно было не увидеть рассмотрения довольно очевидной возможной гипотезы, а именно:
Так часто поступают девушки имеющие, если сказать мягко — несколько «инрижек» параллельно… это не очень распространенный кейс, но довольно типичный… в такой ситуации они именно так себя и ведут с парнем, который среди остальных задействованных в интриге — с низким приоритетом!
Возможно это будет не приятно осознавать, но пока ее не бросит тот (или те) кто для нее с большим приоритетом, то с тем у кого приоритет низкий — она так и будет себя вести… а потом, если не будет других кандидатов — она станет вдруг более «отзывчивой», но скорее всего только до того момента, пока на ее горизонте не появится другой :(

По ключевым моментам в рамках такой концепции:
— в кровати не было «продолжения» потому, что для некоторых девушек «такой флирт» это не измена, т.к. небыло самого главного для нее… т.е. «типо она не изменила» тому другому… а сделала это потому что он (другой) ее чем -то обидел в тот момент…
— резкая реакция на неожиданный приезд и признания — это яркое чувство угрозы ее потенциальным отношениям с другим парнем
— рассказы ее подруги — это обычная дружеская «солидарность» и согласованное желание не «полить» в случае отсутствия конкуренции за одного мужчину…

Может все конечно и не так, но пока все к одному…
Какая многопоточная девушка :D
Программисты любят, когда в кучу string'и и стринги. Потому что, как правило, в теме.
Интересный ход — поместить спойлер на картинку, я повёлся.
У меня жена Катя) кажется, я все делаю правильно.
Чувак, просто забей на Катю. Она просто не хочет быть с тобой.

Ну т.е. это нормально, чувства там, эмоции, но блин, найдешь бабу получше.
Если пользоваться терминами Юнга, то Катя это «анима» автора статьи, а «анима» это такая же часть человеческого мироощущения как нога или рука. Поэтому советы «забей, найдешь получше» крайне вредны и только заставляют автора переписывать с php на что-то еще.

Человек чувствует, что ему предлагают ампутировать какую-то часть его. Причем священную. Вопрос нужно ставить совсем по другому, начать с того что Катя не может обладать теми образами что ее наделяют, а следовательно — рассмотреть образ кати внутри мироощущения автора статьи шире и убедить его в том что та красота которую он видет конечно каким то образом совпадает с реальной Катей, но по факту настоящую красоту он чувсвует в себе. И она никуда никогда не уйдет, а останется с ним.
Человек предпочел отвлечся от бесконечного внутреннего диалога с Катей интеллектуальными задачками, что является необычайно важным, поскольку в пассивно диванное время мы без веры в аниму нихрена делать не хотим, так как чувствуем ее не всегда так сильно.
есть проще рецепт: Катя скоро уйдет от того джависта, к которому она ушла от автора. Тут надо её поймать на одну ночь, закрыть гештальт и вернуться на PHP.
На stihi.ru оказывается столько Кать…
Автор (и все остальные), раз уж ты играешь с json и sql одновременно — недавно словил хитрую граблю по этому поводу.

Если в структуре есть любой тип, наследующий []byte, например json.RawMessage — то пакет sql это не увидит и будет обращаться с ним в пуле объектов как обычно, из-за чего данные в нём иногда будут ломаться (т.к. границы слайса не обнуляются).

Фикс — использовать только []byte или sqlx + sqlx.JSONText (который может быть потенциально опасен).
можете пояснить подетальнее в чём проблема?
Всё дело в пуле байт, хранимом sql для снижения нагрузки на GC и алгоритме, применяемом db.Scan():

If an argument has type *[]byte, Scan saves in that argument a copy of the corresponding data. The copy is owned by the caller and can be modified and held indefinitely. The copy can be avoided by using an argument of type *RawBytes instead; see the documentation for RawBytes for restrictions on its use.

If an argument has type *interface{}, Scan copies the value provided by the underlying driver without conversion. If the value is of type []byte, a copy is made and the caller owns the result.


Дело в том, что при передаче в Scan() что-нибудь вроде *json.RawMessage он не видит его как *[]byte, и в итоге поинтер указывает (насколько я понял) на копию слайса, который в свою очередь указывает на массив, который одновременно принадлежит пулу самой *sql.DB.

Тут небольшое отступление на всякий пожарный: в Го то, что обычно все называют массивом — это слайс, который является чем-то вроде «окна» в массив любой длины (len(slice) <= len(array)). При этом копия слайса всё ещё отображает исходный массив.

В итоге получается, что в первом вызове Scan() данные опускаются в пустой слайс, который наполняется, помещается в пул и его копия возвращается вам; а при втором вызове sql берёт тот самый грязный слайс из пула и заполняет его новыми данными. Если len(datanew) < len(dataold), то перезаписывается только часть слайса, но возвращается он целиком.

В итоге, если в БД есть две строки: «12345» и «678», которые вы сосканите друг за другом, то вы получите сперва «12345», а потом «67845». Притом после второго скана первый массив(слайс!) будет хранить тоже «67845».
Автор, прочитай учебник Новосёлова и прекрати страдать уже. Ванильные сопли, смешно читать, ей богу.
Вам смешно — не читайте. А мы вот переживаем вместе с автором!
Так я ж не предлагаю ему не писать. Просто сейчас он эту войну проигрывает. А если воспользуется моим советом, то этот квест с Катей перестанет быть нудным. :) Всем только интересней читать станет.
Как то я, в том году нашел сайтик delonevtebe.ru
Там столько историй про Кать, Маш, Ксюш и даже про Вась )
Перед сном читать самое то.
Читать название сайта начал как develop…
Сам больше склоняюсь к версии о многопоточности Кати и низком приоритете автора в очереди (как это ни прискорбно). Остальные остальной 1% отдам версии о том, что она принадлежит к тому типу девушек, которых отталкивает хорошее отношение, потому все ее предыдущие парни плохо к ней относились — она сама таких выбирала.
Уже совсем скоро, дописываю статью про Андройд
Sign up to leave a comment.

Articles