Avatar

Trinux

@trinux

Не знаю че и писать. Вообщем, вот он я =) Trinux =) Страшный и ужасный, тот кого ненавидят =) Ну не виноват я, что такой уродился =) Да, кстати, если кто найдет какие баги/дыры на nnm.ru - пишите. Буду благодарен словом и делом =) А, и еще, если де какие ошибки/очепятки - сильно не ругайте =( буду стараться.
с нами 21 год 4 месяца 6 дней
Онлайн 8 лет назад

Общался с грамотным человеком и наконец поннял что к чему. Кто еще не знает — пытаюсь объяснить. Когда инет только появился, были только голые html. Небыло не перла, не php ни прочих серверных скриптов. Появилась потребность обрабатывать формы, которые пользователь прислал с сайта и тогда был разработан CGI (Common Gateway Interface), который запускал в обычной консоли указанную пользователем программу с переданными параметрами, программа обрабатывала запрос и возвращала результат. Т.е. search.cgi?query=mail запускала в консоли программу search.cgi и передавала ей параметр query=mail. Существовало ложное утверждение что cgi это с++ для веба, нет. Просто сначала, сооответственно, когда небыло perl`а и прочих программы писались на c++. Сейчас встречаются конфигурации сервера где php скомпилен как cgi или перл и прочее. Это не имеет значения. Но потом встала проблема, каждое обращение — это запуск программы, ее работа и завершение. Что есть не очень экономично. Тогда (когда уже был apache) это проблему решили другим способом. php или perl или что еще запускался как модуль к апачу. Тогда он всегда виисел в оперативке и быстрее обрабатывал данные, чем cgi. Но модульность апача является его плюсом и минусом. Опять же при больших нагрузках апач жрет бесщадно оперативку и вопрос оптимизации опять встал для разработчиков. Вот тогда появился Fast-CGI. Что это такое. CGI сажается как демон на определенный порт и слушает его. Апач же отправляет запрос на порт и получает ответ. Таким образом и апач более менее свободен и php сидит постоянно в оперативке и не жрет лишних ресурсов. Есть еще много плюсов Fast-CGI, например nginx всеми любимый с Fast-CGI работает очень шустро и apache вообще может быть в какой-то степень не загружен.
Вот такие пироги =)

Что есть программирование? Для всех по ращному. Для меня, программирование, это, во-первых, алгоритмизация. Программирование не может существовать без алгоритмизации. По большому счету нет профессий типа «Программист C++», «Программист Delphi» итп. Есть профессия «Алгоритмизатор». Ведь сам код это ведб просто синтаксис какого-то языка программирования. Но чтобы писать этот код программист должен четко представлять себе общую картину, он должен видеть алгоритм выполнения задачи. И именно красота алгоритма ценит программиста, а не язык, который он выбрал. Сложилось неверное мнение, что программисты, знающие С++ лучше программистов, знающих Delphi к примеру.[anonsend] Это неверно, потому что настоящему программисту, алгоритмизатору, без разницы на чем писать свои алгоритмы. Синтаксис любого языка можно выучить за неделю и за год овладеть им в совершенстве. Но как бы ты не учил язык, сколько бы ты книг не читал, если ты не умеешь писать алгоритмы — ты не программист. Ты можешь гордо писать резюме что ты знаешь «C++», можешь работать в модной фирме и делать какую-то работу, но ты не программист. Ты так… кодер. Чтобы стать алгоритмизатором ты должен видеть задачу, должен уметь щупать ее со всех сторон. Должен уметь находить разные пути решения и выбирать более-менее оптимальный. Именно это всегда ценилось в программистах — нестандартный подход к задачам. Даже не столько не стандартный, а сколько не такой, как у всех. В школе нас всех учат одному и тому же. Никакого разнообразия. В инсте то же самое. Алгоритмизатор должен мыслить трехмерно, а не прямолинейно. Чему нас учат в школе? Учат что 2*2=4 и только так и никак иначе. К сожалению это дейсвительно так. Вся математика в школе, да и в инсте, основана практически на одном решении. Позднее, правда, в инсте на математическом анализе все же дают альтернативные способы решения школьных задачек, но давали с таким выражением лица, когово у меня небыло на лекциях по дискретке после бессоных ночей. Вся школьная физика основана на единственном решении задачи и это все НЕВЕРНО, это натуральное зомбирование людей! Это относится не только к алгоритмизации, но и к алгоритмизации в частности. Я всегда смеюсь, когда мне говорят что компьютерные игры типа CS, DOOM и прочих стрелялок — тупят людей. Нет, наоброт! Человек в этих играх (оссобенно сетевых версиях) получает трехмерное мышление! Когда человек, например, играя в CS за террористов знает что на карте в 2-х местах можно поставить бомбу и добраться до них можно 3-мя способами, он анализирует, какой самый быстрый, какой самый безопасный и какой самый оптимальный при текущем наборе противников. Точно так же должен подходить и программист к поставленной задаче. К сожалению сейчас все больше так называемых программистов, когда получают задачу, мыслят примерно так: «Ага, в инсте это проходили, надо делать так!» и на этом все заканчивается. Школа убивает в каждом из нас гения. Единственный урок, который я действительно любил, это была химия. Я поражался количествам способов, которыми можно добыть водород (а потом взорвать его за школой =)), с учительницей мы выбирали самый оптимальный, выбирали самые дешевые реактивы и самый быстрый для школьного класса способ. Почему Энштейн был гением? Он сам рассказывал почему. Потому что в школе дают не верную физику, человек школьных лет не может ее воспринимать правильно. Энштейн говорил что в школе он ее не понимал, долго работал почтальоном и физика начала его интерисовать уже в более зрелые годы, тогда он самостоятельно стал изучать ее. Ладно хрен с ним, вернемся к программированию. Программирование, это искусство. Такое же как и музыка, живопись. Порой пишешь что-нить, оглядываешься и думаешь: «Как же красиво получилось… О, а тут как я лихо экономлю ресурсы… А вот тут какая элементарная, но железная защита…» и так далее. Но что нужно чтобы стать алгоритмизатором?

1) Научится мыслить глобально.
2) Научится верить в себя и свои идеи
3) Забыть фразу: «Это невозможно». Например: «Это невозможно реализовать». Кто-то, помню, уверял меня что нереально выдрать все комменты к новости одним запросом и сохранить при этом дерево. Ну чтож, значит ННМ нереальный проект =)
4) Научится играть в CS.
5) Самому придумать сюда пятый пункт.

Впрочем это лишь мой взгляд на программирование. Возможно я и ошибаюсь. Но я понимаю как можно считать себя программистом, но на свой сайт класть WordPress. Возьмем в пример маниакальный блог. Многим известен. Автор считает себя программером, но он так… кодер… шкодер. Что это может означать? Типа я программер, но сам своими работами не пользуюсь? =) Своего гавна не едим? =) Все равно что быть владельцем пиццерии, но пиццу заказывать в другом месте. Все равно что держать публичный дом, но заказывать девушек из другово публичного дома. Но такие «кодеры» отмазываются, мол зачем делать, если уже есть готовое итп, тратить время итп. Ага. Нах мерену придумывать новые дизайны к своим тачкам, если это делают дизайнеры запорожца? Это глупо и пахнет лентяйством. А еще я никогда не пойму людей, которые спрашивают меня: «А какой шабланизатор ты использовал на ННМ?» да никакой, у меня везде ехи стоят! Да и что за манера в последнее время юзать чужие классы для написания своих проектов? Своих мозгов не хватает? Позор всем, кто считает себя программистом, сайт свой держит на WordPress`е и в проектах использует шаблонизатор SMARTY!!!

История создания…
(Все написано с рассказов дока, да простит он мне этот пост =))
5 лет назад, когда гуглю и яндексу был только год, некто d()c666 сидел в офисе чьей-то фирмы, где он работал, и тихонечко думал о создании своего сайта. Ранее он уже был связан с софтом и решил что на соем сайте он не будет постить своих фоток, рассказывать каких девушек он очаровывал итп, он решил просто описывать софт. Варезных сайтов на тот момент небыло в россии, т.е. ННМ был первым варезником в россии, это факт и следствие такой посещаемости. Задумка была оригинальная и интересная. Дело за малым. Оставалось только все это пихануть в сети. Сказано — сделано. 28 декабря 2001 года свет увидил http://nnm.by.ru/ [прошу не кликать и не переходить по данной ссылке. Там вы не увидите ничего, читаем далее] Встал вопрос расскрутки, ведь о проекте никто не знал, тогда док обратился к админам http://cracks.ru/ с просьбой немного его покрутить. Проект действительно был интересным и они не отказали. Надо отдать ребятам должное, на http://nnm.cracks.ru/ до сих пор можно найти зеркало ННМ`а. Через месяц by.ru встал раком и выкинул nnm со своих плозадок за кряки. Но вроде как после разговора с доком сайт вернули, потом снова удалили. «Я всегда говорил что они уроды (c) d()c666». Тогда док зарегал http://nnm.ru и продолжил вести сайт уже на этом домене.
[anonsend]

Легендарный NNM
ННМ не просто был первым варезником россии. На него равнялись и подражали, появилось кучища подобных сайтов (в основном на движках-клонах php-nuke. Я не уверен, что Spaiz-nuke получил бы такую популярность в россии, если бы не ННМ). А всем известное «Send by» было на каждом втором варезном проекте. Никто не задумывался почему в россии все пользуются Outpost`ом как фаером основным? Ведь есть более мощные, например от Kerio и более удобные, например ZA, почему Outpost? Потому что док является бета-тестером аутпоста, он описывал этот софт сразу, как только появился Outpost, с его первой версии, когда Outpost был еще бесплатным. Возможно кому-то покажется это смешным, но это так, именно ННМ продвегал Outpost на русском рынке. Первое упоминание о нем было еще в далеком январе 2001 года. Очень много программ делали официальные релизы NoNaMe, пример тому ReGet, очень известная одно время качалка. Я уже не говорю о воскресных выпусках NoNaMe, где можно было найти кучищу коротких номеров ICQ. А еще док был первым, кто на варезном сайте стал выкладывать смешные фотки и картинки. Словом все, что делалось на NoNaMe 5 лет назад и было в диковинку, сейчас воспринимается как должное и есть практически на любом варезном сайте. Можно много вспоминать про NoNaMe и все равно все не вспомнить. Все выпуски старого нонейма вы можете найти по адресу http://news.blogz.ru/.

Мое первое знакомство с NoNaMe
Было года 3 назад, тогда я увлекался сетевой безопасностью, имел честь быть знакомым с Dima-k17, который, собственно, и показал мне NoNaMe. Год был листателем, потом нашел дырку в комментах, можно было получить доступ к админке не зная логина и пасса. Отписал доку, сделал систему авторизации и прикрепил к письму. Это было первым знакомством. Далее я познакомился с Вохой. Тогда у меня была домашка, по которой меня Воха и нашел. Он постучал в асю и предложил работу программера, я хотел его послать, так как оплачивать работу он отказывался =) но потом подумал и согласился. Через пару месяцев он познакомил меня с доком и поехало…

Вечный вопрос оптимизации структуры итп для более быстрой выборки, INSERT`ов и так далее. Дошел до даты. Тут все очень интересно и запустано. Смотрим. Дату можно хронить в нескольких форматах, первое что пришло на ум:

1. С помощью специальных типов данных MySQL.
2. В INT`овых полях в цифоровом виде.[anonsend]
Раньше я хронил дату либо в INT(10), если точность была нужна до секунды или DATE(YYYY-MM-DD) если нужно было делать выборку за конкретное число. На мой взгляд это было оптимальным. Я ошибался.

INT занимает 4 байта в памяти, столько же занимает DATE (DATETIME занимает 8 байт). Т.е. получается хранить дату в никсовом формате с точностью до секунды ни сколько не накладнее чем в DATE с точностю до дня. Т.е. если нам нужна дата только для отображения ее, намного эффективнее хранить ее в INT(10), ну а если нам нужно сделать выборку за конкретную дату? Вот тут уже проблема, намного оптимальнее делать выборку по DATE, чем в запросе модифицировать INT`овое поле даты в нужный вид и сравнивать его с нужной датой.

Сделано с NoNaMe
© 2000-2026