Простая ЗАДАЧА:
Дана строка в которой неразрывно указаны наименование проданного товара, количество и цена за единицу. Количество и цена разделены запятой и помещены в [ ].
Напишите программу, которая определит наименование товара, принесшего наибольшее количество денег.
Пример строки:
леденец[23,2]конфета[4,12]жвачка[1,15]
Ответ:конфета
Пишите свое решение в комментариях.
Дана строка в которой неразрывно указаны наименование проданного товара, количество и цена за единицу. Количество и цена разделены запятой и помещены в [ ].
Напишите программу, которая определит наименование товара, принесшего наибольшее количество денег.
Пример строки:
леденец[23,2]конфета[4,12]жвачка[1,15]
Ответ:конфета
Пишите свое решение в комментариях.
Всем привет🤗
Сегодня наткнулся на занимательный ресурс. Если вам интересны алгоритмы, то рекомендую заглянуть. Сам смотрел разбор алгоритма жадной сортировки.
(Не реклама)
https://education.yandex.ru/handbook/algorithms
Сегодня наткнулся на занимательный ресурс. Если вам интересны алгоритмы, то рекомендую заглянуть. Сам смотрел разбор алгоритма жадной сортировки.
(Не реклама)
https://education.yandex.ru/handbook/algorithms
education.yandex.ru
Основы алгоритмов — Хендбук от Яндекс Образования
С точки зрения проектирования и реализации алгоритмов есть много хороших, ставших классическими, учебных пособий, в нашем хендбуке мы пробуем подходить к выявлению общих принципов через решение задач.
👍5🔥2
По поводу алгоритма жадной сортировки. Применим для решения задачи с рюкзаком. Сама задача выглядит следующим образом:
Вы нашли несколько золотых слитков. Ваша цель — положить как можно больше золота в рюкзак вместимостью W фунтов. Каждый слиток существует только в одном экземпляре. При этом можно либо взять слиток целиком, либо не брать его вовсе. И хотя все слитки на рисунке выше выглядят одинаково, они обладают разным весом.
Вы нашли несколько золотых слитков. Ваша цель — положить как можно больше золота в рюкзак вместимостью W фунтов. Каждый слиток существует только в одном экземпляре. При этом можно либо взять слиток целиком, либо не брать его вовсе. И хотя все слитки на рисунке выше выглядят одинаково, они обладают разным весом.
Мартин_Р_Чистый_код_Cоздание,_анализ_и_рефакторинг_2019.pdf
6 MB
Роберт Мартин - "Чистый код"
Начнем с прочтения и анализа вот такой книжки.
Известный в кругу программистов как "дядя Боб" Роберт Мартин.
Данную книгу рекомендуют к прочтению на любом форуме. Предлагаю вам ознакомиться с данным трудом, а потом оставить свое мнение, действительно ли данная книга настолько полезна. Я, в свою очередь, после ее прочтения, выделю ключевые моменты и опубликую в посте.
Начнем с прочтения и анализа вот такой книжки.
Известный в кругу программистов как "дядя Боб" Роберт Мартин.
Данную книгу рекомендуют к прочтению на любом форуме. Предлагаю вам ознакомиться с данным трудом, а потом оставить свое мнение, действительно ли данная книга настолько полезна. Я, в свою очередь, после ее прочтения, выделю ключевые моменты и опубликую в посте.
👍6
Obsidian - Sharpen your thinking.
Хочу познакомить вас с интересной программой, которая служит для создания заметок и полноценных баз знаний.
Данная программа помогает хранить информацию в виде структурированных и взаимосвязанных данных.
Достаточно удобно делать иерархию зависимостей данных (в виде ссылок на соответствующие документы). После создания данных связей, все это можно увидеть наглядно в виде графа связей. Форматирование текста производится через md.
Сам начал пользоваться данной программой. Рекомендую к использованию.
https://obsidian.md/
Хочу познакомить вас с интересной программой, которая служит для создания заметок и полноценных баз знаний.
Данная программа помогает хранить информацию в виде структурированных и взаимосвязанных данных.
Достаточно удобно делать иерархию зависимостей данных (в виде ссылок на соответствующие документы). После создания данных связей, все это можно увидеть наглядно в виде графа связей. Форматирование текста производится через md.
Сам начал пользоваться данной программой. Рекомендую к использованию.
https://obsidian.md/
🤯3❤2
Коллеги, как и обещал, конспектирование первых двух глав Clean code
https://github.com/WebWoodProg/literature-analysis/blob/main/%D0%A7%D0%B8%D1%81%D1%82%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20-%20%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82%20%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD.md
https://github.com/WebWoodProg/literature-analysis/blob/main/%D0%A7%D0%B8%D1%81%D1%82%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20-%20%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82%20%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD.md
GitHub
literature-analysis/Чистый код - Роберт Мартин.md at main · WebWoodProg/literature-analysis
Contribute to WebWoodProg/literature-analysis development by creating an account on GitHub.
👍12
Коллеги, сделал конспектирование третьей главы Clean code (функции)
https://github.com/WebWoodProg/literature-analysis/blob/main/%D0%A7%D0%B8%D1%81%D1%82%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20-%20%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82%20%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD.md
https://github.com/WebWoodProg/literature-analysis/blob/main/%D0%A7%D0%B8%D1%81%D1%82%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20-%20%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82%20%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD.md
GitHub
literature-analysis/Чистый код - Роберт Мартин.md at main · WebWoodProg/literature-analysis
Contribute to WebWoodProg/literature-analysis development by creating an account on GitHub.
👍8🆒2
Syncthing https://syncthing.net/
Сегодня, столкнулся с необходимостью работы над одними и теми же файлами с нескольких устройств. Работа проходила в obsidian, о котором я писал выше. Суть в том чтобы писать контент в obsidian и иметь доступ ко всем данным и с ПК и с мобильного приложения. И чтобы это все синхронизировались автоматически при любом изменении. Был вариант делать все через github, благо есть плагин. Но тут два неудобства. 1-е не хочется засорять github или заводить новый, 2-е github ограничен объемом данных и плюс это все лежит где то в облаке. На помощь мне пришла программа SyncThing. Работает шикарно. Суть в том, что ты указываешь папки на устройствах и она синхронизирует данные в них на всех указанных устройствах. Теперь я делаю любые изменения в тексте или файлах на телефоне, и эти же изменения автоматически происходят и на компе. Так можно забыть о том что не хватает памяти на телефоне для хранения фото и видео и чего либо ещё, так как все будет скидываться на комп автоматически.
Сегодня, столкнулся с необходимостью работы над одними и теми же файлами с нескольких устройств. Работа проходила в obsidian, о котором я писал выше. Суть в том чтобы писать контент в obsidian и иметь доступ ко всем данным и с ПК и с мобильного приложения. И чтобы это все синхронизировались автоматически при любом изменении. Был вариант делать все через github, благо есть плагин. Но тут два неудобства. 1-е не хочется засорять github или заводить новый, 2-е github ограничен объемом данных и плюс это все лежит где то в облаке. На помощь мне пришла программа SyncThing. Работает шикарно. Суть в том, что ты указываешь папки на устройствах и она синхронизирует данные в них на всех указанных устройствах. Теперь я делаю любые изменения в тексте или файлах на телефоне, и эти же изменения автоматически происходят и на компе. Так можно забыть о том что не хватает памяти на телефоне для хранения фото и видео и чего либо ещё, так как все будет скидываться на комп автоматически.
🔥10🤔1
Коллеги, добавил четвертую главу (комментарии)
https://github.com/WebWoodProg/literature-analysis/blob/main/%D0%A7%D0%B8%D1%81%D1%82%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20-%20%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82%20%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD.md#p4
https://github.com/WebWoodProg/literature-analysis/blob/main/%D0%A7%D0%B8%D1%81%D1%82%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20-%20%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82%20%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD.md#p4
GitHub
literature-analysis/Чистый код - Роберт Мартин.md at main · WebWoodProg/literature-analysis
Contribute to WebWoodProg/literature-analysis development by creating an account on GitHub.
👍6🔥1
Немного поясню данную диаграмму.
Вы конечно можете не согласиться и встретить на просторе интернета где angular опережает react, где Vue занимает долю менее 1%. Но... Обратите внимание! Это не диаграмма популярности библиотеки или фреймворка. Это процент созданных приложений с использованием соответствующей технологии. React практически всегда предпочтительнее чем Angular для создания маленьких проектов. Не спорю, что если мы берём огромный сервис, то для дальнейшего его поддержания и масштабирования выбирают Angular, но задайте себе вопрос, а каких проектов больше "китов" или "мелких рыбешек"? 🧐
Вы конечно можете не согласиться и встретить на просторе интернета где angular опережает react, где Vue занимает долю менее 1%. Но... Обратите внимание! Это не диаграмма популярности библиотеки или фреймворка. Это процент созданных приложений с использованием соответствующей технологии. React практически всегда предпочтительнее чем Angular для создания маленьких проектов. Не спорю, что если мы берём огромный сервис, то для дальнейшего его поддержания и масштабирования выбирают Angular, но задайте себе вопрос, а каких проектов больше "китов" или "мелких рыбешек"? 🧐
🔥2
Плагины, упрощающие разработку в VS Code:
Auto Complete Tag - автоматически закрывает теги, оформляет правильную табуляцию, быстро переименовывает теги с двух сторон.
Better comments - расширяет комментарии (добавляя новые стили и смысловой контекст стандартным комментариям)
Bracket Pair Color - раскрашивает скобки в зависимости от уровня вложенности
Easy icon - спец. иконки для разных расширений (вкусовщина)
ES7 + React - очень удобные сниппеты для работы с REACT
Google Fonts - шрифты Google
Live Server - запускает приложение на локальном сервере в реальном времени
Пишите в комментариях какими плагинами пользуетесь вы)
Auto Complete Tag - автоматически закрывает теги, оформляет правильную табуляцию, быстро переименовывает теги с двух сторон.
Better comments - расширяет комментарии (добавляя новые стили и смысловой контекст стандартным комментариям)
Bracket Pair Color - раскрашивает скобки в зависимости от уровня вложенности
Easy icon - спец. иконки для разных расширений (вкусовщина)
ES7 + React - очень удобные сниппеты для работы с REACT
Google Fonts - шрифты Google
Live Server - запускает приложение на локальном сервере в реальном времени
Пишите в комментариях какими плагинами пользуетесь вы)
❤3👍1🤯1
Начнем с опроса. Каким пакетным менеджером пользуетесь вы?
Anonymous Poll
41%
npm
0%
yarn
0%
pnpm
59%
это что-то на эльфийском...
https://youtu.be/hq-gIihAs5A?si=cPPtl8aOxmbJ_zbH
Максимально раскрыл отличие данных пакетных менеджеров Михаил Башуров. Рекомендую видео к просмотру.
Максимально раскрыл отличие данных пакетных менеджеров Михаил Башуров. Рекомендую видео к просмотру.
YouTube
Михаил Башуров – Yarn, npm v5 или pnpm — кто круче?
Ближайшая конференция: HolyJS 2024 Spring — 15 апреля (Online), 26–27 апреля (Offline, Москва)
Подробности и билеты: https://cutt.ly/mwDmGdW3
— —
. . Обзор и сравнение пакетных менеджеров: скорость, CLI, локфайлы и детерминизм.
Подробности и билеты: https://cutt.ly/mwDmGdW3
— —
. . Обзор и сравнение пакетных менеджеров: скорость, CLI, локфайлы и детерминизм.
🔥3
Этапы создания React приложения с помощью npm:
1. Установите Node.js, если у вас его еще нет, с официального сайта https://nodejs.org/.
2. Откройте командную строку или терминал.
3. Установите Create React App, выполнив команду:
4. Создайте новый проект React, перейдя в папку, где вы хотите создать проект, и выполнив команду:
Замените
5. После установки зависимостей выполните команду:
Это запустит ваше новое React приложение в режиме разработки.
1. Установите Node.js, если у вас его еще нет, с официального сайта https://nodejs.org/.
2. Откройте командную строку или терминал.
3. Установите Create React App, выполнив команду:
npm install -g create-react-app
4. Создайте новый проект React, перейдя в папку, где вы хотите создать проект, и выполнив команду:
npx create-react-app my-react-app
Замените
my-react-app
на имя вашего проекта.5. После установки зависимостей выполните команду:
cd my-react-app
npm start
Это запустит ваше новое React приложение в режиме разработки.
nodejs.org
Node.js — Run JavaScript Everywhere
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
🔥2
И на последок рассмотрим одну из типовых структур папок для React приложения с использованием Redux и Api
-
-
-
-
-
-
- src
- actions
- actionTypes.js
- actionCreators.js
- reducers
- rootReducer.js
- someReducer.js
- components
- Component1
- Component1.js
- Component1.css
- Component2
- Component2.js
- Component2.css
- pages
- Page1
- Page1.js
- Page1.css
- Page2
- Page2.js
- Page2.css
- services
- apiService.js
- store
- configureStore.js
- App.js
- index.js
-
actions
содержит файлы для определения типов действий и создания действий, -
reducers
содержит файлы для определения корневого редуктора и других редукторов,-
components
содержит переиспользуемые компоненты,-
pages
содержит компоненты, представляющие отдельные страницы приложения, -
services
содержит файлы для работы с API, -
store
содержит файл для конфигурации Redux-хранилища.👍3❤1
Что такое компоненты в REACT?
По своей сути, это структурные блоки приложения из которых и строится весь интерфейс. Вся сладость в том, что данные блоки потом очень удобно переиспользовать сколько угодно раз.
Получается так, что REACT проект собирается как конструктор из данных блоков (компонентов).
Компоненты могут быть классовыми и функциональными. На данный момент, более современным подходом считается использование функциональных компонентов, но в некоторых проектах, когда нужно ввести логику работы с классами, используются и классовые.
Компоненты могут быть вложенными друг в друга. При этом каждый компонент обладает своими свойствами и состояниями, которые возможно передавать от родительского компонента к дочернему. Все это позволяет создать иерархию компонентов, облегчающую разработку и масштабирование приложения.
По своей сути, это структурные блоки приложения из которых и строится весь интерфейс. Вся сладость в том, что данные блоки потом очень удобно переиспользовать сколько угодно раз.
Получается так, что REACT проект собирается как конструктор из данных блоков (компонентов).
Компоненты могут быть классовыми и функциональными. На данный момент, более современным подходом считается использование функциональных компонентов, но в некоторых проектах, когда нужно ввести логику работы с классами, используются и классовые.
Компоненты могут быть вложенными друг в друга. При этом каждый компонент обладает своими свойствами и состояниями, которые возможно передавать от родительского компонента к дочернему. Все это позволяет создать иерархию компонентов, облегчающую разработку и масштабирование приложения.
👍2