All streams
Search
Write a publication
Pull to refresh
0
0
Дмитрий @redfs

Программист

Send message
Каждый раз при виде исходников Wordpress
А в 2003 вы их видели? Еще на php4? Тоже было стыдно за язык и хотелось плакать? Я, как и вы, к WP крайне отрицательно отношусь (в основном из за дырявой архитектуры), но зря вы повторяете шаблонные глупости.
Запаковать тоже можно одной командой. tar -cjfv file.tar.bz2 file… Но при этом все равно работает связка tar + bzip2. Думаю, что worldxaker это имел в виду.
По большому счету сжатия у tar и сейчас нет. Все сжатие ( -z, -Z, -j… -I ) осуществляется подключаемыми внешними фильтрами. Сам по себе tar компрессией не занимается.
На самом деле проще пареной репы. Даю наводку — poedit. И изменения в проекте ищет, и .po => .mo и еще много чего.
Если же вы задумываетесь о подключении какого нить Zend-i18n, то я бы посоветовал еще раз подумать об использовании другого фреймворка.
А чем вам gettext не угодил? Вы же написали свой велосипед, пусть и минималистичный, а ведь можно было его вообще не писать, взяв готовое решение «из коробки».
Оболочка может делать это (интерпретировать команду) непосредственно из командной строки или (внимание!) из файла, представляющего собой скрипт командной оболочки.

Вообще говоря, вы сами или путаетесь или не до конца понимаете, о чём пишете.

Начать с того, что в unix — всё файлы. Даже «командная строка» (как вы говорите).
Поэтому нет никакой принципиальной разницы, откуда шелл получает команды — из командной строки или из файла — для него это одно и то же.

С этой точки зрения пример выше — обычный скрипт использующий фильтр к потоку вывода.
А вы замените слово bash в названии этой статьи на sh|ash|dash|zsh|ksh|csh|tcsh… на выбор. Ничего в самой статье не изменится, верно?

По поводу скудности — это зависит от подхода… К примеру. Автор этого цикла статей (как верно заметил ghostinushanka ) ничего не написал про globbing вообще и extended globbing в bash в частности. Вот уж совсем не скудная и близкая к реальности тема.
— bash и bash-скрипт — суть одно и тоже или нет?
Нет.
— используется ли в bash-скриптах sed и awk?
Может использоваться. Может не использоваться.
— если в bash-скрипте используется sed и/или awk, остаётся ли он bash-скриптом или нет?
Хм. В скрипте bash могут использоваться вызовы практически любых команд и программ, включая sed и awk. Если это скрипт bash, то он останется скриптом bash, перловкой он точно не станет.

Задавайте основной вопрос, можно без вступительной риторики :)
Не используйте регулярку для проверки email из этой статьи. Она неправильная
серьезрый response delay под нагрузкой (у второго и без нагрузки) из-за огромног количества фреймворковских файлов
Почему то вы игнорируете все упомининия ваших оппонентов про opcache. Данные, которыми вы оперируете, устарели на несколько лет.
>> Чем-то похоже на Yii, но кое-что почему-то переименовано
С этого фреймворка я брал удобные для меня конструкции и подходы

Вы точно не первый :) Jii чем-то не подошёл?
Вполне вероятно, что-то я упустил

По разделу iptables могу посоветовать включить SYNPROXY.
Вещь простая и полезная, не позволяет атакам типа SYN-FLOOD доходить до уровня приложения, что достаточно важно для конфигураций типа вашей.

По моим наблюдениям этого не делают абсолютное большинство сисадминов.

Ниже пример, как исходная точка.
iptables+synproxy.sh
#!/bin/sh
DEV="eth0"
PORTS="80,443"

# SYNPROXY works on untracked conntracks
#  it will create the appropiate conntrack proxied TCP conn
# NOTICE: table "raw"

/sbin/iptables -t raw -I PREROUTING -i $DEV -p tcp -m tcp --syn -m multiport --dports $PORTS -j CT --notrack

# Catching state
#  UNTRACKED == SYN packets
#  INVALID   == ACK from 3WHS

/sbin/iptables -I INPUT 1 -i $DEV -p tcp -m tcp -m multiport --dports $PORTS -m conntrack --ctstate INVALID,UNTRACKED \
    -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460

# Drop rest of state INVALID
#  This will e.g. catch SYN-ACK packet attacks

/sbin/iptables -I INPUT 2 -i $DEV -p tcp -m tcp -m multiport --dports $PORTS -m conntrack --ctstate INVALID -j DROP

# More strict conntrack handling to get unknown ACKs (from 3WHS) to be
#  marked as INVALID state (else a conntrack is just created)
#
/sbin/sysctl -w net/netfilter/nf_conntrack_tcp_loose=0

# Enable timestamping, because SYN cookies uses TCP options field
/sbin/sysctl -w net/ipv4/tcp_timestamps=1

# Adjusting maximum number of connection tracking entries possible
#
# Conntrack element size 288 bytes found in /proc/slabinfo
#  "nf_conntrack" <objsize> = 288
#
# 288 * 2000000 / 10^6 = 576.0 MB
/sbin/sysctl -w net/netfilter/nf_conntrack_max=2000000

# IMPORTANT: Also adjust hash bucket size for conntracks
#   net/netfilter/nf_conntrack_buckets writeable
#   via /sys/module/nf_conntrack/parameters/hashsize
#
# Hash entry 8 bytes pointer (uses struct hlist_nulls_head)
#  8 * 2000000 / 10^6 = 16 MB
echo 2000000 > /sys/module/nf_conntrack/parameters/hashsize

# Hint: Monitor nf_conntrack usage searched, found, new, etc.:
#  lnstat -c -1 -f nf_conntrack



Ссылки на тему:
Можно посмотреть слайды доклада DDoS protection Using Netfilter/iptables (автор Jesper Dangaard Brouer)
На Хабре была статья, основанная на этом докладе.
для баш-скриптов на любую тему
Так и при чем тут bash? Написал бы — для шелл-скриптов. awk и sed безусловно — супер инструменты. Но это отдельные темы для отдельных статей. Привязывать их теме bash — только путать новичков. Иногда правильнее вовремя остановиться. imho.
В следующий раз поговорим о языке обработки данных awk
А какое отношение sed и awk имеют к bash? То ли автор оригинального текста просто напихал все в одну кучу для создания объема, то ли назвал статью неправильно.
Из 10 пунктов примерно 8.5 никакого отношения к bash не имеют. Думаю, что автору надо переименовать статью в «Моя записная книжка».
Ok, спасибо, теперь понятно. Навскиду с учетом того, что в sql запросе подставляемое значение вы обернули в одинарные кавычки мне кажется что sql-иньекция в данном случае проблематична.
А ваш вопрос некорректен на самом деле. Опишите функцию «Экранирование (param)». В вашем вопросе это некая абстракция, которую сложно оценить. Или приведите ее исходник. А то (если честно), даже не хочется время терять на гадание.
Допустим, по вашей постановке задачи я решу, что ваша функция «Экранирование», это что-то типа
preg_replace("/'/", "\\'", $param);

а $param — это $_GET['id'].

Подходит мое предположение под описание в вашей задаче? Подходит.
Так это на самом деле? Не уверен.
Вот и не отвечает вам никто. В вопросе конкретики не хватает, а ванговать не все умеют.
Я понял, что автор оперирует двоичной системой в описании шестнадцатеричной адресации только после его объяснения. Я все таки думаю, что автор занижает уровень своей целевой аудитории :)
Поле «адрес назначения Ethernet» заполняется единицами (ff:ff:ff:ff:ff:ff)
Что значит, «единицами»?
Статья опробована на реальных студентах.… упрощал материал до тех пор, пока он ни стал понятен даже самым отпетым двоечникам.
Модель OSI и место описываемых протоколов в ней именно поэтому сократили, осознанно?
Тщательно проверять входящие данные.
Использовать плейсхолдеры, про которые в статье почему-то не написано.

Information

Rating
Does not participate
Location
Россия
Registered
Activity