Реальный Код
25 subscribers
42 photos
6 videos
55 links
The Real Coding - твой проводник в мир разработки ПО.

Делюсь реальным опытом разработки с новичками.

Практические знания и советы по:
- Python
- Selenium
- командная строка
- C++
- много других интересностей, которые пригодятся вам в профессии
Download Telegram
Как работает веб-сервер 🤔 объясняю на пальцах

расскажу сегодня простыми словами, как работают сайты и как получается, что после ввода адреса своего любимого сайта в браузерной строке у тебя появляется страница

1. браузер берет введенный адрес (по сути это адресат, как на конверте) и идет по нему куда-то там на сервер

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

3. далее по сетям этот ответ идет обратно и возвращается к нам в браузер. После чего тот красиво рисует сайт на основе полученного описания в формате HTML

код тут 👉 https://github.com/DiPaolo/the-real-coding/blob/main/python/simplest_web_server/simplest_web_server.py

берите и запускайте свой первый собственный веб-сервер 💪

#python #webServer #howItWorks #наПальцах
👍2👎1🤔1
Реальный Код
Как работает веб-сервер 🤔 объясняю на пальцах расскажу сегодня простыми словами, как работают сайты и как получается, что после ввода адреса своего любимого сайта в браузерной строке у тебя появляется страница 1. браузер берет введенный адрес (по сути это…
продолжим… и поиграемся немного с нашим сервером

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

например, выведем календарь на текущий месяц. Мы уже делали это выше стандартными средствами Питона 👆 https://t.me/the_real_coding/28

просто переиспульзуем ту же функцию + завернем ее вывод в формат HTML

код в итоге стал не сильно сложнее + там есть мои комменты – обязательно посмотрите. При этом мы продвинулись вперед и добавили нашему серверу чуть больше полезности

а впереди еще интереснее! 😉

код: https://github.com/DiPaolo/the-real-coding/blob/main/python/simplest_web_server_ext/simplest_web_server_calendar.py






import calendar
import datetime
import http
from http.server import BaseHTTPRequestHandler, HTTPServer

Handler = http.server.SimpleHTTPRequestHandler


class HelloWorldServer(BaseHTTPRequestHandler):
def do_GET(self):
# печатаем текущий месяц и сохраняем в строку
today = datetime.datetime.today()
month_calendar_str = calendar.month(today.year, today.month)

# в HTML есть ряд особенностей вывода текста; обрабатываем их:
# 1. переход на новую строку в HTML осуществляется не с помощью символа '\n',
# а добавлением тега '<br>'
month_calendar_str = month_calendar_str.replace('\n', '<br>')
# 2. несколько пробелов подряд выводятся как один, потому вместо каждого
# пробела ставим спец. символ, принудительно вставляющего пробел
month_calendar_str = month_calendar_str.replace(' ', ' ')

# добавляем в наш HTML-код страницы пункт, указывающий, какая кодировка
# используется на странице:
# <meta charset="UTF-8">
# это нужно, чтобы корректно отображались русские символы

# еще один нюанс - используем тег '<tt>' (телетайп, то есть моноширинный шрифт),
# чтобы наши строки не съезжали и все понедельники были друг под другом,
# а субботы - под субботами

html_page = \
f"""
<html>
<head>
<title>Hello, World!</title>
<meta charset="UTF-8">
</head>
<body>
<h1 align='center'>Календарь</h1>
<tt>
{month_calendar_str}
</tt>
</body>
</html>
"""
body = html_page.encode('UTF-8', 'replace')

self.send_response(200)
self.send_header("Content-type", "text/html")
self.send_header('Content-Length', str(len(body)))
self.end_headers()

self.wfile.write(body)


if __name__ == "__main__":
webServer = HTTPServer(server_address=('127.0.0.1', 8080),
RequestHandlerClass=HelloWorldServer)
print('Server started')

try:
webServer.serve_forever()
except KeyboardInterrupt:
pass
except Exception as ex:
print(f'Server unexpectedly finished ({ex})')

webServer.server_close()
print('Server stopped')


запустите сами и проверьте у себя. Вам нужен только лишь Питон, даже IDE не потребуется 👌

#python #calendar #webServer #играемся
👍1👎1🔥1🤔1
совершенствуем наш календарь 🗓️

- отметим красным цветом выходные дни, для чего напишем собственную функцию
- используем тег <table>, чтобы дни недели были выровнены друг под другом
- используем русские названия дней недели и месяцев
- выделим текущий день
- выведем весь календарный год

полный код 👉 https://github.com/DiPaolo/the-real-coding/blob/main/python/simplest_web_server_ext/simplest_web_server_calendar_full_year.py

смотрите-изучайте-задавайте вопросы 🙌

PS запилил пост и потом понял, что ошибочка затесалась – не отображались последние дни месяцев 😅 недотестировал 😁

#python #calendar #webServer #играемся
👍2👎1🤔1
+ АПИшку давайте прикрутим, чё уж там 😁

дернем публичное АПИ для получения списка праздников, чтобы отметить красным официальные выходные дни

тут в канале все как всегда просто, когда двигаемся маленькими шагами step-by-step –  берем requests, получаем ответ по URL-адресу для России, ответ преобразуем в питоновский объект списка, а оттуда выдираем список дат-праздников. Далее, если выводимая дата находится в этом списке, то отмечаем ее красным также, как и выходные дни:


def get_public_holidays(year: int) -> List[datetime.date]:
out = list()

res = requests.get(f'https://date.nager.at/api/v3/PublicHolidays/{year}/ru')
if not res.ok:
return out

holiday_list_data = res.json()
for holiday in holiday_list_data:
date_str = holiday['date']
date = datetime.datetime.strptime(date_str, '%Y-%m-%d')
out.append(date.date())

return out


код 👉 https://github.com/DiPaolo/the-real-coding/blob/main/python/simplest_web_server_ext/simplest_web_server_calendar_full_year_with_public_holidays.py

#python #publicApi #requests #webServer #calendar #играемся
👍3👎1🤔1
RadarChart в Mantine 🔥

вы только поглядите, какую красоту в Мантин 7.6 завезли – Радар Чарты

https://mantine.dev/charts/radar-chart/

#news #mantine #frontend
👍2👎1🤔1
пока у меня нет вдохновения рассказать вам про что-то айтишно-разработческое, похвастаюсь аптаймом своих виртуалочек: полгода одна и год+ вторая 💪
🤔3👍2🔥2👎1
Немного хороших новостей 🔥

Самое время вкатываться, кто еще не 😉 а помочь вкатиться поможет как раз этот канал и канал на ютуб. А кому нужны дополнительные частные дама консультации - велком в личку 🙌

#новости
👍2👎1🤔1
💻 ИТ-отрасль заняла 1 место по темпам роста ключевых показателей за 4 года среди всех крупных отраслей экономики

С 2019 по 2023 год ИТ-отрасль — на первом месте по темпам роста среди крупных отраслей экономики. Произошло увеличение всех основных показателей: вклада в ВВП, объёма реализации продукции и услуг собственной разработки, численности сотрудников и инвестиций в основной капитал. Высшая школа экономики провела масштабное исследование ИТ-отрасли. Рассказываем о нём подробно.

ИТ в цифрах


📊 Объём реализации продуктов собственной разработки и ИТ-услуг увеличился с 2019 по 2023 год в 2,5 раза и составил 3,1 трлн рублей. В среднем за год показатель рос на 26%. Для сравнения в целом по экономике рост объёма реализованной продукции составил 1,6 раз за 4 года.

👍 Средняя зарплата в ИТ-отрасли в два раза выше средней по экономике. В 2023 году она составляла 155,9 тыс. рублей, что в 1,7 раз больше, чем в 2019 году.

👨‍💻 Численность работников ИТ-отрасли стабильно прирастает и за 4 года увеличилась в 1,5 раза, к концу 2023 года составила 857 тысяч человек. Для сравнения в целом по экономике количество сотрудников за этот же период почти не изменилось.

🪙 Инвестиции в основной капитал ИТ-компаний составили почти 500 млрд рублей. Это в 4,4 раза больше, чем в 2019 году, и почти на 50% выше, чем в 2022 году. Экономика в целом выросла по этому показателю в 1,8 раз.

📶 С 2019 года по динамике валовой добавленной стоимости ИТ-отрасль опережала другие крупные сектора экономики. Среднегодовой темп её прироста в реальном выражении за 2019-2023 года превысил 10%. В результате вклад в ВВП вырос в 1,5 раза за 4 года и составил почти 2%.

@mintsifry
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Go Live 🔥

Решил попробовать сегодня постримить. В 19:00 мск. Будут мои комментарии, lo-fi музыка, мое лицо в кадре 🙂

Буду просто сидеть кодить в свое удовольствие и попутно рассказывать, что происходит.

В программе: REST API, React, frontend, Mantine UI. А дальше как пойдет. Можно будет задать вопросы, высказать пожелания.

Импровизация, код и релакс 😊 Подключайтесь 🙌

#react #typescript #livecoding #webapp #lofi #youtube

https://youtube.com/live/3pLhyMEY-l0
👍4👎1🔥1🤔1
ping
👍5👎1🤔1
А вот накидайте в коментах по 1-2 вопроса по теме ИТ. Соберу их и потом отвечу

Хочется чем-то поделиться, рассказать интересное. А то и полезное может кому-то будет

#вопросОтвет
👍3👎1🤔1
Привет 🙌

А накидайте бустов для канала, кому не жалко. Как это сделать – будет вам задание разобраться самим как айтишникам 😉
👍2👎1🤔1
«Что будет проще для понимания условного гуманитария: js или питон?»



#вопросОтвет #расскажуЗаМинуту #python #js #вкатывание
👍3👎1🤔1
«Есть ли какие то симуляторы тестировки? Чтобы практиковаться»

https://django-todo.org



#вопросОтвет #расскажуЗаМинуту #тестирование
👍3👎1🤔1
‼️ Знак ‼️

Кстати, если ты ждал какой-то знак, чтобы начать заниматься программированием или тестированием – то вот он ⚡️

Начни прямо сегодня!

- скачай питон

- начни писать что-то

- начни писать в файлике простенькую HTML-страничку

- напиши тест-кейсы для какого-то простого сайта

- полистай книжку по программированию

- поищи тут короткие ролики для вдохновения, что можно сделать простого

У тебя получится

#мотивация #главноеНачать #вкатывание
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👎1🤔1
А вот зацените, какие нелепые баги бывают в достаточно матерых продуктах, которыми пользуются тысячи людей (36К звезд на ГитХабе)

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

Надо ли говорить, что условие почти всегда выполнялось…

🤪

Вот ссылка на тикет https://github.com/pocketbase/pocketbase/pull/5179

#чеБывает #забавное #баги #gitHub
👍2🤔2👎1
Ребят, есть желание сделать видос с разбором куска кода.

Какой язык хотели бы увидеть в разборе?
Anonymous Poll
11%
C/C++
78%
Python
33%
Go
0%
JavaScript/TypeScript
11%
HTML/CSS
👍2🤔2👎1