182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
|
|
1 | |
Собака в логине19.05.2013, 19:27. Показов 3119. Ответов 28
Метки нет (Все метки)
Возможно, дурной вопрос, но я что-то туплю второй день.
Есть у меня логин к FTP-серверу вида username@host. На всякий случай уточняю. Это именно логин такой. Задача - залить на этот ftp файлик. Соединение открываю через CFWriteStreamCreateWithFTPURL. Ей требуется connection string. Так вот вопрос: Как ее формировать? Строка вида CFSTR("ftp://user@mysite.ru:pass@ftp.mysite.ru"); приводит к kCFErrorDomainCFNetwork error 200. CFSTR("ftp://user%64mysite.ru:pass@ftp.mysite.ru"); - тоже. FileZilla логинится без капризов. Причем, я на 100% уверен, что с остальным у меня все нормально: если заменить логин на пользователя без собаки, все работает. Никто с подобной бедой не сталкивался?
0
|
19.05.2013, 19:27 | |
Ответы с готовыми решениями:
28
Что значат собака (@) и процент (%) в тексте кода Обновление БД при логине Использование прокси при логине |
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
|
19.05.2013, 20:01 | 2 |
@ = %40, а не %64, %64 - это "d".
Попробуйте свою изначальную строку заURLэнкодить Чтобы не вручную, как говорится Добавлено через 6 минут И так как NSString и CFStringRef кастуемы друг в друга, не заморачивайтесь, работайте с NSString, а потом просто кастуйте в (CFStringRef).
1
|
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
|
|
19.05.2013, 21:30 [ТС] | 3 |
Ой блин! Точно 40. Эк меня приглючило-то
Спасибо!
0
|
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
|
20.05.2013, 09:30 | 4 |
Пожалуйста. С утра прочитал название темы... "Собака в логине"
- вспомнилось изречение старшего товарища -
0
|
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
|
|||||||||||
20.05.2013, 11:10 | 5 | ||||||||||
0
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
20.05.2013, 11:56 | 6 |
Да перестаньте вы везде эти дефайны впихивать, есть же понятие метода, что за подход?
0
|
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
|
||||||
20.05.2013, 12:28 | 7 | |||||
а может ваще в хелпер класс?
0
|
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
|
|
20.05.2013, 13:22 [ТС] | 8 |
Из опыта поддержки. Они же нечитабельны.
Но за попытку спасибо. Хотя, zulkis уже скинул ссылку на правильное решение. "Все уже написано до нас" Добавлено через 5 минут В категории соответствующих классов. Если очередной метод делает что-то полезное со строками, пишем категорию для NSString, если как-то по-хитрому массив сортирует - в категорию NSArray его. И так далее. И найти проще и читать привычно. Причем, не только автору
0
|
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
|
|
20.05.2013, 13:56 | 9 |
как бы надо различать функции и методы как таковые
urlencode это функция, а не метод объекта функция берет в качестве параметра аргумент и возвращает значение если писать как метод то название у него сменится NSString encodeAsUrlecode: и тп и ваще CFURLCreateStringByAddingPercentEscapes() с СИ синтасисом писать не стремно, а вот если urlencode() который, аж в нескольких языках программирования является стандартной функцией уже сразу все: непонятно неочевидно и прочее
0
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
20.05.2013, 14:29 | 10 |
ну как вы не поймете, что таким никто не пользуется, это неправильно с точки зрения ООП, тяжело в поддержке, интуитивно непонятно
какой хелпер, при чем тут синглтон с утилитами (хотя вы наверняка имели ввиду статический класс, у вас же нету данных, только методы) выделите метод для этого и используйте его, если такая конструкция понадобится еще где-то, вынесите в категорию или отдельный объект Я вот вам советовал почитать по рефакторингу литературу, даже М.Фаулер "Рефакторинг - Улучшение существующего кода" такой подход называется "Выделение метода", вы выносите не совсем читабельный фрагмент кода в метод, название которого объясняет его назначение. даже если юзать статическую переменную вместо дефайна, компилятор будет использовать только одну копию переменной и всем раздавать на нее указатель, а в случае с дефайн, он везде будет вставлять отдельную копию значения, что отразится на сорсах и нагрузке компилятора (не супер критично, но почему не писать по-человечески, читабельно и интуитивно ясно для других разработчиков, чем везде писать по-своему) вы наверное не работали в команде хотя бы 5 человек с проектом на 2000 классов, где нужно за критическое время понять структуру и разобраться в коде и вы даже не представляете какое имеет значение для разработчика читабельный код а если каждый начнет писать то, что ему где-то понравилось и, что он лично считает правильным, несмотря на других, без конвенций и стандартов, то ваш проект загнется на первом же или втором спринте. не стремно, потому что все ожидают увидеть именно эту функцию для решения данной задачи, а если стремно, то вынесите в отдельный метод, как я уже говорил выше
0
|
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
|
|
20.05.2013, 14:42 | 11 |
проще говоря, стандарты "разработки в команде 5 человек с проектом на 2000 классов" сильно отличаются
от разработки практически индивидуального плана и требуют громоздкости, но соотвествия кода стандартам, чем его чистоты и лаконичности. Добавлено через 8 минут с макросом тоже самое, тогда в чем преимущества метода в 1 строку и макроса в 1 строку? причем макрос занимает всего 1 строку в хедере, когда как методу нужен класс исполнения у макроса правда не указан тип передачи, это да это минус
0
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
20.05.2013, 14:43 | 12 |
в том-то и дело, что будет он не громоздким, а читабельным, понятным, готовым к изменениям, проще говоря конфеткой будет ваш проект, а не говнищем из 90х
может вы еще для краткости переменные называете strCp, rmDir, cnct ?
0
|
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
|
|
20.05.2013, 14:45 | 13 |
приминением helper класса, макросов, сингтон с утилитами и общей гибкости архитектуры проекта? выше указанные инструменты не блокируют стандарты кода, а просто "упрощают" разработку
0
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
20.05.2013, 14:47 | 14 |
боже мой, да вы заядлый говнокодер и вам тут любой об этом скажет, несчастные те люди, которым прийдется писать с вами проекты и несчастные те заказчики, которые свяжутся с вами
преимущество метода в том, что он может легко использовать данные инстанса класса, а так же четко и понятно описывает часть его поведения ладно, вам тут все-равно бестолку что-то объяснять и пытаться направить на путь хорошего и качественного программирования говнокодьте себе на здоровье
0
|
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
|
|
20.05.2013, 14:54 [ТС] | 15 |
Предлагаю заканчивать.
alexpac26, попадете на серьезный проект, в серьезную команду, там вам все объяснят на практике отучат лениться (в наборе идентификаторов) и покажут преимущества code completion Единственная беда - переучиваться придется. Потому как, поверьте старому небритому дядьке, ни один разумный PM на своем проекте такого безобразия не потерпит. Стандарты кодирования, они как правила дорожного движения - потом и кровью писаны.
0
|
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
|
|
20.05.2013, 14:56 | 16 |
все переучиваются
проста как бы стандарты стандартами но у каждой "команды" же есть свои "фишки" свои "компоненты" "классы" и прочие инструменты, не все же с молотком и гвоздями собирается
0
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
20.05.2013, 14:59 | 17 |
да не синглтон, а статический класс, вы же методы выносите а не данные...
какой хелпер класс? вы его так и называете HelperClass? как насчет дебага, как насчет того, что макросы не могут работать в рантайме, а только на этапе компиляции боже да в интернете миллион людей говорит что не стоит использовать макросы если можно вынести код в функцию\метод хотя бы тут http://stackoverflow.com/quest... -vs-method
0
|
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
|
|
20.05.2013, 15:02 [ТС] | 18 |
Зачем дебаг? Писать надо правильно! Без ошибок! И никакой дебаг не нужен :-P
Да, на всякий случай:
0
|
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
|
|
20.05.2013, 15:04 | 19 |
#ifndef #endif
0
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
20.05.2013, 15:09 | 20 |
зачем тогда goto в С?
может вы и его юзаете раз оно там есть? для строк, значений глобальных (что тоже есть плохо в 21 веке) ладно, не буду больше спорить, удачи вам в вашей карьере с таким подходом
0
|
20.05.2013, 15:09 | |
20.05.2013, 15:09 | |
Помогаю со студенческими работами здесь
20
Сгенерировать пароль по буквам в логине Лишние пробелы в логине и пароле Моргание экрана при логине Вылеты при логине в опере Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |