Обзор книги "Изучаем Python", хорошая книга для начинающих и не только
Всем доброго времени суток!
Публикую обзор книги подписчика нашего телеграмм-канала t.me/it_begin на книгу "Изучаем Python" от автора Эрика Мэтиза.
Стоит читать? Да! Почему? Опишу в статье.
Python - хороший первый язык программирования, а это неплохая книга для его изучения.
Кто целевая аудитория книги?
Начинающие программисты, что только начинают свой путь в изучении Python. В книге прекрасно описаны основы синтаксиса Python и содержатся подробные комментарии к примерам кода, благодаря чему, изучение языка будет максимально продуктивным.
Но, если вы из книги хотите подчерпнуть что-то более, чем основы и к примеру по ней собираетесь осваивать Django и работу с веб-приложениями, лучше делать этого не стоит, так как информация изложенная по данной теме в книге, далека от актуальной.
Преимущества книги:
1. Кратко, это подробное описание синтаксиса, полноценные комментарии к примерам кода, описание типичных ошибок новичков, подробнее опишу ниже
Первая половина книги - это база синтаксиса Python
Объяснение возможностей Python. Описывается всё, начиная от переменных и работы с ними, заканчивая классами.
В самой первой главе автор описывает установку Python и то, как запустить заветный первый 'Hello World'. Далее автор переходит к объяснению того, что такое переменные, типы данных, строки и числа.
Что хорошо, приводя приводя несложные примеры, Эрик Мэтиз сопровождает их отличными и подробными комментариями, что способствует продуктивному изучению синтаксиса Python.
Автор также не забыл и об описание типичных ошибок новичков. Данные абзацы будет более чем полезны тем, кто только начал изучать Python.
Перемещаясь по главам, автор подходит к описанию того, что такое списки, как с ними работать, четко и абсолютно толково описывает взаимодействие с ними, без какой-либо воды и нудного текста.
Списки автор рассматривает совместно с циклом for, что также позволяет расширить возможности в написании тех программ, что мы можем написать.
Цикл while, первое время, не рассматривается.
Далее, описав списки, автор описывает условия "if/else", словари и цикл while, которому посвящена отдельная глава, после идут уже функции и работа с классами. В конце первой половины книги автор описывает тестирование и работу с файлами в Python.
Что также является хорошим преимуществом книги - это описание не простого тестирование, а обзор на возможности юнит-тестов, что будет максимально полезно для начинающих.
Рис.1. Пример текста из книги с описанием работы со списками
Рис.2. Пример текста из книги с описанием работы с функциями json.dupm() и json.load()
2. Вторым преимуществом является ссылки в книге на вспомогательные интернет-ресурсы
Рис.3. Пример текста из книги с ссылками
Теперь же...поговорим о недостатках книги.
Недостатки книги:
1. Некачественный перевод:
Та проблема, с чем может столкнуться читатель, это типичный для технической литературы, переведенной внутри отечественных издательств.
Например, срезы переводятся как сегменты. Это путает новичков. Ибо прочитав один раз про то, что срез это сегмент и отложив в памяти именно этот термин, начинающий программист будет искать в интернете именно "сегмент" и будет крайне разочарован, когда не сможет найти ничего толкового по своему поисковому запросу.
2. Цена
Рис.4. Цена на Читай-Город
Рис.5. Цена на Wildberries
Рис.6. Цена на Ozon
Относительно книги "Изучаем Python" от Марка Лутца (обзор на неё писал несколько дней назад - ссылка), что стоит пример 3.5 к рублей, данная книга намного дешевле, но всё же, рассматриваемая нами сегодня книга стоит далеко не 300 рублей. Как минимум, студенту придется отдать большую часть стипендии за неё.
Надеюсь, что со временем, в финансовом плане, книге станут для нас доступнее, нежели сейчас.
3. Устаревание информации, изложенной в книги.
Хотим мы этого или нет, но технические книги по программированию имеют одну характерную черту - устаревание и эта книги не исключение.
Особенно сильно мы можем это наблюдать на этапе описания развертывания и построения веб-приложения.
Если вы не новичок в программирование и неплохо знаете английский, то без проблем сможете изучить необходимый дополнительный материал, что представлен по ссылкам в книге, самостоятельно.
Также, если надумаете покупать эту книгу, максимально советую обратить внимание на номер издания. Нас интересует издание №3. Ну и пользуйтесь StackOverFlow и GitHub
Итог по книге:
Первая половина книги - это объяснение возможностей Python. Описывается всё от переменных и работы с ними до классов и юнит-тестов.
Вторая половина книги - это описание проектной деятельности, описываются обработка данных и графиков с помощью matprolib, создание сайтов на Django и возможности создания несложных игр на Python с помощью PyGame
Для понимания основ синтаксиса Python начинающим программистом - прекрасная книга!
Но, если вы по ней собираетесь осваивать Django и работу с веб-приложениями, лучше делать этого не стоит, так как информация изложенная по данной теме в книге, далека от актуальной.
Наш канал
Кому интересны программирование, изучение иностранных языков и кто просто любит развиваться
публикую также статьи и интервью на своем телеграмм-канале IT-старт t.me/it_begin
Подписывайтесь ;)
Спасибо!
Уникальный Telegram бот – The People
Приветствую всех читателей! Я долгое время занимался разработкой собственного новостного telegram бота, который позже получил название The People. Основная задумка была в том, чтобы бот самостоятельно собирал новости из различных средств массовой информации, команда специалистов проверяла собранные новости на достоверность и отсутствие пропаганды негативной формы, после чего новость готова к публикации.
Вся эта огромная и сложная работа была проделана для того, чтобы любой желающий человек, при помощи бота The People, мог узнавать достоверные новости из своей страны и всего мира, в целом.
Какие функции реализованы в моем telegram-боте?
Возможность выбрать язык интерфейса: русский/английский;
Отслеживание новостей из конкретно выбранной страны;
Новости из всего мира разделены на основные категории;
Поддержка, которая оперативно ответит на любой появившийся у Вас вопрос.
Если Вы хотите присоединиться к боту, то просто введите в поиске Telegram @thepeoplebot.
Обзор книги "Изучаем Python", отличная книга для начинающих и не только
Всем доброго времени суток!
Публикую обзор книги подписчика нашего телеграмм-канала t.me/it_begin на книгу "Изучаем Python" от автора Марка Лутца.
Стоит читать? Да! Почему? Опишу в статье.
Python - хороший первый язык программирования, а это хорошая первая книга для его изучения.
Кто целевая аудитория книги?
Подойдет для тех, кто только начал изучение Python с нуля. Материал в книге изложен доступно и понятно, поэтому трудностей возникнуть не должно. Автор очень подробно рассматривает общие концепции, что дает нам полное понимание структуры языка.
Рис.1. Пример текста из книги
Преимущества книги:
1. Очень хорошо написана в плане теории, материал изложен доступным и понятным языком (что немаловажно для новичка).
2. Манера изложения - автор сначала рассказывает о теме в общих чертах, чтобы было понятно даже новичку (книга все таки считается учебником по Python), но шаг за шагом подходит к крайне низкоуровневым вещам, что будут интересны и тем, кто Python знает уже достаточно хорошо
Рис.2. Пример текста из книги
3. Элементы языка разбираются буквально "по косточкам", вследствие чего у вас вряд ли останутся какие-либо непонятные вами разделы книги.
К примеру, в главе, что посвящена общей работе интерпретатора, все начинается с того, как вообще можно запускать скрипты ( командная строка, двойной клик и т.д.), затем же рассказывается о работе виртуальной машины Python , какие файлы и когда она создают, далее же повествуется о таких разновидностях Python, как:
- IronPython
- JPython
- CPython
Также автор рассказывает и про то, как выделяется память в питоне, и про то, как документировать код, и как задавать пути поиска модулей. В общем, всё что может пригодиться.
Также Марк Лутц не забыл о способах ускорения скриптов с помощью таких сторонних библиотек, как Shedskin C++ и Psyco и упоминает кратко библиотеки для создания полноценный exe-файлов ( PyInstaller, Freeze, py2exe)
С помощью такого подхода к написанию книги, нам читателям будет интересно читать.
Для себя, например, благодаря книге, выяснил вопрос, что давно волновал, но был без ответа.
"Является ли класс list связанным списком?" - оказалась нет. Внутри языка это обычный массив, что в некотором роде сход с аналогом std::vector из C++
Нравится, что автор постоянно сравнивает элементы языка Python с похожими элементами из других языков.
Недостатки книги:
1. Мало практики и кода. Для программиста практика крайне важна. Кроме "Изучаем Python", у автора есть также книга "Программирование на Python", что больше ориентирована на практику и будет более полезна для новичка в плане закрепления полученных им знаний. После каждой части книги вас ждёт лишь несколько упражнений. Поэтому, лучше будет, если после прочтения той или иной части книги, полученные знания закрепите на неоднократной практике.
2. Цена. Кусается ценник.
Рис.3. Цена книги на OZON
Рис.4. Цена книги на Wildberries
Как видим, книга выйдет далеко не в 300 рублей) Проблема возможно даже не только этой книги, а в целом, мягко говоря, своеобразного ценообразования и стоимости литературы для конечного потребителя.
Итог по книге:
Отличная книга для того, чтобы влиться в Python. Марк Лутц крайне подробно рассматривает общие концепции языка, всё написано понятно и доступно.
Рекомендую, как первую книгу по Python
Python - хороший первый язык программирования, а это хорошая первая книга для его изучения.
Наш канал
Кому интересны программирование, изучение иностранных языков и кто просто любит развиваться
публикую также статьи и интервью на своем телеграмм-канале IT-старт t.me/it_begin
Подписывайтесь ;)
Спасибо!
И вновь 1с
Всем привет, вынужден вновь обратиться за разъяснениями) Как и писал ранее, на работе необходимо временно вносить разные изменения в 1с. Соответственно с Вашей помощью освоил внешние обработки) За что Вам большое и огромнейшее спасибо!
Ну к делу.
Имеется 1С:Предприятие 8.3 (8.3.20.1549)
Конфигурация: Зарплата и управление персоналом, редакция 3.1 (3.1.19.48)
Задача:
Выполнить печать комплекта документов в едином документе, с уже нужным количеством копий.
Пакет документов следующий: Трудовой договор, приказ о приеме на работу, согласие на обработку и заявление о приеме на работу.
Была доработана внешняя обработка, где все необходимы данные подставляются в шаблон word. Все отлично, но столкнулся со следующей проблемой:
В ТД (трудовом договоре) указано, что работодатель имеет право начислять премию в таком то размере.
Это находится в начислениях, в нашем случае называется "дополнительные начисления". Для понимания прикладываю скрины.
Данные набавки добавляются ручкам кадровика при трудоустройстве нового сотрудника и руками же проставляется значение (на скрине ниже выделено красным)
Не понимаю, как вытянуть это значение в печатную форму.
Что делал:
В конструкторе сформированы запросы:
Но результата этого не дает.
Окей идем дальше, делаю запрос в РегистрСведений
ПлановыеНачисленияСрезПоследних получаю поля размер и наименование.
Но при выходе в шаблон у меня отражается совершенно другое значение. (25020 вместо 12,5)
А поле наименование показывает совершенно другую надбавку (РайонныйКоэфф).
Код запроса (есть лишние моменты, но на данные момент они на получение тех данных что нужны не влияют):
Функция СформироватьЗапросДляПечатиТрудовогоДоговораН(СсылкаНаДокумент)
Запрос = Новый Запрос;
// Установим параметры запроса
Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент);
Запрос.Текст =
"ВЫБРАТЬ
| ТД.Ссылка КАК Ссылка,
| ТД.Сотрудник.Наименование КАК Сотрудник,
| ТД.ДатаПриема КАК ДатаПриема,
| ТД.Должность КАК Должность,
| ТД.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
| ТД.ФизическоеЛицо КАК ФизическоеЛицо,
| ТД.УсловияПриема КАК УсловияПриема,
| ТД.ТрудовойДоговорНомер КАК ТрудовойДоговорНомер,
| ТД.ТрудовойДоговорДата КАК ТрудовойДоговорДата,
| ТД.ДатаЗавершенияТрудовогоДоговора КАК ДатаЗавершенияТрудовогоДоговора,
| АдресМестаПроживания.Представление КАК АдресМестаПроживания,
| АдресПоПрописке.Представление КАК АдресПоПрописке,
| Паспорт.ВидДокумента.Наименование КАК ВидДокумента,
| Паспорт.Серия КАК Серия,
| Паспорт.Номер КАК Номер,
| Паспорт.ДатаВыдачи КАК ДатаВыдачи,
| Паспорт.КемВыдан КАК КемВыдан,
| Паспорт.КодПодразделения КАК КодПодразделения,
| ФОТ.Размер КАК ТарифнаяСтавка,
| АдресОрг.Представление КАК АдресОрганизации,
| АдресОрг.Город КАК Город,
| ЗарплатныеПроекты.Банк КАК Банк,
| ЗарплатныеПроекты.РасчетныйСчет КАК РасчетныйСчет,
| ЗарплатныеПроекты.Представление КАК БанкПредставление,
| ЗарплатныеПроекты.Банк.КоррСчет КАК КоррСчет,
| ТД.Ссылка.Организация.НаименованиеПолное КАК ОрганизацияНаименованиеПолное,
| ТД.Ссылка.Организация.НаименованиеСокращенное КАК ОрганизацияНаименованиеСокращенное,
| ТД.Ссылка.Дата КАК Дата,
| ТД.Ссылка.Номер КАК ТДНомер,
| ТД.Ссылка.Руководитель.Наименование КАК Руководитель,
| ТД.Ссылка.Руководитель.Пол КАК РуководительПол,
| ТД.Ссылка.ДолжностьРуководителя.Наименование КАК ДолжностьРуководителя,
| ТД.Ссылка.Подразделение.Наименование КАК Подразделение,
| ТД.Ссылка.Организация.ИНН КАК ОрганизацияИНН,
| ТД.Ссылка.Организация.ОГРН КАК ОрганизацияОГРН,
| ТД.Ссылка.Организация.КодПоОКПО КАК КодПоОКПО,
| ТД.Ссылка.Организация.РегистрацияВНалоговомОргане.КПП КАК КПП,
| ТД.Ссылка.ВидЗанятости КАК ВидЗанятости,
| ТД.Ссылка.Территория КАК Территория,
| ТД.Ссылка.ГрафикРаботы КАК ГрафикРаботы,
| ЗарплатныеПроекты.Банк.Код КАК Код,
| ТД.ДлительностьИспытательногоСрока КАК ДлительностьИспытательногоСрока,
| ТД.Ссылка.ГрафикРаботы.РабочихДнейВНеделе КАК РабочихДнейВНеделе,
| ТД.Подразделение.РайонныйКоэффициент КАК ПодразделениеРайонныйКоэффициент,
| ТД.Подразделение.РайонныйКоэффициентРФ КАК ПодразделениеРайонныйКоэффициентРФ,
| ТД.Ссылка.СовокупнаяТарифнаяСтавка КАК СсылкаСовокупнаяТарифнаяСтавка,
| ВложенныйЗапрос.НомерПриказа КАК НомерПриказа,
| ВложенныйЗапрос.НомерПриказа1 КАК НомерПриказа1,
| ТД.Сотрудник.Код КАК СотрудникКод,
| ФОТ.Начисления.(
| Результат КАК Результат
| ) КАК Начисления,
| ФОТ.Начислено КАК Начислено,
| ФОТ.ВидПремииНаименование КАК ВидПремииНаименование
|ИЗ
| (ВЫБРАТЬ
| ПриемНаРаботу.Ссылка КАК Ссылка,
| ПриемНаРаботу.НомерПриказа КАК НомерПриказа,
| ПриемНаРаботу.ВерсияДанных КАК ВерсияДанных,
| ПриемНаРаботу.ПометкаУдаления КАК ПометкаУдаления,
| ПриемНаРаботу.Номер КАК Номер,
| ПриемНаРаботу.Дата КАК Дата,
| ПриемНаРаботу.Проведен КАК Проведен,
| ПриемНаРаботу.Организация КАК Организация,
| ПриемНаРаботу.Подразделение КАК Подразделение,
| ПриемНаРаботу.Сотрудник КАК Сотрудник,
| ПриемНаРаботу.ФизическоеЛицо КАК ФизическоеЛицо,
| ПриемНаРаботу.Должность КАК Должность,
| ПриемНаРаботу.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
| ПриемНаРаботу.ДатаПриема КАК ДатаПриема,
| ПриемНаРаботу.КоличествоСтавок КАК КоличествоСтавок,
| ПриемНаРаботу.ВидЗанятости КАК ВидЗанятости,
| ПриемНаРаботу.ДлительностьИспытательногоСрока КАК ДлительностьИспытательногоСрока,
| ПриемНаРаботу.ГрафикРаботы КАК ГрафикРаботы,
| ПриемНаРаботу.СпособРасчетаАванса КАК СпособРасчетаАванса,
| ПриемНаРаботу.Аванс КАК Аванс,
| ПриемНаРаботу.УсловияПриема КАК УсловияПриема,
| ПриемНаРаботу.Руководитель КАК Руководитель,
| ПриемНаРаботу.ДолжностьРуководителя КАК ДолжностьРуководителя,
| ПриемНаРаботу.НачисленияУтверждены КАК НачисленияУтверждены,
| ПриемНаРаботу.СпособОтраженияЗарплатыВБухучете КАК СпособОтраженияЗарплатыВБухучете,
| ПриемНаРаботу.ОтношениеКЕНВД КАК ОтношениеКЕНВД,
| ПриемНаРаботу.СтатьяФинансирования КАК СтатьяФинансирования,
| ПриемНаРаботу.ИсправленныйДокумент КАК ИсправленныйДокумент,
| ПриемНаРаботу.ПорядокРасчетаСтоимостиЕдиницыВремени КАК ПорядокРасчетаСтоимостиЕдиницыВремени,
| ПриемНаРаботу.СовокупнаяТарифнаяСтавка КАК СовокупнаяТарифнаяСтавка,
| ПриемНаРаботу.ВидТарифнойСтавки КАК ВидТарифнойСтавки,
| ПриемНаРаботу.РазрядКатегория КАК РазрядКатегория,
| ПриемНаРаботу.ВидДоговора КАК ВидДоговора,
| ПриемНаРаботу.ТрудовойДоговорНомер КАК ТрудовойДоговорНомер,
| ПриемНаРаботу.ТрудовойДоговорДата КАК ТрудовойДоговорДата,
| ПриемНаРаботу.СрочныйДоговор КАК СрочныйДоговор,
| ПриемНаРаботу.ДатаЗавершенияТрудовогоДоговора КАК ДатаЗавершенияТрудовогоДоговора,
| ПриемНаРаботу.ОснованиеСрочногоДоговора КАК ОснованиеСрочногоДоговора,
| ПриемНаРаботу.СрокЗаключенияДоговора КАК СрокЗаключенияДоговора,
| ПриемНаРаботу.ОснованиеПредставителяНанимателя КАК ОснованиеПредставителяНанимателя,
| ПриемНаРаботу.СпособПоступленияНаСлужбу КАК СпособПоступленияНаСлужбу,
| ПриемНаРаботу.ПоступлениеНаСлужбуВпервые КАК ПоступлениеНаСлужбуВпервые,
| ПриемНаРаботу.ВидАктаГосоргана КАК ВидАктаГосоргана,
| ПриемНаРаботу.ОборудованиеРабочегоМеста КАК ОборудованиеРабочегоМеста,
| ПриемНаРаботу.ИныеУсловияДоговора КАК ИныеУсловияДоговора,
| ПриемНаРаботу.Грейд КАК Грейд,
| ПриемНаРаботу.Территория КАК Территория,
| ПриемНаРаботу.Подразделение.РайонныйКоэффициент КАК ПодразделениеРайонныйКоэффициент,
| ПриемНаРаботу.Подразделение.РайонныйКоэффициентРФ КАК ПодразделениеРайонныйКоэффициентРФ,
| ПриемНаРаботу.Ссылка.СовокупнаяТарифнаяСтавка КАК СсылкаСовокупнаяТарифнаяСтавка,
| ПриемНаРаботу.БронированиеПозиции КАК БронированиеПозиции,
| ПриемНаРаботу.РазрешениеНаРаботу КАК РазрешениеНаРаботу,
| ПриемНаРаботу.РазрешениеНаПроживание КАК РазрешениеНаПроживание,
| ПриемНаРаботу.УсловияОказанияМедпомощи КАК УсловияОказанияМедпомощи,
| ПриемНаРаботу.ПКУ КАК ПКУ
| ИЗ
| Документ.ПриемНаРаботу КАК ПриемНаРаботу
| ГДЕ
| ПриемНаРаботу.Ссылка = &СсылкаНаДокумент) КАК ТД
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ФизическиеЛицаКонтактнаяИнформация.Ссылка КАК Ссылка,
| ФизическиеЛицаКонтактнаяИнформация.Представление КАК Представление
| ИЗ
| Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ФизическиеЛицаКонтактнаяИнформация
| ГДЕ
| ФизическиеЛицаКонтактнаяИнформация.Вид.Наименование = ""Адрес по прописке"") КАК АдресПоПрописке
| ПО ТД.ФизическоеЛицо = АдресПоПрописке.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ФизическиеЛицаКонтактнаяИнформация.Ссылка КАК Ссылка,
| ФизическиеЛицаКонтактнаяИнформация.Представление КАК Представление
| ИЗ
| Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ФизическиеЛицаКонтактнаяИнформация
| ГДЕ
| ФизическиеЛицаКонтактнаяИнформация.Вид.Наименование = ""Адрес места проживания"") КАК АдресМестаПроживания
| ПО ТД.ФизическоеЛицо = АдресМестаПроживания.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДокументыФизическихЛицСрезПоследних.Период КАК Период,
| ДокументыФизическихЛицСрезПоследних.Физлицо КАК Физлицо,
| ДокументыФизическихЛицСрезПоследних.ВидДокумента КАК ВидДокумента,
| ДокументыФизическихЛицСрезПоследних.Серия КАК Серия,
| ДокументыФизическихЛицСрезПоследних.Номер КАК Номер,
| ДокументыФизическихЛицСрезПоследних.ДатаВыдачи КАК ДатаВыдачи,
| ДокументыФизическихЛицСрезПоследних.СрокДействия КАК СрокДействия,
| ДокументыФизическихЛицСрезПоследних.КемВыдан КАК КемВыдан,
| ДокументыФизическихЛицСрезПоследних.КодПодразделения КАК КодПодразделения,
| ДокументыФизическихЛицСрезПоследних.ЯвляетсяДокументомУдостоверяющимЛичность КАК ЯвляетсяДокументомУдостоверяющимЛичность,
| ДокументыФизическихЛицСрезПоследних.Представление КАК Представление,
| ДокументыФизическихЛицСрезПоследних.УдалитьВидДокумента КАК УдалитьВидДокумента
| ИЗ
| РегистрСведений.ДокументыФизическихЛиц.СрезПоследних(, ЯвляетсяДокументомУдостоверяющимЛичность) КАК ДокументыФизическихЛицСрезПоследних) КАК Паспорт
| ПО ТД.ФизическоеЛицо = Паспорт.Физлицо
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПриемНаРаботуНачисления.Размер КАК Размер,
| ПриемНаРаботуНачисления.Ссылка КАК Ссылка,
| ПриемНаРаботуНачисления.Начисление.КатегорияНачисленияИлиНеоплаченногоВремени КАК НачислениеКатегорияНачисленияИлиНеоплаченногоВремени,
| ПриемНаРаботуНачисления.Начисление.ВидВремени КАК НачислениеВидВремени,
| Премия.ВидПремии.Наименование КАК ВидПремииНаименование,
| Премия.ВидПремии.Ссылка КАК ВидПремииСсылка,
| Премия.ВидПремии.КатегорияНачисленияИлиНеоплаченногоВремени КАК ВидПремииКатегорияНачисленияИлиНеоплаченногоВремени,
| Премия.Начислено КАК Начислено,
| Премия.Начисления.(
| Сотрудник КАК Сотрудник,
| Результат КАК Результат
| ) КАК Начисления
| ИЗ
| Документ.ПриемНаРаботу.Начисления КАК ПриемНаРаботуНачисления,
| Документ.Премия КАК Премия) КАК ФОТ
| ПО ТД.Ссылка = ФОТ.Ссылка
| И ТД.Сотрудник.Ссылка = ФОТ.Начисления.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка,
| ОрганизацииКонтактнаяИнформация.Тип КАК Тип,
| ОрганизацииКонтактнаяИнформация.Вид КАК Вид,
| ОрганизацииКонтактнаяИнформация.Представление КАК Представление,
| ОрганизацииКонтактнаяИнформация.Город КАК Город
| ИЗ
| Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
| ГДЕ
| ОрганизацииКонтактнаяИнформация.Вид.Наименование = ""Фактический адрес"") КАК АдресОрг
| ПО ТД.Организация = АдресОрг.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ЗарплатныеПроекты.Ссылка КАК Ссылка,
| ЗарплатныеПроекты.Наименование КАК Наименование,
| ЗарплатныеПроекты.Банк КАК Банк,
| ЗарплатныеПроекты.НомерДоговора КАК НомерДоговора,
| ЗарплатныеПроекты.Организация КАК Организация,
| ЗарплатныеПроекты.ОтделениеБанка КАК ОтделениеБанка,
| ЗарплатныеПроекты.РасчетныйСчет КАК РасчетныйСчет,
| ЗарплатныеПроекты.ФилиалОтделенияБанка КАК ФилиалОтделенияБанка,
| ЗарплатныеПроекты.Представление КАК Представление
| ИЗ
| Справочник.ЗарплатныеПроекты КАК ЗарплатныеПроекты
| ГДЕ
| НЕ ЗарплатныеПроекты.ПометкаУдаления) КАК ЗарплатныеПроекты
| ПО ТД.Организация = ЗарплатныеПроекты.Организация
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПриемНаРаботу.НомерПриказа КАК НомерПриказа,
| ПриемНаРаботуСписком.НомерПриказа КАК НомерПриказа1
| ИЗ
| Документ.ПриемНаРаботу КАК ПриемНаРаботу,
| Документ.ПриемНаРаботуСписком КАК ПриемНаРаботуСписком) КАК ВложенныйЗапрос
| ПО ТД.НомерПриказа = ВложенныйЗапрос.НомерПриказа
| И ТД.НомерПриказа = ВложенныйЗапрос.НомерПриказа1";
ТаблицаЗначений = Запрос.Выполнить().Выгрузить();
//Индекс = ТаблицаЗначений.Количество();
//Сообщить("Индекс : "+Индекс);
//Пока Индекс > 1 Цикл
// Попытка
// ТаблицаЗначений.Удалить(Индекс-1);
// Исключение
// КонецПопытки;
// Индекс = Индекс -1;
//КонецЦикла;
//
//Возврат ТаблицаЗначенийВМассив(ТаблицаЗначений);
ТаблицаЗначений2 = ТаблицаЗначений.СкопироватьКолонки();
Для каждого СтрокаИсточник Из ТаблицаЗначений Цикл
НоваяСтрока = ТаблицаЗначений2.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,СтрокаИсточник);
Прервать;
КонецЦикла;
Возврат ТаблицаЗначенийВМассив(ТаблицаЗначений2);
КонецФункции // СформироватьЗапросДляПечати()
Подскажите пожалуйста, где в ЗУП хранится данное значение, что бы вытащить его запросом?
Нужно ли при этом указывать период ? (если да, то как это сделать?)))
Прошу указать в каком направлении копать?
Цель та же, решить задачу и главное понять, как делать правильно, так, что бы потом не было стыдно)
Заранее спасибо!
Обзор книги Стива Макконнелла «Совершенный код», про которую говорят "должен прочесть каждый разработчик"
Всем доброго времени суток!
Публикую рецензию подписчицы нашего телеграмм-канала t.me/it_begin на книгу "Совершенный код" от автора Стива Макконнелла
Стоит читать? Нет! Почему? Опишу в статье.
Начать, хотелось бы с того, что сообщество StackOverFlow признало книгу Стива Макконнелла "самой впечатляющей книгой, которую должен прочесть каждый разработчик программного обеспечения"
Обратимся к цитате из книги:
Ваш работодатель не может заставить вас стать хорошим программистом, а зачастую он даже не может оценить, насколько хороши вы как программист. Если вы хотите стать отличным программистом, вы отвечаете за это сами. Это зависит от вашего характера.
Как мы знаем, бывают книги, что переиздают буквально каждый год, по причине их отставания от тех вещей, что происходит в индустрии. Есть же книги, что фундаментальны и начал их изучение, у вас два варианта развития событий. Вы или полюбите программирование или же получите полное отвращение к всему, что с ним связано.
Книга Стива Макконнелла стоит посередине этих понятий, сочетая в себе наставления и справочник по решению поставленных задач, независимо от того, какой язык программирования вы используете .
Кто целевая аудитория книги?
Это терпеливые, вдумчивые и целеустремленные люди, что имеют достаточно свободного времени.
Для начала, обратим внимание на объём нашей книги. 900 страниц!
Такой объём возможно напугает далеко не каждого и кто читает в среднем 30 страниц в день управится с книгой за месяц. но ...
1. Плотность информации, что изложена на страницах , очень велика,
2. Большое количество ссылок на сайты с дополнительным материалом, которые любезно оставил автор
3. В конце каждой главы - список рекомендуемой литературы
Много ли кода в книге?
Крайне не хватает настоящего кода и реальных задач, автор же ссылается на sourceforge.net , называя его лучшим сборником кода.
В наших реалиях это github и сайты с библиотеками для вашего языка программирования.
Имеет ли смысл читать книгу, если у меня нулевой опыт в программировании?
Нет. Нет никакого смысла тратить своё время, если вы не знаете ни одного языка программирования, так как с большой вероятностью вы ничего не поймете в книге.
Также есть и обратная медаль у этого всего. Книга выпущена в 1993 г. и как мы с вами понимание, за 29 лет многие вещи в индустрии изменились и закрепились так сильно, что стали очевидны каждому разработчику, что также не мешает им создавать плохой код.
Есть ли альтернативы данной книге?
Если вы хотите улучшить свой код и стиль его написания, но нет желания читать талмуд в 900 страниц, то советую обратить внимание на книгу "Программирование без дураков"
Авторы: Катрин Пассиг., Йоханнес Яндер. В чем-то эти книги перекликаются, но книга Стива намного сильнее углубляется в свою тему.
Основные принципы написания кода, изложенные в книге:
1. Никогда не следуйте требованиям, не вникая в них. - ибо требования устаревают и за трендами их развития так или иначе необходимо следить, а не просто делать так, потому что раньше всегда так делали.
2. Пока не поймете, так ли хорош ваш подход на самом деле, не делайте поспешных выводов - то что кажется вам практическим и удобным в использовании - может тратить много ресурсов компьютера и времени, к примеру - использование избыточных комментариев.
3.Будь проще - твой код должен быть понятен и ясен каждому, комментарии должны быть как можно ближе к коду.
Если не можете что-то реализовать, не создавайте кучу переменных в одном методе и не держите их там, старайтесь избегать вложенных циклов и разных ветвлений
Делают ли годы программирования нас профессионалами?
Также в книге затрагивается вопрос того, что годы программирования, сами по себе, ни коем образом не характеризуют вас как отличного специалиста. Вы можете кодить 3-10-15 лет, но делать одно и тоже, не расти профессионально. По итогу, становиться лучше или же оставаться на том же уровне профессионализма - дело сугубо ваше. Как и интерес к чему-то новому, смотреть как работают другие и посмотреть на свою работу со стороны - то что поможет вам расти.
Полезна ли книга?
Из всей книги, лишь 3-5% имеют ценность. Заставляет задуматься хорошо глава о семантическом сопряжении. Глава про инструментарий также является по мне полезной. Пожалела я о потраченном времени на данную книги. Книга содержит много моментов из мотивационной литературы наподобие "Думай и Богатей", что дополнительно растягивает книгу и отнимает наше время. За этим ли мы пришли к её прочтению?Книга очень затянута. Две крайние главы - это около 100 страниц, в которых резюмируется то, что было написано уже ранее. Это при том, что резюмирование происходит абсолютно в каждой главе.
По мне, буду в здравом уме, прочитать эту книгу от корки до корки - невозможно.
Итог по книге:
Книга крайне затянутая. Хоть и содержит в себе большое число полезных ссылок и сносок на рекомендуемую литературу, но объём книги мог бы получиться и поменьше, если не переливать из пустого порожнее на протяжении 900 страниц
Пройтись по диагонали и что-то подчеркнуть для себя - книга подойдет. Но вчитываться в неё, вникать в каждую деталь - смысла никого не имеет. Потратите только время и нервы.
Наш канал
Кому интересны программирование, изучение иностранных языков и кто просто любит развиваться
публикую также интересные статьи и интервью на телеграмм-канале IT-старт t.me/it_begin
Подписывайтесь ;)
Спасибо!