Jump to content

0nline

User
  • Posts

    98
  • Joined

  • Last visited

Everything posted by 0nline

  1. Принимаю любые заказы, любой сложности, выполняю качественно в короткие сроки. Цена договорная, в пользу заказчика, скидка за ваш отзыв в теме) Занимаюсь веб-дизайном и веб-строительством с 2011 года. Навыки: HTML5 CSS3 PHP JavaScript Photoshop Восстанавливаю портфолио вследствие длительного перерыва во время службы и после неё (2 года) Нашел пару рабочих сайтов: dkrus.cn - сайт на своем движке, разрабатывал все с 0 kepler.hk - ещё один китайский сайт. Завод по производству испарителей и прочих приблуд для вейперов по разным устройствам разбросаны графические работы, собрать их попытаюсь, но искать все крайне тяжко Связь со мной любым удобным вам способом, но предпочтительно телефон или WhatsUp/Telegram. Из-за отсутствия работы за компьютером бываю редко, поэтому жду ваших сообщений на телефон. Проживаю в Питере, поэтому если есть желание - можно встретиться лично и обсудить все за чашечкой кофе) Телефон для связи: 8(999)-529-15-90 Александр После 00:00 я ложусь спать, поэтому просьба не звонить. смс VK - vk.com/id416969433
  2. Ну собственно всё получилось. Благо существует С++ и бесплатная Visual Studio Express 2015 от Микрософта)) Рекомендую попробовать, интересно написать свое оконное приложение)(Кстати работу зарегистрировали как научную в области оптимизации сетей связи и обмена данными, можете меня поздравить, 4 недели убил на 3 разных версии этого потрясного софта)
  3. Собственно ищу новых заказчиков, кто будет готов рекомендовать студию в будущем своим знакомым. Заказы принимаются в ограниченном количестве, опыт имеется, сложность разработки - отрисовка, вёрстка, JS. Без серверных технологий. (Производим обучение нового персонала). Работа выполняется стажёрами на бесплатной основе. О своих предложениях пишите мне на почту или ниже этого поста. В случае большой временной задержки(более 3 дней от договорного срока) к работе подключится профессионал, а стажёр будет казнён и на его место поставлен новый skonline.design@mail.ru
  4. Соглашусь, я сталкивался с CRM туристической компании на битриксе, мне предлагали её доработать, после чего я отказался от этого ибо всё слишком деревянно, если только у вас не будет человек, который будет заниматься им на протяжении существования вашей компании. Тоже сугубо моё мнение, разбираться в битриксе, написанном другим человеком сложно(в принципе не только в битриксе сложно разбираться, но в нём особенно). К слову задачу решил чисто написанием PHP скриптов, без фреймворков)
  5. Собственно задача стоит такая: Регистрируем граф, выводим всевозможные пути обхода. Поскольку долго работал с сайтами, на PHP решил задачу быстро, но возникла необходимость написания программы на C( И тут я был повержен в шок, ибо строка тут не строка, а массив char, многих удобных функций, к которым я так привык тут нет. В университете писал на C и на C++, но это было давно и после этого я очень сроднился с PHP... Имеется двумерный массив - матрица смежности, в которой введены пропускные способности рёбер графа. Привожу свою функцию обхода в глубину на PHP [code #Выполняем рекурсивный обход в глубину и запись пути для конкретной вершины графа #$connections - матрица смежности #$num - размер матрицы смежности #&$ar - путь для одной ветви обхода в глубину #$n - текущий узел графа #$k - счётчик путей одной ветви обхода в глубину #&$c - счётчик всех путей #&$tc - счётчик пропускных способностей #&$result - массив всех путей #&$temp_capacity - пропускные способности одной ветви обхода #&$result_capacity - пропускные способности всех путей function all_paths($connections, $num, &$ar, $n, $k, &$c, &$result, &$temp_capacity, &$result_capacity) { $tc = 0; if ($k==0) { $ar[$k]=$n; } for ($i=0; $i<$num; $i++) { if (($connections[$n-1][$i]!='') and (strpos($ar[$k], strval($i+1)) === false)) { if ($temp_capacity[$tc]=='') { $temp_capacity[$tc] = $connections[$n-1][$i]; $result_capacity[$c] = $temp_capacity[$tc]; #echo 'k='.$k.', c='.$c.', cap='.$result_capacity[$c].'<br>'; } elseif (strval($temp_capacity[$tc])>=strval($connections[$n-1][$i])) { $temp_capacity[$tc+1] = $connections[$n-1][$i]; $result_capacity[$c] = $temp_capacity[$tc+1]; #echo 'k='.$k.', c='.$c.', cap='.$result_capacity[$c].'<br>'; } else { $temp_capacity[$tc+1] = $temp_capacity[$tc]; $result_capacity[$c] = $temp_capacity[$tc+1]; #echo 'k='.$k.', c='.$c.', cap='.$result_capacity[$c].'<br>'; } $ar[$k+1] = $ar[$k].'.'.($i+1); $result[$c] = $ar[$k+1]; $k++; $c++; $tc++; all_paths($connections, $num, $ar, ($i+1), $k, $c, $result, $temp_capacity, $result_capacity); $k--; $tc--; $temp_capacity[$tc] = ''; } } } ] Тут все прекрасно(тут еще подсчитывается минимальная пропускная способность каждого пути, еще есть функция, которая удаляет зеркальные копии маршрутов обхода) А в С я столкнулся с отсутствием понятия строки как такового(ЧТО?? НЕ КОНКАТЕНИРОВАТЬ СТРОКИ ТОЧКОЙ???) и многими другими трудностями, отсюда вся моя головная боль... Матрицу смежности создаю, а дальше у меня ступор( CodeBlocks заваливает меня непонятными ошибками( #include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <string.h> #define max_capacity_length 5 /** Рекурсивный обход матрицы смежности в глубину num - размерность матрицы connections_array - передаваемая матрица k - счетчик обхода в глубину одной ветви c - счетчик количества путей n - текущая вершина path - массив путей для конкретной ветви result_paths - массив всех путей */ void all_paths(int num, int c_ar[num][num],int n,int *k, int *c, char path[], char result_paths[]) { int i; char str[5]; if (*k==0) { itoa(n, str, 10); strcat(path[*k], str); } else for (i=0; i<num; i++) { if (c_ar[n][i]!=0) { itoa(i, str, 10); strcat(path[*k], str); strcat(result_paths[*c], path[*k]); *c=*c+1; *k=*k+1; all_paths(num, c_ar, i, *k, *c, path, result_path); *k=*k-1; } } } int main() { int node_num, i, j, t, capacity, c, k; printf("Enter delay(t): "); scanf("%d", &t);//Вводим задержку, используемую в формуле printf("\nEnter number of nodes: "); scanf("%d", &node_num);//Считываем количество узлов в сети char s[max_capacity_length], temp_path[100], glob_paths[100]; int connections[node_num][node_num]; for (i=0; i<node_num; i++) { for (j=0; j<node_num; j++) { connections[i][j] = 0; printf("[%d][%d]=%d ",i,j,connections[i][j]); } printf("\n"); } printf("Enter connected nodes(FORMAT: NODE.CONNECTED_NODE.CAPACITY), when you enter all connections enter '0'\n"); strcpy(s, "smth"); while (strcmp(s,"0")!=0) { gets(s); strcat(s,"."); i = atoi(strtok(s, "."))-1; j = atoi(strtok(NULL, "."))-1; capacity = atoi(strtok(NULL, ".")); if (i!=-1 && j!=-1 && capacity!=-1) { printf("Element [%d]", i); printf("[%d]", j); printf("\nCapacity = %d\n", capacity); connections[i][j] = capacity; connections[j][i] = capacity; } } c=0; k=0; temp_path[0]=""; for (i=0; i<node_num; i++) { printf("i = %d; ", i); all_paths(node_num, connections, i, &k, &c, temp_path, glob_paths); } getch(); return 0; } Запутался я короче со всеми указателями и массивами строк, которые массивы символов на самом деле А еще почему то нельзя инкрементировать и декрементировать значение переменной через указатель *к... Короче у меня программный шок после PHP, JS. Если есть разбирающиеся люди - просьба помочь, объясните как правильно это писать, в принципе я понимаю в чём ошибка, скорее всего в передаче аргументов функции, но для меня визуально всё выглядит адекватно. Вообще страшная штука С. Если начинать программировать, то лучше начинать именно с него. Только хардкор, никаких поблажек, жесткие указания типов переменных, отсутствие любимых функций, к которым я так привык в PHP(strpos, substr, strval, inttostr и другие). После изучения PHP и JS сложно вникать в С, несмотря на то, что начинал программировать именно с него(около двух лет пописал на нём).
  6. 0nline

    move_uploaded_file()

    Гениально) Интересно, почему это работает в другом скрипте тогда?) move_uploaded_file($image['tmp_name'][$i],'img/'.$image['name'][$i]); if ($image['tmp_name'][$i]<>'') { $url = 'img/'.$image['name'][$i]; } else {echo $_FILES['image']['error'][$i];}
  7. 0nline

    move_uploaded_file()

    Поставил полный путь: http://site.cn/expo/img/image.gifВ ошибке-предупреждении путь изменился на полный путь) Ошибка - потому что файл не сохраняется.
  8. 0nline

    move_uploaded_file()

    if ($image['tmp_name'] <> ''){$url = "expo/img/".$image['name'];echo 'url = '.$url;move_uploaded_file($image['tmp_name'],'expo/img/'.$image['name']);} $url выводится, все в порядке. Путь прописан правильно, файл загружается.Выводится вместе с $url ошибка: url = expo/img/image.gifWarning: move_uploaded_file(expo/img/image.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/site/www/www/panel/adde.php on line 33Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phptj4Q6Y' to 'expo/img/image.gif' in /home/site/www/www/panel/adde.php on line 33Права доступа у папок стоят 777.
  9. Проблему решил своеобразным "костылем" if ($image['tmp_name'][$i]<>'') Если есть знающие люди - отпишите, по какой причине не работала проверка с is_uploaded_file(), всё равно не могу этого понять.
  10. Можно глянуть код скрипта, обрабатывающего форму отправки письма?
  11. Собственно суть проблемы: Загружаю массив из картинок посредством формы, отправляю через $_POST, получаю массив $_FILES, всё просто. Необходимо проверять, был ли загружен файл в данном поле или нет. $i = 0;echo is_uploaded_file($image['tmp_name'][$i]);//тут выводится единичка - TRUEwhile ($i <= $count){ if ($day[$i]<>0) { move_uploaded_file($image['tmp_name'][$i],'../cn/tours/img/'.$image['name'][$i]); if (is_uploaded_file($image['tmp_name'][$i]))//а вот тут условие ложно и тело if не выполняется, даже когда файл был загружен и сохранён в конечную директорию функцией выше { $url = '../cn/tours/img/'.$image['name'][$i]; echo $url;//это, естественно, тоже не выводится. }Если проверить $url до входа в if - все прекрасно работает и выводится. В чём проблема? P.S. код формы ниже <form action="add.php" method="post" enctype="multipart/form-data"> <input name='image[]'type='file'> <input type='submit'></form>
  12. Хм, наполнение контентом. Всё зависит от тематики наполняемого сайта. Можно всё проверять на биржах статей. Advego, EText - самые известные и популярные. Насколько мне известно 1000 символов копирайта стоят около 1$. Опять же всё сильно варьируется в зависимости от тематики, очевидно, что есть темы, для написания на которые статей уходит много времени из-за того, что тема редкая, используется много терминов и так далее. И каждая статья, видео, картинка оцениваются по-разному, опять же. Цена тут больше зависит от вас самих и заказчика. Смотрите тему - проверяете на биржах статей - устанавливаете свою цену.
  13. Не могу понять, почему обходится стороной <div id="d1">
  14. Большое спасибо, вроде разобрался. Написал код для кнопки next: var i = 11; var id; function prev() { if(i==12) i=11; id = 'd'+i; var el = document.getElementById(id); if(el.offsetHeight) { if(i <0) return; el.style.display = "none"; i--; } } function next() { if(i==-1) i=0; id = 'd'+i; var el = document.getElementById(id); if(el.offsetHeight) { if(i >11) return; el.style.display = "block"; i++; } }В начале каждой функции проверяю, если i превышает значение границы - то я присваиваю счётчику значение пограничного элемента. Вторая функция по непонятной мне причине не работает. Разобрался, просто забыл отрицание при проверке условия. Теперь встала задача "закольцевать" эти блоки. Нужно чтобы при нажатии на Back на первом элементе (<div id="d0">) он скрывал его и показывал <div id="d11">. Вот моя попытка это сделать, кучу раз уже прогнал этот алгоритм, не могу понять, в чём дело. http://jsbin.com/giquxuvimo/3/
  15. Такой скрипт. Идея заключалась в том, чтобы при нажатии на ссылку уменьшался счётчик i, который вроде как глобальный и нигде кроме функции не изменяется, я попытался склеить id из d и счётчика, чтобы каждый раз при нажатии на ссылку скрывался новый блок, не могу понять в чём проблема. <script type="text/javascript"> <!-- var i=0; var id='d'+i.toString(); function viewdiv() { var el=document.getElementById(id); if(el.style.display=="block") { el.style.display="none"; i-=1; if(i==-1) { i=11; } } } //--> </script><body> <a href="#" onclick="viewdiv();">Back</a> <div> <div class="i" id="d0"><img src="1.jpg"></div> <div class="i" id="d1"><img src="2.jpg"></div> <div class="i" id="d2"><img src="3.jpg"></div> <div class="i" id="d3"><img src="4.jpg"></div> <div class="i" id="d4"><img src="5.jpg"></div> <div class="i" id="d5"><img src="6.jpg"></div> <div class="i" id="d6"><img src="7.jpg"></div> <div class="i" id="d7"><img src="8.jpg"></div> <div class="i" id="d8"><img src="9.jpg"></div> <div class="i" id="d9"><img src="10.jpg"></div> <div class="i" id="d10"><img src="11.jpg"></div> <div class="i" id="d11"><img src="12.jpg"></div> </div> <a href="#">Next</a> </body>
  16. Добавлены элементы, внесены исправления. Текстура взята с сайта allday, к сожалению нормальной древесины у них не оказалось, пришлось брать стилизацию из ткани(((
  17. Верстка чистая(на валидаторе проверил), макет сам по себе красивый и аккуратный. Проверил во всех браузерах кроме IE (принципиально). Отзывы исключительно положительные)
  18. Спасибо, только вот текстуры там все качать надо через "отстойлоадеры" типа турбобит, депозит файлс и т.п., я качал 125 мб текстур час, при скорости подключения в 16 Мб/с.
  19. body {background: repeat-y right;} Немного подлиннее: body {background-repeat: repeat-y; background-position: right}
  20. Первый мой вариант. Режете как я показал. Меню делаете резиновым, а картинки по бокам вставляете. Таким образом будет меняться только меню в зависимости от ширины монитора, а сами ленточки всегда будут фикс. ширины и прилеплены к резиновому меню. Волны над меню можно сделать рипитом, если немного подкорректировать узор воды. Вот и все.
  21. Аааа, ну если все фикс,то все элементарнее. Просто режешь картинку как я показал и все. Понятно как верстать? Это все отдельные блоки, в каждом из которых своя картинка. Нижний центральный - просто блок со списком пунктов меню. Понятно? Я правильно понял, что сайт фиксированной ширины?
  22. Насчет фона, не могли бы вы мне подкинуть какие нибудь хорошие деревянные текстуры (или посоветовать как обработать данную), в большом разрешении, а то весь интернет перелопатил и ничего не нашел... Для меня закругленные углы кажутся лишними в этом макете, последнее время отказался от них совсем. Насчет активной ссылки вы правы, как то я не заметил. Заменю на голубой цвет.
  23. Ситуация такая, что в данном примере кнопки на картинке - ее состояние не изменится на стиль hover если навести мышкой не на саму кнопку, а на ее тень. А в случае если эта тень часть картинки и, как следствие - лежит внутри блока div, то лишь только мышка налезет на тень - кнопка примет стиль hover. Тень большая широкая, кнопка уже издалека реагирует, визуально это очень плохо смотрится. Почему-то не работает Вот видимость (visibility) менять получилось, но пропадают так же и синий блок, плюс ко всему, при отжатии мышки ничего назад не появляется. Почему исчезает синий блок и почему не появляется назад серый? Подскажите пожалуйста.http://jsfiddle.net/6hu2W/8/ Извиняюсь, я ошибся. Нужно двойные кавычки ставить в обращении к цвету.
  24. Вы блок над меню режете так, чтобы можно было повторить ее несколько раз, меню делаете стандартно, а картинки сбоку вставляете просто. Алгоритм похож на создание скругленных углов с помощью картинок.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy