?

Log in

Бросаемо-возобновляемый блог [entries|archive|friends|userinfo]
proros_kokos

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Конспект/книга/"Воруй как художник" О.Клеон [May. 2nd, 2015|12:40 pm]
proros_kokos
[Tags|, , , ]

Каждая новая идея - это смесь прошлых идей.
Мусор на входе - мусор на выходе.
Гуглить всё.
Заведите папку для украденного.
Не ждите пока разберетесь в себе - приступайте к делу.
Играйте пока не начнете творить.
Начните копировать.
Неудачная попытка превратиться в свой идеал делает нас уникальными.
Пишите книгу, которую хотели бы прочесть.
Пишите о том, что любите.
Старайтесь всё делать руками - сидение перед компом днями убивает вас и вашу работу.
Осознайте важность хобби и побочных проектов.
Не жалейте время на безделье.
Хорошо делайте свою работу и делитесь ею с людьми. Но делитесь фрагментами.
Выходите из дома.
Держитесь поближе к талантливым людям.
Не ищите одобрения.
Собирайте хвалебные отзывы.
Будьте скучными, только так можно выполнить свою работу.
Воспринимайте творчество как умение вычитать.
Link2 comments|Leave a comment

Find the ball [Apr. 25th, 2015|12:20 am]
proros_kokos
[Tags|, , , ]

Запилил первую игрушку на Scratch:
https://scratch.mit.edu/projects/58804234/
LinkLeave a comment

Вухууу, я сделал-я сделал) [Apr. 22nd, 2015|02:44 pm]
proros_kokos
[Tags|, , ]

Малой неплохо объясняет)

LinkLeave a comment

Это прекрасно) [Apr. 22nd, 2015|09:50 am]
proros_kokos
[Tags|, , ]

LinkLeave a comment

Конспект/видео/005. Архитектура и проектирование ПО [Apr. 21st, 2015|06:12 pm]
proros_kokos
[Tags|, , , ]

Конспект по видео "Архитектура и проектирование ПО"
(https://www.youtube.com/watch?v=YLf_zWZ3hZ0)

Термин "Архитектура ПО" много определений:
-наиболее абстрактное описание системы
-то, что сложно изменить в дальнейшем
-то, что кажется архитектору важным
-конкретный набор документов

Описание архитектуры:
-компоненты системы и их взаимодействие
-самые важные классы и функции
-организация данных
-структура пользовательского интерфейса
-обработка исключительный ситуаций и сбоев <== важная часть, о которой часто забывают
-безопасность
-использование технологий и стороннего ПО
-использование ресурсы (люди/машины)
-способы развития системы
-способы тестирования системы

Что нужно архитектору:
-опыт
-умение работать с абстракциями (мета-навык? книга "Структура и интерпретация компьютерных программ" Абельсон,
Сассман)
-знание типовых решений/паттернов/шаблонов

Типовые решения:
-архитектурные шаблоны
-низкоуровневые шаблоны
-алгоритмы
костыли встречаются в каждом из этих трех пунктов

Архитектурные шаблоны.

Концепция слоев - абстрактное деление программы на три части:
-представление (presentation!) - интерфейс
-домен/бизнес-логика (domain) - основная функциональность
-источник данных (data source) - часть системы, которая отвечает за работу с СУБД
Концепция слоев дает изоляцию, можно менять одну часть почти не затрагивая остальные

Шаблоны домена:
-сценарий транзакции (transaction script)
-модель предметной области (domain model)
-слой служб (service layer)

Сценарий транзакции использует императивный подход. Плюсы: простота в реализации, интуитивно понятен.
Минусы: тяжело описывать сложную логику, трудно следить за дублированием кода,плохая изоляция представления
от источника.

Модель предметной области - воплощение ООП. Плюсы: хорошо описывает сложную бизнес-логику, обеспечивает
хорошую изоляцию. Минусы: сложна в реализации, возможны проблемы с эффективностью.

Слой служб - "склеивание" двух пред.паттернов - модель предметной области и сценарий транзакций.
Плюсы и минусы - выше.

Шаблоны источника данных (ORM):
-шлюз таблицы данных (table data gateway)
-шлюз записи данных (row data gateway)
-преобразователь данных (data mapper)

Шаблоны представления (view! not presentation!):
Модель-Представление-Контроллер

Контроллеры:
-контроллер страниц - "на такой url - вот такая страница"
-контроллер запросов

*потерялсо, почему он постоянно говорит про Django?*

книга М.Фаулер "Архитектура корпоративных программных приложений"

Алгоритмы
книга Д.Кнут "Искусство програмирования"
книга Н.Вирт "Алгоритмы и структуры данных"
книга А.Шень "Программирование. Теоремы и задачи"

Шаблоны проектирования ООП
книга "Приёмы объктно-ориентированного проектирования. Паттерны проектирования"


Шаблоны проектирования ФП
*конец*
LinkLeave a comment

Конспект/видео/011. Проектирование тестов [Apr. 21st, 2015|12:41 pm]
proros_kokos
[Tags|, , ]

Конспект по видео "Проектирование тестов"
(https://www.youtube.com/watch?v=sq2X_trhVgA)

Перед написанием тестов надо провести анализ:
1) Зачем эта фича нужна? /решение бизнес-задачи/исправление старых ошибок или логики/
для получения ответов на этот вопрос надо обращаться к заказчику
2) Как это работает?
для получения ответов на этот вопрос надо обращаться к разработчику
3) Где? - условия применения фичи, от состояния БД до погоды за окном

Сделать описание и тест-план - структурирование полученных ответов на эти три вопроса.
Рассказ фичи - объясняя фичу другому ты можешь оценить своё понимание вопроса.
Ревью описания у заказчика и у разработчика.

Подходы к тест-дизайну согласно книги "Practitioner's Guide to Software Test Design":
/
1) Equivalence class testing - использование классов эквивалентности.
-не забывать заведомо неверные значения
-важно четко определить и проанализировать диапазон входных данных
-выявление группы переменных, зависимых друг от друга (н-р сумма двух сторон треугольника
больше третьей)

2)Boundary value testing
-помнить про числовые границы, границы множеств, границы циклов, границы структур данных,
границы пространства (многомерные объекты), границы времени, границы конфигураций
-таблица Майерса (построение):
--вряд ли будет спецификация со всеми допустимыми/недопустимыми значениями
--начните с простого перечисления полей ввода
--в конце концов должна получиться таблица со всеми возможными значениями
--на практике редко встречаются полные таблицы

3)Domain analysis testing:
-разбиение областей значений на подобласти
-выбор конкретных значений из подобластей
-сочетание выбранных значений разных параметров

4)Pairwise testing: позволяет выбрать небольшое подмножество тестов, позволяющее найти наибольшее
количество дефектов

5)Decision table testing
6)State-transition testing: использование диаграмм с обозначением переходов между состояниями
7)Use case testing: подходит для тестирования интерфейсов, могут быть пропущены неочевидные сценарии
\

Parameters based testing: Пример "Кружка": Параметры:

содержимое: вода, спирт, чай, крупа, сахар
t содержимого: 0С, 100С, -20С, 70С
время теста (сек): 1, 10, 60,  3600, 86400
доп.действия: нагрев, охлаждение

перебор параметров:
-ручной
-n-wise
-перебор относительно фиксированных значений <== пример "кондиционер":
/
--температура
--мощность
--таймер выключения

взять "стандартный" режим работы: T=20C, P=2000Вт, t=20минут
фиксируем одно значение, перебираем все остальные
\
-иерархическая проверка параметров <== пример расчет площади трецгольника  по формуле полупериметра:
/
внутри формулы три функции: считывание данных (А), рассчёт периметра (В), расчёт площади (С)
проверка: А(), В(А), В(С)
\

РАЗНОЕ ИНТЕРЕСНОЕ:
-Magic numbers: 0,4,37,38,48,97,204,...
-Error guessing: тестирование на основе предугадывания ошибки. Пример:
/
есть описание: "Консольное приложение, которое на вход принимает 3 целых числа ..."
перед каждым значущим слово поставить НЕ
то есть получается: "НЕ Консольное НЕ приложение, которое на  НЕ вход принимает  НЕ 3  НЕ целых НЕ числа ..."
\

ТЕСТ-КЕЙС

Свойства:
-простота/понятность
-воспроизводимость
-обоснованность

КАК ЗАВОДИТЬ БАГИ:
-не откладывать, заводить сразу
-разобраться в баге, локализовать проблему
-подумать где этот баг может встретиться ещё

ЖИЗНЕННЫЙ ЦИКЛ БАГА

ОЦЕНКА ТЕСТИРОВАНИЯ:
-покрытие требований (Requirements Coverage)
Requirements Traceability Matrix
-покрытие кода (Code Coverage):
--покрытие операторов
--покрытие условий
--покрытие путей
--покрытие функций
--покрытие вход/выход

ЛИТЕРАТУРА:
-Lee Copeland "Practitioner's Guide to Software Test Design"
-Бейзер Борис "Тестирование черного ящика"
-Канер
-Майерс Г. "Искусство тестирования программ"
LinkLeave a comment

Шутка после репы [Apr. 13th, 2015|04:15 pm]
proros_kokos
In delay we trust we trust
))

LinkLeave a comment

Наблюдения [Apr. 12th, 2015|11:29 pm]
proros_kokos
Судя по всему, большинство считает, что
в этот день воскресал сын Бахуса.
LinkLeave a comment

Отпуск, Дарья, море, когда-нибудь [Apr. 12th, 2015|12:06 pm]
proros_kokos
Хочу положить голову на её колени и долго
смотреть туда, где море переходит в небо.

LinkLeave a comment

Постельный режим - время сериалов [Apr. 11th, 2015|10:26 pm]
proros_kokos
"Ганнибал" - кулинарный сериал о том, как Матрица таки достала Морфеуса))

LinkLeave a comment

Flu karaokke [Apr. 10th, 2015|09:05 pm]
proros_kokos
Ты простыл и хрипишь? Время петь Killing Strangers под душем!

LinkLeave a comment

И снова здравствуйте) Common answer would be twice the porn [Apr. 9th, 2015|10:01 pm]
proros_kokos


Мне выдали второй монитор в дополнение к ноуту. Поискал какие прикольные штуки в связи с этим можно сделать.
Вот это доставило: Common answer would be twice the porn.

З.Ы. Френды мои, живы ли вы ещё? Черкните что-нибудь в каментах.
Link2 comments|Leave a comment

Львов [Dec. 8th, 2013|05:41 pm]
proros_kokos
Съездили во Львов, посетили три замка, устроили небольшой гастротур.
Также видели львовский майдан, точнее майданчег - он совсем маленький)
LinkLeave a comment

Вспомнилось тут [Dec. 1st, 2013|09:25 pm]
proros_kokos
LinkLeave a comment

Вечером [Nov. 27th, 2013|10:57 pm]
proros_kokos
Теплая ламповая домашняя еда - вкусняшка)
LinkLeave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]