JSP и include

В jsp есть два вида include.
Первый — <jsp:include page=»uri»/>
Второй — <%@include file=»uri»%>

В книгах и в документации много разного понаписано по этому поводу, чаще всего пишут, что тегом подключается статическая страница, а директивой — страница с jsp. Но это фигня.

Вот самое лучшее объяснение, которое я нашел:

Перед выполнением, jsp страницы компилируются контейнером. После компиляции директивы вида:

<@include file="reuse.html">

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

out.write("<html>\r\n");
out.write("    <head>\r\n");
out.write("        <title>reusable</title>\r\n");
out.write("        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n");
out.write("    </head>\r\n");
out.write("    <body>\r\n");
out.write("        <img src=\"candle.gif\" height=\"100\" width=\"50\"/> <br />\r\n");
out.write("        <p><b>As the candle burns,so do I</b></p>\r\n");
out.write("    </body>\r\n");
out.write("</html>\r\n");

Читать

Коротко и ясно о Linux и SSD

Недавно, хороший человек подарил мне SSD. Неделю он пролежал у меня на столе, т.к. времени перенастраивать систему под его использование не было. Когда же время появилось, прочитав вот этот пост habrahabr.ru/post/129551/, и перелопатив немало форумов, узнал много нового.

Ниже предлагаю компиляцию всего усвоенного в одном тексте.

Итак, сперва теория:

1. ССД диск имеет ограниченное количество циклов перезаписи. Т.е. в один и тот же блок диска, в среднем, можно записать информацию 3000-5000 раз (на дорогие модели дисков можно и больше).

2. Что бы выравнивать износ диска, нужно как можно реже писать в одно и то же место, т.е. сперва использовать незанятые блоки диска, и только когда они кончатся, писать поверх.

3. В незанятый блок, ССД диск пишет намного быстрее чем в занятый.

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

5. В отличие от HDD, в ячейку флеш-памяти NAND нельзя перезаписать новые данные поверх старых, не очистив ее перед этим. Ячейки памяти SSD сгруппированы в страницы (обычно по 4 Кбайт каждая), страницы сгруппированы в блоки (64-128 страниц). Данные можно вписать на чистую страницу, но стирать можно только блоки целиком. Запись на SSD-носитель выполняется очень быстро до тех пор, пока существуют чистые страницы, но значительно замедляется, если необходимо очищать предварительно записанные страницы. Чтобы вернуть в обращение ячейки блока, содержащего смесь актуальных данных и мусора (невалидных данных), контроллер копирует нужное (валидные данные) на пустую страницу нового блока, а затем стирает весь исходный блок. После этого ячейки блока будут готовы принять новые данные.
Читать

Происхождение названий некоторых команд Unix

Знание истории происхождения вещей и их названий, будь то простой карандаш, автомобиль или команда операционной системы, делает их повседневное использование намного интереснее. В этой заметке я постарался разобраться в причинах странного, казалось бы, наименования некоторых программ, используемых в операционной системе Unix и её родственниках: *BSD, Solaris, HP-UX, Linux и т.д.

Перепечатка моей статьи, написанной, в свою очередь, по мотивам страницы What does {some strange unix command name} stand for?

awk

Aho, Weinberger, Kerninghan
Первые буквы фамилий разработчиков языка, сотрудников Центра Компьютерных Исследований Bell Labs: Альфред Ахо (руководитель исследований в этом центре с 1963 по 1991 и с 1997 по 2002 годы, сейчас — профессор Колумбийского университета в Нью-Йорке), Питер Вейнбергер (в 1985 году его стилизованный портрет стал своеобразным мемом исследовательского центра Bell Labs) и Брайан Керниган (известен прежде всего как соавтор одной из первых книг про язык C)
Читать

У инжинеров CISCO определенно есть чувство юмора.

Обратил внимание, что при настройке ip sla, на ios 15.1, максимальное значение таймаута ожидания icmp пакета… бля ни за что не догадался бы!!!  — 7 дней!!!

 

Вот в конце 90х, все озадачвались проблемой y2k. Фильмы катастрофы выпускали пачками, и все такое, а инжинеры cisco готовят оборудование к работе на расстояниях, сравнимых с масштабами солнечной системы.

 

Для справки, сигнал с марса до земли, в зависимости об положения планет, будет идти от 4, до 20 минут.

Рекурсивные папки FAT32

Ниже приведены два интересных и в тоже время простых опыта с Fat’ом и WinHex’ом.
Сам материал, возможно, не имеет большого практического значения, интересен сам подход,
познания скрытых возможностей системы путём бесшабашного экспериментирования с ней. Собственно, я полагаю,
именно такие вот детские опыты и разжигают у людей интерес к более глубокому изучению работы системы.

Нестандартные имена

Итак, мы имеем флешку, размером 8Гб:
image Читать

Google создает собственный автомобиль

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

Корпорация Google разрабатывает автомобиль с автономным управлением, сообщается на персональном сайте репортера Джессики Лессин (Jessica Lessin), 8 лет отработавшей в газете Wall Street Journal. Автор заметки, ссылаясь на осведомленные источники, подчеркивает, что речь идет не только о разработке системы автономного управления, а о создании полноценного транспортного средства с таким управлением. Читать

Root на Google Nexus One (GRK39F)

Долго искал superboot для своей прошивки, не нашел. Забил. Скачал отсюда версию для GRI40. Прошил, перезагрузился. Вроде все работает.

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

Есть хорошее решение: https://play.google.com/store/apps/details?id=eu.chainfire.supersu
Приложение позволяет ограничить доступ к su. При запуске любого приложения оно спрашивает — нужно ли ему дать права суперпользователя. Выбор естесственно запоминается, и по одному приложению два раза спрашивать не будет.

Для тех у кого постоянно не хватает памяти под приложения, но не желающих биндить раздел с приложениями на SD карту целиком, есть https://play.google.com/store/apps/details?id=com.buak.Link2SD
Приложение позволяет заменять приложения в памяти телефона симлинками, на раздел SD карты (который прежде нужно создать). Так же можно включить, чтобы все новые приложения автоматом переносились на карту.

Google Nexus One Unlock

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

 

Прочитал кучу манов, все перепробовал и нихрена не получилось.

Сегодня гугл сжалился и выдал на первую страницу ссылку на http://4pda.ru/forum/index.php?showtopic=152644&st=840, где мануал составил 4 строчки:

1)Качаете этот файл: http://4pda.ru/forum/dl/post/392144/fastboot.zip
2)Войдите в фастбут (Нужно включить телефон с зажатым трекболлом)
3)Откройте командную строку, перейдите в папку в которой находятся файлы из архива (Команда CD. Например cd C:\Temp\sdk перетащит вас в папку C:\Temp\sdk)
4)Введите fastboot-windows oem unlock

т.е. я и раньше слышал что на нехусах анлок — не проблема, но что б так…. короче я пиздец как удивился.

ЗЫ. если кто — то это будет читать как мануал, имейте ввиду, после ввода команды fastboot-windows oem unlock телефон сбросится на заводские настройки!!!! Делайте бэкап.

Как скомпилировать Java в нативный бинарник? (.exe например)

Любой Java программист когда — либо думал об этом.

Мне известно несколько способов.

Во первых есть проприетарные утилиты для таких преобразований.

Во вторых есть gcj. Не знаю, на сколько он работоспособен в данный момент, но для консольных программ вполне должен подойти.

А еще есть oss.readytalk.com/avian/, сейчас читал на хабре статью, о том, как без помощи магии и бубна, этой прогой, можно собрать бинарник, который будет работать на компе не имеющем jre, под любой ОС.

При этом файл будет небольшого размера (порядка нескольких мегабайт).

http://habrahabr.ru/post/176237/

Осторожно, очень много букаф!

Sun Java в Ubuntu 12.04

Из идеологических соображений (или из-за проблем с лицензированием), в большинстве дистрибутивов выпилили сановскую джаву, а вместо нее в репах лежит open source альтернатива. Для большинства задач ее хватает…. Так говорят. Мне же видимо везет, и у меня оно глючит и тупит.

В принципе очевидно, что проприетарный дистр лучше отлажен, и шустрее работает.

Но, ставить jre из оракловского бинарника, и потом заставлять его работать и удовлетворять зависимости пакетного менеджера — боль.

К счастью один добрый человек, сделал скрипт, позволябщий делать из бинарников оригинальной джавы пакеты для вашего дистра (только Ubuntu). Для этого достаточно скачать скрипт отсюда: https://github.com/flexiondotorg/oab-java6

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

apt-get install oracle-java7-jre oracle-java7-jdk

ВНИМАНИЕ! На сегодняшний день скрипт не может собрать 6ю версию, т.к. оракл переложил ее в раздел для разработчиков, доступный только после авторизации. Поэтому скрипт нужно запускать с ключем -7, чтобы собиралась 7я версия, или качать 6ю версию ручками, и чуток обрабатывать напильником исходник скрипта. Благо — ничего сложного там нет.