• ↓
  • ↑
  • ⇑
 
Записи с темой: work (список заголовков)
17:54 

defined() - ЗЛО!

Никогда по возможности не используйте в php ф-цию defined() -- она медленнее медленного.
Как пишет мой западный коллега, самый медленный вариант проверки условия с параметром:

defined(CONST);

где CONST - неопределённая константа.
По идее следующий по тормознутости вариант это где CONST -- определённая константа.
Но у него это исчислялось миллисикундами (2+ для определённой константы и 12+ миллисекунд при неопределённой). Собственно вот:



У меня же на практике выходит ещё веселее:
В индексном файле (index.php) объявляю:
define('INDEX', 1);

а в начале подключаемых через include_once() файлов делаю проверку
if (!defined(INDEX)) header("Location: /"); // перенаправляю на индексный файл

И вот, при отработке файла отдельно, т.е. при неопределённой константе, там действительно дело идет в миллисекундах и он перенаправляет на индексный, что я и заметить толком не успеваю невооруженным глазом. Да и пробовал там же перед самой проверкой тупо для тестов определить константу - не заметно.

А вот при отработке в паре с include_once() дела хуже некуда -- константа, выходит, что определена, а страница объемом менее 1 КБ в браузере грузится более секунды, т.е. тупо раздражительно залипает. Только комментирую строку с проверкой, как перезагрузка страницы становится подобна мельканию.

Так-то!

@темы: defined, php, work, работа

11:29 

О браузерах

Вот этот пост подбил меня на подитоживание накопившихся наблюдений по 2 наиболее используемым мною браузерам.

О браузерах из замеченного в последние времена:

Опера:
1) Как уже говорил (и Volgast в своём посте ещё раз подметил, включая и WinXP), что в 7-ке часто наблюдал зависоны её в ОЗУ. После переустановки ОСИ вроде прошло, может это было что-то в какой-то из версий, а установка новой версии поверх не помогала. После переустановки оси опера ставилась сразу последняя и вроде больше прикол не повторялся, но он имеет место быть.
2) Раньше она открывала все вкладки чисто из кеша, а ща всегда пытается установить связь с первоисточником. В итоге при отсутствии связи на вкладках сообщения об ошибках, вместо сохранённых копий страниц.
3) Коннект к localhost'у (к своему же компьютеру) проходит со второй попытки. Т.е. при старте оперы, если открыто несколько вкладок, направленных на локальные хосты (виртуальные, например), то во всех них будет ошибка или результат поиска сайта с подобным названием с другим доменным окончанием. Например виртуальный локальный домен shkoly автоматом перебрасывает на shkoly.ru. Это же правило действует и при открытии новой вкладки с ссылкой на локальный хост (хоть по клику, хоть вбитый ручками в адресную строку). Получается её одна попытка нужна на раздупление куда идти, и только со второй попытки она туда идёт. В фирефоксе проверено - это не баги web-сервера, а исключительно прерогатива Оперы.
4) В линухе глючит работа с Adobe Flash Player: особенно часто слетает в фоновых вкладках поставленное на паузу видео, пока в одной вкладке посмотришь, в других поставленное на фоновую загрузку видео становится светло-серым квадратом и надо обновлять страницу, причем, если заглючило, то сразу на всех фоновых вкладках.
Аналогичные приколы с перебоями в работе до обновления страницы в аудио-плеере вконтактика, это если он сделан на Flash, если нет, то прибавляем ещё и глюки с javasсript.
5) Видео проигрывается медленнее, чем в других браузерах. Сейчас у меня уже норм тачка на работе, а когда была прошлая с видео GF MX-400 на 32 или 64 метра, там всё было явно видно -- то, что в опере тормозило, в chrome скорее всего не тормозило, если это было не HD.

Фирефокс:
1) То, что я у себя писал про теги COL и COLGROUP -- кастрированы до единственного применения -- выставление ширины колонки, всё остальное не работает.
2) Не убивает куки, у которых не выставлен срок жизни (такие куки должны жить до закрытия браузера).
3) За работу Adobe Flash Player в линухе ничего не скажу, т.к. не юзаю как основной браузер.

Хромом практически не пользуюсь, так что ничего не скажу, IE так тем более =)

@темы: Browser, Firefox, Opera, work, браузер, работа

12:23 

Расту

Убейте меня семеро!
Вот на этом запросе я запнулся год назад при тестировании меня на проф. пригодность на должность в Днепропетровске:
SELECT id, COUNT(id) FROM users WHERE mother = id OR father = id GROUP BY id;

Я не смог его тогда написать.

Собственно задача:
Есть юзеры системы. У них есть родители, которые тоже юзеры системы (например, это архив паспортного стола). Вопрос был выбрать тех юзеров, у которых более 2 детей. Вот на подсчете, который и делается выше, я и запнулся. Т.е. полный вариант должен выглядить так:
SELECT id FROM (SELECT id, COUNT(id) AS num FROM users WHERE mother = id OR father = id GROUP BY id) WHERE num > 2;

Гляжу как это просто и просто охреневаю с того, каким неудачником я был (надо бы ещё сравнительное фото сделать, чтобы было яснее :D).

Если кто шарит и может с уверенностью сказать, что я и сейчас лох и реализуется это не так, а ещё проще, то дайте мне пинка в нужном направлении и через год я снова вернусь.

@темы: работа, work, SQL

16:53 

Инициатива наказуема...

...а чрезмерная инициатива карается по всем статьям.

История: вчера наш админ попросил посмотреть что нам система автодозвона, поставленная москвичами, хреначит своей вебмордой в логи ошибок и нифига не работает, потому что москвичи говорят, что им не до нас сейчас.

Я взялся... нашёл море говна, индусского кода и ... снова индусского кода да лени/спешки/непонятно чего. Но реально некоторые тамошние решения очень улыбали, а некоторые делали из меня идиота, потому что я в этом "лего" не мог найти где оно и что, и куда... реально по файлам переменные больше нигде не использовались/не объявлялись и тому подобное...

В общем я позволил себе очень большую оплошность. Я решил приколоть нашего админа и дописал в их лого вместо их слогана "потому что индусы дешевле". Ага, забыл сказать, суть в том, что эта фигня же для внутреннего пользования вроде бы как, потому я думал, что никто, кроме админа не увидит.

И вот он рок -- они зашли в 23 по нашему времени (в 1:00 ночи по ихнему) посмотреть че там не работает... зашли и ушли.
Сегодня обиженные и могут расторгать договора на свои услуги.

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

Последний же мой акт извинения выглядит в виде письма с извинением, списком всего, что я наисправлял и звонком, итогом которого есть "мы Вам по почте всё ответим". Вот сижу, жду...

@темы: работа, программирование, звиздец, work, programming, php, я - идиот

18:32 

Ой, рибята!

Мне нужен экзоскелет!
Тело совершенно вымотано и отказывается делать "лишние" движения. А сегодня ещё на тренку идти. На самой тренке как-никак я раскочегариваюсь, а вот все прелюдии и после-ласки (путь туда и оттуда плюс 2 переодевания в Фантомаса и обратно в гражданское - в Бэтмэна) тело всячески отторгает.

А ищё на меня возложили доверие очень большим проектом. Буду сам себя добровольно-принудительно переводить на JAVA, а то так никогда до дела не дойдёт. После более месяца отсутствия нормальной работы можно сказать "Ура!".

@темы: тяпница, трудовыебудни, тело, работа, work, body

18:33 

Поддерживаю!

Вася:
Доброго времени суток!
Подскажите, как сохранить двумерный массив в сессии.

tony2001:
точно так же, как и любую другую переменную.

*...потом там всякие мутки, гонения и т.д. и далее произошло...*

Вася:
ладно, ну не правильно выразился, подскажите что надо писать, чтоб сохранить массив? если пишу обычное присвоение, сохраняется скаляр...

Nimous:
А что ты пишешь?

Вася:
if (!isset($_SESSION["maslo"]))
{
session_register("maslo");
$_SESSION["maslo"] = array();
}
$maslo = $_SESSION["maslo"];
$maslo[$_SESSION["kollo"]][0] = $row[0];
$maslo[$_SESSION["kollo"]][1] = $row[1];
$_SESSION["maslo"] = array($maslo);
$kollo = $_SESSION["kollo"];

И первым комментарием было (цитирую с научной точностью):
"шедевр"

@темы: php, work, Я ху&ю! :), работа, юмор

14:26 

Oracle

Oracle, вот подумать же, вроде бы солиднейшая фирмА, не один десяток лет на рынке, типа качественнейшие продукты...

А с другой стороны, если вот это — качественнейшие продукты, то мне откровенно жаль человечество. Это же один из наибольших показателей его несовершентсва...

Мало того, что их сервер БД у меня ассоциируется с костылями и "хочу, могу и не запуститься... просто так", так сегодня он мне еще и в SQL залепил настолько нелогичную весчь, что ховайся... на всю логику и порядок вложенностей запросов Oracle может спокойно положить болт.

Если кто понимает, то было:

читать дальше многа нипанятных букаф

@темы: костыли, Работа, Work, SQL, Oracle

19:33 

Paradox

Парадоксальный парадокс, но почему-то большинство нормальных и понятных видео-уроков по программированию делают именно индусы =/

@темы: programming, work, программирование, работа

12:41 

Мои (поли-)гоны

Могу со временем и себя на таком ловить, правда обычно потому что мне неправильно кто-то когда-то объяснил, но убивает, когда люди употребляют слово не зная его правильного значения.
Сегодня небось достал 3D-моделлеров на работе, которые под словом "полигон" подразумевают именно 4-угольный полигон, а 3-угольный полигон наотрез отказываются называть полигоном и называют просто треугольником.
Ну серьезно, сколько нужно мозга, чтобы разделить слово на его корни поли- и -гон, что по русски — много и угол, то есть хоть 4, хоть 3, хоть 16 вершин - все это полигоны, поэтому в технике (и в играх, для которых вы делаете модели) по умолчанию под словом полигон считается именно треугольник, как основа любого другого полигона (любой другой можно разбить на треугольники) и как наиболее быстро обрабатываемая техникой единица. Если уж это ваша профессиональная сфера и хлеб насущный, как можно не знать таких вещей?

@темы: я, работа, work

18:44 

"Текстуру нужно сохранять в квадрате, каждая сторона которого — первая степень двойки, превышающая большую из сторон оригинала."

Приятно в разговоре быстро выговаривать что-то такое с полным пониманием того, что сказал, и знанием, что прав до единого слова :)

@темы: work, работа

10:53 

Немного о работе

После 23 февраля осталось в офисе 4 бутылки "Десантника" (пиво 0.5, если что, со слов употребляющих ужасное дерьмо), ближайшие дни вокруг 2 из них мы на сигвее наворачивали мини-слалом восьмерочку.
После 8 марта из 2 бутылок шампанского, одна сейчас еще стоит закрытая, подпирает дверь.

@темы: work, работа

Не Сам у рай

главная