• Системный vs Прикладной программист?

    @Archusha
    https://agaltsovav.ru/
    Ну для студента 2 курса, без опыта, слишком уж категорично откинули WEB.

    Так или иначе все основные системы выходят в web.

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

    sim3x
    @sim3x
    Правильное решение! - определить во вью или модели, какой сейчас линк нужно пометить активным
    stackoverflow.com/a/9793609

    Апп
    https://github.com/hellysmile/django-activeurl
    Ответ написан
    Комментировать
  • Обязательно ли знать Bitrix чтобы быть web-разработчиком?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Есть две стороны медали.
    1. Разработка на самой востребованной на рынке пока что в СНГ системе (Bitrix). Востребованной в 1 очередь заказчиками, а не разработчиками.
    Вы всегда найдете себе работу.
    Но вам придется мириться с текущими недостатками, которые исправляются не так быстро, т.к. поддерживается обратная совместимость (они не могут себе позволить ее не поддерживать т.к. имеют слишком большую долю на рынке). Но все же исправляются, и на новое ядро уже переписана немалая часть функционала.
    2. Разработка на фреймверках. В России к примеру распространены YII, Symphony и активно набирающий обороты Laravel. Yii - больше для мелочи, Symphony/Laravel потенциально для более крупных проектов.
    Работа с ними приятнее с точки зрения программирования, но вам потенциально придется писать очень много того что в CMS уже написано. Хотя порой написать новое быстрее чем кастомизировать уже написанное под бизнес задачу.
    Рынок/вакансий на FW меньше, + есть не стабильность, сегодня популярен один FW, завтра другой. Доминирующей позиции ни у кого нет. Если выберете эту ветку - я бы посоветовал Laravel, мне кажется наиболее перспективный, в топовых студиях по крайней мере спрос растет.
    Плюсы данного пути - вы начинаете изучать программирование "снизу", с ООП, ядра, без вариантов. Это сложнее чем изучать CMS, должна быть неплохая теоритическая база чтобы не гавнокодить (имхо).

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

    Ваша лучшая документация код, который под капотом, за красивыми (или не очень) интерфейсами. Хорошо документированных CMS почти нет, bitrix в этом направлении один из лидеров.
    Если скил пока не позволяет читать исходный код и понимать, то начинайте мануалов).

    Вообще для обучения мониторьте HH.ru на тему: junior разработчик. Вам повезет если вы попадете в крупную студию с хорошими ведущими специалистами и хорошей программой обучения. При таком раскладе вас научат программировать вне зависимости от использования платформы и научат базовым практикам корпоративной совместной разработки + быстро отучат говнокодить.
    Если попадете в мелкую - тут придется самому грызть гранит, читать много литературы, вы достигнете всего того же, но за больший период. Для начала кстати посоветовал бы почитать:
    • "PHP. Объекты, шаблоны и методики программирования" Мэт Зандстра
    • "Совершенный код" Стив Макконнелл


    И посоветую не слушать популистов и ненавистников Битрикса. Многие из них просто работали или со старой версией, или работают сейчас, но не изучают новое ядро, не следуют новым практикам, или о новом ядре знают очень мало. А многие попросту плюются на все чем не пользуются сейчас, в духе "все дураки, я один умный", доля конструктивной критики весьма мала, хотя критиковать есть за что. Если бы битрикс был таким полным говном как многие описывают - он бы не занял доминирующую позицию на рынке.
    Ответ написан
    5 комментариев
  • Почему Битрикс так популярен?

    creativeworm
    @creativeworm
    Битрикс = Маркетинг. По сути битрикс держится на внедренцах/разработчиках сайтов, которые кое-как (кто как умеет) применяет их продукт при создании сайта из-за желания заказчика и получает откат.

    Компании считают, что если купят детище Рыжикова, то в последствии будет проще найти специалиста по доработке или сопровождению сайтов. Так же множество компаний работают с 1С многие годы и продукт с такой приставкой 1С-Битрикс автоматически завоевывает доверие и западает в сердцах заказчиков.
    Ответ написан
    Комментировать
  • Как собрать данные посетителя сайта?

    copist
    @copist
    Empower people to give
    Я нашёл в этом вопросе три технологических вопроса:

    1. Про вычисление города
    Есть форма заявки с полями "номер телефона" ... добавлен на базу mysql ... адрес (город проживание клиента который нажал на кнопку)

    Если в форме нет поля для выбора страны и города, то можно вычислить приблизительное местоположение по IP адресу. Это неточная информация, ей нельзя доверять на 100%, потому что пользователь мог зайти на сайт через анонимные прокси. Желательно уточнить у него - "Вы точно из города X?".

    Для автоматического вычисления гео-данных можно воспользоваться платной базой GEO данных сервиса MaxMind или платными открытыми веб-сервисами
    Или бесплатными сервисами, которые возвращают данные с очень большой погрешностью, например вместо города возвращают страну :(
    Пример получения информации через API MaxMind для языка PHP
    <?php
    require_once 'vendor/autoload.php';
    use GeoIp2\Database\Reader;
    
    // This creates the Reader object, which should be reused across lookups.
    $reader = new Reader('/usr/local/share/GeoIP/GeoIP2-City.mmdb');
    
    // Replace "city" with the appropriate method for your database, e.g., "country".
    $record = $reader->city('128.101.101.101');
    
    print($record->country->isoCode . "\n"); // 'US'
    print($record->country->name . "\n"); // 'United States'
    print($record->country->names['zh-CN'] . "\n"); // '美国'
    
    print($record->mostSpecificSubdivision->name . "\n"); // 'Minnesota'
    print($record->mostSpecificSubdivision->isoCode . "\n"); // 'MN'
    
    print($record->city->name . "\n"); // 'Minneapolis'
    
    print($record->postal->code . "\n"); // '55455'
    
    print($record->location->latitude . "\n"); // 44.9733
    print($record->location->longitude . "\n"); // -93.2323


    Пример получения информации об IP адресе на языке PHP через открытый сервис ipinfo.io
    $ip = $_SERVER['REMOTE_ADDR'];
    $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
    echo $details->city; // -> "Mountain View"


    Пример запроса:
    $ curl ipinfo.io/8.8.8.8

    Пример ответа:
    {
      "ip": "8.8.8.8",
      "hostname": "google-public-dns-a.google.com",
      "loc": "37.385999999999996,-122.0838",
      "org": "AS15169 Google Inc.",
      "city": "Mountain View",
      "region": "CA",
      "country": "US",
      "phone": 650
    }


    2. Про передачу данных с веб-страницы
    Как сделать чтобы при нажатии на кнопку запрос был добавлен на базу

    Можно отправить форму на сервер методом POST, а можно передать по технологии AJAX.
    learn.javascript.ru/ajax-intro

    3. Про сохранение в базу данных
    Как сделать чтобы ... эти данные записать на БД

    Язык программирования не указан.Уточните, что именно эта информация нужна - я напишу больше.
    Общий алгоритм: извлечь номер телефона и IP адрес из запроса, вычислить город по IP адресу, записать результаты в базу данных.
    Ответ написан
    2 комментария
  • Все мои логотипы получаются не законченными. В чем дело?

    pozZzitiv
    @pozZzitiv Куратор тега Дизайн
    Дизайнер и перфекционист
    Если не знаете что не так, то читайте книги и учитесь чтобы понимать что именно не так.

    Плюс ко всему, выстраивание логотипов по каким-то строгим, математически выверенным, сеткам — фигня. Лого, в первую очередь, должен выглядеть хорошо оптически. А когда мудрят с буквами/текстом как раз такая фигня и получается. Изучайте типографику чтобы понимать как веками строились буквы и почему они именно таких размеров. Пока не станете разбираться в этом всегда будет «что-то не так».
    Ответ написан
    7 комментариев
  • Что если вся "data science" сведется к последовательности вызовов готовых функций?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    > создается куча курсов, пишутся книги, в которых все сложные с математической точки зрения алгоритмы объясняются на пальцах
    99,(9)% уверен - вы жОстко преувеличиваете, и не все там так радужно у Data Scientistов.
    Вы сами-то пробовали те курсы и книги в деле?
    У нас реверс-инженеров в этом плане вообще печалька по определению))) но я-то не только реверс-инженер, я занимаюсь и кучей иных областей, и проблемы с документацией и высокоуровневыми средствами вижу в абсолютной любой области, даже самой-самой банальной и стандартной, типа разработки СУБД для предприятий.

    И если бы вдруг с неба упала куча сверхвысокоуровневых средств или книг с кучей готовых решений, то я бы от этого ни разу не пострадал.
    1. Насчет удобных инструментов, большинству просто синдром утенка не позволит на них перейти. А еще они платные же должны быть, иначе это вообще фантастика какая-то. Так что разброс между мною и ими - увеличился бы, а не уменьшился.
    2. Насчет книг, навыки принципиально не может давать никакая книга. Если только она волшебная, как живая вода или ковер-самолет.
    3. Ну и, как и многие другие, скажу, что если мои текущие знания и навыки окажутся не нужны, то я просто возьму и освою что-то новое.
    Могу писать программы для американских горок. Могу сверлить и резать стены. Могу перебирать ДВС и варить водопроводные трубы. Могу ремонтировать ноутбуки, смартфоны. Могу стать воздушной планетой. Могу стать воздушным асом. Берем телевизор, вставляем в Мурманский полуостров
    А еще я стану больше бизнесменом. Не меньше, а больше! Ибо больше идей, проектов, меньше технической части.
    А кто так не умеет - тот, осмелюсь сказать, вообще не особо-то и программист. И трястись над навыками и знаниями ему уж точно не стоит - у него их нет. У него нет общих навыков и знаний, иначе бы он тоже так умел.
    Вотъ.
    Ответ написан
    Комментировать
  • Вопрос по запуску Django сайта на сервере?

    syschel
    @syschel
    freelance/python/django/backend
    leha78: Я обычно окружение конкретного проекта кладу рядом с проектом, но не в саму папку проекта
    - sites
     + project_name_one
        - env (тут окружение)
        - tmp
        - logs
        - source (тут весь код)
      + project_name_two
        - env (тут окружение)
        - tmp
        - logs
        - source (тут весь код)

    И в репозитарий и на вэб-сервер я переношу только папку source, хотя структуру и создаю однотипную. Окружение, логи, временные файлы создаю на сервере с нуля под каждый проект.
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux лучше изучить?

    @asd111
    Изучи как использовать grep и git.
    И ещё как подключаться по ssh,sftp, как настроить nginx для запуска python/django и всё.
    Ubuntu.
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux лучше изучить?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    попробуй без GUI средств на Ubuntu 14.04

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

    если проект на гитхабе или ином каком внешнем репозитории - разверни его оттуда опять же через консоль.

    на первое время этого хватит.
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux лучше изучить?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Вам нужно учить скорее всего не дистрибутив, а просто общую работу в *nix, то есть работу в командной строке. Поставьте любой дистрибутив, Ubuntu, Mint, CensOS, и освойте например:
    установку и запуск собственно скриптов на питоне
    права доступа к файлам, вообще навигацию по файловой системе
    перенаправление ввода и вывода
    подключение по ssh, можно еще и по ssh-ключам - очень пригодится
    Ответ написан
    Комментировать
  • Как задать каждому полю отдельный класс?

    Roman Kitaev дело говорит. послушайте его
    а Ваша проблема решается так

    class VacForm(forms.ModelForm):
        vac_name=forms.CharField(widget=forms.TextInput(attrs={'class':'supername'}))
        class Meta:
            model = Vacancies
            fields = ('vac_name', 'vac_req','vac_obz', 'vac_usl','vac_salary', 'vac_comp','vac_zan', 'vac_locat', 'vac_exp','vac_cat', )


    либо так
    class VacForm(forms.ModelForm):
            vac_name.widget = forms.TextInput(attrs={'size': 10, 'title': 'Search', 'class':'supername''})
    .....
    Ответ написан
    1 комментарий
  • Как задать каждому полю отдельный класс?

    @deliro
    Я пока неопытный и учусь, поэтому не судите строго.

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

    Я уже сто раз тут это писал и ещё напишу, пока будет эта жесть.
    Вот создал ты модель вакансий. Ты моделью описываешь единичную сущность, а назвал Vacancies - множественным числом.
    Дальше: вот у тебя есть модель вакансий. Зачем ты каждому полю даёшь имя, дублирующее имя модели? (Я про vac_*). Создал ты вакансию, да:
    vacancy = Vacancy.objects.create(...)
    И пошёл получать атрибуты:
    vacancy.vac_name # Красиво, п****ц, да?

    Сокращённые названия атрибутов - красота. Через полгода ты понятия не будешь иметь, что за vac_zan, vac_usl, vac_cat. А человек, который будет с тобой работать в команде или рефакторить это после тебя получит отличный набор головоломок в подарок к коду.

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

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

    Ответ на вопрос: https://pypi.python.org/pypi/django-widget-tweaks
    Ответ написан
    1 комментарий
  • Развернуть сайт Django 1.9?

    @deliro
    nginx на фронт 100% (не апач)
    WSGI сервер выбирай из uWSGI и Gunicorn

    В общем получается так:
    nginx <-> uWSGI <-> Твоё приложение
    Статику отдаёт nginx напрямую.

    На русском можешь почитать учебник по английскому.
    Почти все актуальные доки только по-английски.
    Ответ написан
    1 комментарий
  • Как определить первый визит сессии в шаблоне?

    zelsky
    @zelsky
    profile.user.last_login проверять , если пустое то в первый раз
    Ответ написан
    6 комментариев
  • Можно ли работать программистом после 9 классов?

    За 6 лет работы об образовании и "прочтенных книгах" спросил только один заказчик (5 лет назад :)). Работала с компаниями, студиями, стартапами, фрилансила и работала в паре с разработчиками. Только портфолио и своя собственная адекватнось решает. Очень важно, чтобы у вас с самим собой не было проблем из-за "недостатка образования". Если вы самостоятельно обучаетесь постоянно, читаете и развиваетесь, то не важно сколько официальных лет вы просидели в школе, техникуме, институте, не за эти качества вас на работу берут. Если вы приносите профит компании, то вас будут ценить, переманивать и всячески поощрять.
    Ответ написан
    3 комментария
  • Можно ли работать программистом после 9 классов?

    @abcyu
    Разработчик
    Кроме гос. контор, корпораций и заграничной работы (рабочую визу не дадут без вышки) - по сути никому это не надо.

    Но Яндекс и Мейл будут смотреть уже на репутацию, опыт, познания реальные, вряд ли на диплом.

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

    P.S.:
    Я помню, меня тоже пёрло, когда моя примитивная программа на принтер 2 слова вывела.
    И очень ЧСВ поднимает когда тебе все кругом в рот глядят когда ты Винду ставишь.

    Но это еще не мастер.

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

    P.S.:
    При прочих равных диплом всегда плюс. Хотя в реальности я его не показывал.
    Ответ написан
    2 комментария
  • Какие ресурсы помогут в изучении английского языка для веб-разработки?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Отличный способ обучения английскому - переводы. Например на хабрахабре это нормальная практика, публиковать переведенные технические статьи.

    Возьмите какой-либо дайджест (например habrahabr.ru/company/zfort/blog/275279 ), видите как много статей на английском и как мало на русском? Попробуйте внести свой вклад, переведя парочку. Поначалу будет чертовски сложно, но я вас уверяю, через какое-то время у вас прилично так повысится уровень языка, ибо это реальная практика.

    Попробуйте сосредоточиться на переводе статей про JS, раз уж хотите его учить.
    Ответ написан
    8 комментариев
  • Как правильно настроить media-root?

    neatsoft
    @neatsoft
    Life is too short for bad software
    MYSITE_URL = '<abs_path>/domains/mysite.ru'
    STATIC_ROOT = os.path.join(MYSITE_URL, 'static')
    MEDIA_ROOT = os.path.join(MYSITE_URL, 'media')

    Но для production это не подходит. Каталог static нужно раздавать с помощью nginx (предварительно скомпоновав его с помощью python manage.py collectstatic), a media выносить на отдельный домен (для предотвращения XSS уязвимостей).
    Ответ написан
    3 комментария
  • Идея сервиса и приложения для удобства населения. Как реализовать?

    @abcyu
    Разработчик
    Грусть нашего мира для людей подобных вам выглядит так:

    ВАМ НУЖЕН ПРОГРАММИСТ.
    ВЫ ПРОГРАММИСТУ НЕ НУЖНЫ. От слова НИКАК. СОВСЕМ. Вообще совсем никак не нужны.


    Попробуйте начать с помощью конструктора сайтов - с помощью Юкоза или Викса. Они как раз предназначены для людей без специальных ИТ-навыков.

    Или вот пример подхода:
    Человек заинтересовывает других Идея: оффлайн аналог игры EVE Online с полной генерацией всего. Что скажете?

    и где искать ЧЕСТНЫХ!!! единомышленников, которые помимо тупо прибыли и как бы увести идею


    Проблема вообще НЕ В ЭТОМ. Вы почему-то думаете, что главное - это идея. Что все мечтают её украсть. Ну и сидите на ворохе своих идей годами.

    Но же вовсе нет. Главное - ДОВЕСТИ ИДЕЮ до ума и вторая большая проблема - выйти на ОКУПАЕМОСТЬ.

    На практике все совсем по другому:

    1. Если вы так УВЕРЕНЫ в своей идее - возьмите кредит, продайте машину, заложите квартиру. Вложитесь сами. Отчего вы ожидаете, что кто-то должен загорится НЕ СВОЕЙ идеей и потратит кучу своего времени бесплатно на ее реализацию.

    2. Таких предложений - работать на халяву, вложить ОГРОМНОЕ количество своего времени в гениальную идею, которая в будущем обязательно круто выстрелит - средний программист получает каждый месяц по нескольку.

    3. У хороших программистов сейчас очень много ХОРОШО ОПЛАЧИВАЕМОЙ работы и без этого.

    4. На Хабре/Гике/Мозге и на VC есть куча грустных историй основателей стартапов: они с удивлением рассказывают, что оказывается бесплатно работать никто не хочет. Если кто и загорается идеей, то погасает через неделю или оказывается неопытным человеком и такое программирует, что лучше бы его не было.

    5. Статьи эти интересны. Почитайте. Там много подводных камней, которые вас ожидают, уже описаны.

    6. В конце всех этих статей приводится лучший путь, который основатели стартапов поняли из свой практики: или НАЙТИ деньги или НАУЧИТЬСЯ самому.

    7. Без денег интересно только тому, кто только начал этому учиться. Надо ли объяснять вероятность довести проект до завершения? Надо ли объяснять как будет выглядеть такой проект? И вероятность его работоспособности?

    8. Любой человек как только научается - сразу становится все более и более занят для вас. Он находит себе работы за деньги, а так как редкий стартап выстреливает за несколько месяцев, обычно раскрутка занимает больше года - то интерес закономерно теряется.

    9. Опытные программисты да и рады были бы. В конце концов это интересно. Но кушать хочется. А до выхода на прибыль проходит, как я уже писал - очень много времени. Нужно ВКАЛЫВАТЬ для достижения хоть какого-то результата.

    10. Ну и большая часть стартапов не выгорает. То есть БОЛЬШАЯ часть стартапов ПРОВАЛИВАЕТСЯ. Опытные программисты - как правило и постарше, и прекрасно это понимают. Зачем им ваш стартап, если кругом толпы людей предлагают им живые деньги уже прямо сейчас.

    Ну и сколько в этих 10 пунктах встретилось то, что идея ценна? Что идея главна? Что идея нужна?

    Конечно можно найти единомышленников:

    0. Харизма. Способность делать так, чтобы люди загорались. Неуверенность и вопросы - как сделать чтобы люди пошли за собой - это не часть харизмы, а даже совсем наоборот.

    1. Люди, которые еще не занимались ничем серьезным (читай: не умеют) с удовольствием включаться, может быть даже и окажутся талантливыми и работоспособными и не перегорят.

    2. Найти финансирование. Кредит, продай машину, заложи квартиру.

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

    4. Готовьтесь к тому, что единомышленники как находятся так и теряются. Иногда и за пару недель теряется очень вроде заинтересовавшийся )))

    P.S.: чтобы было ну уж совсем понятно:

    У меня своих идей штук пять. Из них как минимум 2 гениальных. )))
    Более того, мне даже никто не нужен - я сам умею.
    Нужно просто сесть и сделать.

    Вы кого хотите найти? Разработчика без собственных идей?
    Да нет таких.

    Людей без идей мало. А полно как раз таких людей, кто по какой-то причине не начинает свой проект.

    Не уверен в выхлопе, чтобы взять и все бросить, нет денег, занят основной работой и т.п. причины.
    Людей нужно только подтолкнуть, повести за собой.

    Мотивировать людей можно собственной уверенностью, харизматично увлекая их за собой.
    Только не забывайте, что еще людям и нужно кушать. И заработать на покушать занимает много времени.
    А реализация стоящей идеи - это ВКАЛЫВАТЬ, времени на заработать на покушать не хватает.

    И это если даже не учитывать весьма не гипотетическую, а вполне реальную высокую вероятность прогореть.
    Поэтому как только вы организуете финансирование, то люди к вам потянутся.

    P.P.S.:
    Гораздо более реалистичный вариант вы берете на себя хотя бы 50% финансирование. Остальное на энтузиазме.
    Ответ написан
    2 комментария