7 фішок, щоб успішно дописати свою першу технічну книгу

7 фішок, щоб успішно дописати свою першу технічну книгу

Два роки тому (в жовтні 2014) я запустив перед-продаж книги “Веб-розробка з Python та Django для Початківців” і лише кілька днів тому розіслав останні дрібні матеріали студентам, чим офіційно завершив роботу над першою версією книги і усіма супутніми матеріалами.

Коли починав я абсолютно не уявляв на скільки це буде об’ємна, трудомістка і рутинна робота. Те, що я початково планував в 100 сторінок роботи переросло у 900+ талмуд. За цей час продано більше 700 копій книги і це без жодної платної реклами. По старому курсу долара на той момент, коли почалась передоплата книги (а ціну з того часу я не піднімав) книга заробила $13000+ .

Звісно, якщо я надумаю писати наступну книгу, то вже зроблю це трохи по іншому. Але загалом, після завершення цього великого куска роботи, звісно не жалію про подібний досвід.

Проаналізувавши весь цей досвід із написання технічної книги, хочу поділитись кількома важливими порадами з вами. Якщо ви технічний спеціаліст і задумуєтесь над написанням власного підручника (а це буває особливо корисно для власного промоушена як експерта), пропоную дану статтю для ознайомлення.

Зверніть увагу, що більшість порад актульні в першу чергу для технічної книги.

 

(більше…)

Як оптимально працювати з базою даних та Django моделями?

Як оптимально працювати з базою даних та Django моделями?

    В черговій статті серії про кращі практики програмування з Django розглянемо роботу з базою даних та Django моделями. Поділюсь досвідом нашої команди та розкажу про:

    • Django аплікації, що полегшують життя при роботі з даними;
    • як організовувати код моделей в проекті;
    • роботу з чистими SQL запитами;
    • індексування та пошук даних;
    • унаслідування у класах моделей;
    • міграцію даних;
    • дизайн бази даних та моделей;
    • менеджери в Django ORM.

    Якщо ви створюєте веб-аплікації із  Django фреймворком, тоді дана стаття буде для вас ‘must to read’…

    (більше…)

    Налаштування Django проекту

    Налаштування Django проекту

      В даній статті серії “Кращі практики розробки з Django” розкажу про власні практики із налаштування Django проекту. Тобто будемо говорити про модуль settings.py, який живе в корені проекту.

      Для навчання чи тестового проекту достатньо даного єдиного модуля settings.py. Проте в реальних Django сайтах, при розробці, встановленні демо чи деплойментів на продакшин сервер, приходиться постійно оновлювати дані налаштування від сервера до сервера.

      Саме тому пропоную вашій увазі кілька рекомендацій щодо покращення структури налаштувань Django проекту. А поговоримо в даній статті про:

      • основні принципи налаштувань;
      • множинні файли settings.py під різні середовища;
      • кілька файлів для опису залежностей проекту requirements.txt;
      • шляхи у модулі налаштувань.

      Якщо ви розробляєте веб-сайти на Django фреймворку, тоді, впевнений, дана стаття буде вам корисною. Більшість практик ми в своїй команді запозичили від інших розробників в Django спільності, а також з книги “Two Scoops of Django”.

      (більше…)

      Як стати Python веб розробником з нуля? Покрокова інструкція

      Як стати Python веб розробником з нуля? Покрокова інструкція

      Знаєте які статті найчастіше читають, лайкають і поширюють? Ті, які є максимально конкретними, практичними і надають наступні кроки до дій в тій чи іншій темі. Моя покрокова інструкція як отримати роботу програміста з нуля, а також детальний пост про те як статити веб-розробником є “бестселерами” даного блогу.

      Не зважаючи на наявність цих двох статтей читаті не перестають вимагати подібної детальної інструкції конкретно у напрямку Python веб-розробки. То ж сьогодні врешті-решт завершив для вас ще одну статтю-інструкцію. Вона стане вам у пригоді, якщо ви обрали для себе мову програмування Python та напрямок веб-розробки.

      А почнемо із короткого огляду, чому саме варто звернути увагу на Python та веб-розробку…

      (більше…)

      Як заінсталювати Python 2, Pip, Virtualenv i Django на Windows?

      Нещодавно у одного із моїх студентів, якого я менторю, виникла проблема з інсталяцією розробницького середовища Python + Django на операційній системі Windows. Сам я вже давненько не використовував дану систему, адже вже років 7-8 використовую виключно Linux та Mac у своїй щоденній роботі. От і засіли разом, щоб це все налаштувати…

      python django windows

      Зазвичай рекомендую студентам одразу пробувати працювати на Лінуксі (дистрибутив Ubuntu), адже Python, як опенсорсна мова, звичайно полюбляє більше оперсорс операційну систему. Проте, щоб занадто не навантажувати людину від самого початку і вивченням нових технологій, мов, фреймворків та ще й освоєнням іншої операційної системи, на перших порах таки можна пробувати ту операційну систему, якою уже студент користується.

      Дане заняття зайняло цілу годину і в даній статті опишу детальну інструкцію як це все можна поставити на ОС Windows. А саме Windows 8 та Python 2.7.

      (більше…)

      Як краще структурувати Django проект та дизайн вашої Django аплікації?

        В попередній статті ми з вами почали з розбору робочого середовища і як зробити його більш ефективним у вашому щоденному житті.

        Django Project Base

        Структура Проекту та Дизайн Аплікації – це основа успішного Django вебсайту

        Цього ж разу я спробую надати кілька корисних порад щодо:

        • структури Django проекта і
        • дизайну та кращих практих створення вашої чергової Django аплікації.

        (більше…)

        Чого не варто робити в робочому середовищі при розробці на Django фреймворку?

          Зараз я активно працюю над книгою Веб-розробка з Python та Django для Початківців, а також організацією людей та закритої платформи для підтримки тих, хто буде освоювати матеріал даної книги та пробувати себе у веб програмуванні.

          Django

          Після оголошення даної книги регулярно отримую питання про вміст книги та чи увійдуть туди такі теми як Юніт Тести, Безпека у веб та Django фреймворку, розробка фільтрів та тегів, і масу інших топіків, які, я вважаю, є складнішими та необо’язковими як для початку освоєння веб програмування.

          Саме тому вирішив почати ще одну серію невеличких статей (завтравочок :-), кожна з яких стосуватиметься того чи іншого аспекту фреймворку Django та веб розробки і які не увійдуть у першу книгу. Матеріал буде наведено на основі особистих практик, а також вичитаного із розумних книжок по Django і як наслідок, впровадженого у власній розробці. Думаю це буде свого роду продовженням книги для початківців, а також думаю буде корисним і для тих, хто уже добряче розбирається у веб програмуванні та Django – непогана вижимка та шпаргалка по кращих практиках та порадах при розробці під Django.

          В сьогоднішній статті оглянемо кілька порад стосовно робочого середовища веб розробника на Django.

          (більше…)

          Розшукується Python Django Девелопер (Middle)

          На повний робочий день в офіс, Львів (700-1700$)

          Коротко:

          Любиш програмувати на мові Python, під веб і на Django? Маєш вже непоганий досвід, будь-то власний проект, чи опенсорс, чи в команді на попередньому місці праці? Любиш писати код з юніт тестами, документацією і притримуючись Style Guide-у?

          Ти – майстер на всі руки, і вмієш всього по троху –  тобі цікаво не лише Python, Server Side i Django, але й HTML, JavaScript, деколи щось поадмінити, задеплоїти, промоніторити, навіть не нехтуєш можливістю поковирятися зрідка в CSS? Ти хочеш бачити і розуміти весь процес розробки проекту на всіх його ланках, а не лише сервер сайд кодування?

          Надаєш перевагу невеличкій фірмі, де можна за хвилину порішати всі питання напряму з босом, бути там цінним, замість великій корпорації з купою бюрократії і правил? Навіть незважаючи на те, що там пропонують басейн і тренажерний зал? 🙂

          Тоді читай далі!

          (більше…)