
Сергей
07.12.2016
14:38:54
симпатично

Anton
07.12.2016
14:39:44
я же и говорю, что если с ноды и валить, то Swift сейчас самый перспективный

Сергей
07.12.2016
14:41:38
ну нет
если понадобится под вендой или другой осью запускать, то всё грустно

Google

Сергей
07.12.2016
14:41:58
да и package manager там хреновый
у rust получше будет

Anton
07.12.2016
14:42:10
это вопрос времени
под виндой Swift вроде запускается
https://swiftforwindows.codeplex.com/

Vladimir
07.12.2016
14:42:32
Свифт тяжел для повседневной жизни
Лучше уж рас
раст

Anton
07.12.2016
14:43:01
что значит “тяжел”?

Vladimir
07.12.2016
14:43:17
Тяжело писать, постоянно нужно думать об утечках
Особенно тому кто к js привык

Anton
07.12.2016
14:45:26

Vladimir
07.12.2016
14:45:47
Да ты пиши уж

Google

Сергей
07.12.2016
14:45:53
вот кстати да
у свифта рантайм
сборщик
у раста нет сборщика
не надо за памятью следить

Anton
07.12.2016
14:46:09

Vladimir
07.12.2016
14:46:11
У свифта нет рантайм сборщика

Anton
07.12.2016
14:46:20
я не разбирался, но это кручу GC по словам свифтеров

Сергей
07.12.2016
14:46:23
О_о
а кто за памятью следит?

Vladimir
07.12.2016
14:47:22
При компиляции генерурется код для подсчета ссылок

Anton
07.12.2016
14:47:32
http://swiftbook.ru/doc/automatic-reference-counting/how-arc-works

Vladimir
07.12.2016
14:48:14
Проблема в том, что это не обрабатывают циклические ссылки
Которые при использовании замыканий еще и не просто замечать

Dreamerinnoise
07.12.2016
14:49:46
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html
Здесь лучше написано

Anton
07.12.2016
14:51:14
на базовом уровне

Vladimir
07.12.2016
14:56:24
В общем, суть в том что это нифига не то же самое что и GC

Сергей
07.12.2016
14:56:44
окей
был неправ

Google

Vladimir
07.12.2016
14:58:15
Пример из жизни
private func animate() {
var shrink, grow: (() -> Void)!;
shrink = {() in
if (self.state == .Stopping) {
self.fireCallbacks()
return
}
// ...
CATransaction.begin()
// ...
CATransaction.setCompletionBlock(grow)
// ...
CATransaction.commit()
// ...
}
grow = {() in
// ...
CATransaction.begin()
// ...
CATransaction.setCompletionBlock(shrink)
// ...
CATransaction.commit()
// ...
}
grow()
}
Хотел сделать как в js, а получилась утечка

Юрий
07.12.2016
14:59:59

Evgeny
07.12.2016
15:00:31
если сделаешь - хочу парочку

Roman
07.12.2016
15:00:54
лол

Anton
07.12.2016
15:02:44

Vitaliy
07.12.2016
15:03:09

Vladimir
07.12.2016
15:03:22
Ну, очевидно
Но проблема еще и в том что по какой то причине этот цикл нельзя устранить в принципе
И единственное, что помогло - это переписать код без использования замыканий

Vitaliy
07.12.2016
15:04:38
Weak maps в js тоже есть, как раз для этого же

Vladimir
07.12.2016
15:04:52
Да, но weak не работает с функциями
Хотя может в 3 свифте починили

Dreamerinnoise
07.12.2016
15:05:33

Vladimir
07.12.2016
15:06:05
Не видел такого

Dreamerinnoise
07.12.2016
15:06:14
он там в самом конце
затаился, лол

Vladimir
07.12.2016
15:06:51
А ну, скорее всего не помогло бы
Можно было бы захватить self как weak, это да

Google

Vladimir
07.12.2016
15:07:24
Но проблема в циклических ссылках междй замыканиями
Хотя, наверно и их можно было бы

Семен
07.12.2016
15:50:07
Ребят, подскажите, в любых хостингах, vps, ...., сейчас нужно подтверждать личность?

Сергей
07.12.2016
15:50:55
artplanet.su — не нужно

KlonD90
07.12.2016
15:51:43
vscale.io

Anton
07.12.2016
15:51:54

Семен
07.12.2016
15:52:04
нет 18 прост

KlonD90
07.12.2016
15:52:08
но вообще лучше за биткоины бери
какой-нибудь абузоустойчивый

Pavel
07.12.2016
15:52:17
призываются дипвеб эксперты

Admin
ERROR: S client not available

KlonD90
07.12.2016
15:52:19
открой для себя тор

Pavel
07.12.2016
15:52:19
а они уже тут

Anton
07.12.2016
15:52:20
с каких это пор нельзя тачку взять до 18?
ты можешь засудить их за эйджизм

Семен
07.12.2016
15:55:32
ноду

Anton
07.12.2016
15:55:57
heroku.com
и можешь ни о чем не париться

Google

Семен
07.12.2016
15:56:32
не, полноценный доступ к серваку нужен, чтобы ci нормально прикрутить можно было

Artsploit
07.12.2016
15:57:11
на амазоне только карта требуется
если не будешь откровенно врать в личных данных и не будешь использовать TOR, паспорт у тебя не спросят

Anton
07.12.2016
15:59:39

Сергей
07.12.2016
16:00:43
типа как сервис?
sname stop
sname status
?

Семен
07.12.2016
16:01:24
Ну типо того, отправил коммит, нажал кнопочку, у тебя все задеплоилось
управлять процессами через pm2

Дмитрий
07.12.2016
16:01:40
CI

Pavel
07.12.2016
16:01:41
Linode.com, не?

Семен
07.12.2016
16:01:43
можно

Anton
07.12.2016
16:01:43
CI можно и на хероку прикрутить без проблем
просто хероку снимает с тебя кучу админского гемора

Сергей
07.12.2016
16:02:33
ci + docker

Семен
07.12.2016
16:02:36
На хероку я не смогу гибко к задачам подходить, запросы разруливать

Anton
07.12.2016
16:02:48

Дмитрий
07.12.2016
16:02:53
Почему?

Семен
07.12.2016
16:03:30
ну вот допустим,
domain.com -> front
domain.com/api - back

Anton
07.12.2016
16:03:37
без проблем
это на уровне твоего приложения рулится

Сергей
07.12.2016
16:04:17

Anton
07.12.2016
16:04:49