Это происходит по всей видимости, что
Это происходит по всей видимости, что
Привет, читатель моего блога!
Сегодня полезу не совсем в свою тему, точнее в ее ответвление, но при этом очень важное и которое упускают дизайнеры и разработчики. Рассмотрим проект с немного другого ракурса, а конкретнее с точки зрения пересечения Разработка-Бизнеса, так как зачастую, все тематические статьи говорят конкретно только, или о Бизнесе, или о Разработке. Отчасти сделаем это на примерах.
Неплохое видео дающее азы зачем нужны базы и что они из себя представляют. Так сказать, введение в СуБД(системы управления базами данных). Тем кто уже в теме видео бесполезно, оно конкретно для новичков. В тоже время, так как меня часто просят подсказать куда двигаться дальше и мне нужно обьяснить или найти нормальное начальное видео для пояснения, для таких случаев я и добавляю подобные видео.
Для более сложных моментов в понимании технологий я обычно даю одну или несколько задач и несколько материалов на прочтение с задачами связанных. Это дает боль и возможность познать технологию и как их применять. Естественно после первого решения или при появлении вопросов я на них даю или ответ, или ссылку на конкретизирующий материал. Понимание приходит именно в поиске решения. Так что если вы новичек - видео будет вам полезным, если профи - видео будет полезным если у вас под боком где-то новичек )
Начнем с того, как НЕЛЬЗЯ. Увы, так часто поступают верстальщики и сильно ухудшают ситуацию, так как очень многие письма при этом не доходят и об этом Вы не узнаете. Ведь они даже не то что в спам могут не свалиться, а просто быть отброшены почтовиком еще до перемещения в почту.
Сегодня почтовые сервисы на столько щепетильно и тщательно фильтруют почту что быстрее отправят в утиль нужное письмо, чем допустят спам. Из-за этого и имеем проблемы с этим методом.
Если вы не получаете письмо, с большой долей вероятности вы теряете клиента, а значит такой код просто недопустим.
А вот теперь о том как нужно: ...
Я начинал верстать когда flexbox-ом еще никто не верстал даже близко и везде использовалось позиционирование с помощью float-ов. Сейчас конечно в большей степени использую флексбоксы и надеюсь что вскоре все-таки поддержка Grid CSS достигнет максимума, выжду небольшой момент устаревания старых браузеров и возьму его на вооружение. Стоит всего-лишь еще немного подождать, когда доля обновленных браузеров будет достаточно высокой. А пока тем кто изучает верстку стоит ознакомиться что к чему.
Второе видео CSS Grid:
Я уже несколько лет использую cloudflare.com во многих проектах с которыми работаю. И на это действительно есть причины. Некоторые из них я уже упоминал в материале про инструменты которыми я пользуюсь.. Тем не менее, стоит еще раз пройтись по моментам, которые клаудфлер помогает решить.
DNS - управление записями DNS. Собственно основа всего сервиса, так как вы удобно добавляете, удаляете и меняете записи DNS. Панель удобная и простая в управлении. Тем же самым собственно и включается/отключается большая часть служб самого клаудфлера.
CDN(Content Delivery Network) - система доставки контента. Позволяет пользователям с разных стран получать статические файлы(скрипты, картинки, стили) быстро, не зависимо где находиться ваш сервер/сайт и сам его посетитель(клиент). Тем же самым снимает нагрузку с сервера/хостинга кешируя эти файлы у себя.
Защита - используя запросы DNS и проксируя трафик через себя клаудфлер пропускает трафик через себя не показывая реальный IP вашего сервера/хостинга. Конечно если делать запросы напрямую по IP, вместо доступа через доменное имя...
Постепенно расширяя свой опыт и знаний сталкиваешься с пониманием того, что логи постоянно проверять не будешь, да и не удобно это делать через ту же консоль, но что несут сами ошибки:
И именно по этой причине приходишь к тому чтобы использовать какое-то онлайн-хранилище для сохранения логов.
Можно заморочиться и поставить...
Единственным большим минусом хостеда является потеря производительности, она достаточно значительна на серьезных проектах и это действительно существенный минус.
Итак, видео:
Продолжаю расписывать сферу IT изнутри. Первую часть вы можете посмотреть тут
С чего начать обучение в IT? Меня часто об этом спрашивают. При этом зачастую это не поступающие в ВУЗы люди, а чаще всего уже работающие в какой-либо другой сфере. Но ответит на вопросы и тех, и других. Все что описано ниже взято из моего опыта работы в этой сфере, в целом больше 10-ти лет и веб-разработчика конкретно не менее 5+ лет.
Начинать нужно с вопроса о том, кем хочешь быть. Но, до этого нужно понять кто есть кто...
Есть такой, довольно известный, блогер и программист Хауди Хо. Я так же подписан на него и просматриваю его видео, так как темы он поднимает интересные и даже иногда полезные. Считаю его канал полезным и стоящим к просмотру и наблюдению. Но вот, видать от скуки и недостатка материала решил он поднять волну хайпа о супер-софте на ПК. Да вот только 99% того софта что он указывает - не полезные, а просто плюшки для повышения красивостей, которые на практике использовать не то что не получиться, они просто будут мешать. А работаю я в сфере разработке, в целом не менее 6-ти лет, так что есть на что опираться.
У меня...
Когда на моей прошлой работе нагрузка на меня достигла пика, я понял что нужно что-то решать. Решить сложные ситуации в разработке помогают часто несколько моментов:
И вот подумав о тех техниках что я применяю время от времени и инструментах которые я использую решил что лучшим вариантом является как-раз таки гибридная система. Инструменты которые помогают работать и разгружают мозг, позволяют решить ментальные ловушки. Зная о том как много людей страдают подобными сложностями, будь то менеджеры или разработчики, дизайнеры или кто-либо еще, решил систему сделать публичной и совершенствовать по мере возможности.
Ну вот, 3-я часть материалов по полезным сервисам и инструментам. Уверен, даже после окончания текущей части мне все еще будет что рассказать по инструментам, но на сегодня я закончу на текущей. Прошлые две части:
Windows 10 Pro лицензия - знаю как многие любят халяву, да, я тоже ей пользовался в виду того что лицензия стоит не дешево. Но если заниматься разработкой достаточно профессионально то система обрастает софтом и настройками на столько, что переустановка системы становиться реальной головной болью. Да, я очень не плохо работаю с Linux-ами на серверах, на десктопе я использовал его в течении многих лет как основную ось. В качестве дистрибутива предпочитаю Debial GNU\Linux. Но... Есть некоторый софт, который приходиться использовать для парсинга и работы с графикой которому нету замены под никсами. На некоторых сайтах можно найти официальные ключи на про всего за 14.у.е. что несравнимо меньше чем обычная лицензия. Стоит ли говорить что на корпоративной, крякнутой, или даже на ултимейт винде у вас могут возникнуть проблемы с некоторым софтом таким как докер из-за ограниченной поддержки виртуализации на данных сборках. Стоит ли говорить что автоматические обновления...
В продолжении первой части, в текущей статье я добавлю еще несколько программ и сервисов которые я использую в работе. Каждый из них проверен в бою и занял уверенную позицию в моем списке полезных и важных инструментов.
Сервис сжатия картинок - это один из лучших сайтов для сжатия картинок используемых как элементами сайта, так и в содержимом. Да и даже чтобы поставить картинку просто на...
В последнее время задач по разным проектам очень много. По основной работе тем более. Но все эти задачи даже близко нельзя было бы потянуть если бы не некоторые удобные и качественные инструменты. Да, конечно, некоторые стоят достаточно не мало для обычного веб-разработчика, другие же в некоторой степени "излишни", но не для меня.
Итак, для веб-разработки я использую:
PHPStorm - IDE для веб-разработки самых разных форматов и масштабов проектов. Стоит ли говорить что конкуренты даже близко не приблизились к этой IDE? Я когда-то тоже участвовал в холиварах Emacs VS VIM, но...
Итак, в этом материале мы возьмем тему из прошлой моей статьи:
Скачать Тему
В ней будут все необходимые нам файлы.
И следуем по шагам.
За основу я взял этот материал, но и разница в подаче материала будет. Вы можете смотреть и здесь, и там. Будет только лучше.
Итак, поехали...
Хех... Шутка, с первого раза получил hard reject. Но я в курсе что это обычное явление, а значит старт положен.
«Если бы у меня было восемь часов для того, чтобы срубить дерево, я бы шесть часов потратил на заточку моего топора». Авраам Линкольн. Президент США, в молодости лесоруб.
Я не дизайнер, и не верстальщик. В целом я ближе к Backend-девелоперу и системному администратору разом. Но, в жизни нужно попробовать многое. И вот, после того как я накидал очередной прототип на bootstrap 4, я понял что ни моих навыков верстки, ни навыков дизайна не хватает. А значит нужно набирать. Благо интернет полон информации и вооружившись ею, я погнал ваять.
Еще до дизайна, я начал с изучения что есть Gulp...
postresql=> \o /путь/к/файлу.txt
postresql=> postgresql query ( запрос к базе )
postresql=> \o ( возвращаем стандартный вывод )
create user myuser with password 'somepassword';
grant all privileges on all tables in schema public to myuser;
"C:\Program Files\PostgreSQL\9.5\bin\psql.exe" mydbname myuser < E:\somedump.sql
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.16/webfont.js"></script>
<script>
WebFont.load({
google: {
families: ['Open+Sans:400,300,600,700,800:latin,cyrillic,cyrillic-ext']
}
});
</script>
http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg
Что соответствует размерам и аналогично ссылкам в том же порядке:
По умолчанию:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg
Для картинок в высоком качестве:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg
Среднее качество:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg
Стандартный размер картинки:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/sddefault.jpg
Максимальный размер картинки:
http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg
Просто выбираем подходящую ссылку.//кусок кода выбирающий превью для ютуба
preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $this->body, $matches);
//preg_match("/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user)\/))([^\?&"'>]+)/", $this->body, $matches);
if (!empty($matches[1])) $vid_id = $matches[1];
if (!empty($vid_id)) return "http://img.youtube.com/vi/".$vid_id."/0.jpg";
$(function() {
$("a[href*='#']:not([href='#'])").click(
function()
{
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname)
{
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length)
{
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}});
});
<select id="multiple" class="form-control select2-multiple" multiple name="tags[]" >
{foreach $labels as $label}
<option value="{$label->id}" {if !empty($exists.{$label->id})}selected{/if} >{$label->title}</option>
{/foreach}
</select>
<script>
$(document).ready(function () {
$("#multiple").select2({
placeholder: "Select or add tags",
tags: true,
tokenSeparators: [",", " "],
createSearchChoice:function(term, data) {
if ( $(data).filter( function() {
return this.text.localeCompare(term)===0;
}).length===0)
{
return { id: term, text:term };
}
}
});
</script>
//...
//материал
$record = Linkedin_GroupLabel::find($id);
//...
//Сбрасываем связи с тегами
$record->tags()->detach();
$rtags = array();
foreach ($request->input('tags') as $tag){
//если значение элемента селекта число, значит это id
if (is_numeric($tag)){
$rtags[] = $tag;
}
else //в противном случае это новое значение
{
$new = Linkedin_Label::where('title','=',trim($tag))->first();
if (empty($new->id)){
$new = new Linkedin_Label();
}
$new->title = trim($tag);
$new->save();
$rtags[] = $new->id;
}
}
//аттачим айдишники между записями
$record->tags()->attach($rtags);
php -m
php -a
<?php
$url = file_get_contents('your-xml-file.xml');
//именно эти строчки и выравнивают всю кривость кодировки
$url = mb_convert_encoding($url, 'utf-8', mb_detect_encoding($string));
$url = mb_convert_encoding($url, 'html-entities', 'utf-8');
$dom = new DOMDocument();
$dom->loadHTML($url);
$page_content = $dom->saveHTML();
//...
public function render($request, Exception $e)
{
//customize 404 page
if ($this->isHttpException($e)) {
$statusCode = $e->getStatusCode();
switch ($statusCode) {
case '404':
//путь к файлу с HTML разметкой
return response()->view('front/notfound');
}
}
return parent::render($request, $e);
}
//...
#php artisan make:console XMLSitemap
Console command created successfully.