Это копия, сохраненная 10 февраля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Литература:
Objective-C Programming: The Big Nerd Ranch Guide
iOS Programming: The Big Nerd Ranch Guide
iOS 7 Programming Cookbook: Vandad Nahavandipoor
Matt Galloway Effective Objective-C 2.0
http://swiftbook.ru/doc
Видеокурсы:
https://www.coursera.org/specializations/app-development
https://www.coursera.org/specializations/ios-development
Анон, делаю тестовое задание изучая с нуля весь obj c, вроде как идет навык, нужна помощь. Не могу никак нагуглить одну фичу.
Вот я взял Text View - там ввожу какой нибудь тест, выделяю его - как называется эта менюшка с выделенным текстом ? Суть в том, чтобы было нечто пикрелейтеда, я не знаю как гуглить это. Пробовал:
selected text behavior
selected text action
text view selected text behavior и прочее
Суть в том, чтобы при нажатии я хочу открывался новый view, а текст который я выделил - копировался в определенную переменную например.
Вот как я понял ПЕРЕВЕСТИ тоже самое что и вот это вот меню выбранного текста? Или же нет.
Слишком много legacy на данный момент чтобы пытаться выгрести одним Swift.
Это дурдом, нашел примерно решение на стеке, все ок - добавилось в менюшку, правда в конце, по клику делает что надо. Но епта, всякие кат, копи и т.д. остаются, а их убрать надо, гугл говорит что мол убрать их никак нельзя из едит меню и как вариант тупо перехватывать их и не показывать, ну не жопа ли?
Антош, подскажи, вот прочитал на сайте про работу с селектедом. А он мне текст не выводит, пустоту выводит.
NSRange range = [txtView selectedRange];
NSString *str = [txtView.text substringWithRange:range];
self.edit.text = str;
И тут соснул, час гугл выдает что надо прописывать инфу в appdelegate, но это не помогает. Может ошибься где?
БЛЯДЬ, Я ЭТО СДЕЛАЛ, ОХУЕТЬ! Не думал что ответ найдется на хабре
Там проблема с разрешением было. Если кто-то будет работает с api яндекса, то вот решение
NSExceptionRequiresForwardSecrecy=NO.
Охуенно, я прям рад, честно.
Суть в том, что есть два вью, в одном вью я хочу взять переменную и перекинуть ее во вторую, где с ней буду происходить все действия. SO мне подсказывает что это делать через глобальную переменную - но ебанулись? Можно ли как в других языках нормально записать это и затем геттер использовать в другом классе или типа того?
Допустим в первом окне записали NSString *huy =@"huylo";
Теперь huy хочу использовать во втором вью с сохранением что записано в хипе huy
Я еще не изучал его, это последнее что мне по сути надо, задание уже готово если использовать 1 окно, но мне надо фишку на второе перенести. Вот допустим я возвращаю стрингу(пик) мне ее надо использовать во втором классе (экране) без потери данных. Т.к. парсинг и работу с апи осилил - это последне что мне надо доделать. Мне по сути надо в методе открыть второе окно и эту строчку передавать в один метод в другом классе и все, готово! Может подскажете как легче всего это сделать, пробовла импорт первого класса делать и инициализировать все это, но мне кидало говно в виде init const compile error и прочее.
Ну мне сказали на obj c
Делаешь свойство у второго контроллера для строки, и суешь туда нужную строку.
Разницы-то блядь. Существующие проекты поддерживают на обжс, новые проекты олдфаги делают на обжс т.к. привычнее, ньюфаги - т.к. раздолья для копипаста и стаковерфлованья больше.
И да - свифт такой же уёбищно перегруженный со стороны синтаксиса язык как и обжс, по сравнению с ними даже плюсовые стл/бусты легкочитаемые библиотеки
А можно ссылку на справочник. А то немного не понял. Или какую главу в книге открыть?
Разобрался, спасибо что дал направление. Теперь вопрос, как можно связать два вью не через баттоны всякие, а переход через edit menu?
Пробовал реализовать так, но говно крашится. Или так нельзя переход делать?
Попробовал чтобы скомпилилось - черный экран, видимо потому что нет линковки между двумя вьюхами, а ебучий SO говорит почему-то на каждый вопрос СОЗДАЙТЕ БАТТОН И ЧЕРЕЗ НЕГО СВЯЖИТЕ
Но если мне блядский баттон не нужен, как быть??
>>Видеокурсы:
Еб твою мать, оно же денег стоит, защем ты рикамендуешь его сюда?
Палю годнотуНадеюсь у меня из-за вас - хуесосиков конкурентов не прибавится
https://vk.com/iosdevcourse?w=page-58860049_47749069
Еще и автор у первого курса индус какой-то, да иди ты нахуй, на отьебись чето накидал,авось окупится.Да еще и с нынешнем курсом
>оно же денег стоит, защем ты рикамендуешь его сюда?
ЕБ ТВОЮ МАТЬ ТЫ Ж ДЕГЕНЕРАТ НЕ МОЖЕШЬ ДАЖЕ ПРОЧИТАТЬ ЧТО ОТКРЫЛ!
>Палю годноту
Спорный вопрос насчет годноты. Если совсем ноль в программировании, то это конечно неплохо вариант, но если есть опыт в других языках, думаю проще и быстрее учиться по тем же туториалам Рэя.
Посоны, серьезно, помогите, перепробовал многие советы с so, либо они не помогают, либо я с ними что то не так делаю.
Вот смотри, обрабатываю текст по селектору эдитменю(1 скрин), он по идее берет текст что я выбрал и записывает в переменную которую передаст во второй контролле и затем по идее нам должен открыться второй контроллер(2й сркин), где уже обрабатывается эта переменная
В одном вью я научился это все делать и работает, а в двух я без понятия, пробовал в сториборде как-то привязывать, но сплошь хуйня.
инб4 хуевый код.
Вроде как разобрался как открыть - пик, но данные не передаются, null получаю. (text=(null)) в логах
Еще вопрос, viewdidload как я понял метод 1 раз выполнит при загрузке? верно?
> но данные не передаются
Данные не передаются потому что ты контроллер не создал. Строкой
SecondViewController svc;
ты просто объявляешь переменную для хранения контроллера, тебе нужно его еще создать, что-то типа
SecondViewController svc = [SecondViewController new];
смотря что у тебя там за класс контроллера. Ну и возможно стоит сохранить гдето, иначе как только ты его уберешь с экрана он удалится (со всеми данными, если есть) и тебе прийдется новый потом создавать.
Дальше на новом экране уже свои отдельные кнопки перевода будут, которые будут вызывать метод и туда записывать данные.
>SecondViewController svc = [SecondViewController new];
См скрин. Попробовал.
Нифига, в логи null выдает. Ну хотя бы экран научился переключать.
Странно, вроде и в проперти второго вьюконтроллера переменную верно записал и вызываю верно во втором контроллере чтобы посмотреть что выдает NULL все равно.
> тебя там за класс контроллера.
Наверно не понял, самый обычный, в сториборде второй поставил и туда формочки налепил
Попробуй убрать строку с instantiateViewControllerWithIdentifier. Она или предыдущая точно лишняя (ты создаешь два контроллера, первый сразу удаляется), но лучше убрать ее, так как для того чтобы она нужный класс возвращала нужно в сториборде настроить правильно. А предыдущая (с new) все правильно делает.
Убрать то убрал, но в логах такая же фигня
>2015-10-06 19:39:06.493 translate_app[25973:978431] (null)
Ну и понятно что после удаление понятное дело черный экран. Ибо мы ж теперь не показываем.
Кстати, нашел гайд, правда там чувак баттоном передает переменную и у него оказывается 1 в 1 как уменя передача стринга, только какого-то хера у него все ок, у меня нет.
>так как для того чтобы она нужный класс возвращала нужно в сториборде настроить правильно.
А как, не подскажешь?
В сториборде находишь свой второй контроллер и вписываешь туда нужный идентификатор (у тебя @"SecondSB"), там сбоку в окне должно быть поле для ввода. И не забуть там еще и класс правильный указать (у тебя SecondViewController). Там где Class - вписываешь SecondViewController, там где StoryboardID - SecondSB. Еще проверь что твоя строка selectedString существует, а не NULL.
А, ну с этим проблем нет, второй vc нормально открывается.
А вот переменная так нифига и не передается.
ведь в начале открывеат вьюху а потом передаем ТЕКСТ!
Блядь, пиздец я даун. В начале осздаем инстанс контроллера, затем передаем текст И ЛИШЬ ЗАТЕМ ОТКРЫВАЕШЬ ВЬЮХУ - ВСЕ РАБОТАЕТ, УРА БЛЯДЬ.
Вот только я проебал nav controller и теперь буду ебаться вручную поставить кнопку назад
А я и не говорил что я несколько личностей. За эти пару дней мне obj c очень понравился, в начале плевался, а потом няша-няшей, приятная идешка, синтаксис внятнее стал, вообщем все охуенно. Жалко со стажировкой пролетел, но теперь буду дальше учить. очень понравилось, а ты не будь букой, добра тебе
Извини, настроение было хуевое, с кем не бывает. А откуда инфа, что пролетел? Тебе прям написали чтобы ты шел нахуй?
Ну я задание 7 дней делаю, 3 из них болел и не делаю. думаю это скажут много и пошлют, другое дело что с нуля полностью делаю.
Если опыта 0, то лучше с С начать, так как учебники по ObjC могут и не покрывать сишную часть, а это как минимум половина языка. K&R но можешь http://c.learncodethehardway.org/book/ учить, там главы до 30 сначала. Потом следующие 14 желательно. Дальше по желанию.
А вот вопрос. Стоит ли записывать в тетрадь себе всё или это пустая трата времени? Просто пока мне не дадут задание - я хуй где использую только что полученные знания (а с записью в тетрадь, особенно когда я только начал, я по часу на 2 страницы трачу (ибо списать надо много, т.к узнал только что)).
Вкладку с сабжем открой. Придумай себе суперйобаалгоритм который ты реализуешь только что изученными средствами. Суть: практика > конспектов.
проиграл
несоветую начинать с obj-c, тут высокий порог вхождения, тут тебя сразу пиздят MVC observers и singlton своими отростками, выучи джавку, они по своей идее очень похожи с обджективом, вот потом и перекатишься
Блин, как устроиться стажером, если нет вакансий на hh?
Ну буду дальше сидеть и смотреть. Все таки хорошо что джаву начал учить как-то и дропнул, многое легче понять теперь.
Правда не понятно что со свифтом, надо знать или нет? Хочу к ноябрю хотя б устроиться.
Тоже бесит эта хуйня. Не понимаю. Я не говорю про пхп, но например на какой-нибудь C# или C++ всегда есть вакансии стажеров/джуниоров, причем им даже бабло платят, а на iOS блядь надо жопу порвать, чтобы попасть на НЕОПЛАЧИВАЕМУЮ, сука, стажировку.
Потому что свифт - сблёв старой шлюхи.
>>558078
Короче сидеть и не выебываться и дальше учить и что-то пилить, вывесив резюме - стажер Ios? А то единственную профукал, не осилив задание(основное сделал, дополнительное нет).
>В обджектив-си выше порог входа, поэтому джунов берут с неохотой
Вроде кажется все просто кроме указателей и дурацкой ооп там, в крестах и шарпе как-то в универе было понятно про класс и методы с импортом. А тут как-то сложнее те же данные передавать и наследовать.
>основное сделал, дополнительное нет
а в чем заключалось дополнительное? оно намного сложнее было?
да, я спрашиваю, потому что делал тоже задание и походу также обосрался.
новая литература по iOS почти вся на swift ориентирована
охуенных советов о том как тебе по фасту найти работу джуна я не дам, ибо сам незнаю и попал в свою контору случайно. обджектив-с это как будто тебе нужно написать ORM на джаваскрипте
>2015
>Не знать курсэру
Алсо, господа, я не понял. Книги в оп шапки устаревшие или нет? И обязательно читать
>Objective-C Programming: The Big Nerd Ranch Guide
перед
>iOS Programming: The Big Nerd Ranch Guide
Или необязательно?
Если у меня есть маленький опыт джавы на уровне там лаб мелких.
Может еще литературу посоветуете актуальную?
>Или необязательно?
Если знаком с С синтаксисом то не обязательно. ObjC такой язык что статьи на википедии достаточно чтобы его выучить, в общем. Остаются нюансы по ним проходишь с помощью книги.
Язык си не знаю, но синтаксис имею представление, джава ж сиобразный ж язык.
В шапке полная хуйня. Единственный легитимный туториал - это стенфордские лекции на трубе:
https://www.youtube.com/watch?v=ZqKbN_C4Yvg&list=PLnOdYr35FyvhDUAIW17vo7nGfHJAyikUp
В инете есть PDFники по этим лекциям, в которых собственно слайды лекций и домашние задания, оче рекомендую пройти
И что там грозного? Ниже требований не придумаешь для мобильного разработчика
Как ты понимаешь содержания тех курсов я даже примерно не знаю, если умеешь на джаве, и знаешь десяток паттернов, то справишься
теперь ты знаешь что тебе учить. ios полон синглтонов и паблишер-сабскрайберов например
Сука,в бигранче засталвяют какие-то древние xib учить и делать
Сториборды в ксибах хранятся. Работа ничем не отличается, кроме того что в сторибордах можно порядок смены задавать, более широкие возможности.
Тогда спасибо, просто думал книга устарела
м?
Мэтт Гэлловей
и
Мэтт Нойбург
Какую из них предпочтительнее?
НУ допустим они на аннлийском, в английском варианте какую из них, выбор то книг под ios небольшой как бы
> В обджектив-си выше порог входа
Что? У нас на ios брали просто с улицы, без знаний вообще, тк object-c/swift мало распространен.
А вот на android джуна брали только с опытом разработки на JavaSE/EE.
Заканчиваю
https://www.coursera.org/specializations/ios-development
Что-то ни о чем первый курс, теория об одном, а домашки о другом, причем показывается как их делать с нуля и в чем смысл тогда сдавать такой assigment?
Нормальная тема? obj -c обязательно все 300+? читать перед освоением второй про ios?
блядь, если бы ты хотел научиться программировать ты бы уже начал это делать загуглив, а не выспрашивал что лучше читать
Но я два простых приложения уже сделал!
Просто серьезно не понимаю где тот порог знания obj-c, чтобы перейти ко второй книге, т.к. судя по гуглу первую полностью необязательно читать, а вот сколько именно читать - не сказано.
да нет в программировании никакого порога конечного
чем больше узнаешь - тем меньше знаешь
просто пиши код и каждый раз ставь себе планку сложности повыше
а хули ты думал?
просто писать код разной степени хуёвости кто угодно может после прочтения пары книг, а стать программистом и грамотно проектировать софт можно только после долгих лет ебашилова, как грицо почувствуй разницу между этими двумя понятиями
Почему все книги и туториалы в интернете на свифте, на реддите тоже говорят учи свифт. на хедхантере ни 1 вакансии по свифту, что за херня?
на постсовке вакансии на свифт очень редкое явление, потому как новые проекты на новом языке мало кто рискнет начать и до кучи на обжективе дохера легаси кода, который кто-то должен поддерживать, поэтому обычно везде хотят обжектив-си кодера
на западе ситуация несколько другая, там свифт активно берут в новые проекты и всячески пиарят всякие туториальщики, потому как уже 8 и 9я версии iOS его поддерживают
так что если хочешь быстрее трудоустроиться тут - учи обжектив, если хочешь свои проекты делать - учи свифт, он проще и приятней
Хакинтош проще всего. Некоторые вроде как-то умудряются, но там пердолинг.
1) качаешь http://rutracker.org/forum/viewtopic.php?t=5090705
2) регистрируешь аккаунт Apple ID / Apple Developer ID
3) Из App Store выкачиваешь Xcode
4) Садишся и кодишь
Главное что бы проц был Intel, на AMD Xcode не запуститься.
Чет заебался уже, отдачи никакой, а настроение ниже.
Лучше б дальше по ютубам клепал бы приложения.
ну, книги читать просто так уныло, заведи пет проджект и пили, юзая книгу как справочник, например с сэмплами кода
двачую, в пизду просто читать книги, надо что-то пилить, книга как справочник это неплохо, особенно какие-нибудь cookbookи, кордату например не выучишь читая книгу
Какая ненужная-гадость ваша core-data, когда есть божественный чистый SQLite.
The position required full time: 30-40 hours per week.
Benefits:
- No managers or middlemen. You will work directly with founder.
- Our founder is developer so tasks will be clear and understandable. You don’t need to waste time on stupid conversations to understand what you need to do.
- You are feel free to provide and implement your ideas, everything that can make project better.
- Project is stable and long-term with continuously improvements.
Project
http://zazoapp.com
Zazo - FaceMessaging App - There is nothing like it! Zazo is available for Android and iOS. You are encouraged to download and try it before applying for this job.
Skills required for iOS developer:
- Objective-C
- AVFoundation
- Cocoa Touch
- UIKit Framework
- Viper
Contacts:
Skype: azimov.andrey
Кто вообще спонсирует такую хуйню?
me not understand, kan u speak it russian
ты же понимаешь что CoreData и SQLite это компоненты с разной ответственностью?
а где ты находишь такие вакансии? как офис заебет буду сычевать из дома
да он ниасилил, забей, за такой короткий промежуток - такой объем инфы вылить в разжеванном виде - это просто охуенно. Stanford University iOS Programming Lectures - единственный легитимный выбор для вкота
>Сравнивает Core Data и SQLite
Первый - это нативный инструмент (даже не ORM) для работы с различными базами данных в том числе и асинхронным образом и в разных потоках.
Второй - это просто популярная бд для хранения на устройстве или где не надо больших заморочек.
А мне, например, сложноватым показалось, там в прреквестах уже хорошо знать кодинг надо
Какие-то огромные пререкесты были у стенфордских курсах, мол отлично ооп должен знать и т.д. Но пофигу, стал смотреть - охуенно, вроде бы все пока понимаю. Сразу так все понятное расзжевывают и самое главное ВАЖНЫЕ вещи, правда слегка запутался с сеттерами и геттерами и синтесайзедами
но пока 10 из 10
Куда ты лезешь в ООП язык, если нихуя в нем не понимаешь? Геттеры и сеттеры для него запутанные, охуеть. Почитай что такое инкапсуляция, например.
Почитал тред насискось и охуел, один семенящий еблан и еще пара даунов.
>Геттеры и сеттеры для него запутанные, охуеть.
Они там выглядят как ебал его рука, а не как у нормальных людей типа крестов или джавы. И нотация ебанутая
>развал рынка iOS
>у эппл рекордные прибыли, больше чем доходы всей рашки в бюджет
Ну хуй знает, думаю через полгода уже всё.
Это если озвучивают факт того, что компания которая ИДЁТ НА СПАД успешнее всей якобы "сверхдержавы" то это значит НАВАЛЬНОИД и ЛИБЕРАХА? Ну блядь, извини, 2+2 = 5, запомню.
Хочу в Tab View Controller'е сделать так, чтоб при запуске приложения открывался N-й таб, вместо нулевого.
Нагуглил что нужный параметр лежит в UIKit>TabBarController.h , я так понимаю это стандартные библиотеки и редактировать мне их не надо.
Вопрос - как вообще оверрайдить функции из этих библиотек (или не функции а @property и др.)? Код этот вроде нужно писать в AppDelegate.swift.
В AppDelegade.m в applcationdidFinishLaunchingWithOptions:
[(UITabBarController звезда)self.window.rootViewController setSelectedIndex:<#(NSUInteger)#>]
Чтобы оверрайдить, просто создай свой класс, который наследует от того, что хочешь, и описывай там все эти методы, как viewDidLoad в ViewController'ах сделан.
Чго ты там хочешь в хедере изменять я даже не представляю. Советую что-нибудь почитать.
Если я правильно понимаю - файла AppDelegate.m у меня нет (я под Swift'ом)? Или этот файл находится где-то в UIKit'е?
Почитаю The Swift Programming Language (Swift 2.1) эппловский, спасибо.
Я хочу, чтоб при запуска приложения сразу открывался tab с лайками (4й слева, см. пик), вместо стандартного открывания home (1й слева).
Скорее всего я тут пытаюсь велосипед придумать - напиши проще способ, если знаешь.
По поводу того, что ты написал о коде, у меня это так выглядит:
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate{
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
return true
}
...
}
Вопрос - для того, чтобы написать что-то вроде
>[(UITabBarController звезда)self.window.rootViewController setSelectedIndex:<#(NSUInteger)#>]
Мне нужно заново писать func application(application: ..., или есть способ вставить это в уже вышеописанную func application ?
>Или этот файл находится где-то в UIKit'е?
Нет, он находится в твоём проекте/приложении.
http://stackoverflow.com/questions/652460/what-is-the-appdelegate-for-and-how-do-i-know-when-to-use-it
http://forums.macrumors.com/threads/what-on-earth-is-an-appdelegate.791592/
Файлы стандартных библиотек менять не надо, никогда. Ну, по крайней мере, если тебе вдруг не нужно что-то непонятное сотворить. Нужно добавить какое-то поведение к стандартному классу - сабклассишь и уже со своим классом работаешь.
>Мне нужно заново писать
Зачем заново-то? Берёшь и вставляешь на строчку перед return true указанный мной код:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
rootViewController.setSelectedIndex(n) // ну или как там в свифте это вызвать, не знаю.
return true
}
>напиши проще способ, если знаешь.
Куда проще-то, чем одна строчка кода, которая только и делает, что выбирает текущий активный таб.
Сколько будет стоит довольно-таки качественное приложение для iOS для организации учебного процесса на факультете, где будет расписание (есть АСУ с API, где все есть, вроде как) и еще несколько полезных фич.
Во сколько можно уложиться? Хотелось бы, конечно, бюджетненько, но функицонально.
Ого, а это прикольно) с чем связано такое падение? явно кусок ушел не свифту
Если не собираешся работу искать то скорее всего можно и на свифте проскочить. Если нужна работа, то objC - это увеличит количество вакансий. Про байты особо париться не надо, найди книжку по objC где сначала про С рассказывают, того должно быть достаточно. Максимум что используется это битовые маски для опций.
На русском не нашёл такой книги (кроме старой, примеры из которой даже в XCode не компилируются).
биг нерд ранч си читай, правда не всю книгу, а только начало там. А потом тупо хуярь по видео туториалам проги, комбинируй функции и прочее.
Ну в любом случае ООП я там прочту + на видео посмотрю.
Уже работаю, а что?
Так и не понял зачем мы мутили приложение которое тупо отсылает сообщения в твиттор по готовому фреймворку, почему не объяснили снуля как подключаться к твиттору, как передавать там сообщения по нему и прочее, а юзаем social.network и всякие SLComposeViewController
В смысле я понял зачем, я не понял почему не разжевывают или это связано с тем, чтобы мы не городили велосипеды?
А я ещё посижу.
успешные на чужом хуйе сидят же
В гугле везде уебищные решения с гитхаба, неужели у эпла нет встроенного решения?
Нету. На самом деле это плохо когда в СДК суют всякую парашу, которую можно слепить из базовых вьюх.
А ещё это приводит к тому что асе приложения становятся одинаковыми.
андроид дев
В анус себе запихай свой навигейшн дровер, почитай Apple HIG и не суй свое дерьмовое бургерменю во все до чего притрагиваешься.
Сажи тебе и тупому петуху, который выше на свифте не может одну строчку написать. Пиздуйте книги читать, а не в этот тред даунов постить.
Хочу с тобой подискутировать.
Как без бургер меню обходиться, если довольно много контента в приложении, разных категорий так сказать.
Ну вот тот же Вконтакт, например.
Таб Баром не откупишься, если там что то больше чем лента-ЛС-профиль.
Можно взять пример с мессенджера ФБ. Где сообщения-друзья-??? (не помню)- остальная хуйня. Но для того же ВК клиента этого будет мало.
> который выше на свифте не может одну строчку написать.
Почему ты такой злой и агрессивный, тянки не дают, зарплату не платят?
Во-первых, через obj c.
Во-вторых, в книжках этого нет, там есть другие типы менюшек.
В-третьих, это нихуя не одна строчка.
В-четвертых, кто тебе сказал что всюду пихается, был задан вопрос о просто реализации.
В-пятых, ты тупой и агрессивный мудак.
Меня они все пугают своей лицензией в коммерческих и прочих продуктах
Почему так резко апнулась зарплата через 3 месяца? Прошел испытательный срок или ты еще и реально чему-то научился?
первый месяц, получаю 300 долларов
Расскажи лучше, как это тебя ВНЕЗАПНО нашёл дядя, который ещё и макбук подарил?
За 6 месяцев устроился или 6 месяцев назад устроился, не понял. Какой был опыт. с чего начинал, как тебя нашли т.д.?
для каждого писать отдельный класс и все обрабатывать или все хуячить в вьюконтроллер имплементацию?
Ну если у текствью нестандартное поведение то пишешь свой класс. Если у всех трех свое собственное поведение пишешь три класса. Если под имплементацией ты понимал обработку введенного текста, то текствью отсылает введенный текст в контроллер (через ивент). Контроллер передает текст модели, а модель должна понимать что с ним делать. Любая реализация в классе текствью должна быть связана только с внешним фидом и поведением самого вью, вся обработка введенной инфы в модели.
она не резко апнулась, она стала нормальной. Время джуна, у которого руки не из жопы 1к+ и стоит.
Рукожопам можно платить и по 600-700
%или увольнять нахуй месяца после второго%
>Если у всех трех свое собственное поведение пишешь три класса
Знаю звучит бредово, но интересно все таки как правильно реализовывать.
Ну вот шаринг допустим, просто хочу разобраться про нюансы, которые не рассказывают.
Есть три текствью, каждый выглядит по своему(ну фон, форма, шрифты), есть 3 кнопки, по нажатию каждой шщарится текст из определенного окна. Т.е. такую вещь можно оставлять во вьюхе?
Опиши, каким ты видишь нерукожопого джуна.
Как с ебанами констрейнтами разобраться. Заебался уже от этого рукожопого говна, пиздец, не могли как в какой нибудь вижуал студии или идее сделать.
Я, сука, хочу чтобы все текствью были бы одинакого размера, распределил их - вьебал им всем до ближайшего соседа, а последняя вью все равно нахуй куда то уходит
фиксай констранты заебал
Парень, посмотри первые 5 лекций стенфорда по iOS7, там все это показано.
Возможно как-то построчно читать файл через буфер? Т.е., я могу прочитать какое-то количество байт, конвертнуть их в строку. Но как мне прочитать ровное количество строк? Читать по два байта, аппендя это к моей строке, пока не нарвусь на символ новой строки, а затем проверять полученное на наличие в ней искомого текста? Не будет ли это конкатенация по два байта слишком медленной?
И как вообще организуется поиск? Делить искомую строку по пробелам и регэкспами играться? Может ссылка у кого какая есть на, так сказать, общий обзор процесса поиска.
Загружаешь в NSData и просматриваешь байтовый буфер. Так как тебе важна скорость, то сначала выделять строку а потом искать в ней регэкспом скорее всего не подойдет, так как два прохода. Получаешь из NSData указатель на начало буфера, запоминаешь начало, и просматриваешь по байту пока не найдешь конец строки. Паралельно проверяешь на нужный текст - если байт оказался не концом строки проверяешь есть ли он первым байтом нужной строки, если есть то следующий символ проверяешь на конец строки, а потом на второй байт и так дальше. Если есть вхождение то ставишь флаг что нашлось и ищешь конец строки. Это не эффективный поиск подстроки в строке, но так как тебе все равно нужно найти конец строки (для чего по очереди просмотреть байты) то все ок. Когда находишь конец строки, смотришь флаг, если было вхождение то зная начало строки и конец вытаскиваешь и конвертишь в NSString и отправляешь куда надо. Начало строки передвигаешь на новую позицию.
Если ли годная литература по CoreFoundation
Интересуют CFDictionary, CFArray, CFData и т.д.
Для реверс инжиниринга, почти все фреймворки из PrivateFrameworks используют CoreFoundation
Мини стори:
Ребят, хочу заделаться в программисты. 18 лет, тупой как пень. Логика на нуле, математика на полу-нуле, из познаний программирования первые 40 страниц книги по Си от Аарона Хиллегасса. Готов ради этого ебашить как проклятый. Какие трудности встретил за 3 дня изучения: не могу найти годную лит-ру для самостоятельного изучения математики. Либо книги для 7-ми клашек, либо темы уровня 904719823749812734, до которых мне всю жизнь расти. Нашёл годный способ учить английский (английский я тоже благополучно проебал). пните меня в павельную сторону, а то у меня чувство будто я творю опять чушь.
Из инвентаря: Macbook Pro 2012 года. В общем как правильно влиться в iOS? Obj-C или Swift? Ну и другие платиновые вопросы.
Найти компанию, где ищут как раз таких студентов, способных въебывать 8-10 часов в день буквально за еду читай: ради опыта
>тупой как пень.
Может тогда найти другое занятие? Накачать банки и пойти вышибалой в клуб, например.
Не он, но спасибо.
Кто нибудь простую программу для ньюфага посоветует чтобы в резюме было что показать на гитхабе?
Получение данных из интернета, маппинг, сохранение в CoreData.
хочешь - могу дать одну из своих
>Получение данных из интернета
Я делал похожее, получал json гуглением бесконечным, правда не понял конкретно как это работает, но выводил в лейбл просто.
Давай, че. Попробую сделать, интересно. Правда coredata не затрагивал, т.к. читал что этим мало кто пользуется сейчас.
Я имел ввиду из готовых уже дам. Делал для само-практики. Они не эталонные - сразу скажу. Но лучше чем ничего, и точно прокатывают для похода на собеседования.
Напиши фейкопочту - скину ссылку.
По CoreData: да, не пользуются, но все спрашивают и знать надо. Чисто для собеседования.
Так мне надо с чего-то начать. Плюс я живу в такой стране, где без образования берут только на работу по типу официантов и т.п (узнавал лично, ходил и звонил в разные конторы по разработке сайтов и приложений).
Указал, давай. Спасибо.
Это значит загрузить в память, чтобы иметь доступ через ссылку NSBundle *myBundle
Скинь и мне. Хочу посмотреть, как у нормального приложения структура выглядит и вообще на код.
lbaston<@UneANUSgmGOSailPUNCTUMH,ecom
У верстальщиков понятное дело, из пдфки тупо хуярят там через скетчи и прочее, а тут как? Есть макеты интерфейса и прочее - сам вручную что ли элементы расставляешь и красишь?
Дизайнеры дают нарезку, общий вид и общий вид с разметкой размеров, шрифта, цветов.
Настраиваешь на сториборде, что не настраивается там - задаешь в коде. Потом проверяешь попиксельно, накладывая, например, полупрозрачный скрин твоего приложения из эмулятора на дизайнерский шаблон.
Как все сложно то.
Нашел только такую репку: https://github.com/acerbetti/ACEDrawingView
но тут только 1 текстура.
Может кто знает нормальную либу или хотя бы что курить по этой теме.
И еще может есть в телеграмме конфа или еще где, потому что вопросы у человека спросить негде.
Я тоже хочу в айос конфу
Как?
закиньте в шапку
Какие все ж простенькие задания поделать, чтобы показать работодателю, что хочу быть стажером\джуном. А то все что сейчас есть это когда по нажатию кнопки выводит последние топ 10 фильмов imdb.
Получение данных из интернета, маппинг, сохранение в CoreData, использование CoreLocation, CoreAnimation, CoreGraphics.
Всё кроме CoreData можно наклепать за выходной день. С CoreData чтобы разобраться ещё два дня.
УУ, чую пизда. Нормально что я обмазываюсь туториалами когда хочу что-то склепать и комбинирую?
Что ты пиздишь? Там ни у кого опыта нет больше месяца.
Кто такая? Чем знаменита?
В любой местной кодерской "конфочке" есть своя Леночка, которая продаст тебя в бодишоп, если будешь хорошим мальчиком.
Я в конфе новичок, но за сегодня ни одного вопроса по разработке не было. Околоайоса только.
А если тупые вопросы будут и я один буду спрашивать, а остальные как сычи молчать?
Да у меня то нет вопросов. Я имел в виду, что в чате не обсуждали разработку, потому что никто и не спрашивал.
Краем уха услышал на работе, что настоящие гуру мобильной разработки шарят и в одной, и в другой платформе. И ещё в Windows Phone/Mobile до кучи.
Бред это или реальность?
Клепать то можно. Но качество будет не то, просто потому что для познания тонкостей нужно время. Для одной платформы реально, на три уж точно не сможешь быть мастером, да и зачем? Работодателям это не нужно.
вот нахуя нахуя делать включ6ение фреймворка в проект в 5!!! местах НАХУЯ????
почему нельзя добавить в одном месте
ну что блядь за говно то
ебанный эппл со своей анальной политикой, девелоперский центр так вообще что то невообразимое, чтобы сделать простейшую операцию, вроде выпуска версии, нужно полдня в истерике и с матами копаться в их наиуебищном интерфейсе
сука ну нахуя это все
я уже молчу что их портал сделан на устаревшем не взлетевшем дерьме мамонта WebObjects
и это блядь самая дорогая корпорация, сука да пусть на фрилансе найму пару пхп макак, хуже чем есть точно не сделают
ненавижу блядь
когда девелоперы привыкают к страданиям, они начинают писать код лучше а гуй гуевее
да вот нихуя, они от этого становятся д6ерганными пидорами, которые на собеседованиях спрашивают про хуйню которая в работе не используется совершенно
>>591154
особенно охуенно когда нужна половина фреймворков из cocoa pods, половина из carthage
а вообще тебе надо написать фреймворк самому, вот тогда прогрессивное человечество идет нахуй и ты ебешься вручную с пидорскими настройками проектов до нервного тика
и сука блядь где блядь нормальный гайд по ReactiveCocoa на Swift , все что есть написаны какими то косноязычными пидорасми
и еще ты пишешь на swift 2.1 и периодически падает либо сам xcode либо сраный clang в сраный segmentation fault
10 трупов стива джобса из 10, боже 10 из 10
язык сам по себе будет работать где угодно, но язык без яблочных библиотек не нужен. Яблочные библиотеки это мак ос, так что или мак или хакинтош
Получается, не нужен. Посоны, закрываем тред, что ли, раз такое дело.
> ReactiveCocoa на Swift
RxSwift же
ты на плюсах тоже изобретаешь вектора и прочее прочее?
> оп поста хуйня лит-ра
Лучше нету. Вообще если есть какой-то опыт и знаешь С то достаточно статьи в википедии + гайд как сделать примитивное приложение (to-do лист например), потом начинаешь что-то свое писать почитывая документацию.
Спасибо за ответ, анон. Я просто привык ебашить по книгам, поэтому и спросил. Еще два вопроса для дауна, все что ты написал я понял, но еще:
1)Мэтт Нойбург - Программирование для iOS 7? Хуйня не?
2)Стенфордские курсы норм?
Понимаю, что начав ебашить хоть как-то, можно подниматься.
Курсы норм. Мэтт Нойбург - незнаю, но там самый начальный уровень (начиная с основ С), если будешь смотреть курсы то такие книги не нужны. После курсов (или какой-то начальной книги типа Нойбурга или Objective-C Programming: The Big Nerd Ranch Guide) переходи на iOS Programming: The Big Nerd Ranch Guide.
Я с абсолютным нулем вкатился, по ходу дела обучили. Поищи, вдруг какие-нибудь компании набирают студентов.
Я не хочу в компанию. У меня есть своя идея, свои наброски дизайна, больше таких приложений нет (в инете искал, в аппсторе).
Точно хороший путь? Я ведь не всю жизнь буду своим приложением. Я просто с него стартовать хочу попутно занеся его в портфолио и монетезируя рекламой (если всё сложится более-менее). На фрилансе со свифтом сейчас как? Я вообще полу пхпшник, но тут засвербило в жопе создать иОС приложение (хотя пхп я знаю на уровне синтаксиса, нет опыта создания веб приложений).
Да без базара, братан, через месяц уже за щеку будешь местным кукаретикам давать.
Ни дня без троллинга? /pr - филиал /b?
Писать код по наитию.
А что там осиливать? Сегодня в метро ехал и читал и осознал что литература на рашкинском не нужна
А за сажу надеюсь ты и твоя мать сдохнете
Работу найти не могут - книги пишут от безысходности.
Я слишком туп, чтобы понять абстрактные объяснения, мне надо разжевать и показать примеры прямо в коде в "онлайн" режиме.
Я мудак, да? Хуже червя пидора? Или это нормально если не знаю и сразу лезу?
Смотреть что там дурачки понаписывали. То что код работает правильно еще не значит что он норм. Довольно часто можно встретить дублирование функционала фрейморка. Конкретно в случае objC можно встретить вещи которые были правильные 5 лет назад, а сейчас так никто не пишет, и т.д.
>iOS 7 Programming Cookbook: Vandad Nahavandipoor
>Vandad Nahavandipoor
>Vandad Nahavandipoor
И сразу нахуй и впизду.
ну это понятно, например был деприкейтид метод, я его в нормальный перевел и типа того.
Короче спасибо, я думал я как червь пидор буду.
в обджектив си - все является объектом, так что да, одно и тоже
Одно и тоже. "Объект" может использоватся когда разговор идет об экземлярах класса вобщем, а "инстанс" когда разговор о конкретном экземпляре в конкретной точке кода. Но разницы между ними нет.
Ничего не смотреть, читать оф-доки.
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html
Там примеров и создания приложений нет, читать тупо маны - скучно и не результативно
Ну так нагугли гайды по iOS разработке. Книга даже была какая-то, но я её проебал.
Ставить под сомнение каждую строчку, каждый оператор.
ПРоверять любое утверждение, не верить реализации без ее проверки тестами на 100%
>очему в москве нет вакансий свифта
Работаю на клятых мосвкичей, строчим иностранцам проект на swift все норм, брат цел, зависимость проявлется.
С тем что в глаза долбишься и в твоем посте по obj
Лол, попробую, но пока я открыл вк апи и охуел как там все сложно, какие то регистрации приложений. куча всего, ух блядь, пиздецу.
Ок если я начну гуглить чужие работы и смотреть как там реализованО?
регистрация во всех апи одинаковая обычно, просто получаешь ключ, записываешь его в plist/appDelegate и работаешь
Если начнешь гуглить чужие работы - откроешь ачивку реюз чужого кода, хорошая ачивка
Ну я разобрался как посылать сообщение в фб и твиттор используя встроенный фреймворк. а тут чет все сложно. А, еще научился логинится в интсграмм используя scheme и колбек, правда я не понял как это происходит и что такое колбек.
Разберись со всем с чем не разобрался.
>и что такое колбек.
Жил-был СТРАУСТРУП. Шел обычный, скучный день. СТРАУСТРУП занимался рутинными вещами, такими как... http://goo.gl/VCz1fA
сукааа, так протоколы это банальные интерфейсы из яп ЗДОРОВОГО ЧЕЛОВЕКА, вот же ебанашки, не могут нормально назвать вещи
Приехали. Интерфейс здорового человека это все методы (в том числе свойства) класса. А не избраные методы избраных недоклассов.
браденбург здорового шарписта пожаловал?
интерфейс это не тип данных. возьмем к примеру Runnable из стандартной библиотеки жавы
>Runnable
Ты не можешь создать массив для хранения ссылок на объекты типа Runnable? Ты не можешь написать функцию которая как аргумент принимает только объекты типа Runnable?
У нас есть треды.
в джаве как у нас, библиотека джавы оче похожа на яблочную. Но треды мы не используем почти, есть gcd
ебать ты дурак
Полтора года владею макбуком, как купил, даже изучал обджектив-си и что-то в симуляторе айфона простенькое пилил — насколько сейчас актуально это всё вспоминать?
У самого трёхлетний опыт разработки под андроид.
>Это только за iOS платят, потому что не хватает специалистов. На Андроиде денег нет.
Прямиком из андроид треда в /pr/
подтягивай андроид, на нем больше кадровый голод
Круто
В шараге задали реферат, я взял тему внезапно iOS. Вроде более-менее накатал, но нужно правильно завершить. Я думаю надо написать про перспективы для разработчика и т.д. Напишите чего-нибудь, плз. А то не хочется слушать пиздежь ноунеймов с гугла.
Рейт, кстати http://rghost.ru/7QRZRCjcB
Предлагаю его ещё и выебать.
Вот про него двачую. Тонны просто блядь говна ненужного.
Да даже не обязательно загуглить, ладно были б просто вопросы по ios как другие задают, но очередная охуительная ОЙ КАК СЛОЖНО И ЧТО УЧИТЬ
Ладно бы он спросил что учить, ему ответили. Выучил, пришел за новым квестом, а когда дорастет, спрашивал бы уже адекватные вопросы иногда. Так бы поступил нормальный человек. А что происходит на деле, вы видите сами.
Незашт)
Ну вон другие ребята спрашивают и мозги не ебут, а этот какой-то инфантил ебанный.
К хуям, просто к собачим хуям блядь. Тупой, блядь, мудак.
Иди нахуй, даун. Твои тупые истории и не менее тупые шутки никому не интересны. Разве что особо успешным участникам конфы, которым либо не интересна ios, либо уже заебала и они "вытираны" этой технологии, вот им и нечего обсуждать.
Тряпка, соберись.
Я не ветеран, но иногда поугарать с дауна забавно.
Решайте че делать с Денисом lol
Ничего, анальная моджерация не нужна, другое дело просто сказать чтобы меньше пиздел не по делу. На крайняк можно лично заблокировать.
На крайняк можно лично пиздюлей дать.
Всем понятно, что от меня был лишь троллинг/попытки пошутить/примитивный юмор.
Всем понятно, что без этого бы конфа была бы как последние 2-3 дня, когда все отдыхают или работают и затишье.
Но вы чего-то горите сильно, будто бы я в ирл вживую сижу и в уши вам всякую чушь несу. Будьте проще что ли в этом плане в этой ситуации.
Не обсирался ниразу, извините.
Купи мак, ёпта. Даже андроид— разработчики работают в Студии на Маке.
А серьёзно — походу, таких нет
Такой вопрос -- отказался от вакансии на 110к/мес. удаленка.
Теперь думаю, а найду ли не хуже?
Мне кажется я самостоятельно ничего не могу осилить, только делать по туториалам и из видео приложения, а как сам хотел попробовать чет сделать - сразу обосрался. Такие дела, прям тоска
Ретиновая прошка, если ты собрался в экран пялиться часто. Вот лично мне на айпиэс проще смотреть, чем на тн подолгу.
мимо два года с эйром
Если зрение не оч – то лучше без ретины вроде, говорят. Хотя лично я разницы ваще не вижу, по крайней мере на больших аймаках
Я за свои ощущения пояснил - после айпиэса глаза не раздражены почему-то.
хотя все равно работаю на макбуке, потому что закоммитить и пересесть за тормознутый ноут с виндой, к которому подключен внешний монитор, мне влом
Конечно.
Ну а без шуток, как самостоятельность выработать. а не постоянно искать и идти гуглить?
http://tema.livejournal.com/2124261.html
Так забирай. В моемкруге вакансий полно.
Интересный, почитал.
Есть нормальная конфа без мудака этого? Заебал.
В любой конфе есть "этот мудак". Енджой йор социоблядство.
Есть.
нет
Ты стажёр что ли?
Хули совесть тебя мучает, ёпта? Норм пацаны вообще не работают и купаются в деньгах.
Это кто такой ваще.
На свифте? Зайди в твиттер, посмотри гитхаб. Увидишь, кто все эти люди, что пишут на свифте, заодно познакомишься с самим коммьюнити разработчиков. Все ваши любимые фреймворки постепенно прекращают или уже прекратили поддержку objc и продолжают развиваться в свифте (afnetworking, rac и тд). Да что уж там, сами Apple переписывают Foundation на свифт. После выхода в опен сорс и начала поддержки линуксов заинтересованных в свифте станет еще больше, в то время как ситуация с objc меняться не будет. Во многих компаниях, если там работают не слишком узколобые мудаки, новые проекты изначально начинают разрабатывать на свифте.
Небольшая ремарка. На собеседованиях сейчас действительно в первую очередь интересуются знаниями objc и это нормально. Как я уже сказал, начинать изучать стоит сразу оба языка. Просто так закрывать глаза на один из них, а тем более на свифт, все же не стоит.
Спасибо)
>А потом такие уверенные долбоебы как ты приходят на собеседования и не могут объяснить, что такое autorelease pool.
ПОдотрись, маня, авторелиз пулы это хуета, а не возможности языка, отставшего в развитии от других ООП лет на 20
Обёртку над каким-нибудь сайтом с картинками с таблевбю и коллекшенвью, которая подгружает картинки в бэкграунд потоке.
>>602477
А зачем вы в какой-то говноконфе сидите где мочераторы позволяют рачью процветать?
Норм русская конфа:
http://cocoadevelopers.club/
Норм английская конфа:
http://www.chitchats.co/site/contents/content/42299/18-12-2014/ios-developers
Норм фрилансерская конфа:
http://www.chitchats.co/site/contents/content/208218/22-12-2015/upwork-freelance-developers-russian-language
> мочераторы позволяют
В 2016 модерируемые конфы, мда блять. Соси хуй, быдлятина. Топ 1 конфа ин зе ворлд.
Щито блять? Мне хватило пары дней, такого дна я давно не наблюдал, пиздец.
Анон выше прав на 100%.
решил ради интереса взять подписку и задрочить в свист
В нормальных конфах так и делают, друг другу помогают с проблемами, ищут работу.
Слаковые коммьюнити вообще очень дружные - куда приветливее любого IRC-чата. Но человеку использующему "порватка" и "даун" пока не понять ггг.
Это свойство данного объекта, которое создаётся при помощи интерфейс билдера
IBOutlet — это атрибут свойства (property), указывающий компилятору, что данный член должен быть виден в Interface Builder.
IBAction работает аналогичным образом как атрибут метода.
умный чтоли дохуя?
swift
Смотря куда собираешься трудоустраиваться и какие там проекты.
Апворк и toptal.com (здесь сложнее, нужен хоть какой-то опыт и разговорный английский). Вкатиться реально, но на апворке гораздо больше котируется гибридная параша, а не нативное по. React.native, ionic, phongegop, все это дерьмо.
Постарайтесь не потерять в очередной раз. Её всё труднее найти.
http://ipfs.io/ipfs/QmXqbCwwirwrirYvBLJYFZvb7rpLnsK9dKWDEFK6kji3ko
>на апворке гораздо больше котируется гибридная параша, а не нативное по. React.native, ionic, phongegop, все это дерьмо.
Пруфы может будут?
Даже в фиде работ нейтива полно, а уж в приватные и вовсе приглашают нормальных фрилансеров.
>>619111
Апворк не единственный вариант, а самый лёгкий. Топтал - анальное рабство. Ещё возможно устраиваться remote напрямую. Зависит от твоих скиллов и разговорного английского.
По ссылке выше в конфе фриланса целый гайд про апворк если что.
В тред призываются ананасы, разрабы под iOS работающие в РФ удаленно на США/ЕС.
Пилите стори.
Но ведь это старая версия. Они обновили её для Swift 2.0 недавно, там должно быть оче много изменений
Нормальные iOSники на long-term на апворке получают $33-45/h, что почти соответствует з/п миддла в США и выше средней зарплаты программиста в богатых странах ЕС.
Чтобы выйти на безапворковую работу - тупо ищи remote jobs, делов-то.
Это, извини меня, при 160-часовом месяце, 235 тысяч рублей по текущему курсу. В месяц. За формошлепство под телефоны в среднем темпе. Можешь ипотеку в пределах ТТК взять, можешь все страны объездить, можешь любые дорогие хобби получить вроде пилотирования вертолета. Все можешь. Еще выебывается он, сукина дочь.
Бро, а чтобы дойти до апворков и прочих, сколько перед этим в офисе надо поработать и опыта набраться?
>тупо ищи remote jobs, делов-то.
Вот я кстати нашел, в принципе наверно подхожу, но я в России, а компании в США. Таких, как я наверно не берут туда.
Но думаю попробовать, уже лучше получить отказ, чем себя мучать потом осознанием собственной безынициативности
Понятия не имею. Нужно уметь писать аппы довольно быстро, иметь какое-то портфолио подтверждающее навык, для более серьёзных работ - быть готовым к сложным собеседованиям.
Сделаешь ты это в офисе или дома, за месяц или за год - вопрос личный.
>>620739
На фрилансе 160 часов ты охуеешь по трекеру работать. Это не восьмичасовое пинание хуёв в офисе, а реально код. Рассчитывай на 120-140 часов в месяц.
Под телефоны далеко не формошлёпство бывает - это не десктоп, пользователь садящей батарее не порадуется. Но в целом конечно интерфейсы расставлять.
И советую не ориентрироваться на рубли иначе тебе будет казаться что 235 это типа дохуя уже. В США iOS получают $40-50 в час, а за разовые фрилансы (типа неделю баги фиксить) - $100-150/h. Т.к. непостоянная работа всегда в разы дороже. Надо в такое ориентироваться и трактор в нормальную страну, а не мечтать о 235к в мухосранях.
А, ну и английский хотя бы частично разговорный. Всё просто: не будешь fluent - не будешь получать зарплату уровня нейтивов.
>Понятия не имею.
Вся суть. Диванный школьник сидит и рассуждает о том, насколько это хуево - получать $20 в час.
Как избавиться от этой анальной верификации (не платя 99 баксов за участие в программе разработки, которая мне не нужна)?
То есть после каждой сборки, если у меня отключен интернет, мне его нужно включать и на этом экране жать Verify App.
Но у меня еще вопрос. Что именно происходит, когда я тут жму Verify App? В смысле, как именно приложение "верифицируется"? Что он отправляет на сервер, мой сертификат или все приложение? Я что-то пока не смог найти документацию, которая описывает именно этот шаг.
Ох, ну опять набежали хуиные ванги.
Я вкатывался с огромным портфолио уже. Откуда мне знать необходимы минимум, м?
Алсо рейт уже выше $20/h и следующую работу буду искать на $35 минимум.
Я точно не знаю, но скорее всего отсылается инфа об твоем телефоне нужная для генерации подписи действующей только для твоего телефона. Смысл в том чтобы максимально усложнить установку программы на множество телефонов. Тоесть для установки твоей программы всего лишь на сотню телефонов уже прийдется серьезно заебаться. Выход - только джейлбрейк
С хаконтоша можно. Купишь мак с доходов, если захочешь.
>Если и покупать, то что лучше? iMac Mini или iMac air?
ВОпросы у тебя пиздец. Если нужен ноут, то 13 ретину, если комп то моноблок.
Продай ипфоне, на вырученные деньги купи бу макбук и ipod touch
NSTask c /usr/bin/open хуй чего теперь запускает. Только в консоль выводит lsopen() denied
>Можно отключить
Это ничего не дает, нужно еще писать кастомный seatbelt файл с разрешениями для /usr/bin/open и потом грузить все это через sandbox-exec.
Есть нормальная телеграм конференция без даунов срущих?
Исследуй сам.
нарисуй path через CAShapeLayer
> телеграм конференция
> без даунов
Как ты себе это представляешь?
Иди в Slack и общайся с норм людьми:
http://cocoadevelopers.club/
Нужно просто привыкнуть код читать, чтобы не ограничивать себя инфой только по свифту. Если знаешь С и в общем освоился то попробуй просто статью на вики прочесть, потом пробуй часть проекта на obj-c сделать, если зайдет то можно на этом останавливаться. Более важно знание стандартных фрейморков/библиотек - а они одинаковые. Если планируешь дальше исключительно на свифте работать то тебе просто нужно не обсираться от ужаса при виде obj-c кода, знать там нечего.
Создаешь нужное афинное преобразование потом отсылаешь его к bezierPath в сообщении - (void)applyTransform:(CGAffineTransform)transform. В своем методе ты какой-то хуитой занимаешься. Тебе не нужно создавать миллиард разных промежуточных объектов. Желательно почитать и понять теорию аффинных преобразований, но в общем важно понять что есть "матрица аффинного преобразования" которая задает любое линейное перобразование объекта. Тебе не нужно делать то что ты там делаешь. Это все можно сделать одной матрицей. Сначала создаешь начальную матрицу вызываешь, для этого есть методы с Make в названии, что-то типа matrix = CGAffineTransformMakeTranslation(-center.x, -center.y) - ты создаешь матрицу для переноса начала координат в центр (переносить в центр нужно потому-что скейл происходит только относительно центра координат). Потом ты отправляешь эту матрицу в метод скейла, что-то типа matrix = CGAffineTransformScale(matrix, scale, scale) - в результате у тебя получается аффинная матрица которая одновременно и переносит и изменяет размер. Потом тебе нужно вернуть свою букву назад, ты отправляешь аффинную матрицу в метод транслейта, что-то типа matrix = CGAffineTransformTranslate(matrix, center.x, center.y) - в результате у тебя получается матрица которая переносит изображение, скейлит его, а потом переносит обратно. Если бы тебе нужно было постоянно сдвигать на одно и тоже растояние и скейлить на одну и туже пропорцию, ты мог бы сохранить эту матрицу и потом ее постоянно сразу использовать. Таким образом в одну матрицу можно слить сотни примитивных преобразований, получить одно сложное, а потом ты ее просто применяешь, что-то типа [bezierPath applyTransform:matrix] и все. У объектов которые поддерживают трансформации есть проперти transform - там пишешь foo.trasform = matrix.
Учи матрицы, они простые. В кварце так:
Xx, Xy, 0
Yx, Yy, 0
Tx, Ty, 1
[Xx, Xy] и [Yx, Yy] - базис (оси координат), [Tx, Ty] - смещение. Умножая изменяя длину X и Y ты задаешь масштаб вдоль соответствующей оси, поворачивая оси - задаешь ориентацию. Если оси не перпендикулярны, получается скошенная трансформация (skew).
Мы категорически против:
ненормативной лексики
оскорбительных высказываний по отношению к участникам и администрации сообщества
Говное ебаное. мать ебал
Дело говорит.
[code]-(IBAction)addItem
{
NSInteger newRowIndex = [_items count];
ChecklistItem item = [[ChecklistItem alloc]init];
item.text=@"I am a new row";
item.checked = NO;
[_items addObject:item];
NSIndexPath index = [NSIndexPath indexPathForRow:newRowIndex inSection:0];
NSArray *indexPaths = @[indexPaths];
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic];
}[/code]
Как я понял у нас есть кнопка. Вот newRowIndex почему присваиваем количество объектов? вот у нас есть 4 объекта уже в массиве, почему мы присваиваем 4 к нему, а не кол-во +1
Далее понятно,инициализация. Потом у нас есть массив item который я не указал выше _items=[[NSMutableArray alloc]initWithCapacity:20];
т.е. мы создали массив ОБЪЕКТА у которого два параметра текст и логическое состояние, правильно понял? затем в массив _items добавляю этот объект item?
А вот дальше уже непонятно что за индекпаф, что за массив
Нажали кнопочку.
newRowIndex = числу объектов
создали айтэм, вбили в него инфу, добавили его в общий массив (это датасорс для таблицы)
создали индекс для нового элемента (было 4 , стало 5, значит был элемент с индексом 3, а этот будет 4 (так как добавляли его как count))
засунули в массик
добавили новый элемент в таблицу
>вот у нас есть 4 объекта уже в массиве, почему мы присваиваем 4 к нему, а не кол-во +1
потому что были индексы [0][1][2][3] и следующий жлемент имеет индекс равный количеству элементов, а когда
[_items addObject:item];
все станет верно -- 5 жлементов, последний с индексом 4, его то и добавят в таблицу
NSIndexPath index = [NSIndexPath indexPathForRow:newRowIndex inSection:0];
...
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic];
> почему мы присваиваем 4 к нему
Индексы начинаются с нуля. Если в массиве 4 элемента то последний элемент имеет индекс 3, а новый будет под индексом 4.
>ассив ОБЪЕКТА
Непонятно что ты имеешь ввиду. Создается объект класса ChecklistItem, и он кладется в массив _items, где и хранится. Если его никуда не приткнуть то после завершения функции он в любой момент будет уничтожен.
NSIndexPath - это специальный объект который представляет индекс. Тоесть вместо того чтобы указать что в таблицу нужно добавить 4 строку ты создаешь объект который соответсвует четвертой строке и передаешь этот объект. insertRowsAtIndexPaths принимает не просто номер индекса в виде числа, а номер индекса в виде объекта NSIndexPath. При этом сделана возможность одним вызовом добавить кучу строк, поэтому метод принимает не один индекс, а сразу массив индексов. Этот массив и передается, в данном случае так как добавляется одна строка в массиве только 1 элемент. Предпоследнюю строку можно пидорнуть и последнюю записать как [self.tableView insertRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationAutomatic];
>The Big Nerd Ranch Guide
Лол, ну и название, плотные очки выдают сходу видать, и тёлки сутся толпами. И шарфы же, да.
мим_)0
Есть UITableView. Табличка иными словами.
У нее есть проперти delegate, реализующий протокол UITableViewDelegate. В самом протоколе, например есть функция
-(void)onCellClicked:(int)index;
Условно этот метод вызывается, когда юзер кликнул по ячейке в этой таблице.
Сама таблица не знает, что надо делать, когда пользователь нажал на ячейку, она лишь может отследить нажатие:
И вот ты в контроллере или где то еще создаешь таблицу и делаешь типа
tableView.delegate = self;
То есть ты говоришь, что ты в контроллере реализуешь сам методы делегата (а таблица их вызовет когда надо).
И когда юзер нажмет на ячейку, таблица перехватит вызов, и сделает примерно следующее
if (self.delegate && [self.delegate conformsToProtocol:@protocol(UITableViewDelegate)]) {
//проверяет, есть ли делегат и реализует ли он протокол + надо еще проверить релизует ли он текущий метод
[self.delegate onCellClicked:index];
}
В итоге у тебя в контроллере вызовется функция
-(void)onCellClicked:(int)index {
[self playWithDilduck];
}
В итоге таблица делает только то что должна -- отслеживает клики, а саму логику после нажатия должен будет реализовать уже контроллер.
Надеюсь понятно объяснил.
Бля, чет сложно, посмотрел скутаренко сегодня, он вообще нахуй огромную конструкция пишет, неужели ирл тоже так делегаты и куча к нему воды надо прописывать? https://www.youtube.com/watch?v=6BUvL_cZJXE
т.е. по сути делегат это самостоятельное выполнение методов каих либо, а не дефолтных у родительского класса? а чем это от оverloading'a тогда?
Для перегрузки тебе нужно отнаследоваться. Тоесть твой контроллер нужно отнаследовать от таблицы, а это тупо. А так ты просто назначаешь делегата и все.
> нахуй огромную конструкция и куча к нему воды
На какой минуте? Я пролистал нихуя нет похожего.
>нужно отнаследовать от таблицы, а это тупо.
Ну а тут делегат в обе стороны прописываем, чем не тупо?
Делегат объявляется только в таблице.
Она же вызывает у него метод.
Сам делегат (в данном случае контроллер)
Только реализует протокол.
Ну и в моем примере еще и назначает себя делегатом в таблице, что в общем случае необязательно.
>Делегат объявляется только в таблице.
Почему ты про таблицы именно пишешь?
Алсо вот столько всего понаписывать надо и я еще не понял нафига в докторе даем именно сылку на объект в методе, он сам ничо не вытаскивает?
Ну, почему когда рабюотаю с тейблвью я не прописываю всякие санные делегейты и прочее, а всего лишь наследуюсь от уитейблвьюконтроллер
Ну теперь прямо в лицо надо сказать, что ты тупой и тебе нельзя в программирование? Ну ок: ты тупой и тебе нельзя в программирование.
Так лучше, раз ты намеков не усваиваешь?
Что тут не так, мразина тупоголовая, блядь. Почему для тех классов я должен прописывать делегаты через <TVOYAMAT'TUPAYASHLYUHA>
А когда работаю с тейблвью я нихуя не должен где-то ковыряться и прописывать делегаты и оно само дается. Тоже самое при работе с текстфилдом. Хуесос тупорылый блядь. выбесил. сам пади какой нибудь джун обоссаный за 300 долларов работает и выебывается
> я нихуя не должен где-то ковыряться
Потому что тейблвью добрый дяденька за тебя написал и там все само делается. А если ты пишешь свой класс то тебе и пердолиться самому нужно.
Вот это и бесит? Смысл? Если надо все равно импортировать все и переписывать, ну да, один класс не знает толком об объектах другого класса пока тот не кукарекнет, но все равно блядь выбешивает этот паттерн, надеюсь ирл не так часто применяется.
> выбешивает этот паттерн, надеюсь ирл не так часто применяется
Лол, как же я проиграл.
https://developer.apple.com/search/?q=delegate&platform=iOS
Nahoooi idi. Я не для того учил ObjC и купил мак чтобы писать на java. Я уже с ней 6 лет наебался, пока работал.
Алсо, мне не под ios а для os x, в чем разницы не много, но я не уверен, что этот твой робовм такое может.
Он часто используется. Но ебанутая штука согласен.
Алсо, ребятки, вот читаю вторую книгу ios apprentice и че-то голова кругом ходит при создании на тудулиста, я на 97 странице, но чем дальше, тем меньше понимаю что происходит, что делать?
Я вот сейчас думаю забить хуй на книжку и попробовать свое приложение делать с костылями, гугление, ютубом, стековерфлоу, буду даже код пиздить - но свое приложение, что думаете об этом?
Написать приложение - идея неплохая, но чревата своими косяками. Образно говоря, приложение (функционал) ты может и напишешь, но по дороге получишь кучу утечек, костылей, и ебанутых методов реализации. Впрочем, как я уже сказал - путь не плох.
>Я не для того учил Obj
бррр, ты бы хоть для приличия сказал про Swift, а то в 2016 на ObjC это зашквар
>купил мак
Это хорошо тк RoboVM Studio сейчас работает только на маке
>писать на java
Ты можешь писать на Kotlin :) https://kotlinlang.org
>мне не под ios а для os x
На RoboVM можно писать консольные программы для OS X.
А вообще под OS X можно на любом языке писать, хоть на Haskell или C#.
Свифт НИ-НУ-ЖЕН. Я программист, я так вижу. Я если серьезно, то он мне просто не очень нравится. Сделали конструктор уровня визуалБэсик блять. Вот когда все системы и приложения эппл перепишет на свфит, тогда еще посмотрим.
> Ты можешь писать на Kotlin
Ой, выучу-ка я java. Ой, 6 лет проработал, не нравится, не хочу в бэкэнд. Ой, пойду ка я в ObjC, там все качественно и проработано для приложенек. Ой, не хочу, хочу котлин.
Это из меня не погромист получается а мамкин хакир - 100 языков и везде профессионал.
> А вообще под OS X можно на любом языке писать, хоть на Haskell или C#.
Не привлекает ни то ни это. Мелкософт не люблю принципиально, а хаскел слишком мутный какой - то.
Ты, лучше чем убеждать, что С нинужин, скажи, что это за ужас с либами.
Зависимость iOS разработки от XCode даже выше, чем windows-разработки от Visual Studio. Постоянно какая-то непонятная хуйня, которая решается по типу "почистите проект и перезапустите XCode".
>Свифт НИ-НУ-ЖЕН
Почему нынешняя молодлеж такие ретрограды?...
Им предлагают современный ЯП (который спер все концепции из groovy, scala и тд), нет они хотят язык 1983
>Мелкософт не люблю принципиально, а хаскел слишком мутный какой
Это была шутка, я имел ввиду что для декстопа ты можешь юзать любой ЯП
>Это из меня не погромист получается а мамкин хакир
Swift или Kotlin (они кстати очень сильно похожи) учатся за пару дней,
все системное API (Cocoa, CocoaTouch) все равно остается одно и тоже.
>>630494
Переходим на RoboVM Studio и разрабатываем на Kotlin
Ну просто меня доебало как там все делают, сначала делаем так, а потом опа а делаем так.
Например мне не ясно нахуя ДВА навигейшн контроллера надо было делать, вместо одного. и прочее, я чето вообще перестал соображать
Мне твоя агитация почему - то напоминает Киселева, вот серьезно. Ты говоришь так, как будто RoboVM это панацея от всех проблем, в том числе от отсутствия мозгов.
Понимаешь, в чем проблема свифта (лично для меня), так это отсутствие вменяемых обучающих курсов в интернете. С и его производные тем и хороши, что заезжены до дыр и помощь можно найти где угодно, в случае чего.
Впрочем, свифт можно комбинировать с ObjC, так что не все потеряно.
Почитал про котлин, и пришел в ужас честно говоря.
> работающий поверх JVM... ...компилируется также в JavaScript...
Это кто ж создал такого мутанта? Мало того, что java сама работает на виртуальной машине (и показывает соответствующие результаты) так еще и какой-то умник перенял эту светлую традицию. Я могу понять, когда это делает сам Oracle, они этим владеют и им хорошо, но вот другим людям создавать такого франкенштейна...
>Сделали конструктор уровня визуалБэсик блять
Пиздец блядь, у тебя сколько дней опыта, разработчик?
>так это отсутствие вменяемых обучающих курсов в интернете
Ты чо обьебался, сейчас для обж си труднее найти крусы и инфу, нежели под свифт, я вот ньюфаг мучаюсь, начинаю гуглить тему и сразу ЕБУЧИЙ свифт выдает, а под обж хуй найдешь.
Ну вот вчера начал, но у меня у сестры дядин друг знаком с матерью зятя отца одного реально крутого программиста, он щас в Калифорнии в эппл работает, так я сам слышал как он говорил, что свифт язык плохой, там все из коробки!
Так что я очень даже не плохой программист, ну начинающий, ну это же не повод обзывать! :((
>>630517
Зайка, ну я читал эти книги, да. Обе. В них рассказывается про методы, подходы к написанию. В них нет объяснений смысла. Это как если бы учитель на занятии математики объяснял не функции в общем виде, а приводил каждую и говорил - вот это функция, она такая-то.
>>630519
Ну хз, я нашел 10/10 видеокурс по objC и мне норм.
http://www.youtube.com/playlist?list=PL6724Ll8v6UhKUFEsQ9ol_gOI-ohCxgJp
Лол у того же скутаренко по свифту курс есть и он моднее и лучше даж https://vk.com/videos-58860049?section=all
вот тут его группа
>В них нет объяснений смысла
какой тебе смысл нужен, даун? Ты ключевые слова понять не можешь или массив от списка отличить не в состоянии?
Ну конечно выучить два ЯП для анона это непосильная задача (на одном работать на дяду, на втором для души)
Еще раз системное API почти одно и тоже.
>>630512
>отсутствие вменяемых обучающих курсов в интернете
Просто эпик-фейспалм, аноны разучилась читать книги?
Вам нужно что бы вам все разжевывали как "особенным детям".
Мне вот как-то одной книги на английском хватило.
>Мало того, что java сама работает на виртуальной машине так еще и какой-то умник перенял эту светлую традицию
Во первых не как-то умник, а JetBrains https://ru.wikipedia.org/wiki/JetBrains
И Kotlin кстати разработан Российским отделением, вот главный разработчик
https://www.youtube.com/watch?v=wjkaPXT_vY4
Во вторых в байт код компилируются не только Java и Kotlin, но еще:
Clojure, Groovy, Scala, JRuby, Jython, Rhino
https://ru.wikipedia.org/wiki/Список_языков_JVM
>Российским отделением
Ой, сразу забирай это говно отсюда. Тебе за форс этого говна еще и платят наверно.
Покажи на примере, какая тебе нужна имплементация?
Или ты имеешь в виду, что тебе там не рассказали как объекты в массиве в памяти выстроены и где его внутренняя инфа хранится? Тебя это волнует?
Ты можешь юзать все системные фрейморки и другие XCode проекты на ObjC и Swift.
У меня есть кросплатформенный (android/ios) проект на Kotlin. В нем кусок кода,
который отрисовывает ГИГАНСИКИЕ картинки (через Tile) сделан в отдельном XCode проекте.
Сук, нихуя ты не понял. Вот тебе мой личный пример. Я знаю в objC что такое многопоточность, мне его кто - то гипотетически объяснил. Я сейчас бросаю С и иду учить свифт. Открываю книгу: о, массивы. Знаю что это. Какой тут у них синтаксис? Ясно. Иду дальше. Ой, блоки какие-то. А что это? А нахуй они? А все потому, что я их не проходил ранее. Я не знаю что такое блоки. Вот что я имел ввиду под смыслом.
>Я знаю в objC что такое многопоточность, мне его кто - то гипотетически объяснил.
И как же ты знаешь про dispatch, но не умеешь юзать блоки?
Пиздец, ну так бы и сказал, что ты в целом не программист, раз таких вещей не знаешь.
Да, согласен, эти учебники расчитаны на более-менее подготовленного человека.
Мои извинения.
>Ой, блоки какие-то. А что это? А нахуй они? А все потому, что я их не проходил ранее
Открой главу про блоки и прочитай (это разве не очевидно)
Это хорошо.
А чем RoboVM лучше react-native? Там тоже можно делать кроспплатформенные проекты и использовать системный SDK.
Это уже вкусовщина, если тебе больше нравиться:
JavaScript -> твой выбор ReactNative
C# -> Xamarin
Java/Kotlin -> RoboVM
Когда я начинал RN еще не было, а потом он вышел только под iOS (сейчас вроде и под Androd есть)
А их и нет, между прочим. Как нет и многопоточности, почему-то. Странная книга вообще говоря.
>>630555
Программист, программист начинающий, и программист со стажем - несколько разные понятия. Каждый из них прогроммист, и в теории каждый может написать приложение с небходимым функционалом. Только новичек напишет говнокод без стиля, обычный программист напишет просто читаемый код (в лучшем случае) и будет использовать некоторые хитрости, а человек со стажем напишет хитровыебанный код через делегаты, те же блоки и что-нибудь еще (тут уже не хватает знания и фантазии, дополните сами)
С рефакторингом беда, согласен.
Но тут главная фишка не в JS, а в самом React. Если напишут что-то подобное на другом языке, то я с удовольствием перекачусь. если работу соотвествующую найду
Блок - это функция (код), который используется как объект первого класса. как правило и как правило используется как анонимная функция
Спасибо, я как пример их привел. Хотя честно говоря, смысла в них пока не вижу. В моем видении эта та же самая функция. Блок содержит код, он вызывается. Все. Различий - 0.
>Странная книга вообще говоря.
Вот тебе 17 страниц книг по Swift - выбирай любую
http://www.amazon.com/s/ref=sr_nr_n_1?fst=as%3Aoff&rh=n%3A11006483011%2Ck%3Aswift&keywords=swift&ie=UTF8&qid=1453320621&rnid=2941120011
Вот на русском
http://www.ozon.ru/?context=search&text=swift&store=1,0&group=div_book
>смысла в них пока не вижу.
Сделай универсальную функицю сортировки. Вспомнишь, зачем нужны блоки.
я тоже так думал пока был нубасом, читни Геловея сила обж-с
>тут главная фишка не в JS, а в самом React
Можешь эту фишку повторить, я как-то пропустил ее
> универсальную функцию сортировки
Передать объекты для сортировки в функцию - создать из них массив - сортировать - вывести из массива.
Видимо я чего-то не понимаю.
Универсальную, чтобы я, как пользователь мог твою функцию использовать как для чисел, так для строк, так и для любого производного типа и класса.
Естественно, правило сортировки задаст сам пользователь.
>И тока 3 книги по свифту в начале
А их всего 3 на русском
http://www.ozon.ru/?context=search&group=div_book&text=swift&catalog=1137926&store=1,0
> правило сортировки задаст сам пользователь
Вот это я точно не представляю как сделать. Разве что задать несколько готовых критерий и для каждой создать функцию сортировки. Таким образом пользователь сможет выбирать. Наверное.
ВОт для этого и нужны блоки.
ПОльзователь передаст коллекцию и блок, который будет устанавливать правило сортировки.
А как именно пойдет обход по коллекции его будет мало волновать
> Коллекцию
Массив?
А блок "который будет устанавливать правило сортировки" он откуда возьмет? Или это все же предустановка? Если да, то я кажется начинаю понимать.
что то вроде
sort(myArray, { $0.value > $1.value })
в данном контексте
myArray -- коллекция
{ $0.value > $1.value } - блок с правилом сортировки
Да, я так и думал. Значит понял все же верно. Но как то уж очень специфическое использование, на мой взгляд. К тому же - вот передали мы некий блок с установками сортировки. А применять их как? Просто вставляем этот блок в функцию? И в зависимости от блока сортировка идет разными путями?
> не под ios а для os x, в чем разницы не много
Лучше указывать. Вещи доступные на os X на iOS могут быть доступны только с джейлбрейком. Тебе https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/ssh.1.html не подойдет?
>Но как то уж очень специфическое использование, на мой взгляд
Встречается повсеместно, так что лучше быть готовым к встрече с этим зверем.
> А применять их как? Просто вставляем этот блок в функцию? И в зависимости от блока сортировка идет разными путями?
Часто зависит от коллекции: функция по идее может сама выбрать наиболее эффективный способ сортировки. Ну и применять такую функцию согласись лучше, чем каждый раз писать ебическую поебень с двумя for'ами и прочими счетчиками в цикле?
Skype: roba_rus
Это копия, сохраненная 10 февраля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.