• Где найти практику\работу\стажировку?

    daager
    @daager
    Судя по вашему прошлому вопросу за два месяца вы ничего не сделали и не продвинулись. Мне кажется вам просто лень самому разбираться и вы ждете, когда вам покажут ссылку на линейный путь развития PHP-разработчика, список пунктов, который весь прошел и значит ты разработчик. Нет, такого не будет. Это развитие нелинейное. Ставится задача, ты её решаешь, нашел сложность, пошел изучать её, потом вернулся и так всегда.
    Ваша просьба будто "как сделать cms из одного файла, чтобы подряд написать", когда файлов много и вам нужно параллельно их развивать.
    Пробегитесь по документации php, по её функциям. Можете не запоминать их все, хватит того, что вы будете знать, что есть функция, которая что-то делает, название как-нибудь найдете. Нагуглите топ используемых функций и вот их нужно хотя бы примерно запомнить. Боитесь своего проекта? А как кодить-то научиться? Что-то делать же надо. Начните решать какие-нибудь свои задачи на php. Разберите csv и постройте таблицу. Сделайте форму с текстовыми полями и посчитайте квадратное уравнение на php, попробуйте сделать форму создания, редактирования, удаления, обновления(CreateReadUpdateDelete) какой-нибудь записи из бд. Я начинал с того, что сразу начал кодить небольшие хаки для простенькой cms. Придумываете себе задачу и начинайте её решать. Возьмите и скачайте страницу какую-нибудь, вытащите оттуда все заголовки (h1,h2,h3,etc) и отсортируйте по алфавиту. Отсортируйте ряд чисел 5,1,1,7,9,2 по возрастанию.
    PHP-разработчик, это разработчик, который может решить задачу на PHP, но именно разработчик. Нужно какое-то время на перестроение мышления и дальше вам пофиг на язык, вы думаете конструкциями, а дальше просто ищете вариант решения на конкретном языке.
    Ответ написан
    5 комментариев
  • Не подскажете софт по созданию animated Gif?

    DDDsa
    @DDDsa
    Если я правильно понял вопрос, то вам подойдёт LICEcap

    282db67216f64d38a790f7289c5671bf.gif
    Ответ написан
    Комментировать
  • График курса валют с ЦБ?

    @AdrianBlair
    7b174324610940d1b2fb1a80eea83ae3.png

    Делал на скорую руку

    <?php
    function get($url) {
    	$ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL, $url);
    	curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
    	curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    	curl_setopt ($ch, CURLOPT_FAILONERROR, true);
    	$data = curl_exec($ch);
    	echo curl_error($ch);
    	curl_close($ch);
    	return $data;
    }
    
    function url() {
    	$to = date("d/m/Y");
    	$d = date("d");
    	$m = date("m");
    	$y = date("Y") - 1;
    	$from = "$d/$m/$y";
    	$url = "http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=$from&date_req2=$to&VAL_NM_RQ=R01235";
    	return get($url);
    }
    
    function today($array) {
    	$max = count($array["Record"]) - 1;
    	$price = str_replace(",", ".", $array["Record"][$max]["Value"]);
    	return $price;
    }
    
    $content = url();
    
    $xml = simplexml_load_string($content);
    $json = json_encode($xml);
    $array = json_decode($json, TRUE);
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
        <script type="text/javascript">
    	google.charts.load('current', {'packages':['corechart']});
    	google.charts.setOnLoadCallback(drawChart);
    
    	function drawChart() {
    		var data = google.visualization.arrayToDataTable([
    			["Дата", "Стоимость"],
    <?
    for($i = 0; $i < count($array["Record"]); $i++) {
    	$date = date("d.m.Y", strtotime($array["Record"][$i]["@attributes"]["Date"]));
    	$price = str_replace(",", ".", $array["Record"][$i]["Value"]);
    	if($i == count($array["Record"]) - 1) {
    		echo "['$date', $price]\n";
    	} else {
    		echo "['$date', $price],\n";
    	}
    }
    ?>
    		]);
    
    		var options = {
    			vAxis: {minValue: <?=today($array)*1.1?>}
    		};
    
    		var chart = new google.visualization.AreaChart(document.getElementById("dollar"));
    		chart.draw(data, options);
    	}
        </script>
    	<style>
    	body {
    		width: 75vw;
    		margin: 3em auto;
    		font-family: Arial, sans-serif;
    		font-size: 16px;
    	}
    	
    	.title {
    		text-align: center;
    		color: #333;
    		width: 100%;
    		font-size: 2em;
    	}
    	
    	.dollar:before {
    		content: "Доллар: ";
    		font-size: 0.75em;
    	}
    	.dollar:after {
    		content: " ₽";
    		font-size: 0.75em;
    	}
    	</style>
    </head>
    <body>
    	<div class="title dollar"><?=today($array)?></div>
    	<div id="dollar" style="width: 100%; height: 500px;"></div>
    </body>
    </html>
    Ответ написан
    2 комментария
  • Почему не работают кортежи?

    Добавьте using System.ValueTuple. Всплывающее сообщение вам прямо подсказывает. В ссылках должен быть этот пункт: image009.png
    Ответ написан
    3 комментария
  • Какие варианты подключения нескольких разработчиков к одному репозиторию существует?

    xtala
    @xtala
    Постигает Дзен
    В git обычно используется философия диктатор-подчиненный. Это распределенная система. Постоянное подключение к главному репозиторию не требуется. Это выглядит примерно так: главный разработчик (диктатор) ведет мастер, его клонируют другие разработчики и ведут разработку в ветках тестинг, затем при каких то успехах они сливают диктатору изменения в тестинг с помощью команд слияния. Диктатор смотрит на правки и принимает решение о слиянии принятых патчей с мастером. Вариантов реализации довольно много. Можно патчи даже принимать по почте.
    Ответ написан
    Комментировать
  • Какие варианты подключения нескольких разработчиков к одному репозиторию существует?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    В настройках репозитория можно указывать так называемых "Collaborators" (если речь о github). все кто там будут указаны- будут иметь доступ к репозиторию.
    Ответ написан
    Комментировать
  • Рост и развитие технических сотрудников?

    Andrey_Pletenev
    @Andrey_Pletenev
    Pletenev.com
    Не нужно путать новые технологии с нужными. Желание все время гнаться за новым так же пагубно, как застой.
    Критерии профессионального роста:
    a) способность решать задачи более высокого уровня сложности
    b) решение того же уровня задач, но более эффективно (лучшее соотношение план/факт)
    c) повышение качества (снижение % брака)

    Вот несколько вариантов способствования проф.росту, проверенные на практике:
    • Хорошая пропорция высококвалифицированных кадров для того, чтобы было с кого брать пример и у кого учиться.
    • Учет дефицитных технологических знаний (языков, библиотек, фрэймворков и т.п.) в компании и расчет технологического рейтинга каждого сотрудника с учетом коэффициентов для кажлой технологии. Рейтинг можно просто регулярно публиковать для соревновательного эффекта, а можно использовать и в качестве одного из KPI при начислении з.п.
    • Назначение задач немного "на вырост"
    • Оплата (хотя бы небольшая) времени, потраченного на чтение проф. литературы во внерабочее время. По итогам каждой прочитанной книги, сотрудник должен провести внутренний семинар и рассказать остальным то, что вынес полезного.
    • Привлечение тренеров-практиков из отрасли для повышения квалификации
    Ответ написан
    Комментировать
  • Стоит ли опасаться составления контракта при оформлении на работу?

    BBmike
    @BBmike
    (если ты в России)
    Сперва узнай у них трудовой это договор или нет.

    Потом сюда приходи. Без этого разговор смысла не имеет.
    Ответ написан
    Комментировать
  • Как решить проблему с FTP?

    opium
    @opium
    Просто люблю качественно работать
    Ну так спросите у вашего хостеры в чем проблема
    Ответ написан
    Комментировать
  • Почему echo (75 % 37.5) = 1?

    DevMan
    @DevMan
    потому что надо не тупить, а читать документацию:
    При делении по модулю операнды преобразуются в целые числа (удалением дробной части) до начала операции. Для деления по модую чисел с плавающей точкой используйте fmod().
    Ответ написан
    1 комментарий
  • Как мержить хотфикс в такой ситуации?

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

    А хорошая практика - чаще подмерживать общий develop в фичебранчи, чтобы такие штуки всплывали как можно скорее.
    Ответ написан
    8 комментариев
  • Почему не находит файл для копирвания?

    @jimquery
    cp application.ini /etc/dist...
    Ответ написан
    Комментировать
  • Можно ли вывести данные из несвязанной таблицы?

    Eridani
    @Eridani
    Мимо проходил
    А JOIN почему не воспользуетесь?
    Ответ написан
    Комментировать
  • Ести ли обязательный набор документов на коммерческое ПО?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В данном случае, лучше обратиться к юристу.
    Поскольку кроме того, что вы узнаете что нужно делать - это все равно нужно будет делать, так зачем бегать два раза?
    Ответ написан
    Комментировать
  • Как скачать с github отдельную папку?

    longclaps
    @longclaps
    Скачай zip-архив и возьми из него папку.
    Ответ написан
    1 комментарий
  • Сервер для удобного поиска книг?

    makklovskiy
    @makklovskiy Автор вопроса
    Куда то пропал хороший ответ.
    https://habrahabr.ru/post/175527/
    https://habrahabr.ru/post/30594/
    Ответ написан
    Комментировать
  • Как поменять местами column в MS SQL?

    @leremin
    atypical programmer
    Вот тут написано

    А зачем, если не секрет? В реляционных БД от порядка строк и столбцов не зависит ничего.
    Ответ написан
    1 комментарий
  • Как просуммировать данные из двух таблиц?

    zoroda
    @zoroda
    Необычный Fullstack
    Раз данные одного вида, то через UNION:

    SELECT
    `campaign_post`,
    `campaign_name`,
    `post`,
     COUNT(*) AS `leads`,
     SUM(`new`) AS `new`,
     SUM(`approved`) AS `approved`,
     SUM(`declined`) AS `declined`,
     SUM(`webmaster_profit`) AS `webmaster_profit`
    FROM (
    SELECT
      CONCAT(w,'|',t) AS `campaign_post`,
      w AS `campaign_name`,
      t AS `post`,
      IF(`status` = 'new', 1, 0) AS `new`,
      IF(`status` = 'approved', 1, 0) AS `approved`,
      IF(`status` = 'declined', 1, 0) AS `declined`,
      web_total AS `webmaster_profit`
    FROM `m1`
    UNION ALL
    SELECT
      CONCAT(`subid1`, '|', `subid2`) AS `campaign_post`,
      `subid1` AS `campaign_name`,
      `subid2` AS `post`,
      IF(`status` = 'waiting', 1, 0) AS `new`,
      IF(`status` = 'approved', 1, 0) AS `approved`,
      IF(`status` IN ('declined', 'trash'), 1, 0) AS `declined`,
      `profit` AS `webmaster_profit`
    FROM `add1`
    ) q1
    GROUP BY `campaign_post`,
    `campaign_name`,
    `post`;

    UPD. Исправил кавычки
    Ответ написан
    2 комментария
  • В чем фишка Dapper?

    EreminD
    @EreminD
    Кое-что умею
    Первый коммент к той статье:
    Очень мощная штука для массивных запросов. Не нем написан Stack Overflow. Там в документации есть несколько примеров использования: получение строго типизированной коллекции, динамических объектов и запрос без ответа. (как то так). Если бы их здесь вкратце (так удобнее) освеить - было бы здорово :)


    Отличие, пожалуй в том, что у вас происходит маппинг автоматом (судя по статье).
    В ADO.NET, вам надо из ридера самому вручную забирать значения (типа reader.GetInt32(0)). Что не очень приятно, особенно при работе с большим числом сложных таблиц

    Толи дело, когда описываешь класс, делаешь запрос и просишь вернуть экземпляр
    User user = null;
    using (IDbConnection db = new SqlConnection(connectionString))
       {
             user = db.Query<User>("SELECT * FROM Users WHERE Id = @id", new { id }).FirstOrDefault();
       }


    Собственно, вот вам и ORM. Вы не работаете с результатом запроса напрямую. У вас есть возможность сразу получить экземпляр класса и работать с ним.
    А то, что на вход подается SQL-команда - выглядит, в какой-то степени, даже приятно и удобно.

    Еще вот о том, почему Dapper (особенно раздел "Dapper и реляционные запросы" - ваще огонь) - https://msdn.microsoft.com/ru-ru/magazine/mt703432.aspx
    А вот про то, кто быстрее - https://www.exceptionnotfound.net/dapper-vs-entity...
    Ответ написан
    5 комментариев