Dcoin на IOS… и Катя. Финал



    Заключительная часть серии статей про мой опыт перехода с PHP на Go.

    Первая часть, вторая, третья, четвертая.

    4,5 года назад я имел неосторожность начать писать свою криптовалюту на совсем неподходящем для этого дела языке — на PHP. В итоге, конечно, написал (я упрямый), но получился костыль на костыле и то, что оно вообще работало было просто какой-то магией.

    Сразу хочу предупредить, программер я самоучка-недоучка и пишу код, мягко сказать, неидеально.

    Началось всё с того, что я расстался с девушкой, по имени Катя и в этот же день (4 апреля 2015-го) решил изучить Go и переписать свою криптовалюту. Писать про Катю не под спойлерами не могу, т.к. хабр всё же для IT-шных статей, а не для любовных рассказов и суровые айтишники, которым интересна тема Go, могут просто не обращать внимание на спойлеры «про Катю» и «про Машу».

    Итог 8 месяцев: приложение работает на Win, OSX, Linux, FreeBSD, Android, IOS

    Общего кода ~73к строк, кода под разные ОС где-то несколько сотен строчек.

    40к — обработка/генерация блоков/тр-ий, 17.5к — контроллеры для интерфейса, 15.5к — шаблоны.

    Поддерживаются PostgreSQL, SQLite, MySQL.

    Тех, кто будет тестировать мое творение, предупреждаю — могут быть баги, и если у Вас есть время, черкните о них, пожалуйста, на darwin@dcoin.club или в личку на хабре. Пожелания и советы тоже приветствуются.

    В первых четырех частях я рассказал про то, как в dcoin функционирует веб-сервер, про html/template, базы данных, плавное завершение приложения, шифрование и парсинг блоков, Android-приложение.

    В этой части я расскажу про компиляцию под IOS.

    Начало


    Первой сложностью было то, что у меня не было сертификата разработчика. А без него скомпилировать приложение не получалось. Айфона у меня тоже не было, также как и Мака. Дня 3 возился с установкой osx на virualbox, в итоге смог поставить только на vmware и наладить сеть с virtualbox, чтобы в консоле работать.

    Выяснил, что в моему счастью, в xcode 7 появилась возможность компилить приложения с фришным сертификатом, который может создать любой желающий. И айфон 4s мне очень вовремя одолжили. Можно было с головой погрузиться в разработку.

    Про Катю
    (В предыдущих частях):
    Написал ей в ВК, сказала, что тел дома забыла, а сейчас у подруги. Я написал, что подожду её. После чего получил «Не звони и не пиши мне больше!!!!». Вопросов задавать не стал, позвонил в соседнюю квартиру, попросил передать цветы Кате, когда она будет дома. Приехал домой, через несколько часов принял решение переписать Dcoin на Go.

    Через пару дней написал ей, что на несколько месяцев ухожу с головой в свой проект и попросил не беспокоить меня по пустякам.

    Через неделю от Кати пришла смс-ка «привет. ну как ты там?». Я не ответил. Через неделю еще одна «привет. как дела?». Я снова не ответил.

    Еще примерно через неделю она написала, что ей срочно нужно 7 т.р. в долг, т.к. ей не хватает на оплату за квартиру. Я ответил «OK». На следующий день она приехала ко мне домой.

    Я не знаю, что у неё было в голове, наверное думала, что я буду к ней приставать. Весь вечер она была какой-то странной. Я был холоден и старался избегать любых прикосновений к ней. Мы поели, попили чаю. Катя сказала, что ей надо домой. Я вызвал такси.
    Когда провожал её до такси спросил:

    — Мы ведь не вместе да? Т.е. я могу делать что захочу?
    Она: — В смысле «что захочу»? нет, мы вместе (пододвигается ко мне)
    Я: — Ну у нас же не было первого свидания, мы еще не начали всё с начала.
    Она: — Так вот было же только что.
    Я: — Какое же это свидание, ты просто за деньгами приехала.

    Мы уже стояли у дверей такси, я её усадил, расплатился с водителем, она уехала.

    Утром зазвонил телефон, это была Катя. Я не поднял трубку.

    На следующий день она прислала смс-ку «привет. я вчера звонила, ты не взял трубку». Я не стал отвечать.

    Через неделю она написала, что получила з.п. и хочет скинуть мне на карту деньги. Я ни чего не ответил. Через несколько дней она написала «привет. как дела?». Я снова игнорировал.

    Еще примерно через неделю я наконец запустил Dcoin на нодах и увидев, как идет генерации блоков и как они летают между нодами, наполняя базы данных. Мне показалось, что это можно считать завершением моего временного отшельничества и я написал Кате.

    Она очень позитивно отреагировала на то, что я вышел с ней на связь, согласилась встретиться. Потом сказала, что у неё всё плохо, подружка с которой она снимала квартиру съехала и что она из-за стрессов каждый день плачет, еще и уволиться решила. Я решил, что, когда мы встретимся, предложу ей переехать жить ко мне и ни о чем не париться.

    Скомпилировалось и запустилось всё без особых проблем. Открыл в браузере и… ничего. Но зато если зайти по сети на 127.0.0.1:8089 то выдавало кошелек. Стало очевидным, что при нажатии кнопки home приложение переходит в какой-то спящий режим.

    По аналогии с андроидом решил сделать сервис. Но, оказывается сервисы на ios невозможны. Максимум что можно сделать — это повисеть в бэкграунде 600 секунд. Так то оно, конечно, логично — борьба за сохранность заряда аккумулятора. В общем, пришлось изучать, как там вообще работают приложения в ios.

    Про Катю
    В итоге Катя так и не приехала. Опять были какие-то отмазки. Закончилось тем, что она меня снова послала. На этот раз я не думал сразу уходить, т.к. чувствовал, что нужен ей. Но Катя слишком сильно хотела, чтобы я ушел и мне пришлось оставить её в покое. И пообещать больше никогда не звонить и не писать ей.


    Создал простенькое приложение в xcode, кинул на тел, работает. Начал копать структуру файлов и параллельно искать что-то похожее в gomobile, нашел вот этот файлик. Узнал про NSLog, определил место, куда он выдает инфу

    Помню свою радость, когда увидел строки в логе, которые выводило мое приложение. Это было круто, связь налажена, дальше будет проще. Для меня возможность писать и читать логи — это, наверное, самое важное при разработке приложения.

    Про Машу
    Снова стал искать девушку на сайтах знакомств и в ВК. Я забыл упомянуть, что держу себя в отличной физ. форме, т.к. дома есть куча блинов, 2 штанги, гантельные грифы, скамья и турник. И выгляжу на 20 с чем-то, хотя мне уже за 30. Довольно быстро нашел девушку, которая мне нравилась и которая хотела со мной встретиться.

    Objectve-C я не знал, да и сейчас толком не знаю. Но было очевидно, что без понимания, как минимум, синтаксиса ничего не получится. Немного почитал уроки про Objectve-C, стало проще понимать код.

    Погуглил про фоновый режим, выяснил, что надо в didFinishLaunchingWithOptions добавить вот такой код
      // UIApplicationBackgroundFetchIntervalMinimum - чтобы наше приложение запустилось в бэкграунде при любом возможном случае
      [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
    

    И добавить в info.plist
      <key>UIBackgroundModes</key>
      <array>
        <string>fetch</string>
      </array>
    

    Gomobile генерит свой info.plist. Внести в него правки можно тут.

    Про Машу
    На первое свидание я опоздал минут на 10. Когда увидел Машу, то сразу подумал «Ухты, а мне везет», она была очень в моем вкусе. Мы гуляли по парку, катались на лодке, потом я сказал, что мне надо поесть белковой пищи, иначе мышцы расти не будут и повел к себе домой. Поев куриного мяса, пошли в спальню смотреть фильм. Но минут через 30 она сказала, что ей надо домой, т.к. она плохо себя чувствует из-за того, что еще не до конца вылечилась от простуды. Вызвал такси. Маша уехала.

    webView


    То, что в браузере всё работало было конечно круто, но этого хватало лишь на 3 минуты, ведь когда открывается браузер приложение идет в фоновый режим и через 3 минуты падает. Без webView тут никак. Довольно долго разбирался, куда и как вставить webView, чтобы оно отображалось. GUI-то нет, всё в текстовом файле надо писать, а учитывая, что с разработкой под IOS я был вообще не знаком, мне было очень тяжко

    В итоге, конечно, всё получилось и оказалось крайне просто.

    Про Машу
    Затем в течение недели она говорила, что работает и нет времени встретиться, и увидеться мы сможем только в воскресенье и не раньше, чем через 2 недели. Я сказал, чтобы тогда просто приезжала ко мне после работы, живем то рядом, а видеться раз в неделю меня не устраивает. Она ответила, что подумает.
    Через день написала, что боится ехать на ночь к малознакомому парню. Я сказал, что думал что она пропала с концами и уже чуть не начал назначать свидания другим девушкам на эти выходные. Она разозлилась, ругалась.
    На следующий день отправил шутки ради смс-ку «Весь день на свиданках, катаюсь на лодке, в мозолях руки и не только». Шутку она не поняла, разозлилась пуще прежнего, пришлось объяснить, что мол шутка это, дома я весь день был, код писал.

    - (void)viewDidLoad
    {
      // в фоновом потоке спим 3 сек, чтобы веб-сервер мог успеть запуститься, к БД подключиться и пр.
      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            [NSThread sleepForTimeInterval:3.0f];
            // Переходим к выполнению кода в главном потоке
            dispatch_async(dispatch_get_main_queue(), ^{
    	    // собвственно сам webView
    	    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    	    NSMutableURLRequest * request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://127.0.0.1:8089"]];    
    	    self.webView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    	    self.webView.scrollView.bounces = NO;
    	    self.webView.scalesPageToFit = NO;
    	    self.view = self.webView;
    	    self.webView.delegate = self;
    	    [self.webView loadRequest:request];
            });
        });
        [super viewDidLoad];
    }
    


    В интерфейс ViewController надо добавить наш webView
    @interface ViewController : UIViewController<UIWebViewDelegate,UIScrollViewDelegate,UITextFieldDelegate>
    {
        IBOutlet UIWebView *webView;
        .....
    }
    @property(nonatomic,retain)UIWebView *webView;
    

    Про Машу
    Через день сказала, что готова приехать ко мне на ночь. Видимо ревность победила страх. Я, честно говоря, сильно удивился. На всякий случай сказал, что приставить к ней не буду если она первая не начнет, просто поужинаем, поболтаем и спать ляжем.

    Уведомления


    «Раз всё так просто, то надо сделать и уведомления» — подумал я.
    Objectiv-C код пришлось внедрять в Go
    // +build darwin
    // +build arm arm64
    
    package sendnotif
    
    /*
    #cgo CFLAGS: -x objective-c
    #cgo LDFLAGS: -framework Foundation -framework GLKit -framework UIKit
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import <GLKit/GLKit.h>
    
    void
    ShowMessM(char* title, char* text) {
        UILocalNotification* localNotification = [[UILocalNotification alloc] init];
        localNotification.soundName = UILocalNotificationDefaultSoundName;
        localNotification.alertTitle = [NSString stringWithUTF8String:title];
        localNotification.alertBody = [NSString stringWithUTF8String:text];
        localNotification.timeZone = [NSTimeZone systemTimeZone];
        localNotification.applicationIconBadgeNumber = 1;
        localNotification.repeatInterval = NSCalendarUnitMinute;
        [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
        [localNotification release];
    }
    
    
    */
    import "C"
    
    func SendMobileNotification(title, text string) {
    	C.ShowMessM(C.CString(title), C.CString(text))
    }
    
    

    Про Машу
    Прислал к ней такси, встретил, поднялись ко мне, поужинали, посмотрели какой-то фильм. Время было уже позднее, надо было ложиться спать. Она сказала, что будет спать на гостевом диване, т.к. со мной в одной кровати она еще не готова. «Ну нет, так нет», постелил ей на диване. Через 5 минут заходит и говорит, что у неё «этого» еще никогда не было, но она очень хочет. Для меня это стало приятной неожиданностью. В общем, той ночью мы не спали.

    В Go коде использовать так: sendnotif.SendMobileNotification(«Заголовок», «Текст уведомления»)
    И в didFinishLaunchingWithOptions надо добавить:

    if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)])
        {
            // iOS 8 Notifications
            [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
            
            [application registerForRemoteNotifications];
        }
        else
        {
            // iOS < 8 Notifications
            [application registerForRemoteNotificationTypes:
             (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
        }
    

    Это чтобы при запуске у пользователя вылезло сообщение с запросом прав на использование уведомлений.

    Про Машу
    На 4-м свидании я предложил ей переехать ко мне. Маша согласилась. Заехал к ней в общагу и перевез вещи.

    Заключение


    На этом я заканчиваю серию статей про свой опыт перехода с PHP на Go. Надеюсь мой материал был кому-то полезен. Если будут вопросы про кроссплатформенную разработку на Go, пишите в личку, помогу.

    Про Машу и Катю
    Прошло где-то пару недель. Поздний вечер, лежим с Машей на кровати, смотрим Интернов. Звонит Катя. Пьяная. Говорит, что просит у всех прощения, и что она наглоталась снотворного и через несколько часов умрет. Я растерялся, не знал что говорить. Попытался выяснить, где она находится, чтобы прислать к ней полицию и медиков. Потом написал её лучшей подружке, чтобы она сообщала её адрес и связалась срочно с Катей, она почему-то на захотела говорить адрес. Позвонил Кате, и услышал на заднем плане чей-то пьяный голос. Всё стало ясно, это блеф, она развлекается со своей подружкой. На следующий день убедился, что с Катей всё в порядке, т.к. она была онлайн.
    Сейчас уже 6-й месяц живу с Машей. Недавно завели кота.


    P.S.
    В Dcoin сейчас можно получить бесплатные монеты (хватит на оплату инета на несколько месяцев).
    Share post

    Comments 95

      +18
      Спасибо за… Машу :)
        +5
        Топик в минусах. Подскажите, пожалуйста, что я сделал не так?
          +35
          Наверное все дело в Маше, все ждали то хеппиенда с Катей.
            +1
            Тут я бессилен. Только если вдруг с Машей расстанемся, тогда появится продолжение истории про Катю.
              +20
              Неужели, после всего, что было, возможно продолжение истории про Катю? Я думал, что всё, история с Катей закончена навсегда.
            +11
            Думаю, все эти Кати и Маши хороши в меру.
              +5
              Да, наверное, Вы правы. Просто тут просили, вот я и выложил.
              +6
              Завидуют…
                +25
                За «Дом-2» на хабре
                  0
                  Надо было код под спойлеры убирать, а лирику открытым текстом. :)
                    +2
                    Предыдущие части почитайте, в области комментариев.
                    +8
                    Да всё вы сделали так, просто… Ну, например, я пишу код на C++ и Haskell и горя с девушками не знаю.

                    Про девушек
                    Потому что и девушек не знаю, и вокруг меня их практически не было лет с 17, когда у меня был относительно социоактивный год и я хотя бы общался с кем-то, и поэтому makcums немножко прав, и я не представляю, как так можно взять и познакомиться в ВК, или вообще где-то.
                      0
                      При знакомстве через инет надо учесть много факторов. Но самое главное — писать разным девушкам, кто-то да ответит. У меня, если не ошибаюсь, был 1 ответ на 50 (может меньше, точно не помню). Если хотите, помогу, пишите в личку.
                        0
                        Тут вопрос чуть более комплексный, чем «кому писать», так что фиг с ним (но спасибо за добрый порыв!).

                        Да, тем более, мне и так норм, просто ещё вчера с вечера заметил в обсуждаемых пост про Go, сегодня с утра захожу, хочу потрол попереписываться на тему перспектив Go для программиста — а его в обсуждаемых уже нет, зато другой пост про Go есть. Думаю, дай зайду тоже, погляжу, а тут одни девушки. Вот и фрустрация.
                          +4
                          Напишите статью, а то вам сейчас личку завалят :) И что бы по-научному, с графиками, Data Mining, IPython, вот это вот все :)

                          А по теме — поздравляю автора, все хорошо, что хорошо закончилось
                            +1
                            С таким фундаментальным подходом… при таком количестве входных переменных…
                            А у вас, случайно, нет реализации поиски девушки на VK?
                            Я согласен даже на PHP и костыли.
                              0
                              Да, знакомства с вк убрали. пришлось искать альтернативы в своё время.
                          0
                          Ссылка с картинки — битая.
                            0
                            Друзья Кати постарались, не иначе
                              +1
                              Дуров Автор, верни Катю!
                                –1
                                Все так. Спасибо за цикл статей. Было интересно почитать.
                                  +2
                                  Лучше бы просто сразу завел кота, и топик не был бы в минусах. А то Кати понимаешь, Маши. А кот — это кот.
                                  +62
                                  Всё отлично, как по мне всё очень даже символично. Автор перешел с РНР на Go и с Кати на Машу. Ибо зачем себя мучать то?
                                    +3
                                    «Хорошую девочку Катей не назовут»?
                                    Спасибо за кат-комикс, было весело.
                                      +8
                                      ПроКатюМашу. Как-то все у автора не состыковывается и создается впечатление что автор все сочиняет на ходу, не могу понять что именно меня настораживает, но первые посты с этим последним как-то не в одном русле…
                                      Эта концовка как-то быстренько все завершает и обрывает историю
                                        +3
                                        Всё написанное мной — правда.
                                        Когда сильно влюблен, то ведешь себя совершенно по другому. И пересказывать истории я плохо умею, поэтому может показаться что-то в разном русле.
                                          +2
                                          И переживаю, и сочувствую автору, но в возрасте за 30 вести себя, как в 20?
                                            +3
                                            Есть люди, которым кроме кода ничего не нужно. Есть люди, которые любят алкоголь и тусовки. А есть люди, которые не могут быть одни. Я автора понимаю, ибо сам умудряюсь совмещать код с отношениями
                                              +1
                                              Вероятно, мой вопрос поняли по-другому) Я считаю, что автор делает всё правильно-в жизни должен быть и код, и алкоголь, и тусовки, и отношения(перечислено в случайном порядке). Просто меня удивили некоторые моменты поведения в отношениях. Или же, как вариант, по описанию я представил себе неверную картину.

                                              P.S. господа, а можете черкнуть пару слов о минусах? для моего понимания просто. благодарю
                                                0
                                                Видимо, действительно, кто-то что-то не понял, или не так понял. Ушла девушка -> не могу быть один -> поиск новой девушки -> я не один.
                                                Многие долгое время сидят и ждут в мечтаниях (посещая злачные сайты). А другие не ждут, и действуют сами. Пусть это выглядит жесто? ко. Но ведь и Катя не ангел
                                                  +1
                                                  Чем же жёстко? Скорее, такая готовность к действиям выглядит как повод для зависти, а не жёсткость.
                                                    0
                                                    Я неверно выразился. Хотел сказать «Путь для кого-то это выглядит жестко»
                                                  0
                                                  и алкоголь, и тусовки, и отношения

                                                  Обижаете хикк.
                                                    0
                                                    Ни в коем случае.
                                                    Я считаю это нормальным и правильным. Вы считаете нормальным и правильным противоположные вещи.
                                                    Обижать это когда Вы мне или я Вам буду говорить, что нормально и правильно. Согласны?
                                                      +1
                                                      Вы меня запутали :(

                                                      Чем «я считаю это нормальным и правильным» отличается от «это нормально и правильно»?

                                                      Я бы понял ещё, наверное, разницу этих утверждений с «это нормально и правильно для меня», но тогда есть некоторые вопросы к слову «нормально» в контексте одноточечной выборки.
                                            0
                                            Пришлось перечитать сначала предыдущую часть — уже забыл, на чем там закончилось…
                                              0
                                              Кстати. Если кто-то будет 21 апреля на выставке стартапов TechDay в Нью-Йорке велкам к нашему стенду.
                                              И еще. В Dcoin сейчас можно получить бесплатные монеты (хватит на оплату инета на несколько месяцев).
                                                +1
                                                Участие на выставке звучит как хэппи-энд основной сюжетной линии. Добавьте в основной текст
                                                  +2
                                                  А КатяМаша будет?
                                                    +1
                                                    К сожалению, не будет, визы нету. Но будет другая девушка.
                                                      +2
                                                      О, новый цикл статей?
                                                  +6
                                                  Катюня деньги вернула?
                                                  +8

                                                  Котец — всему венец.

                                                    +2
                                                    В какой-то момент подумал, что девушки в квартире видели то чего не видел сам хозяин о_О Сорри, что не про Dcoin, хотя чего это я, тут все комментаторы не про Dcoin.
                                                      0
                                                      А Маша в курсе истории про Катю и то, как на Хабре ждали финала?
                                                        0
                                                        Частично в курсе. Про истории на хабре не знает.
                                                        +1
                                                        дочитал про Катю. уже как призабыл о ней за прошедшие два месяца.
                                                        успехов в ваших проектах!
                                                          0
                                                          Спасибо!
                                                          +2
                                                          А я рад, что у вас всё получилось именно так :)
                                                          Всех благ!
                                                            0
                                                            Спасибо!
                                                            0
                                                            Спасибо за статью.

                                                            какой IDE/редактором кода пользовались?
                                                            как он подсвечивает Objective-C код в блоке /*...*/?
                                                            будете открывать код?
                                                            и как запускали Go-код на iPhone?
                                                              0
                                                              будете открывать код?

                                                              нашёл
                                                                0
                                                                Intellij idea. Код не подсвечивает, как комменты получается.
                                                                Создавал .app при помощи gomobile и кидал через itunes на девайс.
                                                                • UFO just landed and posted this here
                                                                0
                                                                Читал статью только из — за интереса продолжения истории про Катю, а не из за криптовалюты :-)
                                                                  +1
                                                                  Ура, наконец — то снова Катя, я дождался этой стори!
                                                                    0
                                                                    Интересно аудиторию к своей статье привлек за счёт личной жизни, сам дочитал с удовольствием :)
                                                                      +1
                                                                      Отличная серия статей про GO!

                                                                      Насчет Маши:
                                                                      Исходя из личного опыта и ни в коем случае не в порядке осуждения: как то не сильно стыкуются два утверждения:
                                                                      1. «Осталась на ночь после 3-го свидания»
                                                                      2. «никогда не было»
                                                                      Если не секрет, сколько лет Маше?
                                                                        0
                                                                        На тот момент было 19
                                                                          0
                                                                          Вам повезло, во времена моей молодости(середина 90х) девушку старше 16-и у которой «никогда не было» найти было практически нереально. Берегите Машу! Счастья вам обоим!
                                                                          И… ждём статьи про GO (даже если без Маши:)) и новостей про вашу криптовалюту
                                                                            0
                                                                            Эм, а в чём везение?

                                                                            Лично мне было бы стрёмновато с девушкой, у которой никогда не было. Быть первым — большая ответственность, к которой лично я не готов. Мало ли, вдруг я потом девушке на всю жизнь желание отобью?
                                                                              0
                                                                              Судя по спойлерам автору за 30 и он искал девушку для серьезных отношений. Они вместе довольно приличное время. Я считаю что ему повезло и думаю что он и сам так считает. Давайте спросим у Дмитрия?
                                                                                0
                                                                                Давайте спросим. Но мне и ваше мнение интересно услышать, раз вы думаете, что ему в данном контексте повезло.
                                                                                  0
                                                                                  По молодости я думал точно так же. Начало девяностых и «сексуальная революция» в постсоветском пространстве не оставляли шансов целомудрию. Думаю что процент девственниц к совершеннолетию был в районе статистической погрешности. Собственно проблема не в целомудрии как таковом а в восприятии отношений как к виду развлечений. Где-то к 25-и мои взгляды на этот вопрос изменились. Появилась ответственность. Одного лишь секса стало недостаточно для отношений. Перспектива Разделить судьбу с дамой, к которой нет ни капли доверия не радует. Так что по моему если девушка сохранила целомудрие до совершеннолетия, как минимум имеет голову на плечах и сможет сохранить верность.
                                                                                  Прошу прощения за оффтопик в технической теме.
                                                                                    +1
                                                                                    Да тут вся тема оффтопик :)

                                                                                    Мне известны примеры, когда девушки останавливались далеко не на первом парне (и для него, соответственно, они целомудрие не сохранили). И ничего, верно и целомудренно всё.
                                                                                    Точно также мне известны примеры, когда до того целомудренным и верным я-с-одним-первым-и-единственным-парнем-уже-5-лет-девушкам лет в 25-28 срывало башню, и они пускались во все тяжкие.
                                                                                    Точно также мне уже, к сожалению, на более личном опыте известны случаи, когда сохранённое целомудрие означает лишь отсутствие интереса к сексу, а не голову на плечах. В силу определённых причин уже мне, в свою очередь, не хватило тогда опыта, головы на плечах и чего-то ещё сделать правильные выводы.

                                                                                    В общем, вопрос сохранности целомудрия ИМХО ортогонален вопросу верности.
                                                                                      0
                                                                                      Возможно Вы правы. Но наши с вами доводы можно проверить только путем проб и ошибок.
                                                                                        +1
                                                                                        Надо придумать дизайн двойного слепого тестирования в данном случае.
                                                                                          0
                                                                                          Надеюсь «слепого» в переносном смысле :) Как говорят в Италии: «Occhio vuole la sua parte» :)
                                                                                  0
                                                                                  Если у девушки это была жизненная позиция, то я присоединяюсь по поводу «повезло»
                                                                                    0
                                                                                    Честно говоря, бывают моменты, когда скучаю по холостяцкой жизни :)
                                                                                    Но в целом доволен.
                                                                                      +1
                                                                                      Это вполне нормально. Было бы удивительно если бы не скучали :)
                                                                                  +1
                                                                                  Имхо, ценность таких девушек, особенно для длительных отношений, сильно преувеличена, ввиду неиллюзорной вероятности наличия огромных тараканов в голове.

                                                                                  Надеюсь, автору повезло и они будут жить долго и счастливо.
                                                                                    +1
                                                                                    «пара — это когда тараканы у обоих в головах аплодируют стоя»
                                                                              0
                                                                              прочитал только под спойлерами, скачал DCOIN => возник вопрос как в go с GUI и IDE
                                                                              0
                                                                              IBM выложила в opensource 44kloc blockchain на Go https://github.com/openblockchain. Ваша работа?
                                                                                0
                                                                                В прошлый раз я испытывал такое опустошение от закончившегося литературного опуса, когда первый раз дочитал до конца Властелина Колец. Спасибо, автор!
                                                                                  +3
                                                                                  Мачо-ориентированное программирование
                                                                                    0
                                                                                    Спасибо за отличные статьи. Жду новых)) Счастья с Машей и успехов в нелегком деле.
                                                                                      0
                                                                                      Спасибо!
                                                                                      0
                                                                                      Прослезился :'(
                                                                                        +2
                                                                                        Может, немного не по теме Кати, но все-таки. На веб-версии dcoina удивила одна вещь, конкретно способ авторизации: перетащить private key в окошко. Я конечно не очень силен в криптовалютах, но такой метод авторизации, когда private key должен куда-то передаваться, выглядит не очень надежным.
                                                                                          0
                                                                                          Судя по комментариям вы единственный, кто не открывал спойлеры :)
                                                                                            0
                                                                                            По другому в веб-версии не сделать. Там ключ пишется в тело html, на сервер не передается, при генерации подписи берется через js из html.
                                                                                            Безопаснее, конечно, качать кошелек на ПК/мобильный и ставить пароль на ключ.
                                                                                            Изначально веб-версия не планировалась, но пользователи стали просить, пришлось сделать.
                                                                                            –2
                                                                                            Читал только спойлеры. Интересная статья)))
                                                                                              0
                                                                                              Технари ушли в отрыв…
                                                                                              0
                                                                                              Мне вот интересно — а у Кати и/или Маши аккаунты на хабре есть?
                                                                                              А то взгяд на проблему какой-то однобокий :(
                                                                                                0
                                                                                                Насколько я помню из комментариев автора, ни та ни другая не знают об этой хабра-эпопее. Думаю, если бы аккаунты были бы, то зна ли бы.
                                                                                                  0
                                                                                                  0
                                                                                                  теперь надо заново перечитать и не обращать внимание на Катю и Машу)
                                                                                                  Я удивлён Вашему упорству в работе. Продолжайте, жду новых историй.
                                                                                                    –1
                                                                                                    Зашел в топик ради интереса: будет ли хоть один комментарий не про Катю?
                                                                                                    +1
                                                                                                    История про Катю очень, очень, очень сильно напоминает сюжет фильма «500 дней лета».
                                                                                                      –1
                                                                                                      Я искренне рад за автора, Маша куда более ламповая, чем «марашутка» Катя.

                                                                                                      Only users with full accounts can post comments. Log in, please.