Pull to refresh
-4
@andmerk93read⁠-⁠only

User

Send message

Доктор Алан Кей о смысле «объектно-ориентированного программирования»

Level of difficultyMedium
Reading time6 min
Views9K

Оригинал

В 2003 году Алан Кей, признанный автор термина «объектно-ориентированное программирование», ответил на вопросы исследователя Штефана Рама. В этом письме он раскрывает первоначальный замысел ООП, который значительно отличается от того, чему большинство из нас учат сегодня. Публикуем перевод этого исторического документа.

Читать далее

Как мир вернулся в «классический веб» — взлет и падение эпохи мобильных приложений

Reading time7 min
Views23K

Помните, одно время тематические площадки заполонили статьи вида: «Я устал от [плохих] приложений для изучения английского, поэтому сделал своё» или «Я устал от [неправильных] трекеров продуктивности, поэтому создал собственный»? В реалиях современных аппсторов заголовок можно сократить до: «Я устал».

Статистика говорит, что app fatigue is real. А мы в Beeline Cloud решили посмотреть, как менялось отношение к приложениям — от «эры пост-ПК» до настоящего времени.

Читать далее

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 1 — теория)

Reading time6 min
Views37K

В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический характер и предназначены для людей, тонко настраивающих Firewall, Qos и маршрутизацию, где им придётся непосредственно работать с рассматриваемыми connections.

В этой части статьи подробно описана сущность сетевого соединения глазами ядра маршрутизатора. В практической части закрепим информацию в результате рассмотрения работы прикладного протокола DNS через подсистемы RouterOS. В заключительной части речь пойдёт о диаграмме потока пакетов, при работе с которой важно понимать сущность рассматриваемого сетевого соединения, а также о не документированной в явном виде особенности работы NAT. Материала достаточно много, и чтобы читатель не потерял смысловую нить к концу статьи, она разделена на 3 части: теория, практика и особенность NAT.
Цикл статей не предназначен для новичков и может их только запутать. Полагаю, что читатель хорошо знаком с предметом разговора.
Читать дальше →

Как я базы 1С в Германии прятал

Reading time6 min
Views61K

image alt text


Когда руководство переживает за свои данные (как бы не попали куда не следует), то это или к изучению шифрования, или к покупке кислоты для диска, или к поиску заморских ЦОД. Если выбор пал на перенос сервера подальше из страны, то возникает целый ворох неочевидных проблем с его использованием остальным офисом. В статье будет про сценарий переноса 1С в европейский дата-центр и про настройку "самонаводящегося" IPSec.


Ведь дьявол кроется в деталях.

Читать дальше →

Проданы IBM: история двух компаний

Level of difficultyEasy
Reading time7 min
Views2.7K

Я наткнулся на эту статью, когда проходил практику в IBM Almaden Research Center. Женщина, сдававшая мне комнату в Сан‑Хозе, в прошлом сотрудница IBM, время от времени получала небольшую бумажную газету под названием «Think twice!». Я даже не уверен, какой у неё был тираж. Сто экземпляров? Двести? Но статья настолько мне понравилась, что я не поленился и вручную перепечатал её. 20 лет я прятал этот текст в самых тайных папках, перенося с одного компьютера на другой (как те золотые часы, которые носили в своих задних проходах герои фильма «Криминальное чтиво»), и сегодня решился наконец выложить его перевод на всеобщее обозрение. Если верить гуглу, то я — единственный в мире обладатель этого текста.

Желаю приятного прочтения.

Подумай дважды!

Читать далее

Паттерны проектирования в Python, о которых следует забыть

Reading time8 min
Views23K

Попробуйте поискать в Интернете «Паттерны проектирования на Python» — и получите целую простыню туториалов, демонстрирующих, как в точности воспроизвести на Python паттерны проектирования из книги «Банды четырёх». Там же будут диаграммы классов, иерархии фабрик и столько шаблонного кода, что выхлопа хватит, чтобы отопить маленькую деревню. Так вам внушают, будто вы пишете «серьёзный» код. Умно. Профессионал ьно. Готово для корпоративного использования.

Но вот в чём проблема: большинство из этих паттернов решают проблемы, которые в Python просто отсутствуют. Паттерны разрабатывались для таких языков как Java и C++, где для выполнения самых базовых вещей требуется настоящая эквилибристика — нет ни функций первого класса, ни динамической типизации, ни модулей в качестве пространств имён. Разумеется, вам потребуется Фабрика или Синглтон, если без них в вашем языке просто не с чем работать.

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

Читать далее

Паттерны проектирования в Python, о которых следует забыть. Часть вторая

Reading time9 min
Views8.7K

С тех пор, как «банда четырёх» ещё в 90-е выпустила свою легендарную книгу «Паттерны объектно-ориентированного проектирования», сами «паттерны проектирования» стали краеугольным камнем всевозможных рассуждений о программной архитектуре. Однако, со временем этот термин становится всё более размытым. Сегодня при упоминании паттернов может иметься в виду:

Назначение этого паттерна: та проблема, для решения которой он предназначен Реализация: точная структура класса или код для воплощения этого паттерна

Рассказывая о «паттернах проектирования в Python, о которых следует забыть», мы имеем в виду как раз реализации. В самом деле, эти паттерны решают реальные задачи. Но в Python решение этих задач ничуть не напоминает те варианты, которые предлагаются на C++ или Java.

Держа в уме эту идею, делаем простой вывод:

Мишка учится лазать по деревьям, чтобы добраться до мёда. Но орлы никуда не лазают, они летают.

Читать далее

Ваш Xiaomi — это не Xiaomi. Кто делает китайские телефоны на самом деле?

Reading time10 min
Views139K

И почему они стоят так дёшево?

Многие в курсе, что Xiaomi, Honor, Tecno или Realme не делают телефоны сами. Но что если я скажу, что они их даже не разрабатывают? Многие бюджетные модели лишь продаются под этими шильдиками, а всю разработку и производство “от и до” делают совсем другие компании. Эти компании не на слуху, но без них не было бы никакого “топа за свои деньги”. Давайте разбираться, что всё это значит, и как так вышло.

Читать далее

Как начать вайбкодить и снова полюбить программирование

Level of difficultyEasy
Reading time4 min
Views18K

Сегодня я и моя командой заняли первое место на хакатоне гражданских проектов. Сделали бота, ищущего контракты на капремонт по адресу, и выкачивалку-парсилку Госзакупок для него. Можно использовать как референс или брать готовый код в свои проекты, он в Public Domain: https://github.com/unxed/crwatch

Для меня это был первый хакатон и первый проект, с нуля сделанный вайбкодингом. Учитывая, что пользуюсь я нейронками в разработке довольно давно, накопился некоторый опыт, которым решил поделиться и с вами.

Читать далее

Программист embedded лезет в FPGA (часть 1, hello blink)

Level of difficultyMedium
Reading time7 min
Views8.7K

Любой программист микроконтроллеров, Imho, рано или поздно (сейчас, скорее, рано) от одного из коллег или из статьи в интернете слышит загадочное ПЛИС или FPGA, CPLD, ПВМ — что-то такое. Если честно, то я услышал вот это загадочное, занырнул чуть-чуть, и теперь думаю, что мой опыт пригодится кому-то ещё. Если совсем честно, то статья ещё планируется как небольшая (всего в трёх частях) заметка для себя. Я когда погружался, делал пометки в текстовом файле, здесь получится их хорошо отредактированная версия.

Очень много вещей в подобных этому туториалах, которые я читал, пропускаются как сами собой разумеющиеся. Подробные инструкции куда и как тыкать есть в документации к плате разработки. Но там не хватает ответов на вопросы зачем и почему. Здесь я хочу скомбинировать 2 подхода.

Лезем в FPGA

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

Reading time7 min
Views5.2K

Если вы управляете достаточно крупным бизнесом, вы неизбежно будете собирать аналитические данные. Вы же хотите точно понимать, почему меняются показатели продаж или какие товары будут пользоваться спросом в следующем месяце.

Звучит логично и понятно, пока вы не начнете плотно работать с цифрами и графиками. И тут, как и почти в любой сфере, кто-то рано или поздно должен был внедрить AI-ассистента. Под катом посмотрим, что из этого получилось.

Читать далее

«Хакеры и Художники». Как мы 13 лет всем рунетом Пола Грэма переводили

Reading time5 min
Views54K
«Это началось как желание, стало приключением, а закончилось как уникальное дорожное путешествие.»
— к/ф «Трасса 60»



Пол Грэм написал книгу «Hackers and Painters» (оригинал в PDF на английском) когда еще был больше программистом, чем инвестором. С тех пор некоторые моменты устарели (да и arc не взлетел), но большинство мыслей остались актуальными (роль и место ботанов «хакеров» в современном мире, свободомыслие, критическое мышление, способность бросать вызов большим системам и пр). Лично я планирую перечитать всю книгу еще пару раз.

Спасибо Байраму Аннакову за «наводку» на Пола Грэма и Николаю Кононову, который подтвердил, что я на правильном пути.

Содержание


Глава 1 Why Nerds Are UnpopularЗа что не любят ботанов.
Глава 2 Hackers and PaintersХакеры и художники (Habr edition)
Глава 3 What You Can't SayО чем вы не можете сказать.
Глава 4 Good Bad AttitudeСлово «хакер».
Глава 5 The Other Road AheadДругая дорога в будущее, Другая дорога в будущее, продолжение.
Глава 6 How to Make WealthКак стать богатым.
Глава 7 Mind the GapОсторожно, разрыв.
Глава 8 A Plan for SpamПлан для спама.
Глава 9 Taste for MakersВкус — созидателям.
Глава 10 Programming Languages Explained — Языки программирования «в разрезе».
Глава 11 The Hundred-Year LanguageЯзыки программирования через сто лет.
Глава 12 Beating the AveragesLisp: побеждая посредственность.
Глава 13 Revenge of the Nerds — Месть ботанов 1, 2, 3.
Глава 14 The Dream LanguageБыть Популярным, часть 2.
Глава 15 Design and ResearchПроектирование и исследование.

Под катом хронология переводов и благодарности.
Читать дальше →

Пол Грэм: Глава 2. Хакеры и художники (Habr edition)

Reading time18 min
Views15K
image

Сейчас Пол Грэм учит правительства и университеты как создавать стартап-хабы, а а вот раньше… он провел замечательную аналогию между высококлассными программистами и художниками.

За 13 лет глава, одноименная с названием книги, затерялась в сети. Для удобства, хочу опубликовать ее, собранную по кусочкам из различных архивов.

Перевод Анастасии Грызуновой, Яны Щекотовой. Приведение текста в порядок — CaptainCrocus.

Оригинал — Hackers and Painters (May 2003)


Закончив аспирантуру по computer science, я пошел на художественный факультет изучать живопись. Многие удивились, что компьютерщик вдруг заинтересовался живописью. Эти люди, видимо, считали, что хакерство и художество — очень разные занятия: хакерство — холодное, точное и методичное, а художество — яростное выражение некого первобытного порыва.

Оба представления неверны. У хакерства и художества масса общего. Из множества различных типов людей хакеры и художники — едва ли не самые похожие.

Деградация батареи в Linux

Level of difficultyEasy
Reading time3 min
Views9.9K

Мы все знаем, что батарея не вечна. Это нормально — можно заменить изношенную батарею в сервисе и снова использовать устройство. Но очень полезно видеть текущее состояние батареи. В MacOS это стандартная функция, в Linux мы, конечно, можем сделать то же самое. Давайте разберёмся!

Читать далее

Не лезьте туда: 47 лет не оцифровывали, и нормально же работало

Reading time8 min
Views157K

Работа команды производственных айтишников на металлургическом производстве иногда тесно сплетается с командой технологической автоматизации и электрооборудования: устанавливаем датчики уровня, нужные для детального анализа технологического процесса

С точки зрения ИТ доменная печь — это огромный «чёрный ящик». Вы кладёте сырьё и топливо, получая на выходе чугун и шлак. Измерить внутри все можно почти ничего нельзя: датчики просто «умирают» от температуры, воздействия шихты и прочих условий. Измерить снаружи тоже сложно (да и нужно ли?): большие печи имеют диаметр порядка 15 метров и высоту 35 метров, — что нам дадут граничные условия для таких размеров?! По опыту на малых печах можно измерять уровень расплава (без разделения на шлак и чугун) по ЭДС внешними датчиками, но у нас так не выйдет, и нам пришлось провести целое исследование, чтобы понять, почему.

Как операционный персонал управлял процессом последние 47 лет? На базе своего производственного опыта, данных по загруженному сырью, параметров прошлых выпусков чугуна и шлака, а также косвенных параметров предполагал, как поведёт себя печь. Но управлять процессами внутри надо, поэтому остаётся только моделирование процессов по данным входа и выхода, базируясь на принципах материального баланса и используя математические ухищрения.

Если коротко, то мы те самые энтузиасты, которые «доставляют» данные, создают алгоритмы и вместе с производством добиваются эффекта. Собственно, мы оптимизируем всё что можем, и вот наконец добрались до самого нетронутого, сакрального и неизвестного легаси, вызванного «чернотой» ящика. Десятилетиями ограниченность данных воспринималась как неизбежность.

Но цифровые возможности развиваются, и мы пробуем применить самые современные цифровые решения, даже если они на грани возможного.

Читать далее

Введение в теорию автоматического управления. Основные понятия теории управления техническим системами

Reading time15 min
Views204K

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


Лекции по курсу «Управление Техническими Системами», читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки», факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.


Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика привествуется.


Читать дальше →

Кастомные Android-прошивки и всё, что с ними связано

Level of difficultyMedium
Reading time8 min
Views98K

Покупаешь новый смартфон и ходишь радостный пока опять новый кастом не накатил. Он и работает шустро, и игрушки идут лучше, уж побыстрее стока. Но тут прилетело OTA, ядро новое вышло, да и Magisk обновился уже — пора ставить апдейты и получать “бутлупы”. Да, от общего числа пользователей Android смартфонов доля тех, кто сидит на кастомах крайне мала. Однако, всё же людям приходят в голову странные мысли по типу: “А не прошить бы мне свой Xiaomi, что б летал как ракета”. По такому случаю статья, в которой рассказывается про кастомные Android прошивки от А до Я.

Читать далее

Raspberry Pi, веб‑камера и Python — все, что нужно для создания ИИ‑тренера по фортепиано

Level of difficultyEasy
Reading time9 min
Views4.2K

Здравствуйте! Меня зовут Ада Ло́пес, я студентка первого курса факультета «Креативные технологии и ИИ» в Университете Хауэст в Кортрейке.

Этот проект — моя первая полностью самостоятельная работа по интеграции искусственного интеллекта с «железом». Фортепианный тренер на базе ИИ — интерактивный комплекс для помощи начинающим в обучении игре на фортепиано. Система предоставляет обратную связь в реальном времени и отслеживает исполнение заранее заданной мелодии.

Под катом — весь путь создания проекта. Мы пройдем от обучения ИИ-модели и создания корпуса — до построения контура обратной связи и решения проблем с потоковой передачей данных в реальном времени. Опыт получился отличным! Он был наполнен отладкой, открытиями и множеством ночных тестов.

Читать далее →

История VIA Technologies: как потеснить AMD и Intel, завоевать половину рынка чипсетов материнских плат и потерять все

Reading time8 min
Views13K

Вспоминаем победы и промахи тайваньского гиганта, который недавно полностью ушел с рынка чипсетов для ПК. Для ностальгирующих очевидцев и не только.

Читать далее

Почему топ менеджеры выбирали SAP, но не выбирали 1С, а теперь они тусуются на ЦИПР?

Level of difficultyEasy
Reading time12 min
Views49K

Маркетинг при продажах крупным корпорациям это не классические продажи B2B, это целая спецоперация и пропаганда. А еще использование мягкой силы на государственном уровне. Не верите? Тогда читайте непридуманные истории.

Истина где то тут
1
23 ...

Information

Rating
Does not participate
Registered
Activity

Specialization

Инженер АСУТП
SQL
Python
Network administration
System administration
Server administration
PLC
PLC programming
SCADA
APCS