Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «программированный»
Как построить грамотную систему тестирования? Инсайты от QA-экспертов: видео и презентации с митапа в Wrike 2016-06-07 13:29:48
Какие инструменты облачного тестинга используют в Яндексе? Как устроено тестирование в Badoo? Что ...
+ развернуть текст сохранённая копия
Какие инструменты облачного тестинга используют в Яндексе? Как устроено тестирование в Badoo? Что представляет собой система автоматизированного frontend-тестирования в Wrike?
Пару недель назад наш Wrike Tech club собрал около 150 специалистов по тестированию, чтобы обсудить в питерском офисе компании насущные, вечные и, на первый взгляд, почти неразрешимые проблемы QA в больших (и не очень) проектах. Как и обещали, делимся видео и презентациями со встречи.
Смотреть
Тэги: ansible, automation, badoo, docker, it-систем, jenkins, management, selenium, wrike, wriketechclub, блог, веб-сайтов, веб-сервисов, компании, программирование, разработка, тестирование, яндекс
Коммуникации в программировании — во сне и наяву 2016-06-06 18:54:19
В детстве я считал библейскую историю про Вавилонскую башню — странноватой сказкой, пока не начал ...
+ развернуть текст сохранённая копия
В детстве я считал библейскую историю про Вавилонскую башню — странноватой сказкой, пока не начал сталкиваться с аномалией непонимания людьми друг друга чуть ли не каждый день в программных проектах. Простыми словами суть истории про башенку такая: люди «кодили» большую, страшшшшную, мощщщную систему и до того усложнили архитектуру и заумничались — что стали запутываться, наступать друг другу на ноги, руки и головы и вся конструкция стала колом к чертовой матери — команда развалилась и переругалась, «фрилансеры» с дубинами в руках, глиняными дощечками (вместо ноутов) под мышкой и запасами копченого мяса разбрелись по земле.
Читать дальше →
Тэги: agile, development, extreme, programming, scrum, веб-разработка, веб-сайтов, гибкие, методологии, программирование, разработка
[Из песочницы] Подход игродела к созданию современных веб приложений 2016-06-06 13:42:31
Скучное вступление
Не так давно, мне довелось участвовать в разработке некоего ...
+ развернуть текст сохранённая копия
Скучное вступление
Не так давно, мне довелось участвовать в разработке некоего программно-аппаратного комплекса для одной американской компании. Разрабатывал я бэкенд, немного фронтенд, сращивал устройства с облаком (IoT то бишь). Стек технологий был обозначен четко. Ни в право, ни в лево — enterprise, одним словом. В определенный момент меня перекинули в помощь на фронтенд POS (Point of Sale) веб приложения.
Проблема. Становится интересней
Всё бы ничего, но веб приложение разрабатывалось для работы в 6 тыс. офисах по всей территории Америки (для начала). Где, как оказалось, с интернетом могут быть проблемы. Да да, в той самой, продвинутой Америке! Проблемы с покрытием не только проводного интернета, но и мобильной связью! Т.е. плохой интернет канал (часто, мобильный) — вполне себе обычная история для небольших американских городов.
А это же POS… Тут, понимаешь, клиенты стоят, надо инвойс быстро распечатать… Тормозов быть не должно! И livesearch… Были обсуждения, прикидки, в итоге — не стали грузить бэкенд запросами (трафик, опять же). Сошлись на том, что веб приложение должно по-максимуму подгружать данные и делать, тот же поиск, локально. Речь идет, конечно, о данных, размер которых позволяет это сделать.
Данных фронтенд тянул много, из разных сервисов. Как следствие — большой трафик и долгая загрузка страниц. В общем — беда.
Часть проблем решается бэкендом (сжатие, гео-кластеринг и тп), но это — отдельная история, сейчас только о фронтенде.
Читать дальше →
Тэги: angular, async, javascript, web-разработка, веб-сайтов, программирование, разработка
Кривые костыли для wlan0 Banana BPI-R1 2016-06-05 19:28:15
это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2016/06/04. ...
+ развернуть текст сохранённая копия
это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2016/06/04.htmlСкучный пост для айтишников, сразу предупреждаю. Пару месяцев назад я рассказывал, что в качестве роутера у меня работает системная платка Banana BPI-R1, и только глючок у нее с WiFi - иногда виснет. К сожалению, колдовство и компиляция драйверов не помогли - вайфай как вис, так и виснет, иногда раз в сутки, иногда раз в несколько дней. Питание платы было заменено на прекрасное - по питанию нареканий нет. Возможно, портят дело какие-то другие устройства на USB-шинах, у меня их, увы, много висит. Почему-то контроллер WiFi интегрирован на плате, но видится как USB-устройство. Контроллер называется 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter. В интернете встречаются упоминания о плохой работе RTL8192CU с hostapd, но я пока не нашел эффективного средства, кроме как перегрузить сервер.
Потом по совету Кирилла я стал просто делать такие махинации: /sbin/ifconfig wlan0 down /sbin/ifconfig wlan0 up /usr/sbin/service hostapd restart Этого оказалось достаточно, чтобы снова поднять WiFi без полной перезагрузки. Поизучав логи, я понял, что во-первых, ничего в логах не смыслю. Во-вторых, когда WiFi зависает, а устройства (мобильник, например) пытается раз за разом соединиться, чтобы получить адрес, в /var/log/daemon.log сыплются такие строки: May 29 12:29:46 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: associated May 29 12:29:50 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: disassociated May 29 12:29:51 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: associated May 29 12:29:55 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: disassociated May 29 12:29:56 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: associated May 29 12:30:00 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: disassociated May 29 12:30:01 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: associated May 29 12:30:05 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: disassociated May 29 12:30:06 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: associated May 29 12:30:11 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: disassociated May 29 12:30:11 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: associated May 29 12:30:15 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: disassociated May 29 12:30:17 banana hostapd: wlan0: STA 3c:40:8e:75:b9:c3 IEEE 802.11: associated Поскольку зависания сетки задолбали всех (меня, домочадцев, гостей дома, а также погодную станцию, висящую за окном), а решения проблемы не видно, то я принял решение построить костыли и просто выполнять перезапуск wlan0 при появлении в логе признаков зависания. К сожалению, shell-скрипты на основе tail -f | grep -q мне соорудить не удалось в силу нетривиальности задачи. Поэтому пришлось взять ненавистный мною язык C и написать демон-костыль. Выкладываю, может кому-то пригодится. Запускается от рута при старте системы: #include <stdio.h> #include <string.h> #include <stdlib.h>#define BUFLEN 2048 #define REREAD 50 #define REREADC 5000 void LLOG(char* s) { printf("%s\n",s); } int main(int argc, char* argv[]) { int i,kel=0,cn=-1,cn2=-1; char openflag=0, *result, *msg = malloc (BUFLEN+1); const char *str1="IEEE 802.11: associated"; const char *str2="IEEE 802.11: disassociated"; const char *logfile="/var/log/daemon.log"; const time_t timer = time(NULL); sprintf(msg,"+++ Start: %s",ctime(&timer)); LLOG(msg); FILE *fp; while(1) { if(cn<0||cn2<0) { LLOG("+++ Reload"); if(openflag) { fclose(fp); openflag=0; LLOG("+++ Close file"); } if((fp=fopen(logfile,"r"))==NULL) { sprintf(msg,"+++ %s+++ error open: %s",ctime(&timer),logfile); LLOG(msg); sleep(2); continue; } // открыть не удалось openflag=1; // открыть удалось fseek(fp,0L,SEEK_END); // в конец файла cn=REREAD; cn2=REREADC; } cn2--; if(!openflag || NULL==fgets(msg,BUFLEN,fp)) { sleep(1); continue; } // прочесть не удалось - и ладно LLOG(msg); // что прочли cn--; for(i=0;i<BUFLEN;i++) { if(!msg[i] ||msg[i]==0x0d||msg[i]==0x0a) break; printf("%c",msg[i]); } printf("\n"); if(NULL!=strstr(msg,str1)) { kel=1; continue; } // найдена первая строка if(NULL!=strstr(msg,str2)) { if(kel==1) { LLOG("*** CATCH ***"); system("/sbin/ifconfig wlan0 down"); sleep(1); // опустить wlan0 system("/sbin/ifconfig wlan0 up"); sleep(1); // поднять wlan0 system("/usr/sbin/service hostapd restart"); // перестартовать hostapd system("mpg123 /home/audio/samples/jitie-moe.mp3"); // ну и сыграть звук в колонки } kel=2; cn=-1; } else kel=0; } } Второй день зависаний нет. Один раз тихо вздохнуло в коридоре "Житие-мое" (сэмпл из "Иван Васильевич меняет професссию") - значит, отработало. В остальном Banana BPI-R1 показала прекрасные результаты, поскольку основная работа сего квартирного сервера (помимо чисто серверных и архивных задач) - быть шлюзом и хабом на 5 портов Ethernet. Это лучший сервер, что был у меня - надежный, компактный, малопотребляющий и абсолютно бесшумный. В ближайших планах - привесить к нему двухстрочный дисплей и кучу электроники к GPIO. это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2016/06/04.html
Тэги: домашний, программирование, сам, сделай, сервер, электроника
Microsoft не собирается делать автомобили с автопилотом 2016-06-03 22:30:27
Корпорация не интересуется производством самоходных автомобилей и не собирается идти по стопам ...
+ развернуть текст сохранённая копия
Корпорация не интересуется производством самоходных автомобилей и не собирается идти по стопам Google, Tesla и других производителей машин, но с удовольствием будет работать над операционной системой, под управлением которой такие автомобили смогут работать. Об этом на Converge conference в Гон Конге сообщила сотрудница Microsoft Пегги Джонсон. В прошлом месяце Fiat Chrysler и Google объявили о […]
Тэги: microsoft, авто, автомобили, программирование, самоуправляемые, софт
Главная / Главные темы / Тэг «программированный»
|
Взлеты Топ 5
Падения Топ 5
|