Задать вопрос
  • Хочу создать текстовую игру!Расскажите с чего начать?

    @bromzh
    Drugs-driven development
    Погружайся. Очень простой для изучения язык широкого профиля. №1 для изучения по недавним опросам.
    Ответ написан
    Комментировать
  • Как встретить новый год без мыслей о HTML, CSS, PHP, jQuery, etc?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Windows:
    Пуск > Завершение работы

    Linux:
    halt

    MacOS:
    Надеюсь, в Новом Году смогу себе позволить эту роскошь, и потом раскажу :)


    С наступающим!
    Ответ написан
    5 комментариев
  • Как стать linux-user?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Начать пользоваться. Когда у меня встал такой вопрос, просто поставил линь и стал пользоваться. Что не понимал, искал в сети.
    Теперь сижу а макоси.
    Ответ написан
    Комментировать
  • Python для чайников, где взять материалы?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Марк Лутц "Изучаем Python" - отличный учебник по языку
    А здесь можно посмотреть огромный список материалов (список постоянно пополняется).
    Ответ написан
    3 комментария
  • Java. Почему IllegalArgumentException не требует throws?

    @axmexa
    Потому что IllegalArgumentException extends RuntimeException.
    А, RuntimeException оно UNCHECKED. Оттого и не надо try/catch.
    А вообще, надо почитать тебе про checked/unchecked.
    Хотя бы тут.
    Ответ написан
    Комментировать
  • Java. Почему IllegalArgumentException не требует throws?

    @Power
    Читайте про то, что такое checked exceptions и unchecked exceptions.
    Ответ написан
    Комментировать
  • Какова философия python и django?

    sim3x
    @sim3x
    поискал статьи про написание чата

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

    Создать чат-приложение с 0 -- намного сложнее чем ты думаешь

    Тут я вообще запутался, а сам я почему чат не могу сделать.

    Можно создать чат на основе повторяющихся ajax запросов к серверу -- не очень елегантно, но для 20 пользователей приемлемо

    Также искал, создание блога на django, но и там применяют какие-то стандартные функции публикации django

    Изучи их

    дополнительное приложение(или модуль, плагин) - комментарии disquz

    Если у тебя мало опыта в разработке, стоит сделать упор на базовые функции фрейма, а потом переходить к плагинам

    Расскажите главные принципы django

    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

    - высокоуровневий веб-фрейм
    - быстрая разработка
    - чистота
    - ясная структура кода

    Веб-фрейм для перфекционистов с дедлайнами!

    Расскажите, состав django

    Object-relational mapper -- взаимодействие с БД
    Automatic admin interface -- базовый интерфейс администратора
    Elegant URL design -- управление улами
    Template system -- расширяемый язык темплейтов
    Cache system -- гибкое кеширование

    Расскажитекак и с чем его едят

    стоит начать отсюда
    https://docs.djangoproject.com/en/1.7/intro/tutorial01/
    Ответ написан
    Комментировать
  • Как сохранять фото на питон?

    BedwaRe
    @BedwaRe
    Пиши код
    На python 3 так можно:
    import urllib.request
    url = "https://pp.vk.me/c540104/c624218/v624218602/3321/uYVa4FQv_q0.jpg"
    img = urllib.request.urlopen(url).read()
    out = open("img.jpg", "wb")
    out.write(img)
    out.close
    Ответ написан
    1 комментарий
  • Как выбрать it направление?

    knitevision1
    @knitevision1
    Ванька Скайуокер
    Чем вам не нравится html/css/js ?
    Грамотным, хорошим ребятам с сильными знаниями этой ерунды (включая конечно же LESS/SASS/Stylus) платят до 60$/час (в редких случаях), а обычная планка для хорошего фронтендера - 40$/hour.

    Если еще напишите какой свой тулкит, фреймворк, так вообще за 100$/час будут брать...

    И вообще, учить что-то, СПЕЦИАЛЬНО для заработка денег - заведомо убогое и тупиковое занятие. Вам должно быть интересно, вам должно это нравится, вы сами должны по 15 часов в день на голом энтузиазме сидеть и копаться, а не спрашивать на тостере, что лучше учить, чтобы $$$ капали. Бизнес молодость, блять?

    А, ну если вы пользуетесь словосочетанием "делаю сайты", то с вами всё ясно, yet another Indus.
    Ответ написан
    1 комментарий
  • Как написать социальную сеть?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    fcff8e4102e3475ab440c4a290ea717e.jpg

    PS Ладно, если серьезно: вот например старая статья про VK www.insight-it.ru/masshtabiruemost/arkhitektura-vk...
    PPS Если совсем серьезно - учитесь программированию: php/ruby/python/java - к чему душа больше лежит.
    Не за будьте про SQL и noSQL базы данных. Развивайтесь!
    А для начала начните с чего нибудь попроще, каталог там, лента новостей.
    Ответ написан
    2 комментария
  • Ценится ли IT-специалист, который умеет все?

    KorsaR-ZN
    @KorsaR-ZN
    Такие any-кейщики может кому-то и нужны, но особо они не ценятся, т.к знают, там, там и там. Профессионал он и есть профессионал в какой-то определённый области, ну может ещё две-три, но не больше. Знать абсолютно все не возможно, отсюда у Вас будут обрывочные знание во всех областях, но не знания специалиста. Отсюда и будет соответствующая зарплата (не высокая)

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

    P.S Люди бывают разные, так что это только моё мнение :)
    Ответ написан
    8 комментариев
  • Что за библиотека simplegui с coursea для python, нужна ли она?

    tsarevfs
    @tsarevfs
    C++ developer
    Нет ничего плохого в том что библиотека их собственная. На практике вам придется достаточно часто осваивать новые библиотеки и это не должно быть для вас сложно. Кроме того, она основана на тех же принципах, что и "серьезные" GUI библиотеки и в дальнейшем разобраться с ними будет проще. Ну и никто не мешает вам использовать ее в своих несложных задачах.
    Ответ написан
    Комментировать
  • Как вызвать функцию Python/Django как "триггер"?

    @bromzh
    Drugs-driven development
    Б-же, что за говнок*д.
    Почитай уже pep8, не плоди этот ужас форматирования дальше. Вдруг кому-то придётся поддерживать твоё творение?
    1) Лучше 4 символа, не 8.
    2) Ладно, имена функций можно в camelCase, но только если это нужно для совместимости. Ну допустим, что нужно. Но имена переменных? В первой функции - camelCase, в других случаях с_подчёркиванием. За что?
    3) Имена глобальных переменных лучше ПИСАТЬ_ЗАГЛАВНЫМИ. А ещё лучше вообще не использовать глобальные переменные, так как в локальной области они перекроются. Используй функции, люк. Или хотя бы классы с полями.
    4) Вместо
    def getTableName(type, realty_type):
    	if (type == "Rent" and realty_type == "Apartment"):
    		tableName = "maklers_rent_apartment"
    	if (type == "Rent" and realty_type == "House"):
    		tableName = "maklers_rent_house"
            return tableName

    Надо
    def getTableName(type, realty_type):
    	if (type == "Rent" and realty_type == "Apartment"):
    		rerurn "maklers_rent_apartment"
    	if (type == "Rent" and realty_type == "House"):
    		return = "maklers_rent_house"
            return None

    В моём варианте функция вернёт значение сразу, без создания доп. переменной и без выполнения заведомо ненужных веток (когда вариант найден). Мало того, что ты не используешь elif, что при определённых обстоятельствах принесёт тебе массу проблем, которые ты не ожидаешь, так ещё если в твоём варианте не выполнится ни одно условие, то будет ждать ещё один забавный сюрприз.
    UPD. И ещё, не рекомендуется использовать названия built-in функций и пакетов для имён переменных, методов и т.д. Например, в этой функции ты не сможешь использовать встроенную type, так как внутри функции она заменяется на локальную переменную. И прочитай про области видимости, на всякий случай.
    5) Вот эта строчка очень радует:
    soid = object.getAttribute("oid")
    myid = soid

    Зачем тут вторая переменная?
    Да и сама функция вызывается в цикле(!), при этом, в ней ты каждый раз теребишь парсер
    objects = doc.getElementsByTagName("object")

    Хотя этот код никак не меняется, и получить объекты надо строго 1 раз, а не дофига.
    UPD 2. Эта функция вообще очень странная. Ты сперва отдельно получаешь список объектов и отдельно их свойства. А потом ты ищешь эти id заново (да ещё и в цикле, ещё и каждый раз заново парсишь xml). Это полнейший идиотизм. Я не видел xml, но по логике, свойства объектов должны быть внутри объекта или как-то связаны с ним через id. Возьми нормальный парсер (а ещё лучше этот) и разбирай деревом. Ну и не стоит разделять объекты от свойств, а потом заново искать id.
    6) Зачем создавать переменную,
    sid = getId(i)

    если результат ты используешь только в одном месте?
    print ("ID: " + sid.encode('utf-8'))
    7) Забудь ты эти плюсы в строках
    print ("Деталі: " + sobject_details.encode('utf-8') + " " + sinfo.encode('utf-8'))

    Есть же удобное форматирование (когда надо что-то сложное):
    print("Детали: {0} {1}".format(sobject_details.encode('utf-8'), sinfo.encode('utf-8'))
    # или
    print("Детали: {details} {info}".format(details=sobject_details.encode('utf-8'), info=sinfo.encode('utf-8'))

    И быстрый join, когда простое форматирование:
    print(" ".join(("Детали:", sobject_details.encode('utf-8'), sinfo.encode('utf-8')))

    В общем, не пиши так больше, пожалуйста.
    8)
    propertys

    propertIEs же!

    Ну а по теме всё правильно сказали, ftp надо выкинуть и обрабатывать HTTP-запросы. Но, так как это невозможно, то:
    1) Просто запусти какой-нибудь крон и отслеживай изменения в файлах. При изменении запускай скрипт.
    2) Есть программы, которые запускаются как серверы, следят за изменением файлов в папке в реалтайме и могут отправлять всякие уведомления (в том числе и по TCP/HTTP). Можно настроить всё это на отправку HTTP-запроса на джангу. Но это создаст небольшой оверхед. Если всё на одном серваке (и фтп, и джанга), то первый вариант лучше.
    Ответ написан
    8 комментариев
  • Что представляет собой тестирование ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Вообще вики можно для начала, а потом уже углубляться в литературу. Вот вам кратенькое описание, цель которого больше предоставить ключевые слова для поиска.

    Модульные, они же юнит тесты, предназначены для тестирования отдельных модулей/классов. Суть их в том, что мы тестируем поведение только одного класса за раз. Если класс ссылается на инстансы других классов - мы их мокаем. То есть подсовываем им фэйковый класс, который имеет тот же интерфейс, но внутри не реализациа методов, а проверка, вызывали ли метод, с каким аргументами, сколько раз вызывали и т.д. Так же методы мока могут возвращать стабы (заглушки), какие-то захардкоженные под какой-то кейс данные. То есть если мы пишем класс по работе с базой данных, сокет-сервер и т.д., нам стоит соединение с базой, сокеты и т.д. оборачивать в классы, что бы можно было потом подменить на моки это добро. Если у вас в юнит тестах идет реальная работа с файловой системой или что-либо в этом духе, то это уже попахивает интеграционными тестами. Подробнее можно почитать в документации к phpunit. Так же есть такая методология разработки как TDD, советую почитать "Экстримальное программирование" Кента Бэка в этом ключе.

    Сразу хочу отметить что юнит тесты это хорошо, но вот только рядовой разработчик на PHP редко пишет что-то, что стоит покрывать юнит тестами. Времени на их поддержку нужно не мало, а требования у заказчиков частенько меняются. В итоге тесты начинают комментить и толку от них становится ноль. А вот если вы пишите компонент/библиотеку, то тут юнит тесты обязательны (ну... не то что бы, но желательны). Так что я бы на вашем месте сконцентрировал внимание на первом этапе на интеграционных и приемочных тестах.

    Интеграционное тестирование - тестирование нескольких модулей в связке. То есть мы тестируем наш компонент или его самодостаточный кусок в реальных условиях. Если этот компонент для работы с файлами - разрешаем ему доступ к файлам. Если база данных - то даем реальное соединение с базой. А можем что-то и замокать. Это как говорится, зависит от задачи. Скажем обращение к сторонним апишкам стоит мокать и стабить. Главная цель этих тестов, удостовериться что модули вместе работают хорошо. Особенно важно это когда модули пишут разные люди.

    Функциональное тестирование - это тестирования всего приложения в сборе. Если это REST API, то у нас через curl дергаются реальные методы, отправляются более менее реальные запросы и валидируются ответы. Если web-страничка, то это UI тесты с силениумом/phantom.js/zombi.js или, если нам не нужно еще и js тестить, просто curl + какой виртуальный браузер на том же php. Вообще по хорошему функциональные тесты не допускают никаких моков и т.д. но опять же если очень хочется то можно (опять же обращение к сторонним сервисам, контроля за которыми у нас нету).

    Но реалии таковы, что UI тестами покрывать проект не слишком удобно. Вопервых UI может меняться, а поддерживать их так же нужно. Во вторых это скучно. В третьих тесты могут просто падать... вот взяли и упали. И потом начинается, так, тесты опять упали... что там упало? А, не страшно, можно релизить. Так же на больших проектах UI тесты отрабатывают долго, очень долго, некоторых их просто ночью гоняют. Толку от тестов при таком подходе не слишком много, ибо разработчику стоит знать о том что что-то сломалось как можно быстрее. А так он приходит, видит что тесты опять красные, чинит эти красные тесты, и запускает... ждет... проходит пол часа к примеру, и где-то в другом месте отвалилось... Короче сами понимаете.

    Приемочное тестирование - по сути те же функциональные тесты, но подаются в контексте фича-спеков. Если вы работали когда-нибудь с QA отделом, то возможно слышали про такие штуки как acceptance criteria. То есть это тот чек лист, который должен проверить тестировщик что бы удостовериться что все хорошо. На основе этого чек листа можно написать функциональные тесты. Так же есть инструменты вроде Cucumber/Behat, которые позволяют писать спецификации в виде стэпов. В этом случае спецификации для этих инструментов могут писать QA а вы просто имплементите для них степы. То есть уменьшается прослойка между "acceptance criteria" и готовыми к выполнению тестов. Более того, стэпы можно реюзать, комбинировать, масса стэпов есть готовых, вам же необходимо только предоставить стэпы подготвалливающие систему (загрузка/генерация фикстур и т.д.). Короче лепота и удобно. Но медленнее интеграционных, зато не такие жесткие как функциональные, за счет этого их проще поддерживать. QA пишут спеку, реализуем тесты под эту спеку, пишем код под тесты, тесты зеленые - функционал готов.

    Ну и есть еще всякие термины типа пирамида тестов и т.д. Мол лучше много юнит тестов, чуть поменьше интеграционных и мало функциональных. Тогда тесты выполняются быстрее, а покрывать все и вся функциональными тестами обычно перебор.

    Ну и опять же, есть такая вещь как здравый смысл. Некоторые вещи скажем можно вообще забить и не покрывать тестами, некоторые стоит покрыть. Некоторые не полностью, некоторые с как можно большим покрытием.... Скажем тестить UI (именно как выглядит, где какой элемент) вообще бессмысленно. На это нужно куча ресурсов. Хотя может и есть проекты где это оправдано.

    Короче почитайте про TDD и ATDD (можно и BDD затронуть, но тут не только от программиста зависит, менеджеры, заказчик или продукт-оунер тоже должны быть вовлечены, по сути этот подход хорошо работает в рамках продукта какого-то, на фрилансе и в аутсорсе редко можно встретить) , Continious Integration и Continious Delivery.
    Ответ написан
    Комментировать
  • Какие блоги почитать по python и django?

    @maxoot
    pythondigest — тематические ссылки по теме. Очень много интересного. Полистайте предыдущие дайжесты. Если нет проблем с английским, pythonweekly email-подписка. Еженедельно присылают массу интересных ссылок по теме.
    Ответ написан
    Комментировать
  • Какую книгу выбрать для изучения Python?

    fornit1917
    @fornit1917
    Читаю Лутца. Нравится.
    Лично меня большой размер не смущает, читается довольно легко и быстро.
    У него же есть еще книга "Программируем на Python", в двух частях даже кажется. Там уже сплошная практика.
    Ответ написан
    1 комментарий
  • Есть ли в природе обширная книга по front end разработке?

    Как тема у врачей про таблетку от всех болезней так и у начинающих фронт-эндов. Обширной одной нет, но есть много хороших книг на разную тему.
    И так список понравившихся мне книг:
    www.ozon.ru/context/detail/id/24493075 - Большая книга CSS3 на данный момент одна из лучших книг по css. Тут Вы найдёте не только применение css и объяснения как и что работает , но и кучу полезных сервисов.
    www.ozon.ru/context/detail/id/18060929 - Данную книгу лучше читать тем кто уже знаком с js и конечно хорошо знает html 4 или/и xhtml - так пишет автор и после прочтения половины книги знания js Вам понадобятся точно. Книга довольно обширная не смотря на её 500стр. - конечно есть вода, но куда без неё. Хотя для одних вода, а для других интересные и нужные факты.
    www.ozon.ru/context/detail/id/19677670 - книга с носорогом) куда без неё... Одна из лучших книг, хоть и вода есть, но она стоит своих денег. Это огромный справочник под все случаи жизни. Так же отдельно от неё продаётся маленький справочник (который находится в конце этой огромной книги). Вот в нём как раз нет воды и всё самое важное. Стоит он около 300р - 400р.
    www.ozon.ru/context/detail/id/3159814/#comments_list - эта книга одна из лучших, хотя даже лучшая... В ней вся суть программирования. Тут не рассматривают один конкретный язык. Тут о каждом по чуть-чуть и взята суть каждого.
    www.ozon.ru/context/detail/id/28298064 - книга стоит своих денег, Я бы даже сказала она очень дешевая. В ней рассматриваются пути обхода css3. То есть как сделать что-то с css3 и без него. Также говорят о фильтрах и куча всяких полезностей.

    Всё же решила вернуться к теме и отдать должное пару книгам хоть автор и не просил данный уровень, но ввиду того сколько чуловек лайкнули, отпишу...

    И так самой главной книгой в начале моего пути у меня была "Основы веб-программирования с использованием HTML... - её Я бы посоветовала новичкам которые не знают что такое css и html толком, но которые хотят научиться писать правильный семантичный и симпатичный код. В ней автор буквально толкает читателя на строгий xhtml, но тем самым приучивает быть внимательным и мне кажется как первая книга она не плоха.
    Возможно в свободное время кому-то будет интересно почитать книгу для улучшения памяти, которая как по мне очень даже приятно написана с изюменкой в виде юмора, в ней описаны метода как лугче всего запонимать любую информацию, но если говорить более точно то метод (метод мест) который повсеместно используется знаменитыми мнемонистами. Я думаю вопроса ни у кого не будет: " Зачем программисту книга с набором мнемотекник"

    Пожалуй стоит отметить и те которые покупать не стоит...
    Было дело мне хотелось почитать книгу про seo. Ну думаю раз мне нравится семантика, то Я найду её плюсы в книге по seo. Моё провальное знакомство началось (и закончилось) с книги "Раскрутка: новейшее руководство твоего продвижения сайтов в Рунете", ссылку на этот ужас приводить не буду. На ozone у неё положительные отзывы видимо только от авторов. А на обложке книги полуголая баба. Когда брала книгу то думала у автора с юмором и изложением всё норм, ну и промелькнуло мнение что по обложке не судят. Оказалось судить стоило))) кроме рекламы seoPult (писатели и есть эта контора) ничего там нет. Все 300 страниц описано одно. Вложите деньги в написание контента (можно заказать у нас) и вложите к нам в раскрутку. ВСЁ...
    Вторую книгу Я бы не то чтобы не советовала, скорее можно просто найти куда лучше, да и устарела она уже. JavaScript и jQuery, написана приятно, объясняют хорошо, но 50% технологий устарели или слабы. Тем более лучше носорог, а по JQ поискть что-то более новое
    Если Вам нужны книги по азам или более продвинутые по js то пишите в комментах
    Ответ написан
    17 комментариев
  • Как новичку перейти на Linux?

    tsarevfs
    @tsarevfs
    C++ developer
    Ставьте минт и пользуйтесь. Для повседневных задач особых знаний не требуется. Единственное, иногда встречаются модели ноутбуков не очень совместимые с linux, поэтому стоит перед покупкой почитать отзывы на эту тему.
    У меня, кажется, получалось запустить avrdude под Mint и Arch. В качестве компилятора можно использовать avr-gcc. Про другие контроллеры ничего не знаю, но все должно легко находиться в гугле.
    Ответ написан
    Комментировать