Как писать на C в 2016 году
Интересная статейка: https://matt.sh/howto-c
PS: царя скастуйте кто-нибудь, пусть выскажет своё икспертное мнение.
Интересная статейка: https://matt.sh/howto-c
PS: царя скастуйте кто-нибудь, пусть выскажет своё икспертное мнение.
При логине во многих (всех?) интернет-банках происходит серия редиректов на разные адреса. Зачем так сделано и что при этом происходит на стороне банка?
Никогда не юзал мак, но в последнее время на конференциях очень много с маками. Вопрос простой - может я отстал от жизни и стоит купить Мак? Я пользую линух уже лет 20 и он меня полностью устраивает. В маке собственно unix. Последний ноут самсунг х22 уже 8 лет работает без нареканий, сейчас стоит mint mate. В маке меня поразил экран ретина, а все остальное железо не так чтоб уж ах. Комп нужен для физики математики (mathematica, latex + музыка и видео), экран для моего зрения оч хорош. Вопрос к тем, что использовал мак - стоит ли брать? Может взять самсунг с ретиной и поставить линух?
Стало известно о критической уязвимости CVE-2015-8370, благодаря которой стало возможном обойти блокировку загрузки с паролем и получить полный доступ к консоли GRUB2.
Проблема актуальна для всех выпусков GRUB с декабря 2009 и до современных версий, в том числе находящихся в разработке. На текущий момент доступен патч, также появились обновления пакетов для Ubuntu, Debian, Fedora, CentOS, RHEL и ALT Linux.
Суть уязвимости заключается в том, что злоумышленник, имеющий доступ к локальному компьютеру, может инициировать целочисленнлое переполнение и получение доступа к консоли GRUB2 путём нажатия кнопки Backspace 28 раз в поле имени пользователя или пароля.
>>> Подробности
Всем привет.
Хочу приделать многофакторную авторизацию для ssh. Кто-нить уже пробовал? Какие сервисы использовались? Какие подводные камни были?
В программе нужно реализовать собственный командный интерпретатор (как в GNU ftp). Посмотрел маны по readline и argp. Непонятно вот что: readline выдает строку (char *), которую ввел пользовать, а argp принимает (int argc, char **argv). Вопрос в том, есть ли библиотека для парсинга строки в аргументы.
Доброго времени суток! Собственно, сабж..
Как сделать эту самую кнопку сверху (ну та, которая обычно обозначается на Андроиде с тремя горизонтальными полосками, при нажатии на нее обычно Popup(?)Menu вылазит с опциями разного рода) вместе с заголовком приложения стандартными средствами QT?
Мне на ум приходит только идея в лоб: создать QLabel, QButton, настроить выравнивание и растяжение через политики, но в Android Studio, помнится, есть уже готовый компонент под это дело. А в QT есть?
После того, как запилил у себя на нетбуке экс-эф-це-е, моя конфигурация awesome показалась мне жутко некрасивой и я решил всё переделать. Ковыряться в lua-коде не было более желания, а тайлингом я всё равно в последнее время очень мало пользуюсь, поэтому решил поставить крысу. Результат сего вы можете видеть на скриншотах.
>>> Все скриншоты
Ищу библиотеку логгирования для C++.
Чего хочется:
LOG(warn) << "This code sucks!"
Я уже смотрел на:
root << log4cpp::Priority::ERROR << "Streamed root error";
И ещё вагон и маленькая тележка других либ, которые используются в полтора проекта.
Что делать?
В этой теме буду сообщать о прогрессе разработки мобильного приложения.
Последний залитый debug APK (если ссылка битая - собирайте из исходников)
Благодарю за материальную поддержку
najlus,
NeverLoved
Есть вот такое клиенто-серверное приложение. Первый запуск клиент-сервер работает нормально, но после того как серевер вырубается и запускается новый, клиент уже не хочет к нему коннектится.Преподователь подсказал использовать «SO_REUSEADDR» перед биндом. Но мне это не помоголо, либо же я не правильно его использую. Завтра дедлайн, помогите пожалуйста разобраться).
Сервер
#include <iostream>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sstream>
#include <math.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
using namespace std;
long double fact(int n)
{
if (n<0)
return 0;
if (n == 0)
return 1;
else
return n*fact(n - 1);
}
double frenel1(double x)
{ double eps=0.0001;
double an = x*x*x / 3; double sum = an;
int i = 1;
while (fabs(an)>eps)
{
an = pow(-1, i)*pow(x, 4 * i + 3) / ((4 * i + 3)*fact(2 * i + 1));
sum += an;
i++;
}
return sum;
}
double frenel2(double x)
{ double eps=0.0001;
double an = x; double sum = an;
int i = 1;
while (fabs(an)>eps)
{
an = pow(-1, i)*pow(x, 4 * i + 1) / ((4*i + 1)*fact(2*i));
sum += an;
i++;
}
return sum;
}
int main(int argc, char* argv[])
{
double x,r1,r2;
int sock, listener,test=1;
struct sockaddr_in addr;
listener = socket(AF_INET, SOCK_STREAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(9535);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
setsockopt(listener,AF_INET,SO_REUSEADDR,&test,sizeof(int));
bind(listener, (struct sockaddr *)&addr, sizeof(addr));
listen(listener, 1);
while(1)
{
sock = accept(listener, NULL, NULL);
recv(sock, &x, sizeof(double), 0);
if (x==-1){ shutdown(sock,1); break; };
r1 = frenel1(x);
r2 = frenel2(x);
send(sock, &r1, sizeof(double), 0);
send(sock, &r2,sizeof(double),0);
close(sock);
}
return 0;
}
Клиент
#include <cmath>
#include <iostream>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sstream>
#include <math.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
using namespace std;
int main(int argc, char* argv[])
{
if ((argc>1)&&(strcmp(argv[1],"--help")==0))
{
cout<<"Integrali Frenelya\n";
cout<<"Ostanovka servera -e.\n";
return 0;
}
int sock;
struct sockaddr_in addr;
sock = socket(AF_INET, SOCK_STREAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(9535);
addr.sin_addr.s_addr =htonl(INADDR_LOOPBACK);
if (connect(sock, (struct sockaddr*)&addr, sizeof(addr))<0) {cout<<"Error connect\n"; return 0;}
double x;
double r1,r2;
if ((argc>1)&&(strcmp(argv[1],"-e")==0)) { x=-1; }
else
{
cout<<"X= ";
cin>>x;
}
send(sock,&x,sizeof(double),0);
if(x==-1){
shutdown(sock,0);
}
else
{
recv(sock, &r1, sizeof(double), 0);
recv(sock,&r2,sizeof(double), 0);
cout<<"S("<<x<<") == "<<r1<<endl;
cout << "R("<<x<<")=="<<r2<<endl;
}
close(sock);
return 0;
}
Есть дешёвый китайский планшет на Allwinner A13 с навернувшимся после обновления арчем (ну, или с попыткой установки Tizen).
Логов systemd нету, консоли с каким-нибудь текстом ошибки на экране нету (только Tux в углу светится и ничего не происходит), файловая система на запись недоступна, могу лишь написать скрипт вместо /sbin/init и, например, cat /dev/urandom > /dev/fb0 написать (клавиатура есть, но шелл запустить тоже не получается). В результате не могу понять, почему не грузится.
Научите плз лечить такое или пните в соответствующую матчасть, а то планшет после моих кривых рук регулярно так :c
Color management:
Обработка, конвертация и управление коллекцией RAW-изображений
Графические редакторы
Управление фотоаппаратом с компьютера
Focus stacking, склейка панорам и снимков с большим динамическим диапазоном (HDR)
Time-lapse
Астрофото
Работа с онлайн фото-стоками
https://github.com/selivan/thinclient
Набор для построения Ubuntu/Debian-based тонкого клиента, который не монтирует корневую ФС по NFS/iSCSI/SMB/..., а работает целиком из памяти.
Плюсы по сравнению с традиционным( https://help.ubuntu.com/community/DisklessUbuntuHowto ) подходм:
* не нагружает сервер
* спокойно переживает даунтайм сервера
Плюсы по ставнению с thinstation и прочими wtware:
* это честная Ubuntu/Debian, куда можно поставить всё что угодно: софт для работы с камерой, браузер, яву, хоть ioquake и tuxrace
Полезности
* умеет overlays, то есть сверху корневой ФС можно примонтировать сколько угодно архивов. Таким образом можно распространять дополнительный софт/конфги для определённых рабочих станций, не переделывая основной образ
* умеет монтировать домашний каталог по NFS, пользователь может вносить постоянные изменения. Небезопасно, но в некоторых случаях приемлимо.
Изначально делался efim-ом( https://github.com/efim-a-efim, на ЛОРе присутствует мало и только в анонимном виде ), потом сильно допиливался мной.
Надеюсь, кому-нибудь пригодится
********************************************************************************************************************************************************************************************************************************************************************************************************************************
******************************************************************************************************************************************************************************************************************************************************
**********************************************************************************
*****************************
Всего голосов: 782
желательно кроссплатформенную и из офф.репы дебиана. спасибы.
Сегодня была анонсирована поддержка трассировки дифференциальных пар и выравнивания длин трасс для EDA KiCAD.
На данный момент есть некоторые особенности (например, нельзя прописать ограничения проекта - параметры дифпар, длины дорожек - в параметрах проекта, пока это можно делать только по факту, в процессе трассировки; сложно редактировать дифпары; нельзя выровнять плечи «звезды» и др.), но основные функции уже работают: можно вести дифпары, выравнивать длины одиночных линий и дифпар, выравнивать фазы внутри дифпар.
И хотя прямо сейчас использовать это довольно трудно из-за сырости и ограниченности, потенциально эти функции открывают возможность трассировки в KiCAD серьезных высокоскоростных проектов на базе таких технологий, как PCI-Express, DDR2-3, Gigabit Ethernet и пр.
Паоло Борелли анонсировал новый проект Nuntius, решающий задачу вывода уведомлений с устройства на базе Android на экран десктопа с GNOME.
В состав проекта входят два компонента: апп для Android (v4.3+) и приложение для GNOME.
Данные передаются по Bluetooth. В дальнейшем ожидается появление возможности отвечать на сообщения с десктопа.
>>> Подробности
На картинке облегченный вариант, что бы вошло на экран. Вот когда мержится ветка с длительной историей (~100 мержей), вот это потрясение.
На сайте проекта PolarSSL (в рамках которого развивается свободная библиотека c реализацией SSL/TLS и различных криптографических алгоритмов) появилось объявление о переходе проекта под крыло корпорации ARM (одного из крупнейших разработчиков и лицензиаров архитектуры 32-разрядных и 64-разрядных RISC-процессоров).
Разработчики планируют существенно ускорить развитие проекта, имея в своём распоряжении ресурсы такой богатой корпорации, как ARM.
>>> Подробности
| ← назад | следующие → |