Pull to refresh
38
0
Григорий Макеев @grigorym

Преподаватель

Send message

Конспект лекций по ООП, или Только не ещё одна статья про SOLID

Reading time15 min
Views12K

Так выглядит "инкапсуляция, наследование и полиморфизм" в глазах Midjourney. Интересно, кто тут кто, а так же какой четвёртый "кит" ООП закрался в эту мозаику. Но я не об этом. Я собрал студентам конспект своих лекций по ООП, которые читаю уже, страшно подумать, больше 15 лет. Книжку по функциональному программированию я написал уже давно, книжка по реляционным базам данных пока только в виде первой главы, а конспект по ООП собрался только вот-вот, аккурат к сессии готовиться. Не знаю, что из этого выйдет, %хабр%, "но так и быть - рукой пристрастной прими собранье пестрых глав". Содержание всех глав - в конце, а под катом - одна из глав, которая посвящена SOLID. Да, опять. Да, снова.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments16

Исследование формата бинарных файлов на Python

Reading time12 min
Views16K

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

Читать далее
Total votes 38: ↑38 and ↓0+38
Comments9

О сложности в работе программиста

Reading time7 min
Views14K

Я хочу сегодня порассуждать об окружающей нас (людей) сложности и о нашем умении с ней работать. Не о той сложности, про которую пишут в статусах семейного положения в соцсетях, типа, «всё сложно», а о сложности в организационно-технических системах (кстати, по-моему, неплохое название для ВУЗовской специальности получилось). На оригинальность и, тем более, истину не претендую (тем более что, как минимум, наполовину я тут собираюсь низводить, курощать и дуракавалять). Часть этих рассуждений я уже выносил куда-то в комментарии, но для меня этот вопрос не закрыт. Поэтому жизнь всегда подбрасывает мне разные показательные примеры, которые побуждают размышлять дальше. Несмотря на пятницу, это не задумывалось, как развлекательное чтиво, тут не будет весёлых картинок, если что – я вас предупредил. Если хотите прочитать только одно предложение, и пойти читать остальные весёлые пятничные статьи – то вот оно: «Упрощать сложность там, где это можно сделать, справляться со сложностью там, где упрощать её нельзя, и нарабатывать опыт и умение отличать первый случай от второго». Годится как пятничный тост.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments11

Паттерны по-моему: chain of responsibility и command

Reading time16 min
Views12K


В этой статье описываются два паттерна проектирования из широко известной книги «Банда Четырёх» на примере конкретного кода. Паттерны описаны в множестве мест, поэтому если вы уже разбираетесь в проблеме, мои объяснения будут вам очевидны и не нужны. Мои тексты — для тех, кто отчаялся разобраться в проблеме, или вроде бы разобрался, но интуитивно ощущает дискомфорт, будто что-то не то и не так понял. Я попробую объяснить понятно. Студенты утверждают (причём уже после сдачи экзамена, поэтому у меня есть основания такое мнение считать непредвзятым и неангажированным), что получается понятно.
Я готов не узнать ничего нового, потому что паттерны и так знаю
Total votes 3: ↑2 and ↓1+3
Comments13

Как научиться проектировать реляционные базы данных за полчаса

Reading time17 min
Views43K


Автоматизация сопровождает нас повсюду и является спутником и признаком прогресса, снимая с человека необходимость выполнения рутинных действий и принятия рутинных решений. Но для принятия решений о будущем необходима информация о прошлом, поэтому автоматизация неизбежно связана с необходимостью накапливать, хранить и обрабатывать данные, чем и занимаются базы данных и системы управления базами данных. Объём данных не уменьшается, а только увеличивается, поэтому я всегда говорю своим студентам: я научу вас хаскелю, но это сломает вам жизнь и не поможет найти работу базы данных – это хлеб программиста, у разработчика баз данных работа будет всегда, учитесь ораклу базам данных – и хлеб с маслом и икрой вам обеспечен. Это я так, как обычно, полемически заостряюсь для мотивации, но совсем чуть-чуть.
Читать дальше на свой страх и риск
Total votes 26: ↑26 and ↓0+26
Comments27

Information

Rating
5,534-th
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity