Задать вопрос
  • Что можно делать с помощью терминала linux`a (или OS X)?

    DevMan
    @DevMan
    Да практически всё (к чему не требуется исключительно гуй): работа с текстом и изображениями, работа с сетью и ее настройка, и т.д. и т.п.

    имхо, проще сказать что нельзя сделать с помощью терминала.
    Ответ написан
    Комментировать
  • Какие методы противодействия Ddos атакам существуют, что вообще есть по теме полезного?

    kumaxim
    @kumaxim
    Web-программист
    Значит так, господин философ, примитивная защита реализуется на уровне сервера примерно так:
    1)Ставим nginx как бэк-энд apache. Первый у нас будет отдавать юзерам статику, второй - обрабатывать динамику
    2)Под атакой для всех юзеров, которые нас посещают, пытаемся установить javascript'ом свой cookie. Если получается - перед нами человек, нет - бот, который идет в топку
    3)Далее фильтр по белому списку стран. Если у тебя 90% посетителей из РФ - руби остальные страны нафиг.

    Это не сильно затратные меры, по цене протиподействия где-то около 100 баксов опытному админу за настройку.

    Отдельно могу посоветовать посмотреть свой код, может быть где-то можно усилить кэширование, где-то оптимизировать вычисления(для самописных сайтов).

    Далее, если ДДоС предыдущими средствами зарезать не удалось, подключай CDN. Из популярных нынче могу рекомендовать CloudFlare. Есть бесплатный тариф. Если мало - смотри в сторону Amazon S3. Из российских есть от reg.ru Jelastic. Можешь тоже посмотреть, но вопрос про ДДоС советую в тех.поддержку задать отдельно.

    Если ты нарвался на атаку, от которой тебя не спасает даже CDN, значит ты сотрудник правительства РФ, а таких на тостере, лично я, не консультирую.
    Ответ написан
    1 комментарий
  • Ruby или Python или может Java?

    valerium
    @valerium
    Изобретая велосипед
    В качестве imho могу посоветовать Python. Перешёл на него тоже с PHP, буквально за неделю уже уверенно пишу хитрые скрипты. Стандартная библиотека мощна, есть куча библиотек для самых разных задач, в том числе для написания гуёв, наверняка и для Unity есть. Плюс меня приятно удивили возможности «голого» языка. Списки, словари, множества и срезы решают огромное количество задач.

    Но это всё предвзято, я просто до сих пор под впечатлением от мощи пайтона :-)

    P. S. Правда, меня очень огорчила невозможность присваивания в сравнении. То есть if (result = some_function()) !== False не сработает :-(
    Ответ написан
    4 комментария
  • Как изменить размер экрана в ubuntu?

    @Bromez
    VirtualBox Guest Additions занимается этими вещами. Если не помогает попробуйте установить более старую версию Бубунты. Или обновить сам VirtualBox.
    Ответ написан
    Комментировать
  • Недостатки Ruby on Rails?

    @iliyaisd
    Я РНР-разработчик, не так давно решил разобраться с рельсами. Сейчас я назову несколько абсурдных вещей, которые в общем-то являются достоинствами, но есть некоторые проблемы...

    Для клиента:
    1. Нету вордпресса. Да! Как только вордпресс перепишут на руби, его сразу начнут использовать все, кому не лень:)
    2. А можно мне сайт на джумле? Просто у нас контент-менеджер уже привыкла к её админке.
    3. А почему хостинг стоит 200 рублей? У меня сосед по офису вон за 40 купил.
    4. "Нет уж, лучше я найму этого пацана за 3 доллара в час, который мне всё сделает, чем вон того говнюка за тридцатку, который говорит про какой-то руби, что это вообще такое? Мне просто нужен сайт на вордпрессе."

    Для программиста:
    1. А где фигурные скобочки?
    2. Магия. Очень много магии. Оно всё делает "само", вплоть до квази-версионирования базы данных по датам. К этому надо привыкнуть, что не все готовы делать.
    3. У меня заняло два дня, чтобы смочь подключиться к mysql. Возможно, я не самый опытный программист, но обилие вопросов на stackoverflow и не только наводит на мысль, что половина желающих отсеялась на этом этапе и пошла ставить вордпресс.

    Нувыпонели. Недостаточно популярная (чтобы с энтузиазмом приниматься заказчиками) технология с непривычным для многих подходом и вообще синтаксисом языка (чтобы с энтузиазмом приниматься программистами). И ещё на ней нет вордпресса.

    А, кстати.
    Почему еще НЕ ВСЕ сайты делают на Rails?

    Просто на них вордпресса нет.

    P.S. ненавижу вордпресс, если что.
    Ответ написан
    3 комментария
  • Как наиболее правильно подойти к обучению программированию с нуля?

    Если ваша цель сменить работу и ресурсы ограничены, то может быть имеет смысл сосредоточится на более простых путях?

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

    А так для старта я бы посоветовал смотреть в сторону фронт-энда. Учить HTML, CSS и JS для начала потом можно уже выбрать серверный язык. Можно постепенно углубляться во фреймворки, автоматизацию фронт-энда, адаптивность и пр.
    Работу найти намного проще. Обучение более наглядное и быстрое.
    Материалов на русском просто завались.
    Это все подходит, если цель именно сменить род профессиональной деятельности как можно быстрее. В любом случае придется заниматься учебой регулярно (как мне кажется не менее получаса-часа в день), но отдача от фронт-энда быстрее.
    Ответ написан
    Комментировать
  • Есть ли гарантии что Django не умрет?

    kivsiak
    @kivsiak
    software engineer
    Нет. Равно как и нет гарантий что завтра в мир не ударится комета, доллар будет мировой валютой, зарплаты в ит будут раздуты.

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

    По делу django - сейчас находится на пике жизненного цикла и вполне достоин внимания.
    Ответ написан
    Комментировать
  • Выбор дороги в веб-разработке. Что можете посоветовать?

    @rsi
    software engineer
    Да боже мой, ваши муки выбора характерны для любой профессии. Серебряной пули нет, никто не спрогнозирует как выбор между пхп и питон изменит вашу жизнь. Нет такого, что выбрав пхп вы станете аутистом, а выбрав питон вы станете успешным. Программирование это не язык, язык всего лишь инструмент его можно менять.

    • Начните работать
    • Начните читать книги, статьи, следить за жизнью сообщеста
    • Делайте то что нравиться/приносит прибыль
    • Совершенствуйтесь
    • Работайте
    • Не бойтесь
    • Не ленитесь
    • Не задавайте глупых вопросов не проведя на тему самостоятельных изысканий

    Следуйте этим 8 пунктами и вы сможете купить виллу на карибах даже если выберете паскаль.
    Ответ написан
    Комментировать
  • Кто знает хороший мануал по Ubuntu?

    Kademn
    @Kademn
    Злой
    Advanced Programming in the UNIX Environment
    Это - классика, которую чтит весь мир. Лучше вы не найдете, а, следовательно, лаконичнее тоже.
    Это самое достойное второе издание классики.
    Деннис Ритчи (Dennis Ritchie) Мюррей Хилл, Нью Джерси, март 2005
    Ответ написан
    1 комментарий
  • Недостатки Ruby on Rails?

    @mzabil
    У меня возник закономерный вопрос, есть ли какие-то критические недостатки, которые эту технологию делают не такой популярной как php c его множеством фреймворков и CMS.


    Популярность PHP, на мой взгляд, имеет следующую природу:
    1. На заре интернета большинство людей были неподготовленными, они не имели навыков программирования, системного администрирования, верстки и т.д.. Большинство сайтов в то время были обычными статическими html или текстовыми страничками. То есть для того, чтобы сделать сайт надо было нанять программиста(верстальщика) и/или системного администратора, чтобы разместить, добавить или изменить информацию опять же нужен был обученный человек.
    Интернет рос и развивался и вот, в какой-то момент, возможности статических страничек стало не хватать и их начали генерировать динамически. Но, опять же, простому пользователю который хотел домашнюю страничку, блог или простенький интернет магазин такие "развлечения" были недоступны в силу недешевой рабочей силы.
    И тут на сцену выходит PHP (а особенно 4 ветка, дальше все в контексте 4 ветки и выше) с его потрясающей легкостью деплоя. RoR тогда еще не было, да и сам Ruby за пределами Японии не имел широкой известности. Ну так вот, с выходом PHP4, практически любой пользователь мог самостоятельно развернуть приложение на нем, просто скопировав папку по фтп, да и организовать хостинг под PHP было намного легче чем, например, под Java. Спрос рождает предложение. Начали появляться различные, как платные, так и бесплатные CMS на PHP, дешевые хостинги. Пользователь, который хотел дополнительный функционал для своего сайта, мог не нанимать программиста, а просто купить или найти бесплатный модуль под свою CMS. Это породило большое количество PHP программистов которые писали модули под популярные CMS-ки. В дальнейшем приложения стали более сложными и решали нестандартные задачи, а PHP программистов было довольно много и порог вхождения в язык был невелик, так начали появляться PHP фреймворки.
    2. PHP при каждом запросе "рождается" и "умирает" в следствии чего неподготовленному пользователю, опять таки, легче устанавливать модули, темы, плагины и т.д. для своих CMS-ок. В RoR (unicorn) при установке gem-а придется перестартовать сервис, зачем такой геморой пользователю? Да и чтобы его(gem) установить, надо обладать некоторыми навыками программирования, а непросто щелкнуть мышкой в админке.

    А вот в сложных и не стандартных проектах, с длительным сроком поддержки, все уже не так очевидно... Наверное паритет... Тут их хватает и на PHP, и на Ruby, и на Python, и на JVM...
    Ответ написан
    2 комментария
  • Как распределить время при обучении программированию?

    @danSamara
    Мой ответ будет несколько груб и не типичен, однако: "Станьте говнокодером!"
    Я не шучу - берите реальные задачи и решайте их как можете - по наитию, по кривым советам из гугла и stackoverflow, но главное - делайте законченные решения, получайте результат который работает.
    Любую задачу сначала решайте сами - нужно сделать сортировку - пишите алгоритм и радуйтесь, что он работает. А уже потом - читайте как надо сделать, и только после этого (если почувствуете потребность!) - читайте теорию.
    Все книги что вы написали безусловно волшебны и необходимы для отличного программиста, однако без практики они - пыль, которая развеется спустя неделю после прочтения. Поверьте мне, я их все читал :)
    Кстати Кнута я бы вычеркнул без раздумий - для его чтения и понимания нужен очень хороший мат-базис и опыт в программировании. Если случиться, что вы будете писать оптимизированные библиотеки для обработки данных на С - тогда и начинайте его читать, очень пригодится, отвечаю )
    Пример обучения:
    1. Ставим задачу. Пример - написать приложение, которое выводит топ-10 вопросов на Тостере.
    2. Разбиваем задачу на проблемы которые надо решить. Пример - развернуть рабочее окружение, понять как сделать "Hi world", как работать с сетью, как парсить HTML
    3. Решаем проблемы. В лоб. Задание - на скорость, всё должно быть решено в кратчайшие скроки. Для каждой проблемы используем любое решение которое попалось под руку. Буквально - первое, это важно! То есть реально ковнокодим, забивая на всё - на красоту кода, на оформление, на скорость, лишь бы работало! Девиз этого этапа - херак, херак и в продакшен! Результат этапа - рабочее приложение.
    4. Делаем поверхностный анализ. Задача решена? Есть ли косяки которые уже не нравятся? Как их можно решить, исходя из минимального опыта? Локализуем проблемные участки исходя из собственных взглядов. Результат этапа - опыт самостоятельного анализа кода.
    5. Делаем глубокий анализ. Пытаемся для каждой задачи подобрать лучшее решение из тех что есть. Читаем теорию о том, как надо делать на самом деле. Изучаем и внедряем паттерны, пытаемся сделать код, который можно переносить в другой проект. Важно не менять условия задачи, вроде "а можно же ещё вывести ответы на вопросы". Не можно, задача должна оставаться прежней. Результат этапа - хороший код и выявленные пробелы в знаниях.
    6. Отдыхаем, читая теорию в рамках решённых задача и около них. Результат - теория, подкреплённая практикой.
    7. GOTO 1.
    Ответ написан
    2 комментария
  • Лучшие бесплатные ресурсы по каждой технологии (или стартаперы - дарю идею)?

    RGA24
    @RGA24
    Стартапер, программист, аналитик
    Попробуйте learnxinyminutes.com
    Ответ написан
    Комментировать
  • План обучения Python и дальнейшие перспективы. Кто подскажет?

    @AlphaRiddick
    Как лучше заниматься практикой? Где поискать задания?

    Не видел, чтобы кто-то упоминал про такие ресурсы:
    www.codewars.com/dashboard
    www.checkio.org
    Ответ написан
    Комментировать
  • План обучения Python и дальнейшие перспективы. Кто подскажет?

    slusarvitaliy
    @slusarvitaliy
    Системный администратор
    на работе запускаешь virtualbox c linux на борту(только не убунту, поставь лубунту, там ничего лишнего). Теперь у тебя готовая среда разработки, так как питон встроен в ОС. в роли IDE - spyder (немного о нем можно почитать тут). Далее берем и смотрим эти уроки: imaster.pp.ua/stati/programming/kratkii-kurs-jazyk... . Параллельно пробуя себя в интерпретаторе. Кстати в Linux для того, чтобы попробовать код на работоспособность достаточно в консоли ввести команду python и сам код.
    Ответ написан
    2 комментария
  • Где можно получить сертификат для сисадмина?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    По своему опыту, на сертификаты смотрят в самый последний момент. А так, идете на хедхантер, набираете в поиске "сертификат" и выбираете профессиональную отрасль. В области сетевого администрирования стандартными являются цискины и джуниперские.

    Но с моей точки зрения, практичнее написать в резюме "знаю что-то на уровне/в рамках таком-то"
    Ответ написан
    Комментировать
  • План обучения Python и дальнейшие перспективы. Кто подскажет?

    @repost
    Сам недавно начал учить питон, мой выбор пал на learnpythonthehardway.org Хотя мне все показалось слишком "разжеванным", но если вы до этого не сталкивались с программированием, то это может быть наоборот плюсом
    Ответ написан
    Комментировать
  • Куда двигаться в веб-разработке?

    @rsi
    software engineer
    Перво наперво определитесь, хотите ли вы стать профессионалом или просто хорошо делать сайты. Я бы предложил выбрать путь профессионала.

    Во вторых определитесь, каким именно профессионалом вы хотите стать:
    1. web - мастером
    2. Front end
    3. Back end
    4. Desktop
    5. Другого направления


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

    Здесь вам советовали сменить язык, не слушайте этих советов. Да Ruby имеет некоторые преимущества перед php, но имеет и недостатки. Не думайте, что если вы выберите Ruby (python) ваша жизнь измениться, вы не получите ничего, что не может вам дать php и на оборот, эти увеличенные зп и прочее миф, язык не важен. Помните, ЯП это всего лишь инструмент, вы конечно должны иметь инструмент, и должны знать свой инструмент в совершенстве, но умение программировать заключается не в этом. Да, плотник алкоголик, который зарабатывает на жизнь забивая гвозди, может хвалить свой молоток и всем рассказать, что молоток его кормилец, но согласитесь настоящий строитель умеет не только гвозди мотком забивать, не говоря уже об архитекторе, который молоток и в руках мог вообще не держать.

    И так предположим, вы выбрали свой путь, вы выбрали направление и выбрали инструмент. Теперь вам нужно работать в этом направлении (как над собой, так и в буквальном смысле работать). Читайте статьи, читайте книги (я всегда рекомендую только одну книгу - "Совершенный код", ее без преувеличивания должен прочитать каждый программист), изучайте новые фреймворки, технологии, отрасль постоянно движется вперед, вам нужно двигаться вперед еще быстрее, что бы хотя бы не стоять на месте. В процессе работы над проектами вы будете чувствовать нехватку знаний (вы упоминали js, ООП), устраняйте эти пробелы книгами (не стоит бояться 900 страниц, книги вы ничем не замените, их необходимо читать), статьями и конечно практикой. Не переживайте по поводу отсутствия высшего образования, оно не дает глубокого знания, никто не расскажет вам ни каких трюков, если у вас не будет толкового преподавателя. Но толковый преподаватель, это не обязательно учитель в универе, это может быть автор книги (например Макконел), автор хорошего инструмента (например Taylor Otwell), большинство очень известных и авторитетных людей генерирует тонну информации, книги, статьи, записи в соц. сетях, код, все это можно читать и это даст вам куда больше чем ВО. И да, мы с вами живем в уникальное время, время интернета, где нет расстояний, и это дает намного больше возможностей, чем нагуглить очередной костыль для jquery от школьника, вы можете общаться лично например со Страуструпом или тем же Тейлором, ни в одном учебном заведении России у вас не будет возможности поговорить с такими людьми.

    Подведя итог:
    1. Определите путь (хотя бы примерно)
    2. Определите специализацию (хотя бы примерно)
    3. Выберите инструмент (один основной язык, один основной фреймоврк, одну основную cms и тд)
    4. Изучите свой инструмент в совершенстве
    5. Пробуйте другие инструменты (да я сказал один яп, один фреймворк, но один вы должны знать в совершенстве, остальные должны попробовать)
    6. Расширяйте кругозор
    7. Работайте над собой
    8. Работайте
    9. Выберите наставников и учитесь у них


    Следуя этим советам вы увеличите свой скилл, сможете сами отвечать на вопрос заданный в заголовке и станете профессионалом. И помните путь профессионала, это постоянная работа (как буквально работа, так и работа над собой, если просто писать сайты 24/7 вы тоже профессионалом не станете), гораздо больше чем 8 часов в день, 5 дней в неделю.
    Ответ написан
    Комментировать
  • План обучения Python и дальнейшие перспективы. Кто подскажет?

    zs000
    @zs000
    3. Начни читать книжку. Как только появится желание закреплять в памяти синтаксис и основы языка - иди на codeacademy и проходи последовательно курс, пока не столкнешься с совсем неизведанным. Тогда возвращайся к книжке.
    Ответ написан
    Комментировать
  • Как вы храните накопленные знания?

    @Imbecil
    Храню всё в тематических папках на Google Drive вместе с книгами. Для статей создаю .txt и озаглавливаю их соответствующим образом. Пару раз в месяц делаю капитальную чистку ненужных файлов, так что пока всё в норме. Evernote в последнее время использую лишь как ежедневник — для подведения итогов и укрепления самодисциплины. Pocket — свалка, мне сразу не понравился.

    По поводу книг: когда читаю, параллельно делаю краткие конспекты (только самые важные моменты записываю), сохраняю их в .pdf и кладу в папку с книгой. При этом документ называю именем книги, а в скобках пишу "конспект", так что, если книг в папке будет много, это будет держать их вместе. При повторном обращении к прочитанной книге, заглядываю в конспект — и, как правило, сразу нахожу ответ на свой вопрос. Конспект набираю вручную на клавиатуре. Это хоть и отнимает время, но в тоже время положительно сказывается на эффективности усвоения материала. Ну, по крайней мере у меня (я так свой уровень письменного английского поднял). Могу таким образом одновременно несколько книг прорабатывать.
    Ответ написан
    13 комментариев