Програміст Початківець: З чого почати свій програмістський шлях

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

Programming Road

Фото з @www.jonathanfsullivan.com

І замість того, щоб кожен раз повторювати свої відповіді, думки та поради кожній людині окремо, я вирішив почати викладати відповіді на подібні питання у себе на блозі. Таким чином цим постом я розпочинаю серію статтей під назвою “Програміст Початківець”. Це буде близько 10 статей, які я буду готувати приблизно раз в тиждень, де будемо висвітлювати наступні проблеми:

  • з чого почати свою кар’єру програміста
  • як готуватися до свого першого інтерв’ю на роботу
  • що ще потрібно знати і вміти програмісту окрім самого програмування для досягнення високих результатів у даному напрямку
  • як обрати правильний напрямок, спеціалізацію для себе
  • як постійно тримати свої знання та вміння в тонусі, як то кажуть “up to date”
  • розглядатимемо доступні інструменти та сервіси, які допоможуть вам швидко навчатися
  • обговоримо модель OpenSource як інструмент для набуття практики, а також як плюс у вашому резюме
  • англійська – це важливо для програміста? з чого краще почати, і що саме важливо знати?
  • як правильно обирати для себе місце праці та компанію
  • та інші теми, які вспливуть у нас як важливі в ході нашої серії постів. Тому ваші коментарі до статтей – відіграють важливу роль для вирішення – що є важливим для Початківця Програміста 😉

А тепер давайте з’ясуємо з чого ж таки почати →

Як з допомогою GDB дебагера з’ясувати чому ваш Python процес завис

Зовсім недавно на одному з клієнтських проектів (http://www.ihoppers.com) ми мали проблемку із зависанням Python сервера. Під “зависанням” мається на увазі ситуація, коли процес “з’їдає” весь ресурс процесора і забирає необмежену кількість часу. Після того як усі потоки в межах даного процесу сервера зайняті аплікація повністю перестає обслуговувати відвідувачів.

Debugging with GDB

Фото взято з uplifted.net

Проект написаний на Plone CMS і обслуговується на Ubuntu сервері. Тому дана техніка дебагу була застосована саме для дослідження Python процесу на Лінуксі.

Зазвичай, коли є потреба подебажити те чи інше місце в Пітон коді я використовую pdb – Python дебагер. З допомогою нього ставлю точку зупинки в програмі, і вже там на місці досліджую змінні середовища, що не так, і т.д… Зазвичай працює добре! Чому ж тоді цього разу я звернувся за допомогою до GDB інструменту?

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

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

Далі до Інструкції і Відео по використанні GDB дебагера →

Звіт про Практичний Семінар – Python, wxPython, пишемо Калькулятор

Кілька тижнів тому я презентував мову Python студентам Політехнічного університету у Львові. Тоді ми домовилися, що зустрінемося вдруге і вже спробуємо провести короткий практичний семінар і написати щось корисне під час нього.

Семінар - wxPython Калькулятор

Семінар – wxPython Калькулятор

Так от минулого тижня ми знову зустрілися в одній із аудиторій Політехнічного і провели півторагодинний практичний урок на тему Python і декстопних аплікацій, а саме – написання простого Калькулятора з допомогою Python GUI бібліотеки wxPython.

(більше…)

iCamp – Інтернет-форум у Львові 2013

У цій статті поділюся з вами враженням від події, яку відвідав цієї суботи 26 жовтня – iCamp 2013. Наприкінці статті також розкажу кілька фішок – як взяти для себе максимум користі від конференції.

iCamp 2013

iCamp 2013 @ фото взято з smcamp.com.ua

(більше…)

Презентація мови Python для студентів Львівської Політехніки – Частина 1

Кілька тижнів тому мене запросили провести невеликий практичний семінар студентам Львівської Політехніки і розказати про мову програмування Python. Я із задоволенням погодився…

Вступ до мови Пітон для студентів Львівської Політехніки

Вступ до мови Пітон для студентів Львівської Політехніки

І вже навіть почав перебирати про що саме можна розповісти студентській аудиторії. Але проблемка була у тому, що ми точно не знали ні скільки людей там буде, ні рівень знань присутніх… Тому вирішили розділити цю подію на дві частини:

(більше…)