cppcms-users Mailing List for CppCMS C++ Web Framework (Page 30)
Brought to you by:
artyom-beilis
You can subscribe to this list here.
2009 |
Jan
|
Feb
(22) |
Mar
|
Apr
(3) |
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(15) |
Nov
(16) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(4) |
Feb
|
Mar
(8) |
Apr
(8) |
May
(8) |
Jun
(36) |
Jul
(63) |
Aug
(126) |
Sep
(47) |
Oct
(66) |
Nov
(46) |
Dec
(42) |
2011 |
Jan
(87) |
Feb
(24) |
Mar
(54) |
Apr
(21) |
May
(22) |
Jun
(18) |
Jul
(22) |
Aug
(101) |
Sep
(57) |
Oct
(33) |
Nov
(34) |
Dec
(66) |
2012 |
Jan
(64) |
Feb
(76) |
Mar
(73) |
Apr
(105) |
May
(93) |
Jun
(83) |
Jul
(84) |
Aug
(88) |
Sep
(57) |
Oct
(59) |
Nov
(35) |
Dec
(49) |
2013 |
Jan
(67) |
Feb
(17) |
Mar
(49) |
Apr
(64) |
May
(87) |
Jun
(64) |
Jul
(93) |
Aug
(23) |
Sep
(15) |
Oct
(16) |
Nov
(62) |
Dec
(73) |
2014 |
Jan
(5) |
Feb
(23) |
Mar
(21) |
Apr
(11) |
May
(1) |
Jun
(19) |
Jul
(27) |
Aug
(16) |
Sep
(5) |
Oct
(37) |
Nov
(12) |
Dec
(9) |
2015 |
Jan
(7) |
Feb
(7) |
Mar
(44) |
Apr
(28) |
May
(5) |
Jun
(12) |
Jul
(8) |
Aug
|
Sep
(39) |
Oct
(34) |
Nov
(30) |
Dec
(34) |
2016 |
Jan
(66) |
Feb
(23) |
Mar
(33) |
Apr
(15) |
May
(11) |
Jun
(15) |
Jul
(26) |
Aug
(4) |
Sep
(1) |
Oct
(30) |
Nov
(10) |
Dec
|
2017 |
Jan
(52) |
Feb
(9) |
Mar
(24) |
Apr
(16) |
May
(9) |
Jun
(12) |
Jul
(33) |
Aug
(8) |
Sep
|
Oct
(1) |
Nov
(2) |
Dec
(6) |
2018 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
(14) |
Jun
(1) |
Jul
(9) |
Aug
(1) |
Sep
(13) |
Oct
(8) |
Nov
(2) |
Dec
(2) |
2019 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(9) |
Jul
(6) |
Aug
(25) |
Sep
(10) |
Oct
(10) |
Nov
(6) |
Dec
|
2021 |
Jan
|
Feb
|
Mar
(7) |
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(9) |
Oct
(1) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Oleg S. <ovs...@gm...> - 2015-04-24 13:47:13
|
Where is logs located ? I could not find any information about logs in config.js file... 24 апр. 2015 г. 16:42 пользователь "Alexander Mack" <a....@ev...> написал: > Hi, > > Did you check if the library is accessable through /usr/lib? > And, did you look into the logs? Maybe they have some helpful informations. > > Hope that helps you. > > Alex > > > Am 24.04.2015 um 15:24 schrieb Sydunenko Oleg: > > On 04/24/2015 04:15 PM, Alexander Mack wrote: > > Hi, > > have you tried to install the sqlite3 libs on your system? > On Ubuntu you would do that with apt-get install: > > sudo apt-get install sqlite3 libsqlite3-dev > > > Am 24.04.2015 um 15:11 schrieb Sydunenko Oleg: > > Hi all, > > I had problem with example "message_board". > > After startup with command *"./mb -c config.js"* the error *"2015-04-24 > 16:05:50; cppcms, error: Caught exception [cppdb::driver failed to load > driver sqlite3 - no module found]** (http_context.cpp:139)**"* is appear > in console and browser had 500 response code... > > Thanks in advance > > -- > Regards, > Oleg Sydunenko > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight.http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > > _______________________________________________ > Cppcms-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight.http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > > _______________________________________________ > Cppcms-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/cppcms-users > > The result of the *"dpkg --get-selections | grep sqlite"* is: > libmono-sqlite4.0-cil install > libqt4-sql-sqlite install > libsqlite3-0 install > libsqlite3-dev install > libwtdbosqlite-dev install > libwtdbosqlite29 install > sqlite3 install > > -- > Regards, > Oleg Sydunenko > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight.http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > > _______________________________________________ > Cppcms-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > |
From: Oleg S. <ovs...@gm...> - 2015-04-24 13:44:18
|
Ok thanx Alex. I'll check it... 24 апр. 2015 г. 16:42 пользователь "Alexander Mack" <a....@ev...> написал: > Hi, > > Did you check if the library is accessable through /usr/lib? > And, did you look into the logs? Maybe they have some helpful informations. > > Hope that helps you. > > Alex > > > Am 24.04.2015 um 15:24 schrieb Sydunenko Oleg: > > On 04/24/2015 04:15 PM, Alexander Mack wrote: > > Hi, > > have you tried to install the sqlite3 libs on your system? > On Ubuntu you would do that with apt-get install: > > sudo apt-get install sqlite3 libsqlite3-dev > > > Am 24.04.2015 um 15:11 schrieb Sydunenko Oleg: > > Hi all, > > I had problem with example "message_board". > > After startup with command *"./mb -c config.js"* the error *"2015-04-24 > 16:05:50; cppcms, error: Caught exception [cppdb::driver failed to load > driver sqlite3 - no module found]** (http_context.cpp:139)**"* is appear > in console and browser had 500 response code... > > Thanks in advance > > -- > Regards, > Oleg Sydunenko > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight.http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > > _______________________________________________ > Cppcms-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight.http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > > _______________________________________________ > Cppcms-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/cppcms-users > > The result of the *"dpkg --get-selections | grep sqlite"* is: > libmono-sqlite4.0-cil install > libqt4-sql-sqlite install > libsqlite3-0 install > libsqlite3-dev install > libwtdbosqlite-dev install > libwtdbosqlite29 install > sqlite3 install > > -- > Regards, > Oleg Sydunenko > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight.http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > > _______________________________________________ > Cppcms-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > |
From: Alexander M. <a....@ev...> - 2015-04-24 13:41:32
|
Hi, Did you check if the library is accessable through /usr/lib? And, did you look into the logs? Maybe they have some helpful informations. Hope that helps you. Alex Am 24.04.2015 um 15:24 schrieb Sydunenko Oleg: > On 04/24/2015 04:15 PM, Alexander Mack wrote: >> Hi, >> >> have you tried to install the sqlite3 libs on your system? >> On Ubuntu you would do that with apt-get install: >> >> sudo apt-get install sqlite3 libsqlite3-dev >> >> >> Am 24.04.2015 um 15:11 schrieb Sydunenko Oleg: >>> Hi all, >>> >>> I had problem with example "message_board". >>> >>> After startup with command /"./mb -c config.js"/ the error >>> /"2015-04-24 16:05:50; cppcms, error: Caught exception >>> [cppdb::driver failed to load driver sqlite3 - no module >>> found]//(http_context.cpp:139)//"/ is appear in console and browser >>> had 500 response code... >>> >>> Thanks in advance >>> >>> -- >>> Regards, >>> Oleg Sydunenko >>> >>> >>> ------------------------------------------------------------------------------ >>> One dashboard for servers and applications across Physical-Virtual-Cloud >>> Widest out-of-the-box monitoring support with 50+ applications >>> Performance metrics, stats and reports that give you Actionable Insights >>> Deep dive visibility with transaction tracing using APM Insight. >>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y >>> >>> >>> _______________________________________________ >>> Cppcms-users mailing list >>> Cpp...@li... >>> https://lists.sourceforge.net/lists/listinfo/cppcms-users >> >> >> >> ------------------------------------------------------------------------------ >> One dashboard for servers and applications across Physical-Virtual-Cloud >> Widest out-of-the-box monitoring support with 50+ applications >> Performance metrics, stats and reports that give you Actionable Insights >> Deep dive visibility with transaction tracing using APM Insight. >> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y >> >> >> _______________________________________________ >> Cppcms-users mailing list >> Cpp...@li... >> https://lists.sourceforge.net/lists/listinfo/cppcms-users > The result of the /"dpkg --get-selections | grep sqlite"/ is: > libmono-sqlite4.0-cil install > libqt4-sql-sqlite install > libsqlite3-0 install > libsqlite3-dev install > libwtdbosqlite-dev install > libwtdbosqlite29 install > sqlite3 install > > -- > Regards, > Oleg Sydunenko > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users |
From: Sydunenko O. <ovs...@gm...> - 2015-04-24 13:24:50
|
On 04/24/2015 04:15 PM, Alexander Mack wrote: > Hi, > > have you tried to install the sqlite3 libs on your system? > On Ubuntu you would do that with apt-get install: > > sudo apt-get install sqlite3 libsqlite3-dev > > > Am 24.04.2015 um 15:11 schrieb Sydunenko Oleg: >> Hi all, >> >> I had problem with example "message_board". >> >> After startup with command /"./mb -c config.js"/ the error >> /"2015-04-24 16:05:50; cppcms, error: Caught exception [cppdb::driver >> failed to load driver sqlite3 - no module >> found]//(http_context.cpp:139)//"/ is appear in console and browser >> had 500 response code... >> >> Thanks in advance >> >> -- >> Regards, >> Oleg Sydunenko >> >> >> ------------------------------------------------------------------------------ >> One dashboard for servers and applications across Physical-Virtual-Cloud >> Widest out-of-the-box monitoring support with 50+ applications >> Performance metrics, stats and reports that give you Actionable Insights >> Deep dive visibility with transaction tracing using APM Insight. >> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y >> >> >> _______________________________________________ >> Cppcms-users mailing list >> Cpp...@li... >> https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users The result of the /"dpkg --get-selections | grep sqlite"/ is: libmono-sqlite4.0-cil install libqt4-sql-sqlite install libsqlite3-0 install libsqlite3-dev install libwtdbosqlite-dev install libwtdbosqlite29 install sqlite3 install -- Regards, Oleg Sydunenko |
From: Alexander M. <a....@ev...> - 2015-04-24 13:15:30
|
Hi, have you tried to install the sqlite3 libs on your system? On Ubuntu you would do that with apt-get install: sudo apt-get install sqlite3 libsqlite3-dev Am 24.04.2015 um 15:11 schrieb Sydunenko Oleg: > Hi all, > > I had problem with example "message_board". > > After startup with command /"./mb -c config.js"/ the error > /"2015-04-24 16:05:50; cppcms, error: Caught exception [cppdb::driver > failed to load driver sqlite3 - no module > found]//(http_context.cpp:139)//"/ is appear in console and browser > had 500 response code... > > Thanks in advance > > -- > Regards, > Oleg Sydunenko > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users |
From: Sydunenko O. <ovs...@gm...> - 2015-04-24 13:11:57
|
Hi all, I had problem with example "message_board". After startup with command /"./mb -c config.js"/ the error /"2015-04-24 16:05:50; cppcms, error: Caught exception [cppdb::driver failed to load driver sqlite3 - no module found]//(http_context.cpp:139)//"/ is appear in console and browser had 500 response code... Thanks in advance -- Regards, Oleg Sydunenko |
From: Artyom B. <art...@ya...> - 2015-04-24 09:10:21
|
> > 1. Can cppcms run multiple threads asynchronously? > I know it can handle asynchronous requests by event loop but can it be run with > thread pool and run several requests simultaneously? Or the thread pool is only > for synchronous jobs.> > I don't really understand your question. CppCMS thread pool has multiple threads to execute any kind of "jobs". You post a job to the thread pool and it would be picked up by an available thread or would be queued for execution. > > >2. Can Cppdb handle asynchronous query? > > I mean that providing callback at query execution and be > called later when query is finished. Maybe this must be > handled with cppcms event loop.> Is there any example using asynchronous query or it's not possible? > No, CppDB can't run asynchronous queries, because there almost no SQL API available that allows to run stuff asynchronously. Sqlite3, MySQL and ODBC do not provide such an option. So if you want to run some "blocking" stuff you can submit a job to a thread pool and post a completion handler back to the event loop. > >3. What is the difference between running cppcms as multi process mode beside > running only single process mode? > > I found that on windows platform it can't be run as multi process mode. > I'm not going to run it on windows for production but is there any other big > difference I have to aware? Something like local cache is shared between > threads but not shared between processes. Or some performance effect like > running 8 processes with single thread mode, or running 1 process with 8 > threads. Information about Internal structure about performance would be helpful.> > First of all even if you run in prefork (multi-process) mode you still have a thread pool per process. Additionally, each process has its own event loop. In multi-process mode you have several - one per process. In future version of CppCMS it is planned to run several event loops per CppCMS process. About sharing. CppCMS supports process shared cache, session and other stuff. However on the application level you should be aware of it. You run multiple instances of the same process so you should be aware of it, for example using some sort of IPC or shared resources. To be honest. I found prefork (multi-process) mode much less useful that I thought it would be. > > >4. Dynamic loading .so files >I saw that cppcms highly recommend to use dynamic loading > views but I also found that auto update (checking .so > file's modification date and auto reloading views) > function may affect bad performance. So, dynamic loading > views are only good with test mode and static library > loading is better for production service? > > I'm only asking at the aspect of performance. Loading all > .so files at startup looks much better for performance. I'm > about to load more than 100 .so view files. You have an _option_ to dynamically reload so if it changes in the run-time. It is useful for development (so you don't have to restart application for a small HTML fix), not more than that. However using shared objects gives more more flexibility. It does not impose performance penalties, unless you turn the "auto-reload" option on explicitly. Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ |
From: redred77 <red...@gm...> - 2015-04-23 15:07:40
|
I have some questions about cppcms. I'm interested about building new project with Cppcms but not familiar with it yet and I want to know in detail. 1. Can cppcms run multiple threads asynchronously? I know it can handle asynchronous requests by event loop but can it be run with thread pool and run several requests simultaneously? Or the thread pool is only for synchronous jobs. 2. Can Cppdb handle asynchronous query? I mean that providing callback at query execution and be called later when query is finished. Maybe this must be handled with cppcms event loop. Is there any example using asynchronous query or it's not possible? 3. What is the difference between running cppcms as multi process mode beside running only single process mode? I found that on windows platform it can't be run as multi process mode. I'm not going to run it on windows for production but is there any other big difference I have to aware? Something like local cache is shared between threads but not shared between processes. Or some performance effect like running 8 processes with single thread mode, or running 1 process with 8 threads. Information about Internal structure about performance would be helpful. 4. Dynamic loading .so files I saw that cppcms highly recommend to use dynamic loading views but I also found that auto update (checking .so file's modification date and auto reloading views) function may affect bad performance. So, dynamic loading views are only good with test mode and static library loading is better for production service? I'm only asking at the aspect of performance. Loading all .so files at startup looks much better for performance. I'm about to load more than 100 .so view files. Thanks in advance. Cppcms looks like well designed and implemented. |
From: Artyom B. <art...@ya...> - 2015-04-13 05:16:34
|
Can you be more specific? Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ From: Paolo Bolzoni <pao...@gm...> To: cpp...@li... Sent: Monday, April 13, 2015 5:26 AM Subject: [Cppcms-users] Where can I find instruction how the localization works? Dear list, I am using cppblog for my blog. It is working fine, but I'd like to change some details. I have some problems to do so because I did not understand how the localization works. It is documented somewhere? What should I study? Yours faithfully, Paolo ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users |
From: Paolo B. <pao...@gm...> - 2015-04-13 02:49:15
|
In my opinion the stupidest thing in the C++11 standard is letting the uniform initialization syntax to actually call other constructors. I kinda like the idea of having a different syntax between: "default constructor", "list of initial values", and "another kind of constructor." Funnily enough, the uniform initialization cannot call the copy constructor (I think it is fixed in C++14 though)... On Sun, Apr 12, 2015 at 12:28 AM, Tolga HOŞGÖR <fas...@gm...> wrote: > It will also be removed when C++17 arrives. > > > On Sat, Apr 11, 2015, 17:17 Paolo Bolzoni <pao...@gm...> > wrote: >> >> I don't understand, the deprecation of std::auto_ptr applies only if >> you use C++11, if you use C++03 of course it does not apply. >> >> On Sat, Apr 11, 2015 at 10:33 PM, Artyom Beilis <art...@ya...> >> wrote: >> > Besides that fact that the stuff you pointed to works with lambdas,.. >> > >> > C++11 compiler support is problematic even if you take the LATEST >> > versions. >> > >> > For example one of the stuff I would also borrow from C++11 is >> > std::regex, >> > std::shared_ptr, and more, but >> > >> > std::regex support for example is broken in both libstdc++ (gcc's) and >> > buggy >> > libc++ (clang's), there are more. >> > >> > So at this point CppCMS is C++11 friendly (and uses some of the stuff >> > like >> > auto in templates) but remains C++2003 compatible. >> > >> > auto_ptr removal/deprecation is one of the stupidest things in C++11. I >> > agree that >> > std::unique_ptr is way better but if you work with C++2003 you need >> > auto_ptr >> > as only useful standard smart pointer around. >> > >> > Artyom Beilis >> > -------------- >> > CppCMS - C++ Web Framework: http://cppcms.com/ >> > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ >> > >> > ________________________________ >> > From: Alex Beimler <ale...@we...> >> > To: cpp...@li... >> > Sent: Thursday, April 9, 2015 8:52 AM >> > Subject: [Cppcms-users] cppcms and C++11/14 >> > >> > Hi, >> > are there future plans for C++11/14. >> > >> > Like a URL-Dispatcher with lambdas or std::function, something like >> > this: >> > dispatch("/number/(\\d+)", [&](std::string number){ >> > this->number(number); >> > }); >> > dispatch("/foo/(\\d+)/(\\d+)", [&](std::string bar2, std::string bar1){ >> > this->foo(bar1, bar2); }); >> > >> > >> > Switch between smartpointers, >> > Use CMake to setup?, -DUSE_CPPCMS_STD_PTR=std::unique_ptr, >> > -DUSE_CPPCMS_STD_PTR=std::auto_ptr, >> > auto_ptr will maybe removed in C++17. >> > >> > >> > cppcms::thread_pool.post more compatible with std::thread, lambdas, ... >> > >> > >> > ------------------------------------------------------------------------------ >> > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >> > Develop your own process in accordance with the BPMN 2 standard >> > Learn Process modeling best practices with Bonita BPM through live >> > exercises >> > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >> > event?utm_ >> > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >> > _______________________________________________ >> > Cppcms-users mailing list >> > Cpp...@li... >> > https://lists.sourceforge.net/lists/listinfo/cppcms-users >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >> > Develop your own process in accordance with the BPMN 2 standard >> > Learn Process modeling best practices with Bonita BPM through live >> > exercises >> > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >> > event?utm_ >> > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >> > _______________________________________________ >> > Cppcms-users mailing list >> > Cpp...@li... >> > https://lists.sourceforge.net/lists/listinfo/cppcms-users >> > >> >> >> ------------------------------------------------------------------------------ >> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >> Develop your own process in accordance with the BPMN 2 standard >> Learn Process modeling best practices with Bonita BPM through live >> exercises >> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >> event?utm_ >> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >> _______________________________________________ >> Cppcms-users mailing list >> Cpp...@li... >> https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > |
From: Paolo B. <pao...@gm...> - 2015-04-13 02:26:58
|
Dear list, I am using cppblog for my blog. It is working fine, but I'd like to change some details. I have some problems to do so because I did not understand how the localization works. It is documented somewhere? What should I study? Yours faithfully, Paolo |
From: Tolga H. <fas...@gm...> - 2015-04-11 15:28:54
|
It will also be removed when C++17 arrives. On Sat, Apr 11, 2015, 17:17 Paolo Bolzoni <pao...@gm...> wrote: > I don't understand, the deprecation of std::auto_ptr applies only if > you use C++11, if you use C++03 of course it does not apply. > > On Sat, Apr 11, 2015 at 10:33 PM, Artyom Beilis <art...@ya...> > wrote: > > Besides that fact that the stuff you pointed to works with lambdas,.. > > > > C++11 compiler support is problematic even if you take the LATEST > versions. > > > > For example one of the stuff I would also borrow from C++11 is > std::regex, > > std::shared_ptr, and more, but > > > > std::regex support for example is broken in both libstdc++ (gcc's) and > buggy > > libc++ (clang's), there are more. > > > > So at this point CppCMS is C++11 friendly (and uses some of the stuff > like > > auto in templates) but remains C++2003 compatible. > > > > auto_ptr removal/deprecation is one of the stupidest things in C++11. I > > agree that > > std::unique_ptr is way better but if you work with C++2003 you need > auto_ptr > > as only useful standard smart pointer around. > > > > Artyom Beilis > > -------------- > > CppCMS - C++ Web Framework: http://cppcms.com/ > > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > > > ________________________________ > > From: Alex Beimler <ale...@we...> > > To: cpp...@li... > > Sent: Thursday, April 9, 2015 8:52 AM > > Subject: [Cppcms-users] cppcms and C++11/14 > > > > Hi, > > are there future plans for C++11/14. > > > > Like a URL-Dispatcher with lambdas or std::function, something like this: > > dispatch("/number/(\\d+)", [&](std::string number){ this->number(number); > > }); > > dispatch("/foo/(\\d+)/(\\d+)", [&](std::string bar2, std::string bar1){ > > this->foo(bar1, bar2); }); > > > > > > Switch between smartpointers, > > Use CMake to setup?, -DUSE_CPPCMS_STD_PTR=std::unique_ptr, > > -DUSE_CPPCMS_STD_PTR=std::auto_ptr, > > auto_ptr will maybe removed in C++17. > > > > > > cppcms::thread_pool.post more compatible with std::thread, lambdas, ... > > > > > ------------------------------------------------------------------------------ > > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > > Develop your own process in accordance with the BPMN 2 standard > > Learn Process modeling best practices with Bonita BPM through live > exercises > > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > > _______________________________________________ > > Cppcms-users mailing list > > Cpp...@li... > > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > > > > > ------------------------------------------------------------------------------ > > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > > Develop your own process in accordance with the BPMN 2 standard > > Learn Process modeling best practices with Bonita BPM through live > exercises > > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > > _______________________________________________ > > Cppcms-users mailing list > > Cpp...@li... > > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > |
From: Paolo B. <pao...@gm...> - 2015-04-11 14:16:38
|
I don't understand, the deprecation of std::auto_ptr applies only if you use C++11, if you use C++03 of course it does not apply. On Sat, Apr 11, 2015 at 10:33 PM, Artyom Beilis <art...@ya...> wrote: > Besides that fact that the stuff you pointed to works with lambdas,.. > > C++11 compiler support is problematic even if you take the LATEST versions. > > For example one of the stuff I would also borrow from C++11 is std::regex, > std::shared_ptr, and more, but > > std::regex support for example is broken in both libstdc++ (gcc's) and buggy > libc++ (clang's), there are more. > > So at this point CppCMS is C++11 friendly (and uses some of the stuff like > auto in templates) but remains C++2003 compatible. > > auto_ptr removal/deprecation is one of the stupidest things in C++11. I > agree that > std::unique_ptr is way better but if you work with C++2003 you need auto_ptr > as only useful standard smart pointer around. > > Artyom Beilis > -------------- > CppCMS - C++ Web Framework: http://cppcms.com/ > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > ________________________________ > From: Alex Beimler <ale...@we...> > To: cpp...@li... > Sent: Thursday, April 9, 2015 8:52 AM > Subject: [Cppcms-users] cppcms and C++11/14 > > Hi, > are there future plans for C++11/14. > > Like a URL-Dispatcher with lambdas or std::function, something like this: > dispatch("/number/(\\d+)", [&](std::string number){ this->number(number); > }); > dispatch("/foo/(\\d+)/(\\d+)", [&](std::string bar2, std::string bar1){ > this->foo(bar1, bar2); }); > > > Switch between smartpointers, > Use CMake to setup?, -DUSE_CPPCMS_STD_PTR=std::unique_ptr, > -DUSE_CPPCMS_STD_PTR=std::auto_ptr, > auto_ptr will maybe removed in C++17. > > > cppcms::thread_pool.post more compatible with std::thread, lambdas, ... > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > |
From: Artyom B. <art...@ya...> - 2015-04-11 13:34:02
|
Besides that fact that the stuff you pointed to works with lambdas,.. C++11 compiler support is problematic even if you take the LATEST versions. For example one of the stuff I would also borrow from C++11 is std::regex, std::shared_ptr, and more, but std::regex support for example is broken in both libstdc++ (gcc's) and buggy libc++ (clang's), there are more. So at this point CppCMS is C++11 friendly (and uses some of the stuff like auto in templates) but remains C++2003 compatible. auto_ptr removal/deprecation is one of the stupidest things in C++11. I agree thatstd::unique_ptr is way better but if you work with C++2003 you need auto_ptras only useful standard smart pointer around. Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ From: Alex Beimler <ale...@we...> To: cpp...@li... Sent: Thursday, April 9, 2015 8:52 AM Subject: [Cppcms-users] cppcms and C++11/14 Hi, are there future plans for C++11/14. Like a URL-Dispatcher with lambdas or std::function, something like this: dispatch("/number/(\\d+)", [&](std::string number){ this->number(number); }); dispatch("/foo/(\\d+)/(\\d+)", [&](std::string bar2, std::string bar1){ this->foo(bar1, bar2); }); Switch between smartpointers, Use CMake to setup?, -DUSE_CPPCMS_STD_PTR=std::unique_ptr, -DUSE_CPPCMS_STD_PTR=std::auto_ptr, auto_ptr will maybe removed in C++17. cppcms::thread_pool.post more compatible with std::thread, lambdas, ... ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users |
From: Artyom B. <art...@ya...> - 2015-04-10 16:01:29
|
Yes I'm familiar with Valgrind an exceptional tool. The code does not require to lock the LRU mutex - I'll explain. The cache storage is ALWAYS accessed via read-only (multiple lock) or write (unique lock access),for example in store() it is locked at line 354. However for read access which is vast majority multiple threads can access the cache. But LRU updatewith is rather a short part is write access to it has its own lock. Now read and write lock can't be hold simultaneously so LRU is already protected is store by higher level lock. In any case nice to see somebody actually goes as deep as that. Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ From: Vinicius Pavanelli <ds...@ha...> To: cpp...@li... Sent: Thursday, April 9, 2015 5:45 PM Subject: [Cppcms-users] Possible data race in lru at cache_storage.cpp? Hi! I was testing my app with valgrind/helgrind and found some possible data race in cache_storage.cpp, i'm using version 1.0.5, and the code from lines 259-264 locks the lru_mutex fine, but later on in lines 374-375 there is some write to lru without a mutex to lock, there is a lock on access_lock but none in lru_mutex. Helgrind detected this as a possible data race, after i change the lines 374-375, following is a diff to it: --- cache_storage.cpp 2015-04-09 12:35:57.410064598 -0300 +++ cache_storage.cpp.fixed 2015-04-09 12:36:08.516731747 -0300 @@ -371,8 +371,11 @@ cont.generation=*gen; else cont.generation=generation++; - lru.push_front(main); - cont.lru=lru.begin(); + { + lock_guard lock(*lru_mutex); + lru.push_front(main); + cont.lru=lru.begin(); + } cont.timeout=timeout.insert(std::pair<time_t,pointer>(timeout_in,main)); if(triggers_in.find(key)==triggers_in.end()){ cont.triggers.push_back(triggers.insert(std::pair<string_type,pointer>(int_key,main) Is this valid or just some false positive and I overreact it? Well, hope it helps in anyway, helgrind shows a lot of problems in mysql library and in shared_ptr/shared_count usage that I really think are falses but if needed can post them also. By the way, in just a few hours i found at least 3 bugs in my own code with valgrind tools, got to know it via CppCMS site, recommend to anyone check it. Thanks for your time! ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users |
From: Vinicius P. <ds...@ha...> - 2015-04-09 15:10:13
|
Hi! I was testing my app with valgrind/helgrind and found some possible data race in cache_storage.cpp, i'm using version 1.0.5, and the code from lines 259-264 locks the lru_mutex fine, but later on in lines 374-375 there is some write to lru without a mutex to lock, there is a lock on access_lock but none in lru_mutex. Helgrind detected this as a possible data race, after i change the lines 374-375, following is a diff to it: --- cache_storage.cpp 2015-04-09 12:35:57.410064598 -0300 +++ cache_storage.cpp.fixed 2015-04-09 12:36:08.516731747 -0300 @@ -371,8 +371,11 @@ cont.generation=*gen; else cont.generation=generation++; - lru.push_front(main); - cont.lru=lru.begin(); + { + lock_guard lock(*lru_mutex); + lru.push_front(main); + cont.lru=lru.begin(); + } cont.timeout=timeout.insert(std::pair<time_t,pointer>(timeout_in,main)); if(triggers_in.find(key)==triggers_in.end()){ cont.triggers.push_back(triggers.insert(std::pair<string_type,pointer>(int_key,main) Is this valid or just some false positive and I overreact it? Well, hope it helps in anyway, helgrind shows a lot of problems in mysql library and in shared_ptr/shared_count usage that I really think are falses but if needed can post them also. By the way, in just a few hours i found at least 3 bugs in my own code with valgrind tools, got to know it via CppCMS site, recommend to anyone check it. Thanks for your time! |
From: Я <tu...@ya...> - 2015-04-09 07:20:06
|
09.04.2015 13:52, Alex Beimler пишет: > Hi, > are there future plans for C++11/14. > > Like a URL-Dispatcher with lambdas or std::function, something like this: > dispatch("/number/(\\d+)", [&](std::string number){ > this->number(number); }); It work fine in current version CPPCMS. |
From: Alex B. <ale...@we...> - 2015-04-09 06:52:23
|
Hi, are there future plans for C++11/14. Like a URL-Dispatcher with lambdas or std::function, something like this: dispatch("/number/(\\d+)", [&](std::string number){ this->number(number); }); dispatch("/foo/(\\d+)/(\\d+)", [&](std::string bar2, std::string bar1){ this->foo(bar1, bar2); }); Switch between smartpointers, Use CMake to setup?, -DUSE_CPPCMS_STD_PTR=std::unique_ptr, -DUSE_CPPCMS_STD_PTR=std::auto_ptr, auto_ptr will maybe removed in C++17. cppcms::thread_pool.post more compatible with std::thread, lambdas, ... |
From: Artyom B. <art...@ya...> - 2015-04-08 18:04:21
|
URL Dispatching and Mapping | | | | | | | | | URL Dispatching and MappingURL Dispatching and Mapping Introduction Code Mapping Description Actions Running The Example Introduction We will learn how to easily connect different URLs to their associated functions. | | | | View on cppcms.com | Preview by Yahoo | | | | | Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ From: Tolga HOŞGÖR <fas...@gm...> To: cpp...@li... Sent: Wednesday, April 8, 2015 9:01 PM Subject: Re: [Cppcms-users] mapper Is this unanswered or whoever answered only replied to the sender mail. I am also interested in the answer. Please use reply to all. On Thu, Mar 19, 2015, 16:41 tuq3 <tu...@ya...> wrote: Why there is a mapper? dispatcher().assign("/blog/(\\d++)/?", &myapp::post, this, 1); mapper().assign("post", "/blog/{1}");// without this line all working fine -------------------------- I just successfully setup cppcms on raspbian wheezy with some packages from jessie distr. This is a great web framework, despite the fact that I've already used php/yii and python/dJango. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users |
From: Tolga H. <fas...@gm...> - 2015-04-08 18:01:12
|
Is this unanswered or whoever answered only replied to the sender mail. I am also interested in the answer. Please use reply to all. On Thu, Mar 19, 2015, 16:41 tuq3 <tu...@ya...> wrote: > Why there is a mapper? > > dispatcher().assign("/blog/(\\d++)/?", &myapp::post, this, 1); > mapper().assign("post", "/blog/{1}");// without this line all working fine > > > -------------------------- > I just successfully setup cppcms on raspbian wheezy with some packages > from jessie distr. > This is a great web framework, despite the fact that I've already used > php/yii and python/dJango. > > ------------------------------------------------------------ > ------------------ > Dive into the World of Parallel Programming The Go Parallel Website, > sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for > all > things parallel software development, from weekly thought leadership blogs > to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > |
From: Alexander M. <a....@ev...> - 2015-04-01 11:28:53
|
Hello Artyom, You are right. The problem has been the buffer-size in MySQL. Thank you very much for the fast answer! Alex Am 01.04.2015 um 12:19 schrieb Artyom Beilis: > CppDB (if the backed allows) fetches the data row by row and not the > entire collection: > > Unprepared statements: > http://sourceforge.net/p/cppcms/code/HEAD/tree/cppdb/trunk/drivers/mysql_backend.cpp#l75 > Prepared statement: > http://sourceforge.net/p/cppcms/code/HEAD/tree/cppdb/trunk/drivers/mysql_backend.cpp#l510 > cppdb::result is sort of cursor you iterate over the data set. > > The delay probably caused by initial query and not fetching itself. > > Artyom Beilis > -------------- > CppCMS - C++ Web Framework: http://cppcms.com/ > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > ------------------------------------------------------------------------ > *From:* Alexander Mack (EvalSys) <a....@ev...> > *To:* cpp...@li... > *Sent:* Wednesday, April 1, 2015 12:36 PM > *Subject:* [Cppcms-users] Avoid loading query results completely > into cppdb::result > > Dear Artyom, Dear community, > > I was wondering if it's possible, to avoid loading the complete > query result into cppdb::result but handle the query results "step > by step"? > > If I'm running the following query on a bigger database > > <code> > > cppdb::result <http://cppcms.com/sql/cppdb/classcppdb_1_1result.html> r = sql <<"SELECT name,age FROM students"; > > </code> > > it takes a lot of time to copy all the results into the > cppdb::result container. For testing I tried that for about 6 mio > entries.. > > I didn't work with the original MySQL-lib yet.. but if I send the > query using the standard MySQL lib e.g. > > <code> > > | > res= mysql_perform_query(conn, "SELECT * FROM students"); > > while ((row= mysql_fetch_row(res)) !=NULL) > ....| > > </code> > > it seems that the interface delivers single rows only, if I'm > fetching the result (row by row). > > Now I was wondering, if there is some technique / flag to do the > same with cppdb? > > In the end I'm trying to run through a big amount of data. If I'm > trying offset/limit combinations, it gets very slow as soon as > offset increases.. > > It'd be great, if someone would have a tipp for me. > > Thank you very much, > > Alex > > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel > Website, sponsored > by Intel and developed in partnership with Slashdot Media, is your > hub for all > things parallel software development, from weekly thought > leadership blogs to > news, videos, case studies, tutorials and more. Take a look and > join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > <mailto:Cpp...@li...> > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for all > things parallel software development, from weekly thought leadership blogs to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > > > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users |
From: Artyom B. <art...@ya...> - 2015-04-01 10:22:12
|
CppDB (if the backed allows) fetches the data row by row and not the entire collection: Unprepared statements: http://sourceforge.net/p/cppcms/code/HEAD/tree/cppdb/trunk/drivers/mysql_backend.cpp#l75 Prepared statement: http://sourceforge.net/p/cppcms/code/HEAD/tree/cppdb/trunk/drivers/mysql_backend.cpp#l510 cppdb::result is sort of cursor you iterate over the data set. The delay probably caused by initial query and not fetching itself. Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ From: Alexander Mack (EvalSys) <a....@ev...> To: cpp...@li... Sent: Wednesday, April 1, 2015 12:36 PM Subject: [Cppcms-users] Avoid loading query results completely into cppdb::result Dear Artyom, Dear community, I was wondering if it's possible, to avoid loading the complete query result into cppdb::result but handle the query results "step by step"? If I'm running the following query on a bigger database <code> cppdb::result r = sql << "SELECT name,age FROM students"; </code> it takes a lot of time to copy all the results into the cppdb::result container. For testing I tried that for about 6 mio entries.. I didn't work with the original MySQL-lib yet.. but if I send the query using the standard MySQL lib e.g. <code> res = mysql_perform_query(conn, "SELECT * FROM students"); while ((row = mysql_fetch_row(res)) !=NULL) .... </code> it seems that the interface delivers single rows only, if I'm fetching the result (row by row). Now I was wondering, if there is some technique / flag to do the same with cppdb? In the end I'm trying to run through a big amount of data. If I'm trying offset/limit combinations, it gets very slow as soon as offset increases.. It'd be great, if someone would have a tipp for me. Thank you very much, Alex ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users |
From: Alexander M. (EvalSys) <a....@ev...> - 2015-04-01 09:49:32
|
Dear Artyom, Dear community, I was wondering if it's possible, to avoid loading the complete query result into cppdb::result but handle the query results "step by step"? If I'm running the following query on a bigger database <code> cppdb::result <http://cppcms.com/sql/cppdb/classcppdb_1_1result.html> r = sql <<"SELECT name,age FROM students"; </code> it takes a lot of time to copy all the results into the cppdb::result container. For testing I tried that for about 6 mio entries.. I didn't work with the original MySQL-lib yet.. but if I send the query using the standard MySQL lib e.g. <code> | res= mysql_perform_query(conn, "SELECT * FROM students"); while ((row= mysql_fetch_row(res)) !=NULL) ....| </code> it seems that the interface delivers single rows only, if I'm fetching the result (row by row). Now I was wondering, if there is some technique / flag to do the same with cppdb? In the end I'm trying to run through a big amount of data. If I'm trying offset/limit combinations, it gets very slow as soon as offset increases.. It'd be great, if someone would have a tipp for me. Thank you very much, Alex |
From: sergey l. <ccp...@gm...> - 2015-04-01 00:35:47
|
Dear Artyom, Dear community! Just my 2c: 1. We should migrate to github. Yes, I understand you about already configured svn environment and etc, but github is really powerful and user friendly social platform and I'm sure it'll simplify development process and increase community activity. In the long term it definitely worth the time and effort. 2. I'll be glad to see small releases even with few changes than one big release per 1-2 years. On Tue, Mar 24, 2015 at 12:48 PM, Artyom Beilis <art...@ya...> wrote: > Ok... > > The reason the patch isn't in because it is API change that minor release > should not include. > > But in general the version is quite stable. > > I have following important things I want to add to 1.2 > > 1. multiple event loops - should give important performance boost and > solve bottleneck there > 2. redesign mounting/generation application concept. > 3. support of event loop access before the post data is uploaded (for > stuff like upload meters) > 4. Plugin - we have some significant improvements as it is possible to > generate headers for templates but some more stuff is required to be fully > useful > 5. improve internal HTTP server so it can be used more freely and be more > efficient in file serving. > > The rest of the stuff there > http://cppcms.com/wikipp/en/page/cppcms_1x_tasks#CppCMS.1.1.0.-.Next.Release > can really wait. > > Now I can postpone some of the stuff to 1.4 but that means that these > features would be postponed even more. > > Also multiple event loops is important but I can postpone it to 1.4. > 2-3 are very important changes and very connected I really want them in > 1.2 but they also can wait > I think that 4 and 5 are smaller and very important to get them to 1.2... > also they aren't "big" features. But requested ones. > > To implement 2 and 3 and to some degree 1 I need to redesign entire > mounting/application factory concept. > > (a) factory for per-event-loop fir async-apps > (b) mounting option for pre-POST processing application handling. > (c) change application "generation" point from event loop to the thread > pool such that there would be no more applications than threads (it is > current design issue that should be fixed) > > So.... > > Community: YOUR OPINION NEEDED... > > Artyom Beilis > -------------- > CppCMS - C++ Web Framework: http://cppcms.com/ > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > ------------------------------ > *From:* Christian Gmeiner <chr...@gm...> > *To:* Artyom Beilis <art...@ya...>; > cpp...@li... > *Sent:* Tuesday, March 24, 2015 10:10 AM > *Subject:* Re: [Cppcms-users] Current Develoment > > Hi > > 2015-03-18 9:11 GMT+01:00 Artyom Beilis <art...@ya...>: > > I'd say like it is said in Debian... when it is ready. > > > > That is really no problem for me. I like this attitude to finish stuff > before they hit > productive use. > > > Other than that CppCMS is fully supported and active also you don't see > too > > much commits. > > > > Some years ago - yes sounds brutal - I added a patch which got added > to cppcms (trunk only). > So I got you to merge a patch, which is great, but there is no > released version of cppcms with > this patch in, which is bad. > > http://sourceforge.net/p/cppcms/patches/13/ > > Thats what makes me feel bad about cppcms. I think it would a good > thing to release more often > with less features. Maybe also fixing compiler warnings would be cool. > I can look into it, but > it is not as easy as with other FOSS projects to get patches accepted > and into an released version. > > > > > > Artyom Beilis > > -------------- > > CppCMS - C++ Web Framework: http://cppcms.com/ > > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > > > ________________________________ > > From: Christian Gmeiner <chr...@gm...> > > To: cpp...@li... > > Sent: Tuesday, March 17, 2015 6:40 PM > > Subject: [Cppcms-users] Current Develoment > > > > Hi all. > > > > cppcms is currently quite silent regarding its development and I am not > sure > > if > > that is good. Does anybody knows about plans for the next release? > > > > greets > -- > Christian Gmeiner, MSc > > https://soundcloud.com/christian-gmeiner > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, > sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for > all > things parallel software development, from weekly thought leadership blogs > to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, > sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for > all > things parallel software development, from weekly thought leadership blogs > to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > |
From: Artyom B. <art...@ya...> - 2015-03-29 09:39:52
|
Before CppCSM 1.0.0 the older version had no this policy and it was problem. If a library releases a security fix with ABI compatibility - you just deploy the libcppcms.so - that's it. Only application restart is required. Consider you have a production site, if you need to release a fix you don't need to redeploy the application. I personally had several cases were I could easily upgrade cppcms and deploy it without caring about multiple applications recompilation. If you have a big and busy site like this [1] it is critical. Another stuff was using boost or some other libraries in API for example - it was horrible-horrible experience: (a) boost breaks its own API & ABI almost every release (!) - your code becomes if-def spaghetti especially when customer needs a specific boost version or runs on older platform (b) boost's ABI can be broken with a simple define, the deployment is major problem especially when some customer's code uses boost as well. There are NUMEROUS cases when applications crashed because different parts were compiled with different versions of Boost - and it was very hard to debug such things(c) I need to support many platforms including Windows, so every library should have wide support of every platform/compiler(d) Today with mix of C++ 2003 and C++ 2011 it is even more critical to keep the ABI stable and independent. [1] http://blog.cppcms.com/post/114 Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ From: Paolo Bolzoni <pao...@gm...> To: Artyom Beilis <art...@ya...>; cpp...@li... Sent: Friday, March 27, 2015 4:56 AM Subject: Re: [Cppcms-users] Current Develoment I find praiseworthy your dedication to keep cmscpp ABI compatible and the strict policy for external deps, but it is really necessary? Is the userbase so large that doing differently would really break things like in KDE? It absolutely not meant as a critic, I am asking because I don't understand. On Wed, Mar 25, 2015 at 6:36 PM, Artyom Beilis <art...@ya...> wrote: > Regarding the internal HTTP server. > > It requires following features: > > - File serving - simple stuff - changes in internal_file_server > (a) make text only sanitizing of URLs (for next step) > (b) make symlinks resolution optional, improve the performance > (c) make it asynchronous (optional) > - Support of HTTPS - complex - mostly at booster::aio level - implement > asynchronous/synchronous ssl "socket" and integrate it into http_api.cpp > - Support HTTP/1.1 - very complex - at http_api.cpp level > (a) keep-alive > (b) chunked transfer encoding > (c) pipelining > (d) more... > - Support of Web Sockets - very complex - probably requires first to > implement HTTP/1.1 and design WebSocket API at cppcms::context() level. > > > Now... you can't really use the libraries you suggested because > > (a) internal HTTP server works withing CppCMS internal event loop and any > library should be integrated INTO the event loop rather than CppCMS would > use external HTTP library > (b) CppCMS has very strict policy on introduction of new dependencies: > http://cppcms.com/wikipp/en/page/cppcms_1x_coding_standards#Libraries > > > So basically you need to implement the HTTP stuff yourself. > > The file serving is handled by this code: > http://sourceforge.net/p/cppcms/code/HEAD/tree/framework/trunk/src/internal_file_server.cpp > > It can be significantly improved... > > Regarding SVN... so far there were too few people who wanted to contribute. > The conversion isn't easy as many automatic tools work with svn (release > stuff, nightly builds etc) > > Also you can always use git-svn. > > Artyom Beilis > -------------- > CppCMS - C++ Web Framework: http://cppcms.com/ > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > ________________________________ > From: Marius Cirsta <mf...@gm...> > To: cpp...@li... > Sent: Tuesday, March 24, 2015 10:50 PM > > Subject: Re: [Cppcms-users] Current Develoment > > I ( and maybe others ) would like to help but I guess the entry point > is a bit too high, I certainly don't know enough about the design of > CppCMS to be able to implement a significant feature. However if > properly broken down into smaller bits I believe it's doable. > Of course this would mean different coding styles and you'd have to > review the work, make suggestions. > > Of all these new features 1. multiple event loops - should give > important performance boost and solve bottleneck there sound the most > important to me. > > While this : > 5. improve internal HTTP server so it can be used more freely and be > more efficient in file serving. > > sounds like something I'd like to work on and it would probably be > easier ( hopefully ) than the rest of the core CppCMS work. Maybe > using this Proxygen, a collection of C++ HTTP libraries, including an > easy-to-use HTTP server would be an idea ? > > I know you really like SVN but if CppCMS ever goes the multiple > developers route then something like GitHub is probably better. > > > > > > On Tue, Mar 24, 2015 at 11:48 AM, Artyom Beilis <art...@ya...> wrote: >> Ok... >> >> The reason the patch isn't in because it is API change that minor release >> should not include. >> >> But in general the version is quite stable. >> >> I have following important things I want to add to 1.2 >> >> 1. multiple event loops - should give important performance boost and >> solve >> bottleneck there >> 2. redesign mounting/generation application concept. >> 3. support of event loop access before the post data is uploaded (for >> stuff >> like upload meters) >> 4. Plugin - we have some significant improvements as it is possible to >> generate headers for templates but some more stuff is required to be fully >> useful >> 5. improve internal HTTP server so it can be used more freely and be more >> efficient in file serving. >> >> The rest of the stuff there >> >> http://cppcms.com/wikipp/en/page/cppcms_1x_tasks#CppCMS.1.1.0.-.Next.Release >> can really wait. >> >> Now I can postpone some of the stuff to 1.4 but that means that these >> features would be postponed even more. >> >> Also multiple event loops is important but I can postpone it to 1.4. >> 2-3 are very important changes and very connected I really want them in >> 1.2 >> but they also can wait >> I think that 4 and 5 are smaller and very important to get them to 1.2... >> also they aren't "big" features. But requested ones. >> >> To implement 2 and 3 and to some degree 1 I need to redesign entire >> mounting/application factory concept. >> >> (a) factory for per-event-loop fir async-apps >> (b) mounting option for pre-POST processing application handling. >> (c) change application "generation" point from event loop to the thread >> pool >> such that there would be no more applications than threads (it is current >> design issue that should be fixed) >> >> So.... >> >> Community: YOUR OPINION NEEDED... >> >> Artyom Beilis >> -------------- >> CppCMS - C++ Web Framework: http://cppcms.com/ >> CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ >> >> ________________________________ >> From: Christian Gmeiner <chr...@gm...> >> To: Artyom Beilis <art...@ya...>; >> cpp...@li... >> Sent: Tuesday, March 24, 2015 10:10 AM >> Subject: Re: [Cppcms-users] Current Develoment >> >> Hi >> >> 2015-03-18 9:11 GMT+01:00 Artyom Beilis <art...@ya...>: >>> I'd say like it is said in Debian... when it is ready. >>> >> >> That is really no problem for me. I like this attitude to finish stuff >> before they hit >> productive use. >> >>> Other than that CppCMS is fully supported and active also you don't see >>> too >>> much commits. >>> >> >> Some years ago - yes sounds brutal - I added a patch which got added >> to cppcms (trunk only). >> So I got you to merge a patch, which is great, but there is no >> released version of cppcms with >> this patch in, which is bad. >> >> http://sourceforge.net/p/cppcms/patches/13/ >> >> Thats what makes me feel bad about cppcms. I think it would a good >> thing to release more often >> with less features. Maybe also fixing compiler warnings would be cool. >> I can look into it, but >> it is not as easy as with other FOSS projects to get patches accepted >> and into an released version. >> >> >> >> >>> Artyom Beilis >>> -------------- >>> CppCMS - C++ Web Framework: http://cppcms.com/ >>> CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ >>> >>> ________________________________ >>> From: Christian Gmeiner <chr...@gm...> >>> To: cpp...@li... >>> Sent: Tuesday, March 17, 2015 6:40 PM >>> Subject: [Cppcms-users] Current Develoment >>> >>> Hi all. >>> >>> cppcms is currently quite silent regarding its development and I am not >>> sure >>> if >>> that is good. Does anybody knows about plans for the next release? >>> >> >> greets >> -- >> Christian Gmeiner, MSc >> >> https://soundcloud.com/christian-gmeiner >> >> >> ------------------------------------------------------------------------------ >> Dive into the World of Parallel Programming The Go Parallel Website, >> sponsored >> by Intel and developed in partnership with Slashdot Media, is your hub for >> all >> things parallel software development, from weekly thought leadership blogs >> to >> news, videos, case studies, tutorials and more. Take a look and join the >> conversation now. http://goparallel.sourceforge.net/ >> _______________________________________________ >> Cppcms-users mailing list >> Cpp...@li... >> https://lists.sourceforge.net/lists/listinfo/cppcms-users >> >> >> >> >> ------------------------------------------------------------------------------ >> Dive into the World of Parallel Programming The Go Parallel Website, >> sponsored >> by Intel and developed in partnership with Slashdot Media, is your hub for >> all >> things parallel software development, from weekly thought leadership blogs >> to >> news, videos, case studies, tutorials and more. Take a look and join the >> conversation now. http://goparallel.sourceforge.net/ >> _______________________________________________ >> Cppcms-users mailing list >> Cpp...@li... >> https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > >> > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, > sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for > all > things parallel software development, from weekly thought leadership blogs > to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, > sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for > all > things parallel software development, from weekly thought leadership blogs > to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users |