POPULARITY
Егор Векслер - Python разработчик, программист, инстаграм блогер, знаменитый юмористическими видео и простым объяснением сложных ИТ терминов. Телеграм каналд Эда: https://t.me/+_Gno_wpfSsE5YmIy сайт Егора: https://wexler.io Все ссылки предоставлены для ознакомления с гостем и не являются рекламой. Таймкоды: 00:00:00 Начало 00:58:05 Егор Векслер - Python разработчик, программист, инстаграм блогер 02:42:11 Python - самый популярный язык разработки в мире 00:03:07 Как Егор Векслер изучал Python 00:04:24 почему Python так популярен 00:05:21 Как видит Python русский разработчик и Английчанин 00:06:17 Отступы в Python 00:07:24 Можно ли заменить Python? 00:08:21 Не поздно ли изучать Python в 2025? 00:08:46 Какой язык программирования выбрать? как решить? 00:12:03 С чего начать изучать Python 00:13:42 Как выбрать первый Pet проект для программирования 00:18:32 Проблемы на старте изучения программирования 00:20:57 Как учатся программированию новички 00:22:24 Чего не стоит бояться программистам: Вечный рефакторинг 00:23:36 Кто такой крутой разработчик 00:24:48 Платформа Егора 00:29:12 Крутые разработчики 00:32:33 Синдром Самозванца 00:34:40 Что значат Грейды в АйТи 00:38:17 Auto-suggest interview 00:38:34 почему Python - лучший язык программирования 00:39:04 Почему Python Лучше чем Java 00:39:35 Python - говно 00:40:37 Какой интерпретатор Python использовать? 00:41:54 Где хранятся файлы Python 00:42:16 Можно ли использовать Python для Web-игр 00:43:49 Как работает Python 00:45:07 какую версию Python использовать? 00:46:45 Для чего используется Python 00:48:21 Подготовка к собеседованию на Python 00:57:47 Как упаковывать свое резюме 01:00:22 Разница между западными рекрутерами и русскими 01:03:46 Тестовые задания в Европе 01:05:39 Рекоммендации для собеседований 01:09:59 Как поддерживать приподнятое настроение 01:10:34 Пиво 01:11:12 Бег 01:14:51 Сложно ли вести блог 01:17:02 Курс Python и преподавание 01:20:34 Груз ответственности преподаватяля 01:21:54 Истории успеха студентов 01:23:16 Почему курсы не бесплатные 01:25:26 Студенты покупают, но не проходят курс 01:26:50 Пишут ли хейтеры про цыган? 01:28:54 Переосмысление жизни 01:31:22 Изменение подхода к жизни Подкаст с тестировщиком-автоматизатором на python: https://youtu.be/y4MKjGmSXz4 Подкаст с крутым фронтенд-разработчиком https://youtu.be/mWjK6dnw_4E Подкаст о старте карьеры в АйТи https://youtu.be/RgAvRoo2vo0 Обсуждаем с Егором Как изучить Python Зачем учить Python Что спрашивают на собеседовании по Python Чем отличается русский рекрутмент от западного почему Python так популярен Как выбрать первый Pet проект и многое другое #python #программирование #программист #wexler
Deb Nicholson, executive director of the Python Software Foundation, attributes Python's popularity to its minimal syntactical complexity, which appeals to beginners and seasoned developers alike. Python allows flexibility for those exploring coding without a specific focus, unlike purpose-built languages. Since her leadership began in 2022, Nicholson has overseen the foundation's role in managing Python's fiscal and operational needs, including the package index that hosts over half a million add-ons. This open ecosystem enables contributions from large corporations and individual developers while demanding vigilant security measures.Nicholson envisions Python's future advancements, particularly in improving multi-threading and expanding usage in mobile development. She acknowledges Python's critical role in AI and data science but remains cautious about AI's pervasive application, likening it to a temporary trend. On open source in the enterprise, Nicholson critiques companies profiting from open-source tools while adopting restrictive licenses. Instead, she admires models like Red Hat's, which leverage open source sustainably without compromising accessibility or innovation.Learn more from The New Stack about Python: Python 3.13: Blazing New Trails in Performance and ScaleThe Top 5 Python Packages and What They DoPython Mulls a Change in Version NumberingJoin our community of newsletter subscribers to stay on top of the news and at the top of your game.
Home Automation, The Internet of things. This is the first episode in a new series called Home Automation. The series is open to anyone and I encourage everyone to contribute. https://en.wikipedia.org/wiki/Home_automation From Wikipedia, the free encyclopedia Home automation or domotics is building automation for a home. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It may also include home security such as access control and alarm systems. The phrase smart home refers to home automation devices that have internet access. Home automation, a broader category, includes any device that can be monitored or controlled via wireless radio signals, not just those having internet access. When connected with the Internet, home sensors and activation devices are an important constituent of the Internet of Things ("IoT"). A home automation system typically connects controlled devices to a central smart home hub (sometimes called a "gateway"). The user interface for control of the system uses either wall-mounted terminals, tablet or desktop computers, a mobile phone application, or a Web interface that may also be accessible off-site through the Internet. Now is the time I tried this out a few years ago, but after a lot of frustration with configuration of esp32 arduinos, and raspberry pi's I left it be. Recently inspired by colleagues in work, I decided to get back into it and my initial tests show that the scene has much improved over the years. Youtube Playlist The Hook Up, RSS Home Automation Guy, RSS Everything Smart Home, RSS Smart Solutions for Home, RSS Smart Home Circle, RSS Smart Home Junkie, RSS Home Assistant The first thing we'll need is something to control it all. Something will allow us to control our homes without requiring the cloud. https://en.wikipedia.org/wiki/Home_Assistant From Wikipedia, the free encyclopedia Home Assistant is free and open-source software for home automation, designed to be an Internet of things (IoT) ecosystem-independent integration platform and central control system for smart home devices, with a focus on local control and privacy. It can be accessed through a web-based user interface, by using companion apps for Android and iOS, or by voice commands via a supported virtual assistant, such as Google Assistant or Amazon Alexa, and their own "Assist" (built-in local voice assistant). The Home Assistant software application is installed as a computer appliance. After installation, it will act as a central control system for home automation (commonly called a smart home hub), that has the purpose of controlling IoT connectivity technology devices, software, applications and services from third-parties via modular integration components, including native integration components for common wireless communication protocols such as Bluetooth, Thread, Zigbee, and Z-Wave (used to create local personal area networks with small low-power digital radios). Home Assistant as such supports controlling devices and services connected via either open and proprietary ecosystems as long they provide public access via some kind of Open API or MQTT for third-party integrations over the local area network or the Internet. Information from all devices and their attributes (entities) that the application sees can be used and controlled from within scripts trigger automation using scheduling and "blueprint" subroutines, e.g. for controlling lighting, climate, entertainment systems and home appliances. Summary Original author(s): Paulus Schoutsen Developer(s): Home Assistant Core Team and Community Initial release: 17 September 2013 Repository: https://github.com/home-assistant Written in: Python (Python 3.11) Operating system: Software appliance / Virtual appliance (Linux) Platform: ARM, ARM64, IA-32 (x86), and x64 (x86-64) Type: Home automation, smart home technology, Internet of things, task automator License: Apache License (free and open-source) Website: https://www.home-assistant.io The following is taken from the Concepts and terminology on the Home Assistant website. It is reproduced here under the creative commons Attribution-NonCommercial-ShareAlike 4.0 International License Integrations Integrations are pieces of software that allow Home Assistant to connect to other software and platforms. For example, a product by Philips called Hue would use the Philips Hue term integration and allow Home Assistant to talk to the hardware controller Hue Bridge. Any Home Assistant compatible term devices connected to the Hue Bridge would appear in Home Assistant as devices. For a full list of compatible term integrations, refer to the integrations documentation. Once an term integration has been added, the hardware and/or data are represented in Home Assistant as devices and entities. Entities Entities are the basic building blocks to hold data in Home Assistant. An term entity represents a term sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other term entities. An term entity is usually part of a term device or a term service. Entities have term states. Devices Devices are a logical grouping for one or more term entities. A term device may represent a physical term device, which can have one or more sensors. The sensors appear as entities associated with the term device. For example, a motion sensor is represented as a term device. It may provide motion detection, temperature, and light levels as term entities. Entities have states such as detected when motion is detected and clear when there is no motion. Devices and entities are used throughout Home Assistant. To name a few examples: Dashboards can show a state of an term entity. For example, if a light is on or off. An automation can be triggered from a state change on an term entity. For example, a motion sensor entity detects motion and triggers a light to turn on. A predefined color and brightness setting for a light saved as a scene. Areas An area in Home Assistant is a logical grouping of term devices and term entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room. Areas allow you to target service calls at an entire group of devices. For example, turning off all the lights in the living room. Locations within your home such as living room, dance floor, etc. Areas can be assigned to term floors. Areas can also be used for automatically generated cards, such as the Area card. Automations A set of repeatable term actions that can be set up to run automatically. Automations are made of three key components: Triggers - events that start an term automation. For example, when the sun sets or a motion sensor is activated. Conditions - optional tests that must be met before an term action can be run. For example, if someone is home. Actions - interact with term devices such as turn on a light. To learn the basics about term automations, refer to the automation basics page or try creating an automation yourself. Scripts Similar to term automations, scripts are repeatable term actions that can be run. The difference between term scripts and term automations is that term scripts do not have triggers. This means that term scripts cannot automatically run unless they are used in an term automations. Scripts are particularly useful if you perform the same term actions in different term automations or trigger them from a dashboard. For information on how to create term scripts, refer to the scripts documentation. Scenes Scenes allow you to create predefined settings for your term devices. Similar to a driving mode on phones, or driver profiles in cars, it can change an environment to suit you. For example, your watching films term scene may dim the lighting, switch on the TV and increase its volume. This can be saved as a term scene and used without having to set individual term devices every time. To learn how to use term scenes, refer to the scene documentation. Add-ons Depending on your installation type, you can install third party add-ons. Add-ons are usually apps that can be run with Home Assistant but provide a quick and easy way to install, configure, and run within Home Assistant. Add-ons provide additional functionality whereas term integrations connect Home Assistant to other apps.
Simple Programmer is now BACK with a brand new YouTube ChannelSUBSCRIBE HERE: https://simpleprogrammer.com/subscribespyt
בפרק מספר 409 אנחנו מתכבדים לארח את נועם מחברת פקאן - שלום נועם, ברוך הבא!(נועם) שלום, תודה רבה(רן) ברוך הבא לצפון הקר, אחרי שעשית את דרכך אלינו - למי שלא יודע, אנחנו בדרך כלל מקליטים מהבית של אורי בכרכור, בלילה, בשעה 2100+ בערב, זאת השעה שלנו להקליט פודקאסטים . . .(אורי) בדרך כלל האורחים שלנו מגיעים טרוטי-עיניים מנסיעה מהמרכז . . .(נועם) אבל אני חייב להגיד שמציאים פה קפה מצויין, אז ממליץ בחום לבוא.(רן) תודה . . . אז לכל מי שמאזין - בואו לאורי, לקפה [קופון לא יצורף בסוף הפרק].(אורי) ואם אתם יכולים להביא פקאן בדרך, אז גם טוב.(רן) כן, הבאנו פקאנים . . . אז פקאן זו חברה שעוסקת, כמובן, בגידול פקאנים . . . (אורי) והתחלנו לפצח פה [מוזמנים לדמיין אפקטים של פיצוח](רן) אז בוא, נועם - ספר לנו - עליך, על הרקע האישי שלך, ועל פקאן, על מה שאתם עושים.משם כבר נצלול אל הנושא המרכזי של הפרק, שעוסק - נעשה לכם פה ספויילר - בתחום של Machine Learning והעולם האמיתי.אז קודם עליך נועם - מאיפה באת?(נועם) אז התחלתי . . . הכל התחיל שם, איפשהו בתקופה של הצבא, כמה מפתיע - 8200, הייתי במה שנקרא “אתגרים”לפי מקורות זרים - ורק מקורות זרים - זה בעצם עולם הסייבר [לכאורה].ככה התחיל עולם הסייבר של 8200 - הייתה תקופה מדהימה, קבוצה קטנה כזאת, הרגיש ממש כזו סטארטאפ בתוך היחידה, היינו הולכים על אזרחי . . .ושם הכל התחיל מבחינתי, ממש שם התחילה הקריירה - הייתי ראש צוות פיתוח.ובעצם, משם התגלגלתי, אחרי שהשתחררתי, לתוך עולם הדאטה - במשך 7 שנים ייעצתי להמון חברות פה בארץ - אם זה חברות ענק כמו בנקים וגם לסטארטאפים, על איך לבנות Infrastructure, בעצם לייעל שאילתות.ונכנסתי ככה עמוק לתוך עולם הדאטה, וזה היה מרתק - באמת עולם שהוא, כמו שאתם יודעים, מאוד מגוון ועם המון Use Cases, ונדבר על זה כמובן בהמשך כי זה כמובן רלוונטי.בעצם משם - ותיכף אני מגיע לפקאן - בעצם עשיתי תואר שני ודוקטורט בתחום של מדעי המוח ומה שנקרא Computational Neuroscience - שזה בעצם מודלים, שמסבירים איך המוח ואיך רשתות ומשפחות של נוירונים מייצרים פעילות.(רן) זאת אומרת - התחלת מרקע סופר-טכני, Security ו-Databases וכאלה - והלכת לאקדמיה, והיום אתה, ככה, איפשהו באמצע, אני מנחש - גם מבין את הצד העסקי, כי עבדת עם הרבה לקוחות כאלה, מבין מה הם רוצים ומה האילוצים שלהם, וגם אתה מביא את הרקע התיאורטי והאקדמאי בסיפור הזה.(אורי) אגב, איפה לומדים או איפה עושים כאלה תארים - בארץ?(נועם) בטח - בארץ, באוניברסיטת תל אביבהתואר הזה היה באוניברסיטת תל אביב, יש שם חבר’ה מאוד חזקים בתחום של Computational Neuroscience, יש את בית ספר סגול, שממש מוביל את זה.וזה באמת על התפר - ואני נורא אוהב את זה, רן - זה על התפר הזה, וזה גם מה שכל כך דיבר אליזה התפר שבין, מצד אחד, עולם המחשבים - יש פה איזשהו חיבור בין מחשבים לבין עניין באמת תיאורטי, מחקרי, מוח, באיזשהו מקוםכשכמובן שהחיבור ביניהם נופל לתוך Machine Learning, וככה באמת דברים התגלגלו להם.(רן) אז היום אתה בפקאן - ספר לנו קצת על מה שאתה עושה שם ומה עושה החברה(נועם) אז אולי אני אספר איך הפקאן נולד לו . . . באמת, בעצם זה התחיל, אם טיפה נחזור לתואר השני - על היום הראשון של התואר השני אני פוגש איש יקר שקוראים לו זוהר - ואנחנו מתחברים, ניהיים חברים מאוד טוביםלמעשה, את כל הדוקטורט עשינו ביחד, את כל המאמרים שפרסמנו - פרסמנו ביחדובעצם עם זוהר, שהיה לנו את החיבור הזה, סיימנו את כל מה שהיינו צריכים ל-PhD ואמרנו “אוקיי - מה עכשיו? מה הצעד הבא?”ואני זוכר הליכה, ככה, שאנחנו עושים באוניברסיטה, וזוהר אומר שתמיד היה לו חלום לעשות AI - ואז אמרנו שחלומות חייבים להגשים.אנחנו שוכרים חדר קטן מול האוניברסיטה - ומתחילים לעשות מחקר.וככה מתגלגלים בעצם לתוך פקאן.מה זה פקאן? מה זה כל הסיפור?הרעיון - זה מה שאנחנו מבינים בתחילת הדרך - זה שלייצר מודלים של Machine Learning, מודלים פרדקטיביים (Predictive), זה מאתגר, זה לא דבר פשוט.וזה דורש, כמובן, Data Science ו-Data Scientists שמכירים מאוד טוב את המקצוע, ורק הם יכולים באמת לייצר את אותם מודלים נחשקים, שיעזרו אחר כך כדי בעצם לקחת את העסק שלנו, ולהביא את אותם ניבויים - כדי שנוכל לייעל את העסק, ולהביא באמת למקום שהוא טוב יותר.(אורי) אבל אנחנו מדברים לא רק על Data Scientist שמכיר את עולם ה-Data Science, ומביא ניסיון משם, אלא גם צריכים להכיר את ה-Domain, את עולם הבעיה.(נועם) מדהים, בדיוק - זאת נקודה כל כך משמעותית, וזה מה שהביא אותנו לפקאןבעצם, מה אנחנו עושים בפקאן? פקאן מיועדת לא ל-Data Scientists, זאת נקודה נורא חשובה - היא מיועדת ל Data Analystsהיא דווקא מאפשרת בדיוק לאותם אנשים, שמגיעים בדיוק מתוך . . . כמו שאמרת - אתה צריך להכיר את עולם התוכן, זה לא מספיק שאתה יודע Data Scienceאתה צריך להכיר את עולם התוכן שבו אתה פועל - ובאמת פקאן בדיוק מיועדת לאנליסטים, שמכירים מאוד טוב את עולם התוכן, אבל לא מכירים מספיק טוב סטטיסטיקה, לא יודעים . . . בעצם, אין להם את הכלים כדי לייצר מודלים פרדיטיביים (Predictive) - והיופי של פקאן זה שאין צורך לדעת בעצם Data Science, על מנת לייצר מודלים.זו בעצם פלטרפורמה ראשונה שבאמת מאפשרת לאנליסטים - ולא ל-Data Scientists - לייצר מודלים פרדיקטיביים של Machine Learning, וזה מה שכל כך מיוחד בפלטפורמה.(רן) בוא ניקח כמה דוגמאות, זאת אומרת - אנחנו יודעים, בעולם, שמודלים של Machine Learning יודעים לנהוג במכוניות - ככה-ככה, לא תמיד זה עובד - יודעים לראות תמונות ולהבין, לפעמים לצייר ציורים, יודעים לפרש Natural Language , יודעים הרבה מאוד דברים - אבל אלו עולמות שונים לגמרי, כל עולם ומלואו שונה לחלוטין מהשני.יש בתחומים העסקיים דברים כמו מידול של התנהגות לקוחות, גם בנושא של קמפיינים יש לא מעט . . . מכל הדברים הגדולים האלה, מה פקאן יודעים לעשות?(נועם) אז זו נקודה מצויינת, ואגב - כשיצאנו לעולם, ראינו שבאמת כל אחד, כשמדברים על AI וזה כל כך פופלארי וזו כזו Buzzword - לכל אחד יש משהו אחר בראש, ובאמת יש כל כך הרבה סוגי מודלים.אז בפקאן, אנחנו קודם כל מתמקדים, מבחינת הנתונים, ה-Data, במה שנקרא Tabular Data - דאטה שיושב בעצם בתוך מאגרי הנתונים.לא מדובר בתמונות אלא באמת במידע טבלאי, שאיתו בעצם אנחנו מייצרים ניבוייםעכשיו, מהו בעצם עולם התוכן שאנחנו לרוב מתעסקים בו בפקאן? אז עולם התוכן שמתעסקים בו בפקאן זה . . .קודם כל, יש מגוון רחב של שאלות שאפשר לענות עליהן, זו פלטפורמה גנריתאבל אם נראה איפה האיזורים שאנחנו מתמקדים בהם, אז מצד אחד אנחנו מדברים על העולמות של עבודה מול לקוחות, Customersלזהות, בעצם, מראש את אותם לקוחות שינטשו - מה שנקרא Churn Predictionאו לדוגמא לזהות מראש מי הם אותם לקוחות שיהיו לנו הכי טובים, כי אנחנו רוצים מראש כמובן לדעת את זה - אנחנו מדברים על ניבוי של מה שנקרה High Value Customersו-Lifetime Value -כל אותם מודלים שמתעסקים בלקוחות.אבל זו משפחה אחת, יש עוד משפחות שאפשר לעשות בפקאן, לדוגמא, סתם כדוגמא - אנחנו מדברים על עולם של Inventory Control, ניהול מלאי.כמובן שבשביל לדעת על המלאי, איך צריך לנהל אותו, צריך מה שנקרא Demand Forecasting, להבין איך המכירות שלנו יהיו.מה שיפה בפקאן זה שיש פה אוסף של שאלות שאפשר לשאול, מהמון סוגים, ומה שבנינו בעצם בפלטרפורמה זה משהו . . . אנחנו קוראים לזה Templates או Use Cases, שמנווטים את ה-User, בעצם לאפשר ולענות של השאלות האלה בצורה מאוד מאוד פשוטה.(רן) אפשר לעשות את זה בצורה כל כך גנרית? זאת אומרת - נגיד, מודל של Customer Live Value Prediction עבור לקוחות - אני מניח שהוא מאוד שונה בין חברת מוניות לבין חנות או מסעדה או כל ביזנס אחר.אפשר באמת לבנות מודל שהוא כזה גנרי, ולמכור את זה ללקוחות כל כך שונים?(נועם) שאלה מדהימה - וזה באמת . . . אגב, בתחילת הדרך, נורא היינו עסוקים בשאלה הזאת.אחד הדברים שהבנו זה קודם כל שזה לא מודל אחד, שאנחנו באים איתו מראש - כל היופי של הפלטפורמה זה שהפלטפורמה מתחברת [ברברס?] לנתונים, לומדת את הנתונים - ובעצם מאמנת את המודל בהתאם לנתונים שיש לך.בעצם, זה לא משנה . . . כמובן שאנחנו מתחילים תמיד עם, אתם יודעים - Go-to-Market שהוא כן עם סגמנטים מסויימים, בעיקר בצד של ה-Marketingחשוב שיהיה לנו את אותו מסר, ושהמסר יהיה מאוד ברור - אבל בסוף זה לא משנהסתם לדוגמא - אנחנו עובדים עם חברות Retail מאוד גדולות, CPG . . . זה לא משנהאו, לדוגמא, חברות בכלל מאיזורים של Gaming - ועדיין זה אותם מודלים.הכוונה היא לא שזה אותו מודל שנוצר, אלה שזה מודל שמתאמן על הדאטה - ובגלל זה הוא גנרי ויודע להתאים את עצמו.(רן) יש לכם איזשהו Tool-set טיפוסי, שאיתו אתם עובדים בשביל המודלים האלה? לצורך העניין, רשת ניורונים או רגרסיות מסוגים שונים או מסווגים מסוגים אחרים?(נועם) נורא חשוב כמובן, וזה גם קשור לשאלה הקודמת שלך - כדי שנוכל להתאים את עצמנו, אנחנו עובדים עם הרבה משפחות.זה לא שאנחנו עובדים עם סוג מודל אחד, אנחנו עובדים עם הרבה משפחות - אבל אני אגיד שהאתגר הכי גדול זה דווקא לא המידול עצמו, המידול הוא החלק, אני אגיד כמעט “הקל”, בסיפור.החלק הכי קשה זה כל ה Pre-processing של הדאטה - ושם באמת, אם אנחנו מסתכלים על סוגי הלקוחות והסוגי נתונים . . תיכף כמובן נכנס לזה, אני משער, קצת יותר לעומק - כי זה באמת אחד המקומות הכי קשים, וזה באמת איך לוקחים דאטה, שהוא כל כך מגוון . . .דיברנו על דאטה טבלאי, וכמו שאתם יודעים - אצל כל הלקוחות, בעצם, המבנה הוא שונה, הטבלאות שונותומה שאנחנו יודעים, וזה חלק שעבדנו עליו מאוד קשה, זה לדעת לפרמל (Formalize) את זה בצורה כזו שלא משנה איזה סוג דאטה יש - אתה תוכל בעצם לחבר [דאטה], ברגע שהוא טבלאי (Tabular), אתה תוכל להכניס אותו פנימה, ובעצם לייצר את המודלים.(אורי) אז היה פה, לפני כמה פרקים, אסף קליין מ-Outbrain, שדיבר על AutoML[פרק 401 AutoML at outbrain with Assaf Klein][והוא אומר] בעצם, “קח דאטה, מסווג או מתוייג ברמה מסויימת, ועכשיו תן למערכת לרוץ עליו”; המערכת תמצא את המודל המתימטי הנכון לדבר הזה, את ה-hyperparameter הנכונים, את ה. . . . אולי אפילו תנקה את הדאטה - ותקבל מודל.אז כעיקרון, אתה לא צריך עבודה, או הרבה עבודה, של Data Scientist - שזה כמובן נכון בתיאוריה . . . אבל אתה לא צריך הרבה עבודת Data Science כדי לבנות מודל, כי המכונות פשוט עושות הרבה ניסיונות ומוצאות משהו טוב . . .(נועם) אז קודם כל - זה היה פרק מרתק, וזה לגמרי נכון - אבל יש “אבל” ענק פה, וסופר-משמעותיאצל אסף, כבר הדאטה, בעצם, הגיע למבנה - ותיכף אני אדבר על זה, כי זה נורא משמעותי - מבנה שמכונות יכולות להבין אותו.התחלת . . . סתם, אני אתן דוגמא ואחרי זה נפרט ויהיה נחמד להיכנס קצת לעומק על ההבדלים ועל מה זה אומר - אבל כדי שמודלים . . . תיקח מידע מתוייג - אבל מאיפה יש ללקוחות שלנו, שהם אנליסטים, מיידע מתוייג? אין להם, הם אפילו לא יודעים מה זה אומר . . .בעצם, צריך להבין את השפה של האנליסט - אותם אנליסטים, שעובדים, לדוגמא, עם כלי BI, ושמביאים ל-Business היום תובנות - לא יודעים את עולם ה-AI, הם לא יודעים בכלל מה זה “מידע מתוייג”.צריך להתחיל איתם בכלל במושגים שלהם - בטבלאות, ואני אתן תיכף דוגמאותאפשר לדבר על טבלה של טרנזקציות - שזה משהו שהם מבינים, טבלה של לקוחות - אז זה הם מבינים.אבל “מידע מתוייג”? - וזה רק דוגמא אחת.אם נלך רגע לעוד דוגמאות, ואני חושב שהן אפילו יותר מורכבות - זה איך בעצם מייצרים פיצ’רים?כל העולם של Feature Engineering זה לא משהו שמכונה יכולה לייצר, כי בסוף צריך להבין את הדאטה.זה בדיוק האלמנט שנקרא “To make sense of Data”.אותם אנליסטים לא יודעים בכלל מה זה אומר Feature Engineering, הם לא מבינים . . .וזה כמובן, וזה נורא חשוב - יש גם אנליסטים שכן יודעים, אבל אם נסתכל על ה-Bulk הגדול, שבדרך כלל מתעסקים ועובדים בעולמות של BI - הם לרוב לא יודעים לעומק את העולם הזה, וזה מה שמייחד את ה-Data Scientistאיך לייצר את אותם פיצ’רים, שמייצרים . . . לוקחים את הדאטה הגולמי, ומייצרים ממנו מידע שאפשר להכניס לתוך מודלים.ומה שמאוד מיוחד בפקאן זה שאנחנו עושים את באופן אוטומטי.(רן) באופן אוטומטי מסתכלים על דאטה, שלא ראית לפני כן, של חברה שאתה לא מכיר, שאתה לא מבין מה ה-Business שלה - ואתה עושה מזה משהו הגיוני? . . . טוב, אז אולי ניכנס פנימה ונבין איך זה עובד.(נועם) מהמם.אז (א) - חשוב [להבין]: אין פה קסם - זה הכל Engineering שמחבר את הדבריםאבל כן אני אתחיל ואגיד, וזה באמת המקום שבו . . . אתם זוכרים את אותו חדר קטן שדיברנו עליו, מול האוניברסיטה? שם כל הרעיונות נוצרו, מבחינת הבסיס, באמת.כי מה קרה? קיבלנו דאטה של לקוחות, ובתוך התהליך קיבלנו עוד דאטה ועוד “דאטאות” שונים, ובאמת בכל פעם היינו מייצרים מודליםוראינו את אותם מקומות והבנו שבעצם כן - יש פה קו מנחה אחד שעובר בתוך כל המקומות האלה.וזה אותו מקום, שהבנו שכן אפשר לייצר את אותו Framework, שהוא מאוד משמעותי - ובעצם הוא מדבר לכל אחד שמבין דאטה, ודרכו אנחנו מגיעים למודל.עכשיו - למה אני מתכוון? כי זה נשמע עדיין מאוד אמורפי, אז קצת ניכנס לתכל’ס - בסוף, אם חושבים על זה, בעצם כדי להגיע למודלים פרידקטיביים (Predictive), יש את אותן קומפוננטות (Components) נורא חשובות שצריך להכיר אותן - אנחנו קוראים להן The Four W’s, וזה לא מכונית שנוסעת, זה לא אוטו שיודע לנסוע, אלא זהא. Who - עבור מי עושים את הפרדיקציה?ב. When - מתי עושים את הפרדיקטציה? - וזה נורא חשוב, תיכף אתם תבינו איך זה בונה את כל העולם תוכןג. ברגע שאנחנו יודעים עבור מי עושים את הפרדיקציה ומתי, נשאר לנו What - מה אנחנו רוצים בעצם?וזה אותו מקום אגב . . . מה שאנחנו רוצים לחזות, אותו מקום של מידע מטוייב.אז אנחנו לא מבקשים מה-user שלנו, בעצם, להביא מידע מתוייג - אנחנו נתייג אותו בשבילו.איך נעשה את זה? אנחנו מבינים את עולם התוכן, אנחנו מבינים שמדובר ב-Life-Time Value או ב-Churn, אנחנו רק צריכים עכשיו לדעת מה-user מהי, לדוגמא, טבלת ה-Transactions שלו, או מה היא הטבלה שאליה אנחנו רוצים לסכום.אז בעצם, ברגע שאנחנו נותנים את אותה מסגרת של Who, When, What - וכמובן ה-W האחרון, שזה מה שדיברנו עליו לפני כן - ד. זה With - בעזרת איזו אינפורמציה אנחנו רוצים שהמערכת תייצר את הניבוי?עכשיו, פה מגיע אותו חלק כל כך משמעותי, של “איך אנחנו יודעים To make sense of data?”קיבלנו טבלה - עכשיו, קחו טבלת . . . אפשר לדבר סתם לדוגמא על טבלה שאנחנו מקבלים - שיחות טלפוןרשומות, כשכל רשומה היא שיחת טלפון ל-Support, ורוצים להבין את המשמעותהיופי זה שאנחנו מבקשים מה-user, בעצם, להביא לנו עמודות של זמן, של תאריך - מהו אותו תאריך שבו האירוע קורהומשם אנחנו כבר מזהים את כל העמודות השונות, מה המשמעות שלהן, איזה סוג זה - ומייצרים את אותם פיצ’רים.אני אתן כמה דוגמאות קטנות כדי שתבינו: קחו, לדוגמא, אם אנחנו מדברים על אורך של שיחה, אז מה שמעניין זה, פר user מסויים, לא רק לראות שיחה מסויימת אלא מה קורה על פני הזמןבעצם, אנחנו בפקאן מסתכלים על אוסף של אותן רשומות, ומייצרים להן נגזרת - לא רק לוקחים נקודה מסויימת, אלא ממש מסתכלים על הנגזרת על פני הזמן, ורואים איך יש שינוי.אז אם לבנאדם בתהחלה הייתה שיחה קצרה, ואחר כך יותר ארוכה ויותר ארוכה ויותר ארוכה - מאוד יכול להיות שקורה פה משהו.זה בדיוק אותו מידע שחשוב למודל, ואנחנו יודעים לייצר את אותם פיצ’רים על מנת להגיע, בעצם, למשהו ש Make sense of data.(אורי) אז אם אני מנסה להבין - ה - Secret sauce הוא ב . . . אוקיי, יש לך מידע טבלאי, אני שואל אותך ארבע שאלות - אותן ארבע W’s שלך - וזה מספיק לי בשביל לקחת את המידע הטבלאי שלך - וכמובן הוא חייב לכסות את התשובות של השאלות - בשביל לייצר מזה מידע שאני יכול להכניס ל-AutoML כזה או אחר, ולקבל מודל פרדיקציה?(נועם) לחלוטין - אתה בעצם . . . רק חשוב להגיד: פקאן זה End-to-End Solutionאתה רק צריך לחבר את אותן טבלאות, כמו שבדיוק הסברת, והסברת מהמם, עם אותן Four W’sובעצם מה שאתה מקבל - לוחץ על כפתור, מה שנקרא Train the model בתוך פקאן - ומאותו רגע, בעצם, אתה מקבל מודל מוכן.כמובן שיש את כל ה-Processing של ה-Data, ואם תרצו אפשר להכנס באמת למה שקורה שם - אבל בעצם מעבדים את כל הנתונים, מבינים.עושים, כמובן, מה שנקרא Feature engineering או Feature selection, מידולומגיעים בעצם למודל מוכן - ועכשיו אתה בתוך פקאן, עם מודל מוכןומה שנורא יפה בפתרון, וזה אחד הדברים שנורא ריגשו אותי בפקאן, זה שכשסגרנו את ה-Loop - ואתה יכול ללחוץ על כפתור שאומר “עכשיו תתחיל להשתמש במודל הזה”.אתה לא צריך לעבור למערכת אחרת, אתה בתוך פקאןאתה במה שנקרא “use my model”, ועכשיו אתה יכול להגיד “אני רוצה להשתמש בו” - ולא צריך לעשות שום פעולה במקום אחר.בעצם, אתה רק אומר איזה תזמון אתה רוצה, ועכשיו אנחנו מושכים רק Data חדש, מייצרים את הניבויים - ושולחים אותם חזרה אליך כ-User.(אורי) בעצם, התחלנו את השיחה מ-Machine Learning בעולם האמיתי. . . .(רן) . . . אז בוא אני אתן לך שאלה של Machine Learning בעולם האמיתי . . . (נועם) יש!(רן) . . . כמעט כל מי שעושה איזושהי תיאוריה ב-Data Science או Machine Learning, מסתכל על Data-set מדהים, והוא מריץ כמה שורות ב-Pandas וב-scikit-learn ועוד איזה TensorFlow, והכל עובד נהדרהסיווגים יוצאים בתשעים-ומשהו אחוזי דיוק, והרגרסיות יוצאות יפות והכל סבבה.ואז, כשאתה לוקח את אותו הדבר ואתה רוצה להפעיל את זה על ה-Business שלך - נקרא לזה העולם האמיתי - פתאום כלום לא עובד . . . שום דבר לא מדויק, כל הרגרסיות עקומות, הפיצ’רים לא בכיוון . . . זאת אומרת, כשהמדע פוגש את השטח, את מגלה שיש שריפה בצמיגים.אז אני מניח שאתם, בגלל שאתם רואים הרבה מאוד לקוחות, בטח רואים את זה חדשות לבקרים - וחשבתי שאולי תוכל לחלוק איתנו כמה מהלמידות שלכם בתחום הזה, של איך לוקחים את התיאוריה והופכים אותה למשהו שהוא פרקטי וגם Actionable-י.(נועם) לגמרי . . . אולי נתחיל . . . זה עולם באמת עצום, וזה מרתק, כי זה באמת אותם מקומות, ואני זוכר את עצמי בדוקטורט, מתעסק עם עולם של מידול, ומידול של מוחאם אנחנו מדברים לדוגמא על EEG, ואיך מייצרים משם פרדיקציות . . . ובאמת, יחסית - עולם ורוד . . . זה באמת עולם שבו לדאטה יש מבנה שהוא הרבה יותר ברוראין כאלה פערים גדולים, ובטח כשאנחנו מדברים על אותם Data-sets שאתה באמת מוריד כדוגמא ורוצה לראות והופ! הכל נפלא.אז בואו באמת ניקח כמה דוגמאות, אם מתאים לכם, ונתחיל להסתכל על כמה דברים, ודברים שאנחנו ראינו אותם כמובן - והתמודדויות שצריך לדעת להתמודד איתן.אולי נתחיל, ויש פה כמה איזורים - נתחיל . . . דיברנו קודם על LTV, נכון? (רן) Lifetime Value . . .(נועם) סליחה, Life-Time Value, נכון - לחזות כמה אותו לקוח יהיה שווה - כמובן שאנחנו מדברים על חיזוי, אז יהיה שווה בעתיד.בעולם , אם ניקח, אתם יודעים . . . כמובן, בדרך כלל בדוגמאות האלה, אם אנחנו עושים מתוך רגרסיה איזושהי לדוגמא, כמעט תמיד ההתפלגות היא התפלגות כזאת גאוסיאנית - פעמון יפהוהמודלים - הם אוהבים פעמונים, טוב להם לשמוע את הצליל הזה, תמיד נעים להם מאוד . . אבל במציאות . . .(אורי) כמו פרות בשוויצריה . . .(נועם) בדיוק . . . אבל . . .(רן)בדיוק חשבתי על הגיבן מנוטרדאם, אבל בסדר, פעמון זה פעמון . . .[יותר בכיוון של High Hopes . . . ](נועם) אז אני אגיד - הגיבן מנוטרדאם זה באמת יותר איך שהדאטה נראה, והוא לא נראה כל כך ישר ויפה . . .(אורי) יש לו גיבנת . . .(נועם) יש לו גיבנת, ויש לו אחר כך גם זנב . . . לא חושב שהיה לו זנב, אבל במציאות יש זנב ארוך, שם בתוך ההתפלגות.ובאמת זה מה שרואים - בדרך כלל, כמו שאתם יודעים, במציאות, בהרבה מאוד מקרים דווקא יש מעט לקוחות שמביאים בעצם את רוב ההכנסותהם אותו הזנב - וההתפלגות נראית קטסטרופה, ועכשיו לך תתמודד עם הדבר הזה.מודלים נראים קטסטרופה במצב הזה, וההתמודדות שם היא מאוד קשה, היא לא . . . זו דוגמא קטנה להתמודדות ראשונה(רן) זאת אומרת - אנחנו מדברים על מצב שבו ה-Target שלך, מטרת היעד - אולי בספרות היא נראית כמו איזשהו פעמון גאוסיאני מאוד יפה, אבל במציאות זה נראה ברדק שלם, ואז המודל לא יכול . . . הוא כנראה לא יעבוד טוב במצב כזה.(נועם) נכון מאודבעצם, הרבה פעמים הסיבה היא שבהרבה מאוד מהמודלים יש הנחה, בתוכם - הנחה, שמניחה שבאמת ה-Target, יש בו התפלגות גאוסיניתומה לעשות שהנחות נועדו כדי שהן לא תתקיימנה, כמובן [Normal’s overrated].(רן) טוב, אתה יודע - המרצה לסטטיסטיקה יגיד “במספרים מספיק גדולים, זה תקף”, אבל זה המספרים שיש לי, אין לי מספרים מספיק גדולים . . .[והם גם כמעט אף פעם לא בלתי תלויים, או שווי התפלגות . . .](נועם) אגב, גם ב”מספיק גדולים” פה - זאת בעיה, כי זאת המציאות פהואנחנו מתעסקים עם מספרים מאוד גדולים - וזאת עדיין ההתפלגות, כי זאת פשוט המציאות[ד”ש לאסימוב?]אתם יודעים מה? אני מגיע מעולם של פסיכולוגיה, ובאמת בפסיכולוגיה, אנחנו כבני אדם - הרבה מאוד מההתפלגויות הן באמת גאוסיאניות, אבל דווקא בעסקים זה נראה מאוד מאוד שונה.ובאמת בדאטה עסקי, אנחנו לא רואים את אותה התפלגות גאוסיאנית[אקספוננציאלית? Log-Normal?]אני משער שיש פה . . . לא יודע אם אתם מרגישים את המתח של “רגע, מה עושים, איך מתמודדים עם זה?” . . .(רן) לא - אני רק שואל את עצמי מה ההתפלגות, נו? . . .(נועם) אז אולי אני אתן לכם רק . .. כמובן, יש פה כמה טיפים, אבל איך בכלל ניגשים לשאלה כזאת? אני חושב עכשיו על האנשים ששומעים [ומנסים לתמלל!] אותנו, ואומרים “רגע, יופי! הוא - יש לו מלא דאטה של לקוחות, קל לו, אבל אני בבית, איך אני יכול לעשות? מה אני יכול לעשות?”את תדעו לכם - זוכרים שהתחלנו בעצם, ככה בגאראז’ שלנו - תמיד מתחילים מדאטה, שבעצם הוא סימולציה, מייצרים סימולציות, זה מאוד חשובכי בעצם, דרך סימולציה, אפשר גם לייצר את החוק, והדרך הכי טובה להתחיל מחקר בעולמות של Machine Learning זה קודם כל לייצר קוד שמסמלץ (Simulates) את הנתונים, ומשם בעצם לומדים איך הכי נכון לייצר את אותם מודלים.[הקשר מעט אחר אבל קצת רפרנס ל In order to scale you have to do things that don’t scale ול- Do Things that don’t Scale]תמיד עבדנו, בעצם יצרנו סימולציה של מידע שיש לו זנב מאוד ארוך, עם חוק מאוד מסוייםכמובן בצורה של Rule-based, פשוט בשביל הסימולציה - אין צורך . . . פה זה לא מקום שצריך הרבה יצירתיות - דווקא מעט יצירתיות היא מאוד טובה פה - משהו פשוט.ורוצים לראות שהמודלים, גם עם “ההתפלגות הבעייתית”, יודעים לעלות על החוק, כאשר זו סמולציה פשוטה.קודם כל צריך לפצח את זה - אם לא תפצחו את זה, לא תצליחו לפצח גם מידע שהוא הרבה יותר מורכב בחוקיות שלו.(אורי) אז אתה אומר “אני מסתכל על מידע אמיתי; אני מזהה את החוק או את הבעיה; ומסמלץ את המידע הזה לצורך משחק עם המודל” - כשבעצם, כשאתה מייצר מידע סינטטי, אתה מסמלץ מידע שהוא סינטטי, אבל מכיל את הבעיה . . . מכיל בעיה אחת, וכנראה שבדאטה האמיתי מסתתרות עוד כמה בעיות.זא אומרת - אני קודם כל מייצר לי את המודל שמצליח לעלות על הבעיה שבעצם סימלצתי; אני אראה שהמודל עובד על זה, ואז אני אעבור לבעיה הבאה.(נועם) בדיוק - אי אפשר להתחיל מלפתור את כל הבעיות, זה פשוט בלתי אפשרי, זה לא . . . זה מאוד מאוד קשה.ובאמת, הדרך שלנו לפעול זה כל פעם לקחת בעיה, לראות איך הדרך הנכונה להתמודד איתה, ודרך אותן סימולציות באמת להבין איך נכון להתמודד עם זה, אני מתחיל את המחקר שם.כמו שאמרת - אתה משחק, אתה גם חוקר, מבין איך נכון בעצם לפעול - ועכשיו לוקח את זה לעולם האמיתי.(רן) לצורך העניין, בדוגמא שלנו, אתה אומר “סבבה, המודל עובד על התפלגות גאוסיאנית - אבל מה לעשות, ההתפלגות היא, Whatever - אקספוננציאלית או Weibull או משהו אחר כזה, לא כל כך יפה - אז בואו נסמלץ (Simulate) התפלגות אקספוננציאלית, ננסה להתאים את המודל עליה, ואחרי שעברתי את זה אני אעבור לדאטה האמיתי, ושם אני אעשה את התיקונים הנדרשים”. אבל . . .(אורי) או שאני אקח את הבעיה הבאה בדאטה האמיתי - ואני אסמלץ גם אותה ו . . .(רן) כן, אבל זה נשמע כאילו “שלב מיותר” - למה לעבור דרך סימולציה, אם כבר יש לי את הדאטה? זו שאלה אחת.ושאלה שנייה - אולי אתה פותר בעיה קלה מדי? זאת אומרת, אז עשיתי סימולציה, אבל הסימולציה פשוט לא מספיק נאמנה לדאטה האמיתי או, לא יודע, אולי יש לי איזשהו Bias בדאטה, אולי יש לי הרבה אנומליות - כאלה שמה לעשות? אני לא מסמלץ אותן, וכשאני מגיע לדאטה אז שוב אני בפני שוקת שבורה, וכל העבודה שעשיתי לפני - אי אפשר להשתמש בה.(נועם) שתי נקודות מאוד מאוד טובות וחשובות . . .אני אתחיל, רגע, מהראשונה - על הנקודה שאמרת שאולי יש פה מצב שבוא אתה פותר בעיה אחת, שהיא יחסית “פשוטה”נכון - אבל אנחנו לוקחים את זה . . . “אבל בעצם יש לך את הדאטה, למה אתה צריך את ה[בעיה ה]פשוטה?”כשאתה מתמודד עם כל הבעיות “במכה”, אין לך מושג האם התקדמת . . . אתה כל פעם נתקע, וזו הבעיה הכי גדולה, אגב, ב-Data scientists שמתמודדים עם דאטה כזה - הם לא יודעים האם הם מתקדמים.אתה כל פעם עשית משהו, אבל “רגע, זה לא עבד לך”,אז אתה מנסה משהו אחר, ו”רגע, זה לא עבד”.אבל זה לא עבד בגלל עשרים מחסומים בדרך - ואם אתה לוקח כל מחסום ומחסום בנפרד . . . ותראו - אני אומר לכם את זה אחרי שעברנו את המחסומים, ואחרי שאנחנו באמת כבר מייצרים מודלים ללקוחות על דאטה אמיתי ורואים ביצועים מאוד טובים - זה בדיוק דרך אותה שיטה של בכל פעם לקחת את המחסום לבד הצידה, עם דאטה הרבה יותר פשוטכי אם לא תעשו את זה עם מידע יותר פשוט, לא תדעו מה הדרך להתמודדומשם לעבור למחסום הבא.שוב, אני מקווה שהצלחתי להעביר - זה לא שזה נעשה בצורה אטומטיתאותם . . . הדרך של “כל פעם לעבור את המחסום”, זה אצלנו, כמובן, יש צוות של Data scientists, חבר’ה מאוד חזקים, שמסמלצים את הבעיה.הבעיות, בסופו של דבר, חוזרות על עצמן - אלו לא בעיות שלכל לקוח זו בעיה שונה, דברים חוזרים על עצמם.אבל הדרך להתמודד היא באמת לקחת מחסום כזה ולהבין איך מתמודדים איתו.(אורי) אז אפשר גם לסמלץ ואפשר גם לנקות, לא? כאילו - אתה יכול לנקות בעיות מהדאטה . . .(נועם) לגמרי . . . מה שדיברתי בסימלוץ זה תמיד כשאי אפשר לנקות, אבל לגמרי - אנחנו מנקים, וזה מאוד חשוב.וזה לגמרי, קודם כל . . . זה תהליך שלם, בתוך ה-Pipeline שלנו, זה כמובן לעשות Cleansing לדאטה, Wrangling של הדאטה . . . וזה תיכף, אפשר קצת לדבר גם . . . אתם יודעים, מדברים על “דאטה מלוכלך” - מה זה “דאטה מלוכלך” בכלל?אני מקווה שנספיק, כי אני לא יודע כמה זמן יש ויש המון נושאים וזה מרתק . . .אומרים “דאטה מלוכלך”, אבל כל אחד מתכוון לדברים שונים . . .אבל כמובן - אם אנחנו מדברים על Missing Values שזה מאוד חשוב, אם אנחנו מדברים על טעויות בתוך הדאטה . . .אלמנט מאוד מאוד חשוב זה גם Data Type - מה ה-Type שלי? הם אני תאריך או לא תאריך? ואיך אני מייצר את התאריך? ואיזה תאריכים . . . ורגע, אולי יש לי פתאום תאריך עתידי בדאטה, בטעות, שאתם יודעים - תמיד נכנסים תאריכים לא נכונים כאלה פה ושםאלו בדיוק אותם מקרים שמאוד משמעותי לנקות אותם, לפני שיוצאים לדרך, לגמרי.(אורי) אז הזכרת Data scientists שיושבים על הדאטה ועובדים עליו . . . כמה מה-Workload של מלקחת לקוח ועד שאתה יודע לתת לו מודל פרדיקציה (Prediction Model) . . . זה קשה להגיד את זה אבל . . . (רן) אתה מתכוון לשאול כמה מזה אוטומטי וכמה מזה . . . (אורי) . . . כמה מזה אוטומטי וכמה זה עבודה . . .?(נועם) יש לי תשובה מאוד פשוטה לזה, מאוד פשוטה . . . אני אגיד לכם למה - וזה אגב, בחווייה האישית, תחשבו בתור, אתם יודעים - מישהו שזה “הבייבי שלו”, ויוצא לדרך - אתה לא יודע לאן אתה הולךואני יכול להגיד לכם - רגע שבשבילי היה ללא ספק משמעותי מאוד בדרך זה כשעבדנו עם לקוח מאוד גדול, חברת Retail אמריקאית ענקית, אני כמובן לא יכול להגיד את השם . . עבדנו איתם והם אמרו “אנחנו רוצים, כמובן, פיילוט - רוצים לראות מה אתם יכולים לעשות”ובעצם לקחנו ככה, ביקשנו מהם את הדאטה והכנסנו אותו לתוך המערכת, ביחד איתם הכנסנו את זה לתוך המערכת - ותוך שבועיים, בעצם, הגענו למודל שהם במשך שנה עבדו עליו - זה הסדרי גודל.וזו הייתה הפעם הראשונה - אחרי זה הגענו לעוד לקוח, ובדיוק אותו סיפור: שנה שבה הצוות עובד - ואתם יודעים איך התהליכים, ואפשר אולי לדבר על התהליכים של מה זה לייצר מודל - זה גם קשור לדאטהזה גם קשור, כמובן, ללהבין ולחבר את זה לשאלה שהיא מוגדרת היטבלנקות את הדאטה, להריץ מודל . . .עכשיו - זה לא פעם אחת: אתה כל פעם עושה סייקלים (cycles), אתה בכל פעם רוצה לשפר ועושה סייקליםוזה היופי - זה מצא. בתוך פקאן, אתה מצליח, בתוך שבועיים - ותיכף אני אדבר על למה זה כל כך מהיר ואיפה באמת, כמו שדיברת, איזה Workload זה לוקח - אל מול שנה.וזה לא לקוח אחד - אנחנו מדברים על הרבה לקוחות שזה בדיוק מה שאנחנו שומעים.והיום, כששואלים אותנו מה ה-Value שלנו . . . פעם, היינו אומרים שה-Value הכי גדול של פקאן זה באמת לאפשר למישהו שלא מכיר לייצר מודלים - אבל זה הרבה יותר מזה.זה לייצר, בעצם, הרבה מודלים - זה לייצר ולענות על הרבה שאלות עסקיות והיום, כשאתה שואל את עצמך למה שלקוח גדול - ודיברנו על לקוחות באמת גדולים - למה שהם בכלל ידברו איתנו? מה - אין להם צוותים?[אז] יש להם, אבל הבעיה זה שאותם צוותים לא יכולים לענות על הרבה שאלות עסקיות, כי זה לוקח הרבה זמןבעצם, בעזרת פקאן, הם פשוט מחברים את הדאטה ומקבלים את אותו מודל פרדיקטיבי.עכשיו, למה אגב שבועיים? למה לא מיידית? למה עדיין יש פה איזשהו תהליך מסויים? כי באמת, וזה אחד הדברים המשמעותיים, היופי בתוך פקאן זה . . . דיברנו על ה Four W’s, ויש שם קונפיגורציות, יש שם כל מיני קונפיגורציות שאתה יכול לשחק איתןאם, לדוגמא, אנחנו מדברים על Lifetime Value, אז השאלה לכמה זמן אתה חוזה קדימה, ולכמה זמן מראש אתה רוצה לחזות קדימה . . . והיופי בתוך פקאן זה שאתה יכול לשנות את הקונפיגורציה - אתה עושה “Duplicate my Model”, משנה את הקונפיגורציה - והנה, יש לך מודל חדש.אז בעצם מה שאנחנו עושים זה שאנחנו מייצרים כל מיני וריאציות [נושא טעון בימים אלו…] על בסיס קונפיגורציות - אבל לא של Hyper Parameters, זה מאוד חשוב - קונפיגורציות עסקיות, ובעצם מקבלים תמונה מלאה.ועל זה דיברנו, על פער שבין אקדמיה לעסקי - בעסקי, זה לא שאתה בונה מודל אחד בשביל לענות על שאלה; אתה רוצה לקבל את כל . . . בעצם את כל הקשת השונה, ולראות 360 מעלות כדי להבין את הלקוח.ולהבין מה הם המודלים הכי טובים, שאיתם אתה יוצא לדרך.(רן) אז אנחנו ב-Scope של “איזה דברים עובדים נהדר באקדמיה, או איזה דברים עובדים נהדר על הנייר, אבל הרבה יותר מאתגרים בעולם האמיתי” - ובוא נכסה עוד נושא אחד כזה, כי אין לנו את כל הזמן שבעולם.אז דיברת על לקחת דאטה ולסמלץ אותו כדי לעבור, מה שנקרא “פרה-פרה”, כדי לעבור את המכשול הראשון לפני שאנחנו מגיעים למכשול השני . . .איזה עוד בעיות יש שככה נתקלים בהן בדרך כלל בעולם האמיתי, שאולי בעולם האקדמאי הן נראות כאילו הן כבר פתורות?(נועם) אז אחת הנקודות - ובטח אתם תזדהו עם הבעיה הזו, לכל מי שמתעסק עם העולמות של Data Science זו אחת הנקודות הכואבות, ויש לזה גם כמה שמות, זה בא בזויות שונות - מושג של Leakage . . . אחת הנקודות, כ-Data scientist, זה גם אלמנט מאוד קשה, זה באמת מצב . . ובאקדמיה הרבה פחות . . . לא כל כך מתעסקים בכלל עם Leakageזה כמובן תלוי איפה וזה כמובן נושא שמדובר, אבל אם לוקחים את אותם מודלים ומסתכלים, אז לרוב יש באמת . . .הרי כשמסתכלים במאמרים, לרוב אלו Data sets קבועים, מאוד מסויימים - זה לא שבאמת מסתכלים על מגוון רחבאבל ברגע שמגיעים למציאות, ותיכף אני אתן כמה דוגמאות, ודוגמאות באמת של איפה שהדבר הזה נופל ועד כמה הוא מורכב . . אבל Leakage . . . אולי אני אסביר שנייה מה זה בכלל, ואז ניכנס קצת ל . . .בעצם, דיברנו על Machine Learning, אנחנו מדברים על לחזות משהו קדימה בזמן - מה יקרה?אז הדבר הכי מסוכן זה שאיכשהו אנחנו מכניסים לתוך המודל מידע, שבתוכו חבוי מידע מתוך העתיד, שלא ידענו אפילו שהוא מתוך העתיד, ואיכשהו הוא “התחבא” לו שם, בלי ששמנו לבועכשיו ברור שלמודל מאוד “קל”, כי . . זה אמור להיות יחסית קל, כי זה חבוי לו בפנים . . .(רן) יש לו רמז מאוד מאוד ברור, כשאתה בונה אותו, אבל במציאות הרמז הזה כבר לא יהיה קיים, זאת אומרת - בדרך כלל אתה מאמן על מידע שהוא היסטורי, ששם יש לך אינפורמציה מלאה, ואתה “עוצם לרגע עין אחת” כדי לא להסתכל קדימה, אבל בטעות אתה קצת “פותח את האצבעות” וכן מסתכל קדימה, בלי שהתכוונת - וזה ה-Leakage הזה שעליו אתה מדבר.(נועם) בדיוק - ובעצם, כמו . . .מאוד יפה, אני אוהב את הדוגמא הזו עם החצי-עין עצומה וככה, לעצום . . .(רן) אל תשכח לתת זכויות יוצרים!(נועם) אז הנקודה היא באמת, שכשמגיעים לדאטה - ותזכרו, אנחנו מתחברים בעצם למקורות דאטה של הלקוחות שלנו, ממש מתחברים ל-Databases שלהם, למקורות מידע, ו . . . תחשבו רגע קצת על איך נראה מידע בתוך ה-Database - לרוב לוקחים דאטה וגם מעדכניםמעדכנים שם רשומות, ואם אנחנו מעדכנים פתאום רשומה, ומסתכלים עליה ו . . . ממש כמו שדיברת, אנחנו הרי מסתכלים על מידע היסטורי, אז אנחנו לקוחים רשומות ישנות ומשתמשים בהן כאילו הן נוצרו עכשיואבל בעצם הרשומה השתנתה - קרו לה כל מיני דברים . . . המון המון מידע בעצם התעדכן מאז - ואנחנו מניחים עכשיו, כשאנחנו ברגע הפרדיקציה, שזה המידע שיש לנו בידאבל כשנגיע באמת לרגע הפרדיקציה [במציאות] - המידע לא יראה ככה בכלל . . .וזה אותו פער - זה בעצם . . . בגלל זה ה-Leakage הזה: דלף מידע . . .(רן) בוא, רגע, נמציא דוגמא - נגיד, יש לי עמודה שקוראים לה “איכות הלקוח”לפני שנתיים, כשרק קיבלנו את הלקוח, לא ידענו עליו שום דבר, אז שמנו שם, נגיד, “C”.עם הזמן, הלקוח שילם תמיד בזמן, תמיד חזר והכל - וזה לאט-לאט עלה ל-”B” ועלה ל-”A”עכשיו - אתה בא לעשות איזשהו Prediction ואתה רואה בתוך העמודה הזאת שאיכות הלקוח היא “A” - זאת אומרת שזה לקוח ממש-ממש טובאבל במציאות, כש”יוולד” לך לקוח חדש, או לקוח שרק קיים במערכת - הציון שלו לא באמת יהיה “A”זאת אומרת - אם אתה עכשיו מנסה לעשות פרדיקציה מהמקום שבו היית שנתיים לפני כן, האיכות שלו הייתה “C”, היא לא הייתה “A” - אבל אתה לא יודע את זה כשאתה . . . (אורי) אגב, זה קורה לפעמים כשאתה מעלה מודל חדש, ואתה מנסה לבדוק אותו ב-A/B Testing מול מודל ישן - ככל שאתה מרחיב את הניסוי של ה . . . - לא יודע אם A או B, זה לא משנה - את המשקל של המודל “החדש” שלך, “הטוב יותר” שלך - הדאטה שלו מתחיל ללמד את המודל הישן . . . בעצם, פתאום אתה רואה שה-Lift שלך, ככל שאתה מייצר . . . ה-Lift יורד.(נועם) אני אגיד שזו ממש הייתה . . . צריך להגיד לצופים [הצופים בטקסט? כי היתר לרוב מאזינים . . .] - לא העברתי לך שום שטר, אבל זו לגמרי הייתה הרמה להנחתה, וזה באמת . . .זה בדיוק - מה שעכשיו הסברת - זה התחלה, בעצם, של איך שאנחנו מתמודדים עם הבעיה הזו.בעצם, תזכרו כמה קל לקחת מודל בתוך פקאן ולהתחיל להשתמש בו בתוך Production - זו לחיצת כפתוראתה זוכרים את ה-Usage model שדיברנו עליו? - בעצם, נורא קל . . . אין צורך עכשיו לקחת את כל המודל שלנו, לקחת צוות של Data Engineers ולהעלות אותו ל-Production - אתה פשוא לוחץ על כפתור.ובעצם, ממש כמו שדיברת - ברגע שאתה מעלה אותו ל-Production ,אתה ישר מזהה שיש פה בעיה, כי הרי ב-Production אתה כבר עובד עם מידע עדכני, אתה כבר עובד עם המידע החי.שם, זו הרי הפעם הראשונה שאתה תפגוש את ה-Leakageדיברת על ה”חצי-עין עצומה”? שם אתה תקבל אותו “בום לפרצוף” . . .(רן) תביא רטייה, לא תוכל פתוח את האצבעות . . . (נועם) בדיוק . . . ובגלל זה, מה שיפה בפקאן זה שאנחנו מאוד בקלות מזהים את אותם Leakage-ים, רואים את זה, כי אנחנו מגיעים ל-Production נורא בקלות, נורא מהר, מזהים את אותם Leakage-ים ויכולים להתמודד איתם.מבינים בדיוק מה לעשות ובעצם להתקדם קדימה.(רן) אז אתה אומר שבעצם אין פתרון קסם למציאת Leakage - אם הוא שם אז יכול להיות שהוא שם ואתה בחיים לא תזהה אותו, אבל כשאתה פורש את המודל הזה ב-Production, ופתאום אתה רואה ירידה דראסטית בביצועים, אז החשד הראשון הוא שכנראה היה Leakage בתוך הדאטה . . .(נועם) לגמרי . . . יש לנו, אגב, גם עוד כמה טכניקות על לזהות Leakage עוד בבנייה - בדרך כלל, לדוגמא - פיצ’רים שהם כל כך . . . אתם יודעים, אצלנו יש עניין של Feature Importance, ובעצם מזהים Feature שהוא כל כך חשובובדרך כלל כשמדובר ב-Leakage אז הפיצ’רים האלה קופצים נורא-נורא גבוה - כמובן יש התראה על העניין הזה, שיש פה חשש ל-Leakageאבל בנוסף לזה, יש פה כמה מנגנונים בדרך - וכמובן שהאחרון, וההכי בטיחותי, זה באמת המנגנון האחרון שבו אתה מוריד ל-Production, רואה מיד מה קורה, ואם יש בעיה אתה כמובן יכול לתקן.(רן) בסדר, מעולה - אז תראה, אני חושב שיש לנו עוד נושאים לשיחה לאיזה שבועיים, אבל אמרנו שזה יהיה הנושא האחרון והזמן שלנו כבר עבר.כמה דברים, ככה לפני שנסיים - איפה אתם נמצאים בישראל? את מי אתם מחפשים לגייס?(נועם) מדהים . . .אז אנחנו בישראל - האמת שהיום בתקופת הקורונה, “ישראל” זה כבר “איפה בישראל? כל אחד בביתו” . . . כמובן, יש לנו גם משרדים בבורסה [רמת גן], אבל מי שרוצה, אצלנו אנחנו מאוד בתפיסה “ההיברידית”, שמי שרוצה לעבוד מהבית עובד מהבית ומי שרוצה להגיע למשרד כמובן מוזמן.ובאמת אנחנו ממש עכשיו בצמיחה נורא מהירה בחברה - אבל נורא נזהרים על האנשים: אנחנו לא גדלים . . . הקצב גידול של האנשים שלנו הוא . . . אנחנו באמת רוצים את הכי טוביםמגייסים אצלנו כמובן משרות של Data Engineers, אז אם אנחנו מדברים על Frontend ו-Backend, ללא ספק.ו-Data scientists, כמה מפתיע . . . אבל באמת, אנשים מאוד חזקים בעולמות האלה.אפילו יש לנו משרת ניהול ל-Data Scienceוכמובן עולמות גם של Product ו-Data Analysts.אולי עוד משהו אחרון לסיום, אם יש לנו עוד שנייה אחרונה, אנחנו ככה בפרסומות . . .אז פרסומת לתחרות מאוד מגניבה שאנחנו עושים , בעולמות של Pythonאז לכל התותחי Python ששומעים אותנו - הכנסו פשוט ב-LinkedIn ל-Pecan.ai, אתם תראו שם פרטים על התחרות בעולמות של Pythonסופר מעניין, ממליץ בחום - וכמובן: פרס . . (רן) Python גנרי או משהו, ככה, יותר מפוקס על Machine Learning?(נועם) לא - לא, Machine Learningהיה לנו חשוב, הפעם . . אנחנו עושים גם Machine Learning, עושים תחרויות Machine Learningהפעם היה לנו חשוב שזה יהיה Python רחב - יהיה שם באמת . . .אני לא יכול לספר מה יש בתחרות עדיין, אבל זה הולך להיות אתגר סופר-מעניין(רן) מתי זה קורה? אם מישהו שומע את זה בעתיד [Leakage . . .], מה התאריכים?(נועם) אז אנחנו מדברים על אמצע מאי - פשוט תיכנסו, אתם תראו שם את כל הפרטים.מאמצע מאי התחרות יוצאת לדרך - ובעצם אתם מוזמנים . . .(אורי) זה מידע מהעתיד . . . (רן) כן, לגמרי . . .(אורי) אולי יש לנו Leakage? . . . (רן) ולא עצמנו עין[תמיד יש את Childhood's End](רן) טוב, נועם - תודה רבה, שיהיה לכם בהצלחה בפקאן, נשמע כמו מקום עם מוצר בהחלט מאתגר ומעניין(נועם) תודה רבה לכם, תודה שהזמנתם אותי לכאן, ממש שמחתי(אורי, רן) תודה ולהתראותהקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול
Meet the next generation of technologists and the Microsoft programs that support them. Jennifer Ritzinger and Pablo Veramendi talk with us about the developers you want for your next round of interns! Skilled students are building sophisticated solutions serving many industries and in this conversation we discuss how Microsoft is supporting them.Show LinksMicrosoft benefits for studentsImagine Cup HomeImagine Cup on TwitterProgramming with Python | Python for BeginnersMicrosoft’s Student Ambassador ProgramMicrosoft Learn for StudentsMicrosoft Imagine AcademyMicrosoft Learn on TwitterAzure for StudentsStudent Developer BlogMicrosoft Education Hollo TeamShow TranscriptGuestsJennifer RitzingerSenior Director, Developer & Platform EvangelismJennifer leads a team responsible for Microsoft’s Tier 1 technical customer events for both IT Professionals and Developers, including BUILD, PDC & MIX. Oversees keynote & content strategy, brand, marketing & demand generation, digital development, plus business responsibility.Follow Jennifer on LinkedInPablo VeramendiPablo is passionate about building meaningful communities and thriving on creatively leveraging technology to develop innovative solutions and help others believe and achieve what is possible.Follow Pablo on LinkedInFollow Pablo on Twitter at @IAmPablo
如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter -- 这一期 laike9m 做客牛油果烤面包播客,一起聊了聊世界第一编程语言 Python 的前世今生。 嘉宾:laike9m 主播:斯图亚特、Vindy、Cat Chen 剪辑:王立冰 本期内容 Python 有多流行 Python 流行的原因 Python 的性能 Python 的历史 Python 的未来发展方向 吐槽 Python 2 到 3 的升级 相关链接 牛油果烤面包播客: https://avocadotoast.live/ 两个编程语言排行榜 PYPL The TIOBE Index The Zen of Python Lua 的速度为什么比 Python 快? - 刘缙的回答 - 知乎 My Reaction to "Under Discussion: The Performance of Python" ABC language 捕蛇者说 Ep 16. Goodbye Python 2, Hello Python 3! Why Python 3 exists 捕蛇者说 Ep 01. 新人到底需要什么 Codecademy 《Fluent Python》(《流畅的 Python》) 图片截取自 Image by Gerd Altmann from Pixabay 片头片尾音乐: Courante 1st Cello Suite Exzel Music Publishing (freemusicpublicdomain.com) Licensed under Creative Commons: By Attribution 3.0 http://creativecommons.org/licenses/by/3.0/
Comments in Python Programming Language --- Send in a voice message: https://anchor.fm/the-ddsry-show/message
What is indentation in Python ? • Indentation describe the block of code. • Generally 4 white space are used for in Indentation and are preferred over tabs button. • If you want to use indentation Python press TAB button in your keyboard. --- Send in a voice message: https://anchor.fm/the-ddsry-show/message
What is the meaning of Program in Programming World ? • A Program os a set of Instructions that tells the Computer to perform specific tasks. What is the Function of an Interpreter in Python ? • To convert Source code into byte code and then to native Computer Language ( Binary Language 1 and 0 ). --- Send in a voice message: https://anchor.fm/the-ddsry-show/message
3 things about, Why Python ? • First Simple Syntax, Python is easy to Understand and write Python code. • And in Python you do not need to define the type of variables. • In Python code it is not necessary to add a semi-column at the end of the line of code or statement. --- Send in a voice message: https://anchor.fm/the-ddsry-show/message
Today DDSRY is going to tell you about What is an Interpreter in Python Programming Language ? • It is a program that translate or interprets our Python code into instruction that a computer can understand. • So when we run the Python program then, the Python interpreter start executive program line by line from the top. --- Send in a voice message: https://anchor.fm/the-ddsry-show/message
В шестом эпизоде мы пьём кофе с senior Python-разработчиком Рауаном Курмет и говорим про Python: - Действительно ли каждый прогрессивный человек должен научиться кодить, чтобы остаться востребованным на рынке интеллектуального труда в новой реальности? - Кем можно работать и сколько зарабатывать, если освоить Python? - Правда ли, что Python — самый легкий язык программирования? - Зачем в Kolesa Group строят искусственный интеллект по имени «Гермиона»? Рауан отвечает на все эти вопросы и рассказывает про свои проекты, написанные на Python. А также делится полезными ресурсами для самостоятельного изучения: 1. Learning how to Learn. Dr. Barbara Oakley — https://www.coursera.org/learn/learning-how-to-learn 2. Python на Code Academy — https://www.codecademy.com/catalog/language/python 3. Heroku (https://www.heroku.com) — облачная PaaS-платформа, поддерживающая ряд языков программирования, куда можно заливать pet project, чтобы показать его миру. 4. Ссылка на GitHub Рауана — https://github.com/ra1ski 5. Ссылки на статьи про «Гермиону» и другие микросервисы Kolesa Group: - https://the-steppe.com/lyudi/germiona-iskusstvennyy-intellekt-made-in-kazakhstan - https://informburo.kz/stati/chto-takoe-data-driven-i-komu-vygodno-vladet-bolshimi-dannymi-v-kazahstane.html - https://bluescreen.kz/coding/fantasticheskie-mikroservisy-i-mesta-gde-oni-obitajut/ Хотите предложить тему или героя? Гоу в Telegram-канал "Код и Кофе" - https://t.me/codecoffeepodcast Там есть контакты авторов подкаста. Мы будем рады пообщаться с вами!
In this episode we learn about one of the largest species of snakes in the world, the Burmese Python. Please enjoy as Jasper talks about this very interesting reptile.
Today I want to talk about 19 web development misconceptions Checkout the How To Code Well Amazon store: https://www.amazon.co.uk/shop/peterfisher Women can't code Women code better on the frontend Web development is getting easier You need a degree to be a professional web developer You need a Computer Science degree to be a programmer A software engineer is different to a software developer Frontend developers are not software engineers You can't be a web developer after you're 30 years old Vue is better than React React is better than Vue PHP is better than Python Python is better than PHP Programmers with larger online audiences always speak the truth You must use a framework You need expensive equipment to be a web developer You can't code on a tablet You need internet access to learn to code Programmers are hoddie wearing hackers with social issues You are less of a programmer if don't code every day. Let me know if you agree them here http://howtocodewell.net/discord
On Episode #03 of "The DDSRY Show" I am going to tell you, What you can do with Python?. ☝You can Create Web Applications. ✌You can Create Websites.
David Bombal and Hank Preston discuss Network Automation, Network Programmability, NetDevOps and the future. What should you learn? CCNA or Python? And many other topics! Net-DevOps: David Bombal interviews Hank Preston Part 1 (Cisco #DevNet) We discussed the following in this call: 1) Hank Preston Introduction 01:02 2) How did you transition from being a traditional Network Engineer to a NetDevOps Engineer? 02:55 3) What would you recommend as the first step? 05:46 4) What should I start with? Ansible or Python? 08:19 5) Should I study CCNA or Python? CCNP or Python? CCIE or Python? 14:38 6) Hybrid Engineer, Next-Gen-Network Engineer, NetDevOps 7) What is DevOps? NetDevOps? 23:45 8) Is there a Cisco NetDevOps certification? CCNA/CCNP/CCIE type path? 29:54 9) What is DevNet? Is DevNet free? 33:30 10) DevNet Overview Demo (Free labs, free training, free resources, get support): 35:29 11) DevNet RESTCONF, NETCONF demo: https://youtu.be/o3CaEaVfCP0 Links discussed in the video: DevNet Home Page: http://cs.co/9002DQ3Tu Learning Tracks (2 suggestions): http://cs.co/9008DQ3nY http://cs.co/9000DQ3XG Coding Fundamentals Learning Module: http://cs.co/9000DQ3XQ Network Programability Basics Video Course: http://cs.co/9005DQ3kJ CCNA or Python: https://blogs.cisco.com/developer/how-do-i-get-started-learning-network-programmability Why is Cisco teaching my Python? https://blogs.cisco.com/developer/why-is-cisco-teaching-me-python LinkedIn: https://www.linkedin.com/in/hpreston And feel free to join and post into the DevNet Group on Linked In: https://www.linkedin.com/groups/6609150/profile Should you Facebook or Instagram: https://www.facebook.com/ciscodevnet/ https://www.instagram.com/ciscodevnet/ David's details: YouTube: www.youtube.com/davidbombal Twitter: twitter.com/davidbombal Instagram: www.instagram.com/davidbombal/ LinkedinIn: www.linkedin.com/in/davidbombal/ #Python #Python_or_CCNA #Python_or_Ansible #NetDevOps
ШОК! СЕНСАЦИЯ! Это последний выпуск Python Junior подкаста. Что же будет дальше?
Today, we are talking with Mattan Griffel (@mattangriffel) about how to learn Python. Mattan teaches code to MBAs — at Columbia Business School. He also teaches the Learn Python course here at One Month. Why learn Python? Python is one of the most popular languages for data analytics and web development "Python is the new Excel" being used in business school finance classes. Google, Instagram, Uber and many more companies are using Python. “Forget Wall Street lingo. The language Citigroup Inc. wants its incoming investment bank analysts to know is Python” — Bloomberg, 2018 (that quote says it all). In this episode, we discuss: * How long did it take Mattan to learn Python? * What is a great first project to build in Python? * What is the best programming language to learn first? * What are some free Python resources? Learn Python with Mattan at www.onemonth.com — that's also where you can find all the transcripts and shownotes from this episode.
W tym odcinku Łukasz Kobyliński rozmawia z Michałem Gałką o Pythonie - dlaczego wciąż zyskuje popularność, gdzie dobrze się sprawdza i jaka jest przyszłość tego języka programowania. STRESZCZENIE ODCINKA Jak wyglądała Twoja droga do zostania programistą? Czy naukę programowania warto zacząć od Pythona? Czy Python staje się coraz bardziej popularny? Dla kogo i do jakiego typu zadań jest Python? Python i świat Data Science - czy to się łączy? Dlaczego Python wykorzystuje się w tak wielu miejscach? Na czym polega uniwersalność Pythona? Dlaczego Ty wykorzystujesz w swojej pracy ten język? Do jakiego typu zadań? Dynamiczne typowanie. Wada czy zaleta Pythona? Python w przyszłości - jak się rozwinie, do czego będzie się wykorzystywało, jego potencjał?
hello,这里是《科技最前沿》,喜爱科学的你来啦,我是你的老朋友微信公众号——丘孔语论。科技最前沿,主要从丘孔语论比较感兴趣的几个领域来谈论科学科技,可能涉及天文、物理、互联网/IT、人工智能/Ai、数码/手机、编程、大数据、商业大佬、创新创业创客、化学、医学、养生、心理学、灵性等领域;认识天地,开阔思维,重塑自我。原创 Linux中国 2017-04-25 17:39优化你最贵的资源。那就是你,而不是计算机。 选择一种语言/框架/架构来帮助你快速开发(比如 Python)。不要仅仅因为某些技术的快而选择它们。 当你遇到性能问题时,请找到瓶颈所在。 你的瓶颈很可能不是 CPU 或者 Python 本身。 如果 Python 成为你的瓶颈(你已经优化过你的算法),那么可以转向热门的 Cython 或者 C。 尽情享受可以快速做完事情的乐趣。 -- Nick Humrich本文导航-速度不再重要 …… 03%-速度是唯一重要的东西 …… 10%-一个微服务的案例 …… 16%-CPU 不是你的瓶颈 …… 22%-如果 CPU 时间是一个问题怎么办? …… 35%-那么,Python 更快一些吗? …… 39%-但是如果速度真的重要呢? …… 56%-优化 Python …… 78%编译自: https://medium.com/hacker-daily/yes-python-is-slow-and-i-dont-care-13763980b5a1作者: Nick Humrich译者: zhousiyu325为牺牲性能追求生产率而呐喊让我从关于 Python 中的 asyncio 这个标准库的讨论中休息一会,谈谈我最近正在思考的一些东西:Python 的速度。对不了解我的人说明一下,我是一个 Python 的粉丝,而且我在我能想到的所有地方都积极地使用 Python。人们对 Python 最大的抱怨之一就是它的速度比较慢,有些人甚至拒绝尝试使用 Python,因为它比其他语言速度慢。这里说说为什么我认为应该尝试使用 Python,尽管它是有点慢。速度不再重要过去的情形是,程序需要花费很长的时间来运行,CPU 比较贵,内存也很贵。程序的运行时间是一个很重要的指标。计算机非常的昂贵,计算机运行所需要的电也是相当贵的。对这些资源进行优化是因为一个永恒的商业法则:优化你最贵的资源。在过去,最贵的资源是计算机的运行时间。这就是导致计算机科学致力于研究不同算法的效率的原因。然而,这已经不再是正确的,因为现在硅芯片很便宜,确实很便宜。运行时间不再是你最贵的资源。公司最贵的资源现在是它的员工时间。或者换句话说,就是你。把事情做完比把它变快更加重要。实际上,这是相当的重要,我将把它再次放在这里,仿佛它是一个引文一样(给那些只是粗略浏览的人):把事情做完比快速地做事更加重要。你可能会说:“我的公司在意速度,我开发一个 web 应用程序,那么所有的响应时间必须少于 x 毫秒。”或者,“我们失去了客户,因为他们认为我们的 app 运行太慢了。”我并不是想说速度一点也不重要,我只是想说速度不再是最重要的东西;它不再是你最贵的资源。速度是唯一重要的东西当你在编程的背景下说 速度 时,你通常是说性能,也就是 CPU 周期。当你的 CEO 在编程的背景下说 速度 时,他指的是业务速度,最重要的指标是产品上市的时间。基本上,你的产品/web 程序是多么的快并不重要。它是用什么语言写的也不重要。甚至它需要花费多少钱也不重要。在一天结束时,让你的公司存活下来或者死去的唯一事物就是产品上市时间。我不只是说创业公司的想法 -- 你开始赚钱需要花费多久,更多的是“从想法到客户手中”的时间期限。企业能够存活下来的唯一方法就是比你的竞争对手更快地创新。如果在你的产品上市之前,你的竞争对手已经提前上市了,那么你想出了多少好的主意也将不再重要。你必须第一个上市,或者至少能跟上。一但你放慢了脚步,你就输了。企业能够存活下来的唯一方法就是比你的竞争对手更快地创新。一个微服务的案例像 Amazon、Google 和 Netflix 这样的公司明白快速前进的重要性。他们创建了一个业务系统,可以使用这个系统迅速地前进和快速的创新。微服务是针对他们的问题的解决方案。这篇文章不谈你是否应该使用微服务,但是至少要理解为什么 Amazon 和 Google 认为他们应该使用微服务。微服务本来就很慢。微服务的主要概念是用网络调用来打破边界。这意味着你正在把使用的函数调用(几个 cpu 周期)转变为一个网络调用。没有什么比这更影响性能了。和 CPU 相比较,网络调用真的很慢。但是这些大公司仍然选择使用微服务。我所知道的架构里面没有比微服务还要慢的了。微服务最大的弊端就是它的性能,但是最大的长处就是上市的时间。通过在较小的项目和代码库上建立团队,一个公司能够以更快的速度进行迭代和创新。这恰恰表明了,非常大的公司也很在意上市时间,而不仅仅只是只有创业公司。CPU 不是你的瓶颈如果你在写一个网络应用程序,如 web 服务器,很有可能的情况会是,CPU 时间并不是你的程序的瓶颈。当你的 web 服务器处理一个请求时,可能会进行几次网络调用,例如到数据库,或者像 Redis 这样的缓存服务器。虽然这些服务本身可能比较快速,但是对它们的网络调用却很慢。这里有一篇很好的关于特定操作的速度差异的博客文章[1]。在这篇文章里,作者把 CPU 周期时间缩放到更容易理解的人类时间。如果一个单独的 CPU 周期等同于 1 秒,那么一个从 California 到 New York 的网络调用将相当于 4 年。那就说明了网络调用是多少的慢。按一些粗略估计,我们可以假设在同一数据中心内的普通网络调用大约需要 3 毫秒。这相当于我们“人类比例” 3 个月。现在假设你的程序是高 CPU 密集型,这需要 100000 个 CPU 周期来对单一调用进行响应。这相当于刚刚超过 1 天。现在让我们假设你使用的是一种要慢 5 倍的语言,这将需要大约 5 天。很好,将那与我们 3 个月的网络调用时间相比,4 天的差异就显得并不是很重要了。如果有人为了一个包裹不得不至少等待 3 个月,我不认为额外的 4 天对他们来说真的很重要。上面所说的终极意思是,尽管 Python 速度慢,但是这并不重要。语言的速度(或者 CPU 时间)几乎从来不是问题。实际上谷歌曾经就这一概念做过一个研究,并且他们就此发表过一篇论文[2]。那篇论文论述了设计高吞吐量的系统。在结论里,他们说到:在高吞吐量的环境中使用解释性语言似乎是矛盾的,但是我们已经发现 CPU 时间几乎不是限制因素;语言的表达性是指,大多数程序是源程序,同时它们的大多数时间花费在 I/O 读写和本机的运行时代码上。而且,解释性语言无论是在语言层面的轻松实验还是在允许我们在很多机器上探索分布计算的方法都是很有帮助的,再次强调:CPU 时间几乎不是限制因素。如果 CPU 时间是一个问题怎么办?你可能会说,“前面说的情况真是太好了,但是我们确实有过一些问题,这些问题中 CPU 成为了我们的瓶颈,并造成了我们的 web 应用的速度十分缓慢”,或者“在服务器上 X 语言比 Y 语言需要更少的硬件资源来运行。”这些都可能是对的。关于 web 服务器有这样的美妙的事情:你可以几乎无限地负载均衡它们。换句话说,可以在 web 服务器上投入更多的硬件。当然,Python 可能会比其他语言要求更好的硬件资源,比如 c 语言。只是把硬件投入在 CPU 问题上。相比于你的时间,硬件就显得非常的便宜了。如果你在一年内节省了两周的生产力时间,那将远远多于所增加的硬件开销的回报。那么,Python 更快一些吗?这一篇文章里面,我一直在谈论最重要的是开发时间。所以问题依然存在:当就开发时间而言,Python 要比其他语言更快吗?按常规惯例来看,我、google[3] 还有[4]其他[5]几个人[6]可以告诉你 Python 是多么的高效[7]。它为你抽象出很多东西,帮助你关注那些你真正应该编写代码的地方,而不会被困在琐碎事情的杂草里,比如你是否应该使用一个向量或者一个数组。但你可能不喜欢只是听别人说的这些话,所以让我们来看一些更多的经验数据。在大多数情况下,关于 python 是否是更高效语言的争论可以归结为脚本语言(或动态语言)与静态类型语言两者的争论。我认为人们普遍接受的是静态类型语言的生产力较低,但是,这有一篇优秀的论文[8]解释了为什么不是这样。就 Python 而言,这里有一项研究[9],它调查了不同语言编写字符串处理的代码所需要花费的时间,供参考。在上述研究中,Python 的效率比 Java 高出 2 倍。有一些其他研究也显示相似的东西。 Rosetta Code 对编程语言的差异进行了深入的研究[10]。在论文中,他们把 python 与其他脚本语言/解释性语言相比较,得出结论:Python 更简洁,即使与函数式语言相比较(平均要短 1.2 到 1.6 倍)普遍的趋势似乎是 Python 中的代码行总是更少。代码行听起来可能像一个可怕的指标,但是包括上面已经提到的两项研究在内的多项研究[11]表明,每种语言中每行代码所需要花费的时间大约是一样的。因此,限制代码行数就可以提高生产效率。甚至 codinghorror(一名 C# 程序员)本人写了一篇关于 Python 是如何更有效率的文章[12]。我认为说 Python 比其他的很多语言更加的有效率是公正的。这主要是由于 Python 有大量的自带以及第三方库。这里是一篇讨论 Python 和其他语言间的差异的简单的文章[13]。如果你不知道为何 Python 是如此的小巧和高效,我邀请你借此机会学习一点 python,自己多实践。这儿是你的第一个程序:import __hello__但是如果速度真的重要呢?上述论点的语气可能会让人觉得优化与速度一点也不重要。但事实是,很多时候运行时性能真的很重要。一个例子是,你有一个 web 应用程序,其中有一个特定的端点需要用很长的时间来响应。你知道这个程序需要多快,并且知道程序需要改进多少。在我们的例子中,发生了两件事:我们注意到有一个端点执行缓慢。我们承认它是缓慢,因为我们有一个可以衡量是否足够快的标准,而它没达到那个标准。我们不必在应用程序中微调优化所有内容,只需要让其中每一个都“足够快”。如果一个端点花费了几秒钟来响应,你的用户可能会注意到,但是,他们并不会注意到你将响应时间由 35 毫秒降低到 25 毫秒。“足够好”就是你需要做到的所有事情。免责声明: 我应该说有一些应用程序,如实时投标程序,确实需要细微优化,每一毫秒都相当重要。但那只是例外,而不是规则。为了明白如何对端点进行优化,你的第一步将是配置代码,并尝试找出瓶颈在哪。毕竟:任何除了瓶颈之外的改进都是错觉。Any improvements made anywhere besides the bottleneck are an illusion. -- Gene Kim如果你的优化没有触及到瓶颈,你只是浪费你的时间,并没有解决实际问题。在你优化瓶颈之前,你不会得到任何重要的改进。如果你在不知道瓶颈是什么前就尝试优化,那么你最终只会在部分代码中玩耍。在测量和确定瓶颈之前优化代码被称为“过早优化”。人们常提及 Donald Knuth 说的话,但他声称这句话实际上是他从别人那里听来的:过早优化是万恶之源Premature optimization is the root of all evil。在谈到维护代码库时,来自 Donald Knuth 的更完整的引文是:在 97% 的时间里,我们应该忘记微不足道的效率:过早的优化是万恶之源。然而在关 键的 3%,我们不应该错过优化的机会。 —— Donald Knuth换句话说,他所说的是,在大多数时间你应该忘记对你的代码进行优化。它几乎总是足够好。在不是足够好的情况下,我们通常只需要触及 3% 的代码路径。比如因为你使用了 if 语句而不是函数,你的端点快了几纳秒,但这并不会使你赢得任何奖项。过早的优化包括调用某些更快的函数,或者甚至使用特定的数据结构,因为它通常更快。计算机科学认为,如果一个方法或者算法与另一个具有相同的渐近增长(或称为 Big-O),那么它们是等价的,即使在实践中要慢两倍。计算机是如此之快,算法随着数据/使用增加而造成的计算增长远远超过实际速度本身。换句话说,如果你有两个 O(log n) 的函数,但是一个要慢两倍,这实际上并不重要。随着数据规模的增大,它们都以同样的速度“慢下来”。这就是过早优化是万恶之源的原因;它浪费了我们的时间,几乎从来没有真正有助于我们的性能改进。就 Big-O 而言,你可以认为对你的程序而言,所有的语言都是 O(n),其中 n 是代码或者指令的行数。对于同样的指令,它们以同样的速率增长。对于渐进增长,一种语言的速度快慢并不重要,所有语言都是相同的。在这个逻辑下,你可以说,为你的应用程序选择一种语言仅仅是因为它的“快速”是过早优化的最终形式。你选择某些预期快速的东西,却没有测量,也不理解瓶颈将在哪里。为您的应用选择语言只是因为它的“快速”,是过早优化的最终形式。优化 Python我最喜欢 Python 的一点是,它可以让你一次优化一点点代码。假设你有一个 Python 的方法,你发现它是你的瓶颈。你对它优化过几次,可能遵循这里[14]和那里[15]的一些指导,现在,你很肯定 Python 本身就是你的瓶颈。Python 有调用 C 代码的能力,这意味着,你可以用 C 重写这个方法来减少性能问题。你可以一次重写一个这样的方法。这个过程允许你用任何可以编译为 C 兼容汇编程序的语言,编写良好优化后的瓶颈方法。这让你能够在大多数时间使用 Python 编写,只在必要的时候都才用较低级的语言来写代码。有一种叫做 Cython 的编程语言,它是 Python 的超集。它几乎是 Python 和 C 的合并,是一种渐进类型的语言。任何 Python 代码都是有效的 Cython 代码,Cython 代码可以编译成 C 代码。使用 Cython,你可以编写一个模块或者一个方法,并逐渐进步到越来越多的 C 类型和性能。你可以将 C 类型和 Python 的鸭子类型混在一起。使用 Cython,你可以获得混合后的完美组合,只在瓶颈处进行优化,同时在其他所有地方不失去 Python 的美丽。星战前夜的一幅截图:这是用 Python 编写的 space MMO 游戏。当您最终遇到 Python 的性能问题阻碍时,你不需要把你的整个代码库用另一种不同的语言来编写。你只需要用 Cython 重写几个函数,几乎就能得到你所需要的性能。这就是星战前夜[16]采取的策略。这是一个大型多玩家的电脑游戏,在整个架构中使用 Python 和 Cython。它们通过优化 C/Cython 中的瓶颈来实现游戏级别的性能。如果这个策略对他们有用,那么它应该对任何人都有帮助。或者,还有其他方法来优化你的 Python。例如,PyPy[17] 是一个 Python 的 JIT 实现,它通过使用 PyPy 替掉 CPython(这是 Python 的默认实现),为长时间运行的应用程序提供重要的运行时改进(如 web 服务器)。让我们回顾一下要点:优化你最贵的资源。那就是你,而不是计算机。选择一种语言/框架/架构来帮助你快速开发(比如 Python)。不要仅仅因为某些技术的快而选择它们。当你遇到性能问题时,请找到瓶颈所在。你的瓶颈很可能不是 CPU 或者 Python 本身。如果 Python 成为你的瓶颈(你已经优化过你的算法),那么可以转向热门的 Cython 或者 C。尽情享受可以快速做完事情的乐趣。我希望你喜欢阅读这篇文章,就像我喜欢写这篇文章一样。如果你想说谢谢,请为我点下赞。另外,如果某个时候你想和我讨论 Python,你可以在 twitter 上艾特我(@nhumrich),或者你可以在 Python slack channel[18] 找到我。作者简介:Nick Humrich -- 坚持采用持续交付的方法,并为之写了很多工具。同是还是一名 Python 黑客与技术狂热者,目前是一名 DevOps 工程师。
hello,这里是《科技最前沿》,喜爱科学的你来啦,我是你的老朋友微信公众号——丘孔语论。科技最前沿,主要从丘孔语论比较感兴趣的几个领域来谈论科学科技,可能涉及天文、物理、互联网/IT、人工智能/Ai、数码/手机、编程、大数据、商业大佬、创新创业创客、化学、医学、养生、心理学、灵性等领域;认识天地,开阔思维,重塑自我。不要说我涉猎太广泛,只是人生认识自我的过程太过漫长,我们只能先广纳外,然后求诸内,探索着,迷茫着。我们每一篇都会说明播读时间是,是为了让你可以放弃太过期的内容。Python理想老师 2017-03-28 14:20Everybody,中午好还是下午好呀,不知道大家现在在干什么呢,是在工作业余时间偶尔看看头条,还是坐在回家的末班车,地铁上呢,还是在家吃着香喷喷可口的饭菜,总之,小编在这里向各位格格阿哥们请安了。21世纪正是互联网发展的一个迅速时代,不知道看我头条的小伙伴有多少是知道Python这门语言的,有知道这语言的小伙伴给我刷个1,不知道这门语言的小伙伴给我刷个2好吗。今天呢,小编给大家聊聊Python未来十年的情景,当然,这只是代表个人观点,还请各位大神指教。首先,在之前的文章我就给各位小伙伴介绍了Python的作用,还没有了解这门课程的小伙伴可以去看我的第一篇文章。大家了解互联网的小伙伴应该很清楚,Python作为进入我国国内的新鲜事物,很多人都还不知道这门语言,你在对别人说着Python,可能别人还不知道这个是什么,真的,我身边说起Python,竟然很少人知道这个,Python在国内现在处于一个上升期,虽比不起当年的淘宝,但是,在未来的十年,它会有那么大的一个趋势发展,希望有意向的小伙伴可以关注关注,现在很多公司都要求 除了会一种静态语言之外,再掌握一种脚本语言如perl,shell,python. 因为在工作中经常需要用到脚本语言开发一些小程序,原因就是脚本语言语法简单,方便程序员快速解决问题。 python 可以用来开发,可以用来作管理脚本,而且python是一门很优秀的脚本语言,搞编程的务必要掌握一门脚本。Python在编程领域的占有率一直处于稳步上升之中,根据最新的数据,Python排名第六。前五名分别是 Java、C、PHP、C++ 和 VB. 作为一个很年轻的语言,Python的位置已经相当令人振奋了。随着微软将Python纳入.Net 平台,相信Python的将来会更加强劲发展。Python 很可能会成为.Net平台快速开发的主流语言。我相信Python在不就之后将成为互联网发展不可替代的工具。我也可以给大家讲讲Python的一个大概的应用范围:系统编程,提lass=innerlink>API,能方便进行系统维护和管理。图形处理,有PIL、Tkinter等图形库支持,能方便进行图形处理。数学处理,NumPy扩展提供大量与许多标准数学库的接口。文本处理,python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。数据库编程,程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,Mysql等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。网络编程,提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。作为Web应用的开发语言,支持最新的XML技术。多媒体应用,Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。小编就给大家说到这里,明天我们不见不散。
科技最前沿,主要从丘孔语论比较感兴趣的几个领域来谈论科学科技,可能涉及天文、物理、互联网/IT、人工智能/Ai、数码/手机、编程、大数据、商业大佬、创新创业创客、化学、医学、养生、心理学、灵性等领域;认识天地,开阔思维,重塑自我。不要说我涉猎太广泛,只是人生认识自我的过程太过漫长,我们只能先广纳外,然后求诸内,探索着,迷茫着。微信扫码,可以关注公众号丘孔语论,期望与你做更深的交流。修身养性德兼备 2017-03-19 00:52说到脚本语言,广大的程序猿一定不会陌生,其实语言并没有分好坏,有的只是合适于不合适,不同的语言对不同的情况和不同的平台有不同的优势,因此,一个高手级别的程序猿,会根据实际的应用需求来选择合适的开发语言。既然说到了脚本语言,那到底什么语言才是最合适的脚本语言呢?有人说Java,C,C++还是Perl,Ruby,Python等等。每个语言都有自己的优势,也有自己的劣势。比如Java,Java一直占据着开发语言排行榜的第一名,他的强大在于java的跨平台方案,至今仍然是被认为最好的,加上简洁的语法,庞大的平台,成熟的API,开源和众多的框架支持,这无疑是生命力最强的开发语言之一,但Java也不是万能的,比如它无法实现 ICMP Ping,安全性不高,容易被反编译等等。而C和C++,一是学习门槛较高,学习时间过长,要学好C或者C++所要付出的努力比Java会更多一些,但C和C++因为接近底层,在处理能力上有些会比较快,注意是有些,因为随着开发语言的优化,很多语言的性能已经很强了,但在涉及到一些比较复杂的运算时,部分语言还是比较有优势的。接下来开始切入正题了,前面有点罗嗦了,什么脚本语言比较好?这个仁者见仁,智者见智,以下是小编我自己的理解。Python首先要提的就是Python,因为Python最近开始很热门,因为人工智能的原因,Python估计会引起新一轮的潮流,Python语言比较简单易学,一般几天就能掌握基础语法,并写出高质量且实用的程序了。为什么推荐Python呢?因为Python的功能很强大,方法库非常丰富,Python语言适合做小型应用程序,特别是在科学计算领域,Python取得的成绩非常优秀,加上新一轮的人工智能,Python语言被推到浪口风间是大势所趋啊。RubyRuby在脚本语言领域是属于后起之秀,Ruby本身是一门纯面向对象语言,学习难度稍高于Python,其优雅的代码风格,加上强大的Rails框架,这是什么框架?人称杀手级Rails框架,这个框架已经成为眼下最为炙手可热的企业级应用框架了,Rails框架的敏捷开发表现尤为突出,这也是他能够迅速蹿红的原因之一,但是Ruby毕竟是后起之秀,标准库和第三方库都稍微不太成熟,但随着时间的推移,Ruby在编程语言的地位会越来越高。Unixunix/Linux shell(AWK,SED)是一个脚本语言,在实际的日常使用中也是最多的,Unix适合做流程化的系统管理工作,对于逻辑较为复杂的应用产品,Unix的开发和维护难度都相对比较高,并且Unix的学习难度也相对较大,包括它的语法、调试、运行环境等等都有关系,如果你对这个语言非常熟悉,那它算是一个非常好的开发工具。PerlPerl语言是属于比较早期的语言,被称为成熟度最高的脚本语言之一,在编程市场上久经考验,有着大量的忠实粉丝,但Perl是一门比较难于上手的语言,因为他的语法稍显夸张,且没有高级程序员那么直观和简洁,对于初学者来说无疑是一种挑战,想要了解Perl语言的可以去网上多仔细研究研究,小编对这个只是了解一下,因为实在是难以下手。GroovyGroovy语言可以说是Java平台的原生脚本语言,它兼容于Java平台,却语言与Java相差甚远,但Groovy能够与Java完美地结合,因为Groovy没有自己的标准库,完全是使用Java的Api库,Groovy也有属于自己的Grails框架,但与Ruby的Rails框架是不一样的,喜欢Java的程序猿,推荐你学习一下Groovy,这两者的结合堪称完美。程序猿写脚本的状态说了这么多,脚本语言的选择最主要还是得根据应用的实际需求来定,每个语言都有自己的强处,也有自己的短处,如何发挥每个语言在项目应用中的长处,是一个优秀的程序猿应该优先考虑的问题,脚本开发在未来的应用市场上,肯定有着无限的需求,随着市场上的应用越来越多,多语言辅助完成一个项目的案例越来越多,各个语言的长处也会在各自的领域得到更高的应用。
Have you ever wondered what are the best books to learn Python? "Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms, and can be freely distributed. Often, programmers fall in love with Python because of the increased productivity it provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast. Debugging Python programs is easy: a bug or bad input will never cause a segmentation fault. Instead, when the interpreter discovers an error, it raises an exception. When the program doesn't catch the exception, the interpreter prints a stack trace. A source level debugger allows inspection of local and global variables, evaluation of arbitrary expressions, setting breakpoints, stepping through the code a line at a time, and so on. The debugger is written in Python itself, testifying to Python's introspective power. On the other hand, often the quickest way to debug a program is to add a few print statements to the source: the fast edit-test-debug cycle makes this simple approach very effective." (Source: https://www.python.org/doc/essays/blurb/) I've programmed in Python before and I must say I love Python! In this video I'll list the top 10 books if you're serious about learning python, whether you're a beginner and or advanced (even a kid! lol) Learn Python The Hard Way: http://simpleprogrammer.com/learnpythonhard Think Python: How to Think Like a Computer Scientist: http://simpleprogrammer.com/thinkpython Dive Into Python 3: http://simpleprogrammer.com/diveintopython Core Python Programming: http://simpleprogrammer.com/corepython The Quick Python Book: http://simpleprogrammer.com/thequickpythonbook Beginning Python: From Novice to Professional: http://simpleprogrammer.com/beginningpython Hello World!: Computer Programming for Kids and Other Beginners: http://simpleprogrammer.com/programmingforkids Python Programming for the Absolute Beginner: http://simpleprogrammer.com/pythonabsolutebeginner Python Essential Reference: http://simpleprogrammer.com/pythonessentialreference Python Cookbook: https://simpleprogrammer.com/pythoncookbook Violent Python: http://simpleprogrammer.com/violentpython Top Programming Books Playlist: https://www.youtube.com/playlist?list=PLjwWT1Xy3c4XoA9VdooMPPiDFsckl1d_2 Trust The Process T-Shirt: https://simpleprogrammer.com/spstore
See the full show notes for this episode on the website at pythonbytes.fm/2.