Информация
- В рейтинге
- 6 465-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Бэкенд разработчик, Архитектор программного обеспечения
Ведущий
Python
PostgreSQL
Redis
Celery
Django
FastAPI
Elasticsearch
Kubernetes
Clean Architecture
MySQL
Я, правда, не очень понимаю термин "самовыражение". Это какой-то штамп.
А по поводу "на продажу" и "для души". Опять же, комментарий jazzbird-а, который разделяет "высокое искусство" и "прикладные задачи". Если так думать, то выходит что есть 2 вещи:
1) Прикладная задача:
- имеет практическое применение. возникает из-за потребности людей
- решается специалистами "ради денег"
- решение такой задачи: рутинный процесс. творческий подход приветствуется, но не обязателен
2) Высокое искусство:
- не имеет практического применения, оно "для души" или ради некой "высшей цели", которую никто не может определить
- создаётся художниками, которым не нужны деньги
- творчество и самовыражение - вот что необходимо для создания произведения искусства
Я же считаю такое деление неправильным и вредным. Я вижу мир по другому:
1) Человек всегда может отыскать в мире то, что ему реально интересно. Это может быть и программирование, и живопись, и журналистика, и математика, что угодно
2) Если человеку это интересно, значит обучение этому будет увлекательным и лёгким
3) Именно в то увлечение, что больше всего, скажем так, резонирует с человеком он способен вкладывать душу, проявлять творчество и делаь это с удовольствием
4) Занимаясь своим делом творчески, с удовольствием и профессионально человек всегда получит помимо удовольствия от жизни достаточное $материальное вознаграждение.
Причем, для художника один, для программиста другой.
Программист - художник ментального мира. Мира, где материя - это мысль.
Что такое творчество, а что нет? Творчеству нельзя обучить роботов.
Нетворческий человек - это робот. Механизм. Такой человек может наизусть знать всего Кнута, выучить весть SDK платформы для которой пишет и знать литературу по предметной области (это и есть профессионализм). И ничего у него путного без творчества не выйдет. При механическом применении своих знаний.
P.S. Но, при этом, у него получится гораздо лучший продукт, чем у художника, но совсем не профессионала...
Так, комент навеян событием на прошлой неделе. Пришлось оторваться от Мака и пойти лечить комп с виндой. Вирус пролез через IE7 (его части были найдены в кеше). DrWeb сделать ничего не смог. Вот название забыл...
Но люди при этом умудрялись делать следующие вещи:
1) $f = file($fname) - очень круто для 80Mb-файла
2) Делать невъ*ый массив частоты запросов, а потом сортировать его
3) Создавать сложную иерархию классов в нескольких файлах
Конечно, съел человек собаку или нет таким тестированием выявить нельзя. Для этого есть испытательный срок. Но отсеять 90% уж совсем неадекватных людей можно, вполне.
Но третий реально ест меньше - это факт
Однако, когда я посмотрел его на экране с разрешением > 1024 понял что прежний зум был актуален только на маленьких экранах. Особенно для старых сайтов в стиле body{font-size: 10px}.
Ура! Наконец под Мак есть нормально средство для отладки Web.
P.S. При открытии Хабра, Автокадабры и Mozilla.ru объём занимаемой памяти всего 87 mb, сафари при этом - 250. А я уже было перестал верить в Mozilla :-)
При этом сохранились все настройки, закладки, адресов и т.д. Музыка стёрлась, программы тоже
Единственый глюк был связан с тем что папка Applications у меня перемещена с помощью BossTool в большой раздел, и после апдейта и повторного запуска BossTool появились старые проги которые в большинстве своём не работали и про них ничего не знал инсталлер. Пришлось грузить их по новой
В итоге мы получим множество одинаковых методов, которые, если их захочется модифицировать, придётся менять все.
Например, банально, мне захотелось получить статистику используемости классов и в методе создания синглтона я мог бы добавить метод записи в лог.
Пример два: у меня есть множество классов для работы с таблицами БД. Каждый подобный класс наследуется от одного потомка. Поняв, что эти классы создаются слишком часто я мог бы преобразовать их в синглтоны простым наследованием базового класса от класса Singleton, а тут мне придётся делать синглтон из каждого класса. Опять же я не смогу произвести наследование от этих классов, т.к. они после этого перестанут быть синглтонами, если я не перегружу в них метод getInstance().
Я в результате пришел к достаточно некрасивому решению, но который исправляет указанные недостатки. Вместо
new ClassName() я пишу XXX::getInstanceOf('ClassName'), где XXX - глаобальный статический класс который отвечает за создание синглтонов...
Во общем, по этому, я бы не стал просить на собеседовании изобретать синглтоны
А ломкой 1.1.2 OTB я интересуюсь т.к. айфон у друга.
Я собственно сейчас и ищу наиболее подходящую
Я так понял, это касается уже JailBreak-нутых телефонов.
Отличается от описанных выше действий тем, что Все действия производятся без компа непосредственно на телефоне!
Steps (can be done on any phone version, 1.0.2, 1.1.1, 1.1.2, 1.1.3):
1) Set "autolock" in settings to never: Settings, General, Auto-Lock
2) Install the "Geohots Gunlock Script" unlock script package from BigBoss' Experimental/Beta Repo (BigBoss's beta repo is found in sources category inside installer).
3) Install BSD Subsystem + Term vt100
4) On 1.1.2 or 1.1.3, go to settings, and set AIRPLANE mode to ON
5) Open termvt100 and type:
cd /usr/bin
geounlock
That's it! Note, you must be on 1.1.2 or 1.1.3 soft upgrade for you to receive signal.
If you're not on 1.1.2 or 1.1.3 upgrade/jailbreak to get there.
Note to those performing the above inside 1.1.3:
If you get resource busy errors or error 16's, try repeating the above using Erica Sadun's UICTL to unload commcenter. You would use UICTL before typing the term commands.
Единственное НО - в приведенных инструкциях требуется даунгрейд, а судя по отзывам это совершенно не обязательно.
Я думаю стоит ещё немного подождать и готовый пакет для разлочки будет в виде отдельного пкета в инсталлере.
Уже сегодня появилось что-то в репозитории BigBoss-а, но я пока не нашёл информации что оно делает.
Возможно, взлом появился в связи с запланированной утечкой из Apple - им это может быть выгодно. По кайней мере их акции сегодня выросли на 3%...
Этот патерн вообще не имеет нормальной реализации для PHP < = 5.2. Если кто-то владеет секретным кодом, поделитесь - буду очень благодарен.
Под "нормальной" реализацией я понимаю такой варриант:
...
Этот патерн вообще не имеет нормальной реализации для PHP class X extends Singleton{}
$x = X::getInstance();
В PHP 5 с чем-то добавили мега-костыль get_called_class() для того чтобы Singleton::getInstance() получить имя класса экземпляр которого надо создать. Есть люди которые пытались обойти отсутствие этой ф-ции с помощью BackTrace-а %-)
По этому не стал бы я про синглтоны...