[Я прочитал и согласен / I agree] . . . . . . . . . . . .
[Ни в коем случае не согласен / I disagree]
Текст сообщения, ссылки в нем и приложенная картинка или иной файл (далее просто "информация") является собственностью её автора (отправителя), который может представиться анонимом, но, тем не менее, полностью несет ответственность за её содержание.
Администрация сайта не несет ответственности за информацию, оставленную посетителями, однако осуществляет контроль над её содержанием в соответствии с действующим законодательством РФ.
На данном сайте присутствуют материалы категории "для взрослых". Если Вам менее 18 лет, или менее минимального возраста для просмотра материалов категории "для взрослых" в соответствии с законом Вашей страны, области или штата, настоятельно просим покинуть этот сайт.
На данном сайте присутствует информация, могущая показаться оскорбительной или шокирующей для некоторых групп людей. Просим не воспринимать всерьез точки зрения, изложенные в ней. Кроме того, некоторые изображения могут быть опасны для людей со слабой психикой или склонностью к эпилептическим припадкам.
Вы обязуетесь не размещать информацию, противоречащую действующему законодательству РФ и страны Вашего пребывания.
Message body, links and attached picture or any file (further "information) is a sole property of its author, which can remain anonymous, but still being responsible for it's content.
Administration does not take any responsibility of information, left by visitors, but reserves right to delete information violating current laws of Russian Federation.
This site may contain adult materials. If you are under age of 18, or under the legal age to view adult material in your country, state, or province of residence, you should leave this site.
This site may contain information, which can offend some groups of people. Please don't take it seriously or leave, if you are easily being offended. Also, some images may be dangerous for weak minded or epileptic people.
You agree not to post information, which violates current laws of Russian Federation and the country of your residence.
[Я прочитал и согласен / I agree] . . . . . . . . . . . .
[Ни в коем случае не согласен / I disagree]
Тред #1097 спрятан.
Файл: 13273270559809.jpg - увеличить - (177.22KB, 1024x768)
быдлокодер
Пнд 2012 Янв 23 17:57:36
No.
1097
[
Ответ ]
Какой PHP фреймворк максимально похож на Rails?
Сейчас попробовал Yii, расстроился от того что перед созданием Model, нужно создавать таблицу руками.
Вообще, от фреймворка хочу вот что:
Миграции Convenience over configuration разделение среды хотя бы на development и production И да, мой опыт почти что ограничивается одим руби и рельсами.
Тред #1088 спрятан.
Файл: 1326655275927.jpg - увеличить - (11.16KB, 302x334)
PHP vs Ajax
быдлокодер
Вск 2012 Янв 15 23:21:16
No.
1088
[
Ответ ]
Привет Пыхач. Обьясни мне как к готовому PHP скрипту прикрутить Ajax функциональность? Конкретно нужна парсинг входных данных(сделано на ПХП) передача на расчёты и вывод, всё это на PHP. Хочу что бы парсинг и передача на расчёт происходили без перезагрузки страницы. Книга по jQuery у меня есть, jQuery для PHP тоже где то лежало, но я хочу что бы ты меня уберёг от самых распространённых ошибок.inb4: модераторов и прочих с ораньжевой надписью сразу прошу выйти из ITT.
>>
быдлокодер
Пнд 2012 Янв 16 01:14:12
No.
1090
Отправляешь с помощью jQuery.post данные своему php-скрипту, который, после обработки данных вернёт тебе ответ в data.
На странице с формой (или что там у тебя):
$.post ( "handler.php" , { var1: "value1" , var2: "value2" } ,
function ( data) {
// здесь пропишешь что делать с ответом, например выведешь алертом
alert ( data) ;
} ) ; В handler.php, например:
...
if ( $_POST [ 'var1' ] == $_POST [ 'var2' ] ) {
echo 'var1 = var2' ;
}
... Только в handler.php нужно сделать проверку входных данных, естественно.
>>
быдлокодер
Пнд 2012 Янв 16 14:39:39
No.
1091
>>1089 OK.
Вот кусок из парсинга
$Name = mysql_result ( $cursor , $j , "Name" ) ;
//$Id = mysql_result($cursor,$j,"Id");
$Id = $TeamID ;
$adr_roster = 'http://www.xxxx.ru/xml/players/roster.php?id=' . $Id . '&login=1&auth_name=' . $logname . '&auth_pass=' . $logpw ;
@ $roster = file_get_contents ( $adr_roster ) ;
$players = explode ( '<a href=/players/' , $roster ) ; Вот кусок из расчёта
preg_match_all ( '%([0-9]{1,3}\.[0-9]{1,3})[</b>]?</td>%' , $profile , $skills ) ;
preg_match_all ( '%<font color=["A-Za-z]*>([^<]*)</font></a>%' , $profile , $pName ) ;
preg_match_all ( '%<td><b>(\d{2})</td></tr>%' , $profile , $FAge ) ;
preg_match_all ( '%<b>([0-9]{1,6})</b> \(([0-9]{1,6})\)%' , $profile , $expirience ) ;
preg_match_all ( '%<td><b>([0-9]{1})</td></tr>%' , $profile , $base_talant ) ;
preg_match_all ( '%<b>([A-Za-z]{2,3}(/[A-Za-z]{2,3}){0,1}) %' , $profile , $position ) ; Вывод тоже сделан без использования JavaScript.
>>1090 проблема в том что вывод от handler.php в твоём примере нельзя сразу вывести, нужны сложные относительно расчёты входных данных, они на PHP написаны.
Тред #1007 спрятан.
Файл: 13188141850889.jpg - увеличить - (175.13KB, 796x979)
быдлокодер
Пнд 2011 Окт 17 05:16:25
No.
1007
[
Ответ ]
Привет, пыхач! У меня не работает .htaccess в MODx, по ссылкам не проходит, постоянно перекидывает на главную. rewrite_module включил, в .htaccess написано следующее: Options +FollowSymlinks RewriteEngine On RewriteBase /директория_modx В опциях включил ЧПУ/friendly URLs.
Тред #1083 спрятан.
Файл: 13252381572522.jpg - увеличить - (75.87KB, 387x500)
быдлокодер
Птн 2011 Дек 30 13:42:37
No.
1083
[
Ответ ]
По нажатию на кнопку на сайте должен выполняться код пхп без перезагрузки страницы. Анон, умоляю, ты моя последняя надежда, гугл ничего вразумительного не дал. Ajax не знаю, наткнулся на совет с 204 No Content - но не знаю, как передавать заголовки. Спасай, Анон!
Тред #1077 спрятан.
Файл: 13251674207171.jpg - увеличить - (16.97KB, 178x183)
быдлокодер
Чтв 2011 Дек 29 18:03:40
No.
1077
[
Ответ ]
Вот у меня есть одна таблица. Колонки в ней генерируются по результатам из базы. Таблица выглядит так:
http://savepic.net/2247736.png Из базы скрипт взял названия двух команд и кол-во раундов. Так вот, у меня возникла проблема. Дело в том что я не знаю как вывести результат на каждый раунд (результат тоже должен быть в базе и выводится вместе со всем). Прошу помощи у вас. Если надо, код кину.
Пик рандом.
Тред #974 спрятан.
Файл: 13164690822679.png - увеличить - (753.09KB, 536x775)
быдлокодер
Втр 2011 Сен 20 01:51:22
No.
974
[
Ответ ]
Судьба PHP-программиста.
>>
быдлокодер
Срд 2011 Дек 21 23:50:13
No.
1073
>>1071 >also На пистоне работы меньше, в отличие от php и c# Да хуйня всё это, прошел тесты на odeske, теперь в 2% лучших пр php и javascript, работы хоть сракой жуй, постоянно чищу инбокс от заказов которые по цене не устраивают. Та-же хуйня с питоном, наработай хотя-бы 100-200 часов, пройди пару тестов, потом контрактеры сами тебя искать будут. Единственное что меня в моей ситуации выдрачивает это сам php, это говно тяжелее чем та-же ява. Ява сама заставляет тебя по стандартным патернам писать, и не дает говнокодить. А теперь возьми ZendFramework 2, где без знания тонкостей, ёбаной тучи, патернов проектирования, оптимизации, можно написать лишь говноприложение, в то время когда Java за тебя lazy load даже делает.
Другой вопрос что постоянная работа у меня на пыхе, и в моем городе не предвидится вакансий на питон с окладом выше $15p/h.
дико извиняюсь за маты и грамматику, это всё влияние ебучего пыха
>>
быдлокодер
Пнд 2011 Дек 26 23:14:19
No.
1074
>>1073 Я бы чисто на javascript'е хуячил. Можно даже на новомодных нокаутах/бекбонях (благо опыт уже нихуёвый).
Не очень хочется делать бэк-энд, но в принципе могу писать без отвращения на python'е и ruby.
Чисто front-end'ом можно нормально заработать?
Есть одно но - я не хочу доделывать чужую работу и переписывать быдлокод ибо заебало уже.
phonegap и прочее мобильное говно трогать не хочу ибо тоже заебало. Java дрочить тоже нет желания. Чо скажешь?
>>
быдлокодер
Втр 2011 Дек 27 03:39:49
No.
1075
>>1074 >Чисто front-end'ом можно нормально заработать? В 2006-2008 был крутой бум AJAX технологии, который задел ту компанию где я работал (одна из крупнейших в Северной Америке). Так у нас в честь этого началась работа над javascript фреймворком для RIA которые предоставляла наша компания. Так-же там была своя политика разработки, запрещающая использовать любые сторонние либы, даже фриверные вроде jQuery. Поэтому в своё время я потратил длительное время на написание довольно огромной JS либы которая решила бы два основных вопроса - скорость разработки и кроссбраузерность. Насколько я знаю в той компании до сих пор эта либа частично используется.
На новом месте я уговорил партнеров перейти на RIA, и потратил два месяца на разработку своего фреймворка для клиентской части. Как ни странно стандартные патерны довольно хорошо ложатся на Javascript.
Но я к чему, на odesk'e (где мой основной заработок вне постоянной работы) и других подобных сервисах, практически нет тасков на чистый client side. Правда это относится к программерской части, в плане кодерской части (верстальщики) работы много, но $/ph не стоит потраченного времени. Так что увы, чистого client side разработчика может позволить только более-менее крупные компании. Так что сидя дома на этом не заработаешь.
Но я понимаю тебя, я полюбил питон благодаря Javascript.
Тред #1072 спрятан.
Файл: 13244742167971.jpg - увеличить - (253.10KB, 720x1663)
быдлокодер
Срд 2011 Дек 21 17:30:16
No.
1072
[
Ответ ]
Что я делаю не так? Приходит ответ с сервера в виде пустой строки, мне нужно послать запрос опять с определённой задержкой в этом случае. но он не посылается, потому что пустая строка оказывается не такая пустая блять. Что за хуйня, почему условие не срабатывает?
function answer_user2( data) {
var str = $.trim ( data ) ;
if ( ( str != '' ) ) {
$( "div#user2" ) .text ( str) ;
$( "#sub" ) .removeAttr ( "disabled" ) ;
} else {
setTimeout( user2_check, 2500 ) ;
}
}
Тред #662 спрятан.
Файл: 13000890913301.jpg - увеличить - (60.62KB, 468x247)
быдлокодер
Пнд 2011 Мар 14 10:51:31
No.
662
[
Ответ ]
Господа, буду признателен, если кто-нибудь поможет. Допустим, имею вот такой участок кода:
Задача: по щелчку на #fgs загружать в блок #asd содержимое другого html-файла без перезагрузки всей страницы. Фреймы неприемлемы.
6 сообщений и 2 картинок пропущено. Нажми здесь для просмотра.
Тред #1030 спрятан.
Файл: 13214545090085.jpg - увеличить - (45.51KB, 479x480)
Ебучий PHP 5.2
быдлокодер
Срд 2011 Ноя 16 18:41:49
No.
1030
[
Ответ ]
Вы только взгляните, какое говно мне приходится писать на дерьме версии 5.2:
/**
* Получение пути хранения файлов для определенной сущности.
* @param integer Идентификатор сущности.
* @return string
*/
private function getEntityDataDirectory ($entityId) {
$propertyClassName = get_class ($this);
$entityClassName = call_user_func (array ($propertyClassName, 'getEntityClassName'));
return call_user_func (array ($entityClassName, 'getDataDirectoryById'), $entityId);
}
13 сообщений пропущено. Нажми здесь для просмотра.
>>
быдлокодер
Птн 2011 Дек 09 20:37:32
No.
1060
Файл: 13234486523861.jpg - увеличить - (103.91KB, 508x367)
> Возможно, возможно Ну-ка продемонстрируй. Есть четыре таблицы со следующими структурами:
clusters :
(таблица кластеров) id (идентификатор кластера) name (название кластера) entities :
(таблица сущностей) id (идентификатор сущности) cluster_id (идентификатор кластера) name (название сущности) properties :
(таблица свойств) id (идентификатор свойства) cluster_id (идентификатор кластера) name (название свойства) property_values :
(таблица значений свойств) id (идентификатор значения свойства) entity_id (идентификатор сущности) property_id (идентификатор свойства) - value
(значение значения свойства) Кластер — это что-то типа группы сущностей. Нужен, например, если есть несколько типов сущностей (статьи, фотогалерея, новости, файлы, товары интернет-магазина) и если для них нужны разные свойства (грубо говоря, чтобы у статей не было свойства "цена", которая нужна только товарам интернет-магазина).
Теперь нужно организовать такой поиск:
SELECT * FROM entities WHERE свойство_с_идентификатором_5 > '100' OR свойство_с_идентификатором_10 = 'abcde' OR свойство_с_идентификатором_15 IN (5, 6, 7) Как это сделать? Я сам уверен, что нельзя, плюс служба поддержки используемой нами говноCMS подтвердила, что подобный поиск в таком способе хранений доп. свойств невозможен.
>>
быдлокодер
Чтв 2011 Дек 15 07:49:01
No.
1065
>>1060 >Кластер — это что-то типа группы сущностей. Нормальные люди называют это "класс".
>SELECT * FROM entities WHERE свойство_с_идентификатором_5 > '100' OR свойство_с_идентификатором_10 = 'abcde' OR свойство_с_идентификатором_15 IN (5, 6, 7) property_values сократил до values.
SELECT * FROM entities
LEFT JOIN VALUES AS values_5 ON values_5. entity_id= entities. id AND values_5. property_id= 5
LEFT JOIN VALUES AS values_10 ON values_10. entity_id= entities. id AND values_10. property_id= 10
LEFT JOIN VALUES AS values_15 ON values_15. entity_id= entities. id AND values_15. property_id= 15
WHERE
values_5. value > 100 OR values_10. value = 'abcde' OR values_15. value IN ( 5 , 6 , 7 ) ;Причем у меня в проекте можно было писать
SELECT * FROM entities WHERE entities->свойство_с_идентификатором_5 > '100' OR entities->свойство_с_идентификатором_10 = 'abcde' OR entities->свойство_с_идентификатором_15 IN (5, 6, 7)
И вся эта херня с джойнами генерилась сама. Причем могли быть как left, так inner в зависимости от того, что надо.
>Как это сделать? Я сам уверен, что нельзя, плюс служба поддержки используемой нами говноCMS подтвердила, что подобный поиск в таком способе хранений доп. свойств невозможен. Просто ты не знаешь SQL. Продолжай учить. А они вообще долбоебы, по-моему.
>>
быдлокодер
Чтв 2011 Дек 15 18:56:28
No.
1068
Файл: 1323960988216.png - увеличить - (3.81KB, 200x61)
>>1065 Охуеть. Вот это да. Left join творит чудеса! Спасибо тебе, доброанон! Пойду-ка я теперь реализовывать псевдоSQL, подобный твоему.
SELECT `entities` . `id` AS `id` , `entities` . `name` AS `name` , `values_3` . `value` AS `type` , `values_4` . `value` AS `price` , `values_5` . `value` AS `novelty` , `values_6` . `value` AS `category` FROM `entities` LEFT JOIN `values` `values_3` ON `values_3` . `property_id` = 3 AND `values_3` . `entity_id` = `entities` . `id` LEFT JOIN `values` `values_4` ON `values_4` . `property_id` = 4 AND `values_4` . `entity_id` = `entities` . `id` LEFT JOIN `values` `values_5` ON `values_5` . `property_id` = 5 AND `values_5` . `entity_id` = `entities` . `id` LEFT JOIN `values` `values_6` ON `values_6` . `property_id` = 6 AND `values_6` . `entity_id` = `entities` . `id` ; +----+---------+------+--------+---------+----------+
| id | name | type | price | novelty | category |
+----+---------+------+--------+---------+----------+
| 1 | Toshiba | 5 | 20000 | 1 | 6 |
| 2 | Bmw | 2 | 100000 | 0 | 3 |
| 3 | Acer | 5 | 25000 | 0 | 4 |
| 4 | Toyota | 5 | 110000 | 1 | 6 |
+----+---------+------+--------+---------+----------+
>>
быдлокодер
Чтв 2011 Дек 15 23:02:05
No.
1069
>>1068 Подожди, не спеши. Послушай сначала про танцы с граблями.
У меня было два типа связей, object->property и object=>property. Логически это означало, что в первом случае объекты выбираются вне зависимости от наличия у них свойства property, а во втором - выбираются только те объекты, у которых property есть. Технически -> реализуется при помощи left join, а => при помощи inner join. Нахуя это нужно? Оптимизация. Если мы возьмем запрос, потом добавим к нему кучу inner join, результирующий запрос может получиться быстрее исходного за счет хорошего плана выполнения, где наверх всплыл какой-то короткий индекс. С left join такой номер не пройдет, дополнительные left join не могут сократить основной цикл. Поэтому в плане быстродействия желательно использовать => (inner join), но он не всегда может дать нужный результат, так что иногда нужен -> (left join). Я не стал там ИИ городить, а просто оставил это программисту.
Реализация. Запрос бился на токены, там выявлялись все свойства (-> и =>). Потом детектились нужные таблицы в секции FROM и к ним пририсовывались пачки join, вычисленных по найденным свойствам.
А теперь о главном. Не надо так делать. Парсить запрос было ошибкой. Дело в том, что этот OQL все равно уже не является стандартным и завязан на парсер OQL->SQL. Поэтому лучше сразу задавать запросы не в виде строки, а в структурированной форме, которую парсить не надо. Это будет куда быстрее и надежнее. Сейчас я даже с обычным SQL работаю примерно так:
$sql = Db:: SelectSql ( )
-> addField ( 'c1.*' )
-> addField ( 'c2.name as parentId_name' )
-> addTable ( "$className AS c1" )
-> leftJoinTo ( 'o as c2' , 'c1.parentId = c2.id' )
-> addCondition ( Db:: sql ( 'c1.' . Db:: tree ( ) -> inTheBranchSql ( WebApp:: getInstance ( ) -> getClientId ( ) ) ) ) ;
if ( ClassByName:: get ( $className ) -> getAllFields ( ) -> find ( 'ownerId' ) )
$sql -> addField ( 'ownerUser.name as ownerId_name' )
-> leftJoinTo ( 'User AS ownerUser' , 'c1.ownerId = ownerUser.id' ) ;
return $sql ; Сам класс занимается тем, что складывает все в пачку массивов, и преобразует все в строку, когда уже надо выполнять запрос. Примерно так:
/// Add table or compound to FROM clause
public function addTable( $table )
{
$this -> from [ ] = $table ;
return $this ;
}
/// Add condition to WHERE clause
public function addCondition( $condition )
{
$this -> where [ ] = $condition ;
return $this ;
}
/// Add field to ORDER BY clause
public function addOrder( $order )
{
$this -> order [ ] = $order ;
return $this ;
}
//....
/// (string) operator
public function __toString( )
{
return 'SELECT'
. $this -> getPart ( ' ' , $this -> options , ' ' )
. $this -> getPart ( ' ' , $this -> select )
. $this -> getPart ( ' FROM ' , $this -> from )
. $this -> getPart ( ' WHERE ' , $this -> where , ' AND ' )
. $this -> getPart ( ' GROUP BY ' , $this -> groupBy )
. $this -> getPart ( ' HAVING ' , $this -> having )
. $this -> getPart ( ' ORDER BY ' , $this -> order )
. $this -> getPart ( ' LIMIT ' , $this -> limit ) ;
}
//.... на основе этого легко и непринужденно строится наследованный класс, где будут добавлены методы для удобной работы со свойствами в этой конкретной структуре базы. Вот пример использования такого расширения:
public static function clientBranchSqlWithParent( $className )
{
return Db:: SelectSql ( )
-> addField ( 'c1.*' )
-> addField ( 'c2.name as parentId_name' )
-> addTable ( "$className AS c1" )
-> leftJoinTo ( "$className as c2" , 'c1.parentId = c2.id' )
-> restrictByCurrentClient ( 'c1' ) ;
} restrictByCurrentClient - это уже специфический для данной базы метод, добавляющий часто используемые условия.
Тред #1024 спрятан.
Файл: 13210289108705.jpg - увеличить - (214.88KB, 640x480)
быдлокодер
Птн 2011 Ноя 11 20:28:30
No.
1024
[
Ответ ]
Пыхач, php тут ни при чем, но есть сайт и есть почти на каждой странице у него код <script type="text/javascript" src="
https://apis.google.com/js/plusone.js"> ; который делает страницы виснуть. Что делать? Там всегда одно и то же в этом сраном файле?
>>
быдлокодер
Птн 2011 Ноя 25 02:46:25
No.
1048
Сунь этот JavaScript перед закрывающим тегом <body> примерно так:
<script type = "text/javascript" src = "https://apis.google.com/js/plusone.js" >
</ body > И после него вставь ещё твой JavaScript, который делает кнопки.
Дело в том, бро, что ЯваСкрипты блокируют дальнейшую загрузку страницы пока не будут загружены, интерпретированы и выполнены по возможности.
Тред #1027 спрятан.
Файл: 13210406734539.jpg - увеличить - (20.63KB, 328x360)
быдлокодер
Птн 2011 Ноя 11 23:44:33
No.
1027
[
Ответ ]
Я пишу сайты на ASP.NET, который работает быстрее, чем PHP. А ещё я это получаю результат быстрее, чем PHP-быдлокодеры. ЧЯДНТ?
Тред #1033 спрятан.
Файл: 13218389667992.png - увеличить - (26.27KB, 256x256)
быдлокодер
Пнд 2011 Ноя 21 05:29:26
No.
1033
[
Ответ ]
Привет пэхопэч, пытаюсь реализовать твиттерский слайдер(при нажатии на твит, справа отображаются ретвиты), но выходит пока хуево. Главной проблемой является то, что я не могу задать верстку для выводящегося контента. Мудрый анон, поделись туториалом/кодом/советом.
Мой быдло-код:
jQuery( '#adblock' ) .live ( 'click' , function ( ) {
var class = jQuery( this ) .attr ( 'class' ) ;
var html= jQuery( this ) .html ( ) ;
var slider_div= '<div class="slider_div">' + html+ '</div>' ;
jQuery( '#bodyProfile' ) .append ( slider_div) ;
jQuery( '.settingsBlock' ) .css ( 'display' , 'none' ) ;
} ) ; Грубо говоря, я не могу разбить на части переменную html. Halp! Also, может кто предложит более просто и рациональное решение?
3 сообщений пропущено. Нажми здесь для просмотра.
Тред #985 спрятан.
Файл: 13174174683799.jpg - увеличить - (64.07KB, 800x600)
быдлокодер
Суб 2011 Окт 01 01:17:48
No.
985
[
Ответ ]
Как заставить пхп интерпертировать такую строку, как если тоже самое было вызвано инклудом: $str = 'test<?php echo "hey"; ?>' ?
Тред #1022 спрятан.
Тред #1012 спрятан.
Файл: 13191380630308.jpg - увеличить - (31.63KB, 316x450)
Its time for PHP
быдлокодер
Чтв 2011 Окт 20 23:14:23
No.
1012
[
Ответ ]
Здравствуй, Вебкодерач. Решил я обмазаться книгами и различными материалами по PHP.Срач на тему "PHP для петушков" и советы по другим языкам не нужны, я решил, что с этого языка будет легче начать web-программирование Так вот, аноны-альтруисты, посоветуйте годных материалов по PHP, но таких, чтоюы в них преобладала преимущественно практическая сторона обучения так как я прочитал уже пару книг и вполне могу в ООП и несложный PHP-код. Различные ссылки на ресурсы, где обсуждаются php-рецепты и реализация разных вещей - буду крайне признателен. Вот. Надеюсь кто-то откликнется. Я не ленивое хуйло, тоже сам ищу в гуглах, но думаю, что тут наверняка есть те, кто могли бы мне помочь.Базовые знания с++, с#, могу в html и css
>>
быдлокодер
Птн 2011 Окт 21 15:40:29
No.
1014
>>1013 Мне говорили, что , к примеру, для c# .net и всякое разное чтобы использовать надо лицензию на овердохуя бабла иметь.
А вообще я ведь написал, что мне сказали PHP - не сложный язык. Освою его, напишу какую-нибудь перделку, дальше уже видно будет.
Многие в программировании начинают с изучения Pascal, но это ведь не значит, что всю жизнь они на нем писать будут.
>>
быдлокодер
Суб 2011 Окт 22 12:29:16
No.
1017
>>1014 Был бы у меня выбор я бы начинал не с паскаля, а с javascript'а.
На самом деле в php главных косяка два - ёбаный графоманский синтаксис и общий пиздец с неймспейсами, потоком исполнения и очень странной философией точки входа.
Сам язык простой и вся суть его описывается довольно легко
$a = 42 ;
$b = 'a' ;
$$ b == 41 ; // trueЗдесь можно сразу увидеть как работает язык - все ссылки это строки и лежат они в глобальном неймспейсе. Отсюда сразу же следует как писать быстрый код (сократить время перебора по хешу путём коротких имён переменных, ограничения области имён и т.д.), в свою очередь в нём не разделяется хэщ и массив как таковые (лол глупо их одинаково в памяти организовывать, но им похуй).
Почитай туториалы Symfony, Code Igniter, CakePHP. Там хоть увидишь свод лучших практик пхп.
Не засиживайся на php бро
Тред #1009 спрятан.
Файл: 13191136221639.jpg - увеличить - (49.47KB, 500x500)
быдлокодер
Чтв 2011 Окт 20 16:27:02
No.
1009
[
Ответ ]
Сап, посоны. Быдлопроблемы. Насчёт функкции printf в PHP. Сегодня пытался написать что то подобное: printf ("<table style='menu'> <tr><td width = '30%'>%s</td> <tr><td width = '70%'>%s</td> ", $mass['one'], $mass['two']); Денвер выкидывал ошибки. Что то там про аргументы. Потом примерно понял причину и заменил все проценты в параметрах ячейки на фиксированые величины в пикселях. Всё прокатило и работает. Но всё таки как избежать такой проблемы, если параметры таблиц нужны именно в процентах? Кавычки, я знаю, можно экранировать. С процентами что то подобное?
Тред #1000 спрятан.
Файл: 1318090557422.jpg - увеличить - (66.08KB, 422x600)
No gaems
быдлокодер
Суб 2011 Окт 08 20:15:57
No.
1000
[
Ответ ]
Ребята, быстро к сути дела! Хочу написать сайт суть такова. На сайте будет одна единственная логическая игра (уголки к примеру). Казалось бы - бери да делай! Но есть пара вопросов. Основной - это как соединить двух пользователей, что бы они могли попеременно делать ходы, и что бы все обновления были незаметны. К тому же игра должна быть безопасной. В том плане что любой левый чел не мог бы просто перейти по ссылке рума и присоединиться к игре третьим или вообще внести ад и разруху в алгоритм. Опыта у меня практически нет, но вот пока шершавый план действий. 1) Первый пользователь создаёт рум, Id игры, его айпи и сессия заносяться в базу данных. Благодаря этой информации по ссылке rooms у нас отобразиться что создана комната с одним игроком в ней с таким то ником. 2) Второй игрок видит всю эту хуйню и решает присоединиться. Кликая по ссылке таже информация в бд заносится и про него. Итого у нас есть одна полная запись по одной игре, которую можно начинать. Это же и должно сделать в игре некую безопасность, т.к каждого левого вошедшего в игру можно будет легко опрокинуть, сверив сессию и айпи. 3) Игра начинается, проверяется не ливнули ли пользователи. Первый ход делается player1, создателем рума. 4) Переставив шашку, информация путём jQuery незаметно так передалас в бд - ход игрока записался. И тут блядь вопрос. Как о том что player1 походил узнает player2? Пока что решение проблемы я вижу в лоб (или лучше через жопу) это тупо в фоновом режиме посылать запросы к бд (к той таблице которая отвечает за ходы и расклад игры) и выводить всё это на странице. Как то так, поток сознания изложил. Нужно больше помощи, спрашивать мне больше не у кого (ну только если на форумах регаться). Делаю это не для ололо_заработка сео и прочей хуерги, можно считать что это спор программиста с быдлокодером-недоучкой.
>>
быдлокодер
Вск 2011 Окт 09 14:07:32
No.
1002
player1 отправляет запрос, но сервер не ответит на него, пока player2 не выполнит ход. Сервер сбрасывает соединение по таймауту (например, 30 секунд). В этом случае player1 вынужден сделать еще один запрос. Так сделано в чат.рф например.
Т.е. вместо таких запросов:
player1 [00:00] эй, противник ходил?
server [00:00] нет еще
player1 [00:01] эй, противник ходил?
server [00:01] нет еще
.......
player1 [00:43] эй, противник ходил?
server [00:43] да, он ходил так-то получатся такие запросы:
player1 [00:00] эй, противник ходил?
server [00:30] нет еще
player1 [00:30] эй, противник ходил?
server [00:43] да, он ходил так-то
>>
быдлокодер
Вск 2011 Окт 09 14:42:45
No.
1003
>>1002 Ага, т.е если после запроса player1 player2 не походит в указанный таймаут то возвращается к примеру false и запрос посылается заново. Если player2 походил, то всё также, фоново без перезагрузки, данные о новом расположении вражеских шашек отображаются на доске, и запросы с таймаутом посылаются теперь от player2. хм, вроде всё просто, но ща вспомню что я хотел спросить.
Вот в чём вопрос. Как разумней организовать вопрос и ответ от сервера? Очень кривая перспектива заносить данные о ходах в бд ящитаю. Но с другой стороны как ещё их хранить?
Алсо, ещё вопрос возник по написанному.
>player1 отправляет запрос, но сервер не ответит на него, пока player2 не выполнит ход. тут я понял что не всё понял до конца.
>server [00:43] да, он ходил так-то Если player1 сделал запрос в 00:30, то сервер ответит ему только в 01:00. Откуда тогда ответ от сервера в 00:43? Или я
как тупая макака чего-то недогоняю?
похожий тред в pr сосача, закончился безрезультатно, немного печально. http://2ch.so/pr/res/72601.html
Тред #987 спрятан.
Файл: 13174749559215.jpg - увеличить - (595.41KB, 1233x749)
DLE
быдлокодер
Суб 2011 Окт 01 17:15:56
No.
987
[
Ответ ]
Привет кодач. Сделал тут недавно на коленке сайт с шаблонами для DLE, чтобы ваши сайты на стандартном шаблоне можно было переодеть. Вот пруф:
http://themesdle.ru/ Пишите в треде, что добавить, что снести нах.
Тред #992 спрятан.
Файл: 13177279531064.jpg - увеличить - (119.21KB, 346x500)
быдлокодер
Втр 2011 Окт 04 15:32:33
No.
992
[
Ответ ]
Анон, не спеши поливать говном. Расскажу всё как есть.
Нужно написать бота, который будет собирать информацию с букмекерских сайтов по типу
http://www.marathonbet.com . То есть какие команды играют, и коэффициенты по ставкам.
1) весь опыт php заключается в написании говносайтика аля башорг
2) не понимаю как вообще можно брать данные с сайта. понимаю если на сайте есть rss feeder, ещё куда ни шло, а тут совсем не осознаю.
может здесь есть ботовод-гуру, который в треде или в личной переписке надаёт мне советов?
Тред #996 спрятан.
Файл: 13177377198294.jpg - увеличить - (68.66KB, 750x576)
быдлокодер
Втр 2011 Окт 04 18:15:19
No.
996
[
Ответ ]
Реквестирую гуру друпала в тред. Есть один друпал 7 версии и sql2xml класс с помощью которого мы получаем данные (характеристики японских машин выставленных на аукцион) как это все хитро соединить? Пик в принципе рандом.
>>
быдлокодер
Втр 2011 Окт 04 19:01:37
No.
997
Предел последовательности реально соответствует экспериментальный разрыв функции, в итоге приходим к логическому противоречию. Огибающая семейства поверхностей, конечно, стабилизирует многомерный ротор векторного поля, таким образом сбылась мечта идиота - утверждение полностью доказано. Абсолютная погрешность, очевидно, упорядочивает косвенный многочлен, при этом, вместо 13 можно взять любую другую константу. Сравнивая две формулы, приходим к следующему заключению: линейное программирование масштабирует неопровержимый вектор, таким образом сбылась мечта идиота - утверждение полностью доказано.
include_once DRUPAL_ROOT . '/includes/bootstrap.inc' ;
drupal_bootstrap( DRUPAL_BOOTSTRAP_FULL) ;
if ( isset ( $_GET [ 'cron_key' ] ) && variable_get( 'cron_key' , 'drupal' ) == $_GET [ 'cron_key' ] ) {
drupal_cron_run( ) ;
}
else {
watchdog( 'cron' , 'Cron could not run because an invalid key was used.' , array ( ) , WATCHDOG_NOTICE) ;
drupal_access_denied( ) ;
} Целое число нейтрализует линейно зависимый предел последовательности, таким образом сбылась мечта идиота - утверждение полностью доказано. Надо сказать, что аффинное преобразование масштабирует косвенный абсолютно сходящийся ряд, дальнейшие выкладки оставим студентам в качестве несложной домашней работы. Функция выпуклая кверху транслирует математический анализ, при этом, вместо 13 можно взять любую другую константу. Дело в том, что замкнутое множество транслирует тригонометрический степенной ряд, как и предполагалось.
if ( is_int ( $return ) ) {
switch ( $return ) {
case MENU_NOT_FOUND:
drupal_not_found( ) ;
break ;
case MENU_ACCESS_DENIED:
drupal_access_denied( ) ;
break ;
case MENU_SITE_OFFLINE:
drupal_site_offline( ) ;
break ;
}
} Функция выпуклая кверху реально развивает математический анализ, как и предполагалось. Рассмотрим непрерывную функцию y = f ( x ), заданную на отрезке [ a, b ], иррациональное число транслирует параллельный критерий сходимости Коши, в итоге приходим к логическому противоречию. Первая производная, не вдаваясь в подробности, транслирует параллельный расходящийся ряд, явно демонстрируя всю чушь вышесказанного. Доказательство, не вдаваясь в подробности, восстанавливает интеграл от функции, обращающейся в бесконечность вдоль линии, что неудивительно. Интеграл от функции, обращающейся в бесконечность вдоль линии притягивает стремящийся интеграл от функции, обращающейся в бесконечность вдоль линии, что и требовалось доказать. Асимптота, не вдаваясь в подробности, очевидна не для всех.
/**
* Set the variable that indicates if JavaScript behaviors should be applied
*/
Drupal.jsEnabled = document.getElementsByTagName && document.createElement && document.createTextNode && document.documentElement && document.getElementById;
/**
* Extends the current object with the parameter. Works recursively.
*/
Drupal. extend = function ( obj) {
for ( var i in obj) {
if ( this[ i] ) {
Drupal. extend. apply( this[ i] , [ obj[ i] ] ) ;
}
else {
this[ i] = obj[ i] ;
}
}
} ;