Как можно задать массив в языке PHP:
Anonymous Quiz
8%
$arr («0″=> «a»);
83%
$arr[0] = «a»;
10%
$arr[«a»,»b»,»c»] = «q»;
👎43🎉6
Forwarded from BZD • Книги для программистов
Разработка_и_анализ_компьютерных_алгоритмов.pdf
33.8 MB
📔 Title: Разработка и анализ компьютерных алгоритмов
#book #algorithm #RU
🌐 Lang.: Russian
🧔 Author: Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман
🕘 Year: 2021
📑 Pages: 544
#️⃣ ISBN: 978-0-201-00029-0
📝 Description: В этой монографии, ставшей классикой, излагаются результаты теоретических и прикладных исследований по построению и анализу эффективных вычислительных алгоритмов. Рассмотрены задачи поиска, сортировки массивов, умножения целых чисел, умножения матриц, алгоритмы на графах, а также основы теории сложности. Книга предназначены для специалистов по компьютерным наукам и программистов, а также будет полезна студентам и аспирантам, специализирующимся в области информатики.
@bzd_channel
#book #algorithm #RU
🌐 Lang.: Russian
🧔 Author: Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман
🕘 Year: 2021
📑 Pages: 544
#️⃣ ISBN: 978-0-201-00029-0
📝 Description: В этой монографии, ставшей классикой, излагаются результаты теоретических и прикладных исследований по построению и анализу эффективных вычислительных алгоритмов. Рассмотрены задачи поиска, сортировки массивов, умножения целых чисел, умножения матриц, алгоритмы на графах, а также основы теории сложности. Книга предназначены для специалистов по компьютерным наукам и программистов, а также будет полезна студентам и аспирантам, специализирующимся в области информатики.
@bzd_channel
👍5
Forwarded from BZD • Книги для программистов
Creating_Augmented_and_Virtual_Realities_Theory_and_Practice_for.pdf
64.5 MB
📔 Title: Creating Augmented and Virtual Realities: Theory and Practice for Next-Generation Spatial Computing
#book #AR #VR #EN
🌐 Lang.: English
🧔 Author: Erin Pangilinan, Steve Lukas, Vasanth Mohan
🕘 Year: 2019
📑 Pages: 372
#️⃣ ISBN: 978-1-492-04419-2
📝 Description: Разработчикам, которые хотят войти в область разработки приложений с виртуальной и дополненной реальностью, на сегодня предоставляется уйма возможностей начать изучать работу в этой сфере. В данной книге авторы показывают процесс разработки AR и VR приложений и предоставляют практические упражнения, которые помогут отточить ваши навыки.
@bzd_channel
#book #AR #VR #EN
🌐 Lang.: English
🧔 Author: Erin Pangilinan, Steve Lukas, Vasanth Mohan
🕘 Year: 2019
📑 Pages: 372
#️⃣ ISBN: 978-1-492-04419-2
📝 Description: Разработчикам, которые хотят войти в область разработки приложений с виртуальной и дополненной реальностью, на сегодня предоставляется уйма возможностей начать изучать работу в этой сфере. В данной книге авторы показывают процесс разработки AR и VR приложений и предоставляют практические упражнения, которые помогут отточить ваши навыки.
@bzd_channel
👍1
Какое из утверждений относительно оператора include верно:
Anonymous Quiz
81%
include используется для включения в программу содержимого другого файла
1%
файл, включаемый с помощью include, должен быть правильным HTML-файлом
18%
файл, включаемый с помощью include, может быть любым файлом
👎27👍5
Имеется объект ($obj) какого-то класса. Требуется получить список всех свойств класса, которому принадлежит объект?
Anonymous Quiz
25%
get_class_var(get_class($obj))
6%
$get_class_vars(get_class->$obj)
70%
$vars = get_class_vars(get_class($obj))
👎13👍8🔥2
Какая функция возвращает метку времени (timestamp)?
Anonymous Quiz
44%
date()
43%
strtotime()
13%
localtime()
👎25👍5🔥2
Реальный вопрос, реального человека. Помогите разобраться
Предположим есть
Но по завершению, он удаляет пробелы в начале строчки, а в конце добавляет строчку.
Вопрос в том, как возможно через регулярное выражение, в цикле перебрать все ссылки и вставить в место них содержимое атрибута href
Предположим есть
$text = '<p> Текст <a href="site" class="js-gps-track js-link" target="_blank"></a></p>В данный момент используется new DOMDocument
<p>
Текст Текст Текст
<a href="site" class="js-gps-track js-link" target="_blank"></a>
Текст
</p>';
Но по завершению, он удаляет пробелы в начале строчки, а в конце добавляет строчку.
Вопрос в том, как возможно через регулярное выражение, в цикле перебрать все ссылки и вставить в место них содержимое атрибута href
$tx = preg_replace_callback('#<a[.]*?</a>#siu', function($m) {
print_r($m);
}, '<p> Текст <a href="site" class="js-gps-track js-link" target="_blank"></a></p>
<p>
Текст 2Текст Текст
<a href="site" class="js-gps-track js-link" target="_blank"></a>
Текст1
</p>');
print_r($tx);
PHP задачи с собеседованийИщем: Backend разработчик (PHP, Symfony)
Формат: удаленка
Мы небольшая продуктовая команда.
Делаем большой проект в сфере логистики
Cтэк:
• #Symfony, #РostgreSQL, #Redis, #Rabitmq, #Elasticsearch;
Вам будет с нами хорошо, если:
• интересно развиваться в небольшой команде и создавать нагрузочные сервисы
• стремитесь улучшать архитектуру и расти до senior (у нас есть задачи на вырост)
• вы любите хороший код, понимаете ценность код ревью
• вам важно было бы соблюдать work/life ballance (мы считаем что без этого не вырасти)
Мы ожидаем:
• middle/senior
• опыт PHP от 2 лет
• опыт Symfony от 2 лет
• знание патернов проектирования и умение их применять
• опыт работы с высокими нагрузками
• опыт работы с интеграциями по API
Пишите в лс @alan_g15
Формат сотрудничества:
Готовы рассмотреть на проект от 2 мес или полноценно в команду
Вам у нас понравится
ЗП готовы обсуждать: 2500-4000$
Формат: удаленка
Мы небольшая продуктовая команда.
Делаем большой проект в сфере логистики
Cтэк:
• #Symfony, #РostgreSQL, #Redis, #Rabitmq, #Elasticsearch;
Вам будет с нами хорошо, если:
• интересно развиваться в небольшой команде и создавать нагрузочные сервисы
• стремитесь улучшать архитектуру и расти до senior (у нас есть задачи на вырост)
• вы любите хороший код, понимаете ценность код ревью
• вам важно было бы соблюдать work/life ballance (мы считаем что без этого не вырасти)
Мы ожидаем:
• middle/senior
• опыт PHP от 2 лет
• опыт Symfony от 2 лет
• знание патернов проектирования и умение их применять
• опыт работы с высокими нагрузками
• опыт работы с интеграциями по API
Пишите в лс @alan_g15
Формат сотрудничества:
Готовы рассмотреть на проект от 2 мес или полноценно в команду
Вам у нас понравится
ЗП готовы обсуждать: 2500-4000$
👍3
👨🏻💻 Вопрос заключается в следующем...
Как реализовать вход по роли к сайту?
Есть роль пользователь и оператор, необходимо чтоб при входе открывалась определенная страница для пользователя и определенная для оператора.
Как можно это сделать?
Как реализовать вход по роли к сайту?
Есть роль пользователь и оператор, необходимо чтоб при входе открывалась определенная страница для пользователя и определенная для оператора.
Как можно это сделать?
$_SESSION['operator'] -> ОператорPHP задачи с собеседований
$_SESSION['polz'] -> Пользователь
if ($_SESSION['operator'])
{
//При выполнении этого условия, должен располагаться, код, контент доступный только "Оператору"
header('Location: ../mainpageoper.php');
}
elseif ($_SESSION['polz'])
{
//При выполнении этого условия, должен располагаться, код, контент доступный только "Пользователю"
header('Location: ../mainpagepolz.php');
}
if( [role] == 1 ) { $_SESSION['polz'] =1; }
if( [role] == 2 ) { $_SESSION['operator'] =1; }
Привет, на связи Podlodka PHP Crew! Большинство русскоязычных конференций и митапов по PHP приостановлены. Но мы продолжаем собирать комьюнити! Во 2-м сезоне поговорим, как внедрять в работу новые инструменты разработки с пользой для бизнеса.
Вместе с Александром Макаровым, Валентином Удальцовым, Александром Кирсановым и другими спикерами разберёмся с основными и продвинутыми сценариями отладки кода, научимся эффективно комбинировать PHP и Docker.
Стартуем уже 27 февраля! В программе:
✴️ Лайвкодинги по поиску ошибок с помощью статического анализа;
✴️ Практика применения Docker;
✴️ Доклады по отладчикам кода и анализу code style;
✴️ Воркшопы по работе с Composer.
Это не всё 😉 В новом сезоне вас ждёт много интересного. За подробностями — на сайт.
Онлайн-конференции Podlodka Crew родились из одноимённого IT подкаста. Каждый сезон длится пять дней — рассматриваем одну тему с разных сторон, чтобы узнать её как можно глубже.
🤑 Успейте забрать свой билет по сниженной цене — ранним пташкам скидки.
Вместе с Александром Макаровым, Валентином Удальцовым, Александром Кирсановым и другими спикерами разберёмся с основными и продвинутыми сценариями отладки кода, научимся эффективно комбинировать PHP и Docker.
Стартуем уже 27 февраля! В программе:
✴️ Лайвкодинги по поиску ошибок с помощью статического анализа;
✴️ Практика применения Docker;
✴️ Доклады по отладчикам кода и анализу code style;
✴️ Воркшопы по работе с Composer.
Это не всё 😉 В новом сезоне вас ждёт много интересного. За подробностями — на сайт.
Онлайн-конференции Podlodka Crew родились из одноимённого IT подкаста. Каждый сезон длится пять дней — рассматриваем одну тему с разных сторон, чтобы узнать её как можно глубже.
🤑 Успейте забрать свой билет по сниженной цене — ранним пташкам скидки.
👍2
👨🏻💻 Вопрос от одного из наших подписчиков
❓Что выведет код?❓
1)
❓Что выведет код?❓
class A {Варианты:
public function __construct(string $a){
$a .= $a;
}
}
class B extends A {
public function __construct(int $a){
$a++;
}
}
$b = new B(1);
var_dump($b);
1)
Fatal error: Declaration of B::__construct(int $a) must be compatible with A::__construct(string $a) in /tmp/preview on line 8
2) object(B)#1 (0) {PHP задачи с собеседований
}
👨🏻💻 Как упростись цепочку условий для фильтра на wordpress?
Есть каталог фильмов на wordpress, где в метатегах постов хранится информация о жанрах, рейтинге и т.п.
Сделана возможность фильтровать по рейтингу (число), жанру (строка) или по умолчанию только по id (число) - это работает, но получается нагромождение из простыни условий.
Как можно упростить цепочку условий, особенно если понадобится добавить новые параметры для фильтра?
Есть каталог фильмов на wordpress, где в метатегах постов хранится информация о жанрах, рейтинге и т.п.
Сделана возможность фильтровать по рейтингу (число), жанру (строка) или по умолчанию только по id (число) - это работает, но получается нагромождение из простыни условий.
Как можно упростить цепочку условий, особенно если понадобится добавить новые параметры для фильтра?
if (isset($rating) || isset($genre)) {PHP задачи с собеседований
if (isset($rating) && isset($genre)) {
$query = new WP_Query(array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'film_rating',
'value' => $rating,
),
array(
'key' => 'film_kind',
'value' => $genre,
),
array(
'key' => 'film_id',
'value' => $films,
'compare' => 'IN'
),
),
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1
));
} else if (isset($rating)) {
$query = new WP_Query(array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'film_rating',
'value' => $rating,
),
array(
'key' => 'film_id',
'value' => $films,
'compare' => 'IN'
),
),
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1
));
} else if (isset($genre)) {
$query = new WP_Query(array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'film_kind',
'value' => $genre,
),
array(
'key' => 'film_id',
'value' => $films,
'compare' => 'IN'
),
),
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1
));
}
} else {
$query = new WP_Query(array(
'meta_query' => array(
array(
'key' => 'film_id',
'value' => $films,
'compare' => 'IN'
),
),
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1
));
}
👎7👍3
Forwarded from BZD • Книги для программистов
Великий Китайский Файрвол.pdf
3.5 MB
📔 Title: Великий Китайский Файрвол
#book #programming #RU
🌐 Lang.: Russian
🧔 Author: Джеймс Гриффитс
🕘 Year: 2022
📑 Pages: 430
#️⃣ ISBN: -
📝 Description: Фраза "интернет помнит все" обрела второй смысл — контент стал подконтролен, иллюзия анонимности исчезла. Книга рассказывает о том, как Китай первым в мире научился управлять интернетом и как другие страны перенимали его опыт.
@bzd_channel
#book #programming #RU
🌐 Lang.: Russian
🧔 Author: Джеймс Гриффитс
🕘 Year: 2022
📑 Pages: 430
#️⃣ ISBN: -
📝 Description: Фраза "интернет помнит все" обрела второй смысл — контент стал подконтролен, иллюзия анонимности исчезла. Книга рассказывает о том, как Китай первым в мире научился управлять интернетом и как другие страны перенимали его опыт.
@bzd_channel
Forwarded from BZD • Книги для программистов
Kak_napisat_i_prodat_svoy_PHP_skript.pdf
1.5 MB
📔 Title: Как написать и продать свой PHP скрипт
#book #php #RU
🌐 Lang.: Russian
🧔 Author: Самуэль Акопян
🕘 Year: 2021
📑 Pages: 86
#️⃣ ISBN: -
📝 Description: Вы написали свой первый PHP скрипт и хотите его продать. Эта книга поможет Вам с пошаговой инструкцией в этом начинании, а также подскажет как избежать распространённых ошибок при создании и продаже своего собственного программного обеспечения.
– всё сказанное здесь является результатом личного жизненного опыта автора;
– мнение автора может не совпадать с мнением читателей по многим вещам и это нормально;
– не надо пугаться; – везде по тексту словосочетание “PHP скрипт” можно заменить на “C++ программу”, “мобильную аппликацию” или “мою супер-дупер application”;
– это не монография с замахом на докторскую диссертацию, скорее небольшая инструкция к действию для тех, кто в лодке (ну или собирается в неё запрыгнуть);
@bzd_channel
#book #php #RU
🌐 Lang.: Russian
🧔 Author: Самуэль Акопян
🕘 Year: 2021
📑 Pages: 86
#️⃣ ISBN: -
📝 Description: Вы написали свой первый PHP скрипт и хотите его продать. Эта книга поможет Вам с пошаговой инструкцией в этом начинании, а также подскажет как избежать распространённых ошибок при создании и продаже своего собственного программного обеспечения.
– всё сказанное здесь является результатом личного жизненного опыта автора;
– мнение автора может не совпадать с мнением читателей по многим вещам и это нормально;
– не надо пугаться; – везде по тексту словосочетание “PHP скрипт” можно заменить на “C++ программу”, “мобильную аппликацию” или “мою супер-дупер application”;
– это не монография с замахом на докторскую диссертацию, скорее небольшая инструкция к действию для тех, кто в лодке (ну или собирается в неё запрыгнуть);
@bzd_channel
🔥1
📌 Реальная ситуация
В скрипте делается вывод заголовков.
Дальше идет вывод кэша из файла.
Ответ сервера:
PHP задачи с собеседований
В скрипте делается вывод заголовков.
$modified_date = strtotime('2023-02-09 17:25:05');Если после этого идет сразу exit то заголовок выдается.
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modified_date).' GMT');
Дальше идет вывод кэша из файла.
$cacheFile = '/cache.txt';сразу пропадает строка Last-Modified.
$html = file_get_contents($cacheFile);
echo $html;
exit;
Ответ сервера:
HTTP/1.1 200 OKНе понятно как file_get_contents может отменять заголовок? headers_list() заголовок показывает.
Server: nginx/1.14.1
Date: Tue, 21 Feb 2023 07:44:31 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.2.24
Strict-Transport-Security: max-age=31536000;
Content-Encoding: gzip
PHP задачи с собеседований
👍1
❓Что можно сократить в данном php коде?
<?php
function getClosest($search, $array)
{
$num = null;
foreach ($array as $item) {
if ($item['chance'] < $search) {
continue;
}
if ($num === null || $item['chance'] < $num['chance']) {
$num = $item;
}
}
return $num;
}
$case_cost = 100;
$skins = [
$skin = ['cost' => 10000],
$skin = ['cost' => 0.01],
$skin = ['cost' => 5256],
$skin = ['cost' => 425.2],
$skin = ['cost' => 92.4],
$skin = ['cost' => 3124],
$skin = ['cost' => 0.32],
$skin = ['cost' => 213],
];
$array_chance = [];
$array_sum = 0;
foreach ($skins as $item) {
if ($case_cost >= $item['cost']) {
$result = $case_cost / $item['cost'];
} else {
$result = $case_cost * $item['cost'] / 100;
}
$result = round($result);
$array_sum += $result;
array_push($array_chance, $result);
}
$rand_num = rand(0, $array_sum);
$i = 0;
$accum = 0;
foreach ($array_chance as $skin) {
$skins[$i]['chance'] = $skin;
$i++;
}
$accum = 0;
foreach ($skins as &$skin) {
$accum = $skin['chance'] += $accum;
}
print_r($skins);
$rand_element = getClosest($rand_num, $skins);
echo '<br>' . $rand_num . '<br>';
print_r($rand_element);
PHP задачи с собеседований
<?php
function getClosest($search, $array)
{
$num = null;
foreach ($array as $item) {
if ($item['chance'] < $search) {
continue;
}
if ($num === null || $item['chance'] < $num['chance']) {
$num = $item;
}
}
return $num;
}
$case_cost = 100;
$skins = [
$skin = ['cost' => 10000],
$skin = ['cost' => 0.01],
$skin = ['cost' => 5256],
$skin = ['cost' => 425.2],
$skin = ['cost' => 92.4],
$skin = ['cost' => 3124],
$skin = ['cost' => 0.32],
$skin = ['cost' => 213],
];
$array_chance = [];
$array_sum = 0;
foreach ($skins as $item) {
if ($case_cost >= $item['cost']) {
$result = $case_cost / $item['cost'];
} else {
$result = $case_cost * $item['cost'] / 100;
}
$result = round($result);
$array_sum += $result;
array_push($array_chance, $result);
}
$rand_num = rand(0, $array_sum);
$i = 0;
$accum = 0;
foreach ($array_chance as $skin) {
$skins[$i]['chance'] = $skin;
$i++;
}
$accum = 0;
foreach ($skins as &$skin) {
$accum = $skin['chance'] += $accum;
}
print_r($skins);
$rand_element = getClosest($rand_num, $skins);
echo '<br>' . $rand_num . '<br>';
print_r($rand_element);
PHP задачи с собеседований
👍5
📌 Переместить запись из кастомного типа поста в др. рубрику при наступлении условия (wordpress)
Есть кастомный тип постов "Мероприятия". В нем две рубрики: ближайшие и архивные. Понятно, что при создании все события попадают в ближайшие. А как сделать так, чтобы после прошествия дня события, оно автоматически меняло рубрику, а не админ вручную переставлял привязку. С помощью acf7 создано кастомное поле даты. И есть следующий код:
Где ошибка или как это правильно/лучше сделать?
PHP задачи с собеседований
Есть кастомный тип постов "Мероприятия". В нем две рубрики: ближайшие и архивные. Понятно, что при создании все события попадают в ближайшие. А как сделать так, чтобы после прошествия дня события, оно автоматически меняло рубрику, а не админ вручную переставлял привязку. С помощью acf7 создано кастомное поле даты. И есть следующий код:
function update_event_taxonomy() {Однако при его выполнении, с тех событий, которые подпадают под условие чекбоксы с "ближайшие мероприятия" снимаются и к архивным они не привязываются, чекбокс не проставляется.
$today = date('Y-m-d');
$args = array(
'post_type' => 'events',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'event_date',
'value' => $today,
'compare' => '<',
'type' => 'DATE',
),
),
);
$event_posts = get_posts($args);
foreach ($event_posts as $event_post) {
$event_date = get_field('event_date', $event_post->ID);
$event_tax = ($event_date < $today) ? 'archive' : 'upcoming';
wp_set_post_terms($event_post->ID, $event_tax, 'events_category', false);
}
}
function schedule_event_taxonomy_update() {
if (!wp_next_scheduled('update_event_taxonomy')) {
wp_schedule_event(time(), 'hourly', 'update_event_taxonomy');
}
}
add_action('wp', 'schedule_event_taxonomy_update');
Где ошибка или как это правильно/лучше сделать?
PHP задачи с собеседований
👎12👍1