Programs & Examples On #Oracle

Oracle Database is a Multi-Model Database Management System created by Oracle Corporation. Do NOT use this tag for other products owned by Oracle, such as Java and MySQL.

Installing Oracle Instant Client

I was able to setup Oracle Instant Client (Basic) 11g2 and Oracle ODBC (32bit) drivers on my 32bit Windows 7 PC. Note: you'll need a 'tnsnames.ora' file because it doesn't come with one. You can Google examples and copy/paste into a text file, change the parameters for your environment.

Setting up Oracle Instant Client-Basic 11g2 (Win7 32-bit)
(I think there's another step or two if your using 64-bit)

Oracle Instant Client

  • Unzip Oracle Instant Client - Basic
  • Put contents in folder like "C:\instantclient"
  • Edit PATH evironment variable, add path to Instant Client folder to the Variable Value.
  • Add new Variable called "TNS_ADMIN" point to same folder as Instant Client.
  • I had to create a "tnsnames.ora" file because it doesn't come with one. Put it in same folder as the client.
  • reboot or use Task Manager to kill "explorer.exe" and restart it to refresh the PATH environment variables.

ODBC Drivers

  • Unzip ODBC drivers
  • Copy all files into same folder as client "C:\instantclient"
  • Use command prompt to run "odbc_install.exe" (should say it was successful)

Note: The "un-documented" things that were hanging me up where...
- All files (Client and Drivers) needed to be in the same folder (nothing in sub-folders).
- Running the ODBC driver from the command prompt will allow you to see if it installs successfully. Double-clicking the installer just flashed a box on the screen, no idea it was failing because no error dialog.

After you've done this you should be able to setup a new DSN Data Source using the Oracle ODBC driver.
-Hope this helps someone else.

How to rename a table column in Oracle 10g

The syntax of the query is as follows:

Alter table <table name> rename column <column name> to <new column name>;

Example:

Alter table employee rename column eName to empName;

To rename a column name without space to a column name with space:

Alter table employee rename column empName to "Emp Name";

To rename a column with space to a column name without space:

Alter table employee rename column "emp name" to empName;

How to run SQL in shell script

#!/bin/ksh
variable1=$( 
echo "set feed off
set pages 0
select count(*) from table;
exit
"  | sqlplus -s username/password@oracle_instance
)
echo "found count = $variable1"

ORA-00972 identifier is too long alias column name

No, prior to Oracle version 12.2, identifiers are not allowed to exceed 30 characters in length. See the Oracle SQL Language Reference.

However, from version 12.2 they can be up to 128 bytes long. (Note: bytes, not characters).

Oracle 12c Installation failed to access the temporary location

If your user account has spaces in it and you have tried all the above but none worked,

I recommended you create a new windows user account and give it an administrative privilege, not standard.

Log out of your old account and log into this new account and try installing again. It worked well.

How do you execute SQL from within a bash script?

You can also use a "here document" to do the same thing:

VARIABLE=SOMEVALUE

sqlplus connectioninfo << HERE
start file1.sql
start file2.sql $VARIABLE
quit
HERE

Rounding to 2 decimal places in SQL

Try to avoid formatting in your query. You should return your data in a raw format and let the receiving application (e.g. a reporting service or end user app) do the formatting, i.e. rounding and so on.

Formatting the data in the server makes it harder (or even impossible) for you to further process your data. You usually want export the table or do some aggregation as well, like sum, average etc. As the numbers arrive as strings (varchar), there is usually no easy way to further process them. Some report designers will even refuse to offer the option to aggregate these 'numbers'.

Also, the end user will see the country specific formatting of the server instead of his own PC.

Also, consider rounding problems. If you round the values in the server and then still do some calculations (supposing the client is able to revert the number-strings back to a number), you will end up getting wrong results.

How to create a dump with Oracle PL/SQL Developer?

There are some easy steps to make Dump file of your Tables,Users and Procedures:

Goto sqlplus or any sql*plus connect by your username or password

  1. Now type host it looks like SQL>host.
  2. Now type "exp" means export.
  3. It ask u for username and password give the username and password of that user of which you want to make a dump file.
  4. Now press Enter.
  5. Now option blinks for Export file: EXPDAT.DMP>_ (Give a path and file name to where you want to make a dump file e.g e:\FILENAME.dmp) and the press enter
  6. Select the option "Entire Database" or "Tables" or "Users" then press Enter
  7. Again press Enter 2 more times table data and compress extent
  8. Enter the name of table like i want to make dmp file of table student existing so type student and press Enter
  9. Enter to quit now your file at your given path is dump file now import that dmp file to get all the table data.

Delete with "Join" in Oracle sql Query

Based on the answer I linked to in my comment above, this should work:

delete from
(
select pf.* From PRODUCTFILTERS pf 
where pf.id>=200 
And pf.rowid in 
  (
     Select rowid from PRODUCTFILTERS 
     inner join PRODUCTS on PRODUCTFILTERS.PRODUCTID = PRODUCTS.ID 
     And PRODUCTS.NAME= 'Mark'
  )
); 

or

delete from PRODUCTFILTERS where rowid in
(
select pf.rowid From PRODUCTFILTERS pf 
where pf.id>=200 
And pf.rowid in 
  (
     Select PRODUCTFILTERS.rowid from PRODUCTFILTERS 
     inner join PRODUCTS on PRODUCTFILTERS.PRODUCTID = PRODUCTS.ID 
     And PRODUCTS.NAME= 'Mark'
  )
); 

ORACLE: Updating multiple columns at once

It's perfectly possible to update multiple columns in the same statement, and in fact your code is doing it. So why does it seem that "INV_TOTAL is not updating, only the inv_discount"?

Because you're updating INV_TOTAL with INV_DISCOUNT, and the database is going to use the existing value of INV_DISCOUNT and not the one you change it to. So I'm afraid what you need to do is this:

UPDATE INVOICE
   SET INV_DISCOUNT = DISC1 * INV_SUBTOTAL
     , INV_TOTAL    = INV_SUBTOTAL - (DISC1 * INV_SUBTOTAL)     
WHERE INV_ID = I_INV_ID;

        

Perhaps that seems a bit clunky to you. It is, but the problem lies in your data model. Storing derivable values in the table, rather than deriving when needed, rarely leads to elegant SQL.

How to enter newline character in Oracle?

begin   
   dbms_output.put_line( 'hello' ||chr(13) || chr(10) || 'world' );
end;

Oracle DateTime in Where Clause?

Yes: TIME_CREATED contains a date and a time. Use TRUNC to strip the time:

SELECT EMP_NAME, DEPT
FROM EMPLOYEE
WHERE TRUNC(TIME_CREATED) = TO_DATE('26/JAN/2011','dd/mon/yyyy')

UPDATE:
As Dave Costa points out in the comment below, this will prevent Oracle from using the index of the column TIME_CREATED if it exists. An alternative approach without this problem is this:

SELECT EMP_NAME, DEPT
FROM EMPLOYEE
WHERE TIME_CREATED >= TO_DATE('26/JAN/2011','dd/mon/yyyy') 
      AND TIME_CREATED < TO_DATE('26/JAN/2011','dd/mon/yyyy') + 1

Changing precision of numeric column in Oracle

Assuming that you didn't set a precision initially, it's assumed to be the maximum (38). You're reducing the precision because you're changing it from 38 to 14.

The easiest way to handle this is to rename the column, copy the data over, then drop the original column:

alter table EVAPP_FEES rename column AMOUNT to AMOUNT_OLD;

alter table EVAPP_FEES add AMOUNT NUMBER(14,2);

update EVAPP_FEES set AMOUNT = AMOUNT_OLD;

alter table EVAPP_FEES drop column AMOUNT_OLD;

If you really want to retain the column ordering, you can move the data twice instead:

alter table EVAPP_FEES add AMOUNT_TEMP NUMBER(14,2);

update EVAPP_FEES set AMOUNT_TEMP = AMOUNT;

update EVAPP_FEES set AMOUNT = null;

alter table EVAPP_FEES modify AMOUNT NUMBER(14,2);

update EVAPP_FEES set AMOUNT = AMOUNT_TEMP;

alter table EVAPP_FEES drop column AMOUNT_TEMP;

How do I list all the columns in a table?

The following code worked very well for me:

SELECT
       o.name as tableName,
       c.name as columnName,
       o.[type],
       s.name as schemaName,
       o.type_desc
FROM
       sys.objects AS o
       INNER JOIN sys.[columns] AS c ON c.[object_id] = o.[object_id]
       INNER JOIN sys.schemas AS s ON o.[schema_id] = s.[schema_id]
WHERE
       o.type_desc='USER_TABLE' 
       AND c.name='YourColumnName' --if comment this line,show all columns
ORDER BY
        o.name,
        c.column_id

you just replace your Column name with 'YourColumnName'. then run query

UPDATE with CASE and IN - Oracle

You said that budgetpost is alphanumeric. That means it is looking for comparisons against strings. You should try enclosing your parameters in single quotes (and you are missing the final THEN in the Case expression).

UPDATE tab1   
SET budgpost_gr1=   CASE  
                        WHEN (budgpost in ('1001','1012','50055'))  THEN 'BP_GR_A'   
                        WHEN (budgpost in ('5','10','98','0'))  THEN 'BP_GR_B'  
                        WHEN (budgpost in ('11','876','7976','67465')) THEN 'What?'
                        ELSE 'Missing' 
                        END 

How to use a table type in a SELECT FROM statement?

In SQL you may only use table type which is defined at schema level (not at package or procedure level), and index-by table (associative array) cannot be defined at schema level. So - you have to define nested table like this

create type exch_row as object (
    currency_cd VARCHAR2(9),
    exch_rt_eur NUMBER,
    exch_rt_usd NUMBER);

create type exch_tbl as table of exch_row;

And then you can use it in SQL with TABLE operator, for example:

declare
   l_row     exch_row;
   exch_rt   exch_tbl;
begin
   l_row := exch_row('PLN', 100, 100);
   exch_rt  := exch_tbl(l_row);

   for r in (select i.*
               from item i, TABLE(exch_rt) rt
              where i.currency = rt.currency_cd) loop
      -- your code here
   end loop;
end;
/

How do I get textual contents from BLOB in Oracle SQL

Use TO_CHAR function.

select TO_CHAR(BLOB_FIELD) from TABLE_WITH_BLOB where ID = '<row id>'

Converts NCHAR, NVARCHAR2, CLOB, or NCLOB data to the database character set. The value returned is always VARCHAR2.

Why do I get java.lang.AbstractMethodError when trying to load a blob in the db?

With JDBC, that error usually occurs because your JDBC driver implements an older version of the JDBC API than the one included in your JRE. These older versions are fine so long as you don't try and use a method that appeared in the newer API.

I'm not sure what version of JDBC setBinaryStream appeared in. It's been around for a while, I think.

Regardless, your JDBC driver version (10.2.0.4.0) is quite old, I recommend upgrading it to the version that was released with 11g (download here), and try again.

ORA-00984: column not allowed here

Replace double quotes with single ones:

INSERT
INTO    MY.LOGFILE
        (id,severity,category,logdate,appendername,message,extrainfo)
VALUES  (
       'dee205e29ec34',
       'FATAL',
       'facade.uploader.model',
       '2013-06-11 17:16:31',
       'LOGDB',
       NULL,
       NULL
       )

In SQL, double quotes are used to mark identifiers, not string constants.

How to run a stored procedure in oracle sql developer?

Consider you've created a procedure like below.

CREATE OR REPLACE PROCEDURE GET_FULL_NAME like
(
  FIRST_NAME IN VARCHAR2, 
  LAST_NAME IN VARCHAR2,
  FULL_NAME OUT VARCHAR2 
) IS 
BEGIN
  FULL_NAME:= FIRST_NAME || ' ' || LAST_NAME;
END GET_FULL_NAME;

In Oracle SQL Developer, you can run this procedure in two ways.

1. Using SQL Worksheet

Create a SQL Worksheet and write PL/SQL anonymous block like this and hit f5

DECLARE
  FULL_NAME Varchar2(50);
BEGIN
  GET_FULL_NAME('Foo', 'Bar', FULL_NAME);
  Dbms_Output.Put_Line('Full name is: ' || FULL_NAME);
END;

2. Using GUI Controls

  • Expand Procedures

  • Right click on the procudure you've created and Click Run

  • In the pop-up window, Fill the parameters and Click OK.

Cheers!

Dropping connected users in Oracle database

Do a query:

SELECT * FROM v$session s;

Find your user and do the next query (with appropriate parameters):

ALTER SYSTEM KILL SESSION '<SID>, <SERIAL>';

How do I turn off Oracle password expiration?

For development you can disable password policy if no other profile was set (i.e. disable password expiration in default one):

ALTER PROFILE "DEFAULT" LIMIT PASSWORD_VERIFY_FUNCTION NULL;

Then, reset password and unlock user account. It should never expire again:

alter user user_name identified by new_password account unlock;

ORA-00054: resource busy and acquire with NOWAIT specified

You'll have to wait. The session that was killed was in the middle of a transaction and updated lots of records. These records have to be rollbacked and some background process is taking care of that. In the meantime you cannot modify the records that were touched.

Oracle "SQL Error: Missing IN or OUT parameter at index:: 1"

I had a similar error on my side when I was using JDBC in Java code.

According to this website (the second awnser) it suggest that you are trying to execute the query with a missing parameter.

For instance :

exec SomeStoredProcedureThatReturnsASite( :L_kSite );

You are trying to execute the query without the last parameter.

Maybe in SQLPlus it doesn't have the same requirements, so it might have been a luck that it worked there.

oracle SQL how to remove time from date

Try

SELECT to_char(p1.PA_VALUE,'DD/MM/YYYY') as StartDate,
       to_char(p2.PA_VALUE,'DD/MM/YYYY') as EndDate
   ...

Oracle pl-sql escape character (for a " ' ")

Here is a way to easily escape & char in oracle DB

set escape '\\'

and within query write like

'ERRORS &\\\ PERFORMANCE';

Oracle insert if not exists statement

insert into OPT (email, campaign_id) 
select '[email protected]',100
from dual
where not exists(select * 
                 from OPT 
                 where (email ='[email protected]' and campaign_id =100));

What's the most efficient way to check if a record exists in Oracle?

The most efficient and safest way to determine if a row exists is by using a FOR-LOOP... You won't even have a difficult time if you are looking to insert a row or do something based on the row NOT being there but, this will certainly help you if you need to determine if a row exists. See example code below for the ins and outs...

If you are only interested in knowing that 1 record exists in your potential multiple return set, than you can exit your loop after it hits it for the first time.

The loop will not be entered into at all if no record exists. You will not get any complaints from Oracle or such if the row does not exist but you are bound to find out if it does regardless. Its what I use 90% of the time (of course dependent on my needs)...

EXAMPLE:

DECLARE

v_exist varchar2(20);

BEGIN
   FOR rec IN
   (SELECT LOT, COMPONENT 
   FROM TABLE
   WHERE REF_DES = (SELECT REF_DES FROM TABLE2 WHERE ORDER = '1234') 
   AND ORDER = '1234')
  LOOP

      v_exist := "IT_EXISTS"

   INSERT INTO EAT_SOME_SOUP_TABLE (LOT, COMPONENT) 
   VALUES (rec.LOT, rec.COMPONENT);**

   --Since I don't want to do this for more than one iteration (just in case there may have been more than one record returned, I will EXIT;

   EXIT;
   END LOOP;



IF v_exist  IS NULL

    THEN

            --do this

END IF;

END;

--This is outside the loop right here The IF-CHECK just above will run regardless, but then you will know if your variable is null or not right!?. If there was NO records returned, it will skip the loop and just go here to the code you would have next... If (in our case above), 4 records were returned, I would exit after the first iteration due to my EXIT;... If that wasn't there, the 4 records would iterate through and do an insert on all of them. Or at least try too.

By the way, I'm not saying this is the only way you should consider doing this... You can

SELECT COUNT(*) INTO v_counter WHERE ******* etc...

Then check it like

if v_counter > 0
      THEN
         --code goes here
   END IF;

There are more ways... Just determine it when your need arises. Keep performance in mind, and safety.

Using bind variables with dynamic SELECT INTO clause in PL/SQL

Put the select statement in a dynamic PL/SQL block.

CREATE OR REPLACE FUNCTION get_num_of_employees (p_loc VARCHAR2, p_job VARCHAR2) 
RETURN NUMBER
IS
  v_query_str VARCHAR2(1000);
  v_num_of_employees NUMBER;
BEGIN
  v_query_str := 'begin SELECT COUNT(*) INTO :into_bind FROM emp_' 
                 || p_loc
                 || ' WHERE job = :bind_job; end;';
  EXECUTE IMMEDIATE v_query_str
    USING out v_num_of_employees, p_job;
  RETURN v_num_of_employees;
END;
/

Could not load file or assembly for Oracle.DataAccess in .NET

The solution is quite simple, it is all a matter of how you define things on the server / workstation in relation to your visual studio project.

First check the version of the Oracle library that you are using, in your case 2.111.7.20. Next go to the Windows GAC located in your windows home->assembly folder.

Scroll down to the Oracle dll, it is normally called Oracle.DataAccess or Oracle.Web. Find the right version of it and note down if it says x86 or AMD64.

In visual studio ensure that your target platform is the same as the dll in the GAC, so if it says x86 in the GAC folder ensure that the target platform is x64 and other x64. You can set this in Visual Studio project properties, under build/platform target.

Also ensure that your reference, under references in your project points to this exact same version on your development computer.

With this everything should work fine.

What I normally do is to check the server first as it is often easier in an enterprise environment to change the version of your local dependencies, then to ask a server administrator to do an installation of a different dll.

Oracle date function for the previous month

It is working with me in Oracle sql developer

    SELECT add_months(trunc(sysdate,'mm'), -1),
           last_day(add_months(trunc(sysdate,'mm'), -1)) 
    FROM dual

BEGIN - END block atomic transactions in PL/SQL

BEGIN-END blocks are the building blocks of PL/SQL, and each PL/SQL unit is contained within at least one such block. Nesting BEGIN-END blocks within PL/SQL blocks is usually done to trap certain exceptions and handle that special exception and then raise unrelated exceptions. Nevertheless, in PL/SQL you (the client) must always issue a commit or rollback for the transaction.

If you wish to have atomic transactions within a PL/SQL containing transaction, you need to declare a PRAGMA AUTONOMOUS_TRANSACTION in the declaration block. This will ensure that any DML within that block can be committed or rolledback independently of the containing transaction.

However, you cannot declare this pragma for nested blocks. You can only declare this for:

  • Top-level (not nested) anonymous PL/SQL blocks
  • List item
  • Local, standalone, and packaged functions and procedures
  • Methods of a SQL object type
  • Database triggers

Reference: Oracle

How do I change the default schema in sql developer?

I don't know of any way doing this in SQL Developer. You can see all the other schemas and their objects (if you have the correct privileges) when looking in "Other Users" -> "< Schemaname >".

In your case, either use the method described above or create a new connection for the schema in which you want to work or create synonyms for all the tables you wish to access.

If you would work in SQL*Plus, issuing ALTER SESSION SET CURRENT_SCHEMA=MY_NAME would set your current schema (This is probably what your DBA means).

Oracle REPLACE() function isn't handling carriage-returns & line-feeds

Another way is to use TRANSLATE:

TRANSLATE (col_name, 'x'||CHR(10)||CHR(13), 'x')

The 'x' is any character that you don't want translated to null, because TRANSLATE doesn't work right if the 3rd parameter is null.

Get resultset from oracle stored procedure

Oracle is not sql server. Try the following in SQL Developer

variable rc refcursor;
exec testproc(:rc2);
print rc2

select the TOP N rows from a table

In MySql, you can get 10 rows starting from row 20 using:

SELECT * FROM Reflow  
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 10 OFFSET 20 --Equivalent to LIMIT 20, 10

How to drop all user tables?

To remove all objects in oracle :

1) Dynamic

DECLARE
CURSOR IX IS
SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE ='TABLE' 
AND OWNER='SCHEMA_NAME';
 CURSOR IY IS
 SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE 
IN ('SEQUENCE',
'PROCEDURE',
'PACKAGE',
'FUNCTION',
'VIEW') AND  OWNER='SCHEMA_NAME';
 CURSOR IZ IS
 SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE IN ('TYPE') AND  OWNER='SCHEMA_NAME';
BEGIN
 FOR X IN IX LOOP
   EXECUTE IMMEDIATE('DROP '||X.OBJECT_TYPE||' SCHEMA_NAME.'||X.OBJECT_NAME|| ' CASCADE CONSTRAINT');
 END LOOP;
 FOR Y IN IY LOOP
   EXECUTE IMMEDIATE('DROP '||Y.OBJECT_TYPE||' SCHEMA_NAME.'||Y.OBJECT_NAME);
 END LOOP;
 FOR Z IN IZ LOOP
   EXECUTE IMMEDIATE('DROP '||Z.OBJECT_TYPE||' SCHEMA_NAME.'||Z.OBJECT_NAME||' FORCE ');
 END LOOP;
END;
/

2)Static

    SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS;' FROM user_tables
        union ALL
        select 'drop '||object_type||' '|| object_name || ';' from user_objects 
        where object_type in ('VIEW','PACKAGE','SEQUENCE', 'PROCEDURE', 'FUNCTION')
        union ALL
        SELECT 'drop '
        ||object_type
        ||' '
        || object_name
        || ' force;'
        FROM user_objects
        WHERE object_type IN ('TYPE');

How to resolve ORA-011033: ORACLE initialization or shutdown in progress

Here is my solution to this issue:

SQL> Startup mount
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown abort
ORACLE instance shut down.
SQL>
SQL> startup mount
ORACLE instance started.

Total System Global Area 1904054272 bytes
Fixed Size                  2404024 bytes
Variable Size             570425672 bytes
Database Buffers         1325400064 bytes
Redo Buffers                5824512 bytes
Database mounted.
SQL> Show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      C:\APP\USER\ORADATA\ORACLEDB\C
                                                 ONTROL01.CTL, C:\APP\USER\FAST
                                                 _RECOVERY_AREA\ORACLEDB\CONTRO
                                                 L02.CTL
SQL> select a.member,a.group#,b.status from v$logfile a ,v$log b where a.group#=
b.group# and b.status='CURRENT'
  2
SQL> select a.member,a.group#,b.status from v$logfile a ,v$log b where a.group#=
b.group# and b.status='CURRENT';

MEMBER
--------------------------------------------------------------------------------

    GROUP# STATUS
---------- ----------------
C:\APP\USER\ORADATA\ORACLEDB\REDO03.LOG
         3 CURRENT


SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 1904054272 bytes
Fixed Size                  2404024 bytes
Variable Size             570425672 bytes
Database Buffers         1325400064 bytes
Redo Buffers                5824512 bytes
Database mounted.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 4234808 generated at 01/21/2014 18:31:05 needed for thread 1
ORA-00289: suggestion :
C:\APP\USER\FAST_RECOVERY_AREA\ORACLEDB\ARCHIVELOG\2014_01_22\O1_MF_1_108_%U_.AR

C
ORA-00280: change 4234808 for thread 1 is in sequence #108


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
C:\APP\USER\ORADATA\ORACLEDB\REDO03.LOG
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;

Database altered.

And it worked:

enter image description here

Convert a string date into datetime in Oracle

Try this: TO_DATE('2011-07-28T23:54:14Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')

Faster alternative in Oracle to SELECT COUNT(*) FROM sometable

Option 1: Have an index on a non-null column present that can be used for the scan. Or create a function-based index as:

create index idx on t(0);

this can then be scanned to give the count.

Option 2: If you have monitoring turned on then check the monitoring view USER_TAB_MODIFICATIONS and add/subtract the relevant values to the table statistics.

Option 3: For a quick estimate on large tables invoke the SAMPLE clause ... for example ...

SELECT 1000*COUNT(*) FROM sometable SAMPLE(0.1); 

Option 4: Use a materialized view to maintain the count(*). Powerful medicine though.

um ...

Oracle find a constraint

maybe this can help..

SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";

Find duplicate entries in a column

Try this query.. It uses the Analytic function SUM:

SELECT * FROM
(  
 SELECT SUM(1) OVER(PARTITION BY ctn_no) cnt, A.*
 FROM table1 a 
 WHERE s_ind ='Y'   
)
WHERE cnt > 2

Am not sure why you are identifying a record as a duplicate if the ctn_no repeats more than 2 times. FOr me it repeats more than once it is a duplicate. In this case change the las part of the query to WHERE cnt > 1

How can I combine multiple rows into a comma-delimited list in Oracle?

I have always had to write some PL/SQL for this or I just concatenate a ',' to the field and copy into an editor and remove the CR from the list giving me the single line.

That is,

select country_name||', ' country from countries

A little bit long winded both ways.

If you look at Ask Tom you will see loads of possible solutions but they all revert to type declarations and/or PL/SQL

Ask Tom

What's the difference between RANK() and DENSE_RANK() functions in oracle?

The only difference between the RANK() and DENSE_RANK() functions is in cases where there is a “tie”; i.e., in cases where multiple values in a set have the same ranking. In such cases, RANK() will assign non-consecutive “ranks” to the values in the set (resulting in gaps between the integer ranking values when there is a tie), whereas DENSE_RANK() will assign consecutive ranks to the values in the set (so there will be no gaps between the integer ranking values in the case of a tie).

For example, consider the set {30, 30, 50, 75, 75, 100}. For such a set, RANK() will return {1, 1, 3, 4, 4, 6} (note that the values 2 and 5 are skipped), whereas DENSE_RANK() will return {1,1,2,3,3,4}.

How to select the comparison of two columns as one column in Oracle

If you want to consider null values equality too, try the following

select column1, column2, 
   case
      when column1 is NULL and column2 is NULL then 'true'  
      when column1=column2 then 'true' 
      else 'false' 
   end 
from table;

Check for a substring in a string in Oracle without LIKE

Bear in mind that it is only worth using anything other than a full table scan to find these values if the number of blocks that contain a row that matches the predicate is significantly smaller than the total number of blocks in the table. That is why Oracle will often decline the use of an index in order to full scan when you use LIKE '%x%' where x is a very small string. For example if the optimizer believes that using an index would still require single-block reads on (say) 20% of the table blocks then a full table scan is probably a better option than an index scan.

Sometimes you know that your predicate is much more selective than the optimizer can estimate. In such a case you can look into supplying an optimizer hint to perform an index fast full scan on the relevant column (particularly if the index is a much smaller segment than the table).

SELECT /*+ index_ffs(users (users.last_name)) */
       * 
FROM   users
WHERE  last_name LIKE "%z%"

What is the difference between explicit and implicit cursors in Oracle?

1.CURSOR: When PLSQL issues sql statements it creates private work area to parse & execute the sql statement is called cursor.

2.IMPLICIT: When any PL/SQLexecutable block issues sql statement. PL/SQL creates implicit cursor and manages automatically means implcit open & close takes place. It used when sql statement return only one row.It has 4 attributes SQL%ROWCOUNT, SQL%FOUND, SQL%NOTFOUND, SQL%ISOPEN.

3.EXPLICIT: It is created & managed by the programmer. It needs every time explicit open,fetch & close. It is used when sql statement returns more than one row. It has also 4 attributes CUR_NAME%ROWCOUNT, CUR_NAME%FOUND, CUR_NAME%NOTFOUND, CUR_NAME%ISOPEN. It process several rows by using loop. The programmer can pass the parameter too to explicit cursor.

  • Example: Explicit Cursor

 

declare 
   cursor emp_cursor 
   is 
   select id,name,salary,dept_id 
   from employees; 
   v_id employees.id%type; 
   v_name employees.name%type; 
   v_salary employees.salary%type; 
   v_dept_id employees.dept_id%type; 
   begin 
   open emp_cursor; 
   loop 
   fetch emp_cursor into v_id,v_name,v_salary,v_dept_id; 
   exit when emp_cursor%notfound;
   dbms_output.put_line(v_id||', '||v_name||', '||v_salary||','||v_dept_id); 
   end loop;                    
   close emp_cursor; 
   end;

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

You should already have all needed variables in /etc/profile.d/oracle.sh. Make sure you source it:

$ source /etc/profile.d/oracle.sh

The file's content looks like:

ORACLE_HOME=/usr/lib/oracle/11.2/client64
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_HOME
export LD_LIBRARY_PATH
export PATH

If you don't have it, create it and source it.

How to run .sql file in Oracle SQL developer tool to import database?

You need to Open the SQL Developer first and then click on File option and browse to the location where your .sql is placed. Once you are at the location where file is placed double click on it, this will get the file open in SQL Developer. Now select all of the content of file (CTRL + A) and press F9 key. Just make sure there is a commit statement at the end of the .sql script so that the changes are persisted in the database

Is it possible to output a SELECT statement from a PL/SQL block?

It depends on what you need the result for.

If you are sure that there's going to be only 1 row, use implicit cursor:

DECLARE
   v_foo foobar.foo%TYPE;
   v_bar foobar.bar%TYPE;
BEGIN
   SELECT foo,bar FROM foobar INTO v_foo, v_bar;
   -- Print the foo and bar values
   dbms_output.put_line('foo=' || v_foo || ', bar=' || v_bar);
EXCEPTION
   WHEN NO_DATA_FOUND THEN
     -- No rows selected, insert your exception handler here
   WHEN TOO_MANY_ROWS THEN
     -- More than 1 row seleced, insert your exception handler here
END;

If you want to select more than 1 row, you can use either an explicit cursor:

DECLARE
   CURSOR cur_foobar IS
     SELECT foo, bar FROM foobar;

   v_foo foobar.foo%TYPE;
   v_bar foobar.bar%TYPE;
BEGIN
   -- Open the cursor and loop through the records
   OPEN cur_foobar;
   LOOP
      FETCH cur_foobar INTO v_foo, v_bar;
      EXIT WHEN cur_foobar%NOTFOUND;
      -- Print the foo and bar values
      dbms_output.put_line('foo=' || v_foo || ', bar=' || v_bar);
   END LOOP;
   CLOSE cur_foobar;
END;

or use another type of cursor:

BEGIN
   -- Open the cursor and loop through the records
   FOR v_rec IN (SELECT foo, bar FROM foobar) LOOP       
   -- Print the foo and bar values
   dbms_output.put_line('foo=' || v_rec.foo || ', bar=' || v_rec.bar);
   END LOOP;
END;

Best way to do multi-row insert in Oracle?

In my case, I was able to use a simple insert statement to bulk insert many rows into TABLE_A using just one column from TABLE_B and getting the other data elsewhere (sequence and a hardcoded value) :

INSERT INTO table_a (
    id,
    column_a,
    column_b
)
    SELECT
        table_a_seq.NEXTVAL,
        b.name,
        123
    FROM
        table_b b;

Result:

ID: NAME: CODE:
1, JOHN, 123
2, SAM, 123
3, JESS, 123

etc

Resolving ORA-4031 "unable to allocate x bytes of shared memory"

Error

ORA-04031: unable to allocate 4064 bytes of shared memory ("shared pool","select increment$,minvalue,m...","sga heap(3,0)","kglsim heap")

Solution: by nepasoft nepal

  • 1.-

    ps -ef|grep oracle
    
  • 2.- Find the smon and kill the pid for it

  • 3.-

    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area 4831838208 bytes
    Fixed Size                  2027320 bytes
    Variable Size            4764729544 bytes
    Database Buffers           50331648 bytes
    Redo Buffers               14749696 bytes
    Database mounted.
    
  • 4.-

    SQL> alter system set shared_pool_size=100M scope=spfile;
    
    System altered.
    
  • 5.-

    SQL> shutdown immediate
    
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    
  • 6.-

    SQL> startup
    ORACLE instance started.
    
    Total System Global Area 4831838208 bytes
    Fixed Size                  2027320 bytes
    Variable Size            4764729544 bytes
    Database Buffers           50331648 bytes
    Redo Buffers               14749696 bytes
    Database mounted.
    Database opened.
    
  • 7.-

    SQL> create pfile from spfile;
    
    File created.
    

SOLVED

Difference between VARCHAR2(10 CHAR) and NVARCHAR2(10)

I don't think answer from Vincent Malgrat is correct. When NVARCHAR2 was introduced long time ago nobody was even talking about Unicode.

Initially Oracle provided VARCHAR2 and NVARCHAR2 to support localization. Common data (include PL/SQL) was hold in VARCHAR2, most likely US7ASCII these days. Then you could apply NLS_NCHAR_CHARACTERSET individually (e.g. WE8ISO8859P1) for each of your customer in any country without touching the common part of your application.

Nowadays character set AL32UTF8 is the default which fully supports Unicode. In my opinion today there is no reason anymore to use NLS_NCHAR_CHARACTERSET, i.e. NVARCHAR2, NCHAR2, NCLOB. Note, there are more and more Oracle native functions which do not support NVARCHAR2, so you should really avoid it. Maybe the only reason is when you have to support mainly Asian characters where AL16UTF16 consumes less storage compared to AL32UTF8.

Oracle Age calculation from Date of birth and Today

SQL> select trunc(months_between(sysdate,dob)/12) year,
  2         trunc(mod(months_between(sysdate,dob),12)) month,
  3         trunc(sysdate-add_months(dob,trunc(months_between(sysdate,dob)/12)*12+trunc(mod(months_between(sysdate,dob),12)))) day
  4  from (Select to_date('15122000','DDMMYYYY') dob from dual);

      YEAR      MONTH        DAY
---------- ---------- ----------
         9          5         26

SQL>

Spool Command: Do not output SQL statement to file

Unfortunately SQL Developer doesn't fully honour the set echo off command that would (appear to) solve this in SQL*Plus.

The only workaround I've found for this is to save what you're doing as a script, e.g. test.sql with:

set echo off
spool c:\test.csv 
select /*csv*/ username, user_id, created from all_users;
spool off;

And then from SQL Developer, only have a call to that script:

@test.sql

And run that as a script (F5).

Saving as a script file shouldn't be much of a hardship anyway for anything other than an ad hoc query; and running that with @ instead of opening the script and running it directly is only a bit of a pain.


A bit of searching found the same solution on the SQL Developer forum, and the development team suggest it's intentional behaviour to mimic what SQL*Plus does; you need to run a script with @ there too in order to hide the query text.

Inserting into Oracle and retrieving the generated sequence ID

You can do this with a single statement - assuming you are calling it from a JDBC-like connector with in/out parameters functionality:

insert into batch(batchid, batchname) 
values (batch_seq.nextval, 'new batch')
returning batchid into :l_batchid;

or, as a pl-sql script:

variable l_batchid number;

insert into batch(batchid, batchname) 
values (batch_seq.nextval, 'new batch')
returning batchid into :l_batchid;

select :l_batchid from dual;

How to check if a column exists before adding it to an existing table in PL/SQL?

All the metadata about the columns in Oracle Database is accessible using one of the following views.

user_tab_cols; -- For all tables owned by the user

all_tab_cols ; -- For all tables accessible to the user

dba_tab_cols; -- For all tables in the Database.

So, if you are looking for a column like ADD_TMS in SCOTT.EMP Table and add the column only if it does not exist, the PL/SQL Code would be along these lines..

DECLARE
  v_column_exists number := 0;  
BEGIN
  Select count(*) into v_column_exists
    from user_tab_cols
    where upper(column_name) = 'ADD_TMS'
      and upper(table_name) = 'EMP';
      --and owner = 'SCOTT --*might be required if you are using all/dba views

  if (v_column_exists = 0) then
      execute immediate 'alter table emp add (ADD_TMS date)';
  end if;
end;
/

If you are planning to run this as a script (not part of a procedure), the easiest way would be to include the alter command in the script and see the errors at the end of the script, assuming you have no Begin-End for the script..

If you have file1.sql

alter table t1 add col1 date;
alter table t1 add col2 date;
alter table t1 add col3 date;

And col2 is present,when the script is run, the other two columns would be added to the table and the log would show the error saying "col2" already exists, so you should be ok.

What is the best way to search the Long datatype within an Oracle database?

Example:

create table longtable(id number,text long);

insert into longtable values(1,'hello world');
insert into longtable values(2,'say hello!');

commit;

create or replace function search_long(r rowid) return varchar2 is
temporary_varchar varchar2(4000);
begin
select text into temporary_varchar from longtable where rowid=r;
return temporary_varchar;
end;
/


SQL> select text from longtable where search_long(rowid) like '%hello%';                                                                              

TEXT
--------------------------------------------------------------------------------
hello world
say hello!

But be careful. A PL/SQL function will only search the first 32K of LONG.

How to check Oracle patches are installed?

Maybe you need "sys." before:

select * from sys.registry$history;

How do I use CREATE OR REPLACE?

There is no create or replace table in Oracle.

You must:

DROP TABLE foo;
CREATE TABLE foo (....);

Oracle query execution time

Use:

set serveroutput on
variable n number
exec :n := dbms_utility.get_time;
select ......
exec dbms_output.put_line( (dbms_utility.get_time-:n)/100) || ' seconds....' );

Or possibly:

SET TIMING ON;

-- do stuff

SET TIMING OFF;

...to get the hundredths of seconds that elapsed.

In either case, time elapsed can be impacted by server load/etc.

Reference:

executing a function in sql plus

One option would be:

SET SERVEROUTPUT ON

EXEC DBMS_OUTPUT.PUT_LINE(your_fn_name(your_fn_arguments));

How to know installed Oracle Client is 32 bit or 64 bit?

Go to %ORACLE_HOME%\inventory\ContentsXML folder and open comps.xml file

Look for <DEP_LIST> on ~second screen.
If following lines have

  • PLAT="NT_AMD64" then this Oracle Home is 64 bit.
  • PLAT="NT_X86" then - 32 bit.

    You may have both 32-bit and 64-bit Oracle Homes installed.

  • Get counts of all tables in a schema

    Get counts of all tables in a schema and order by desc

    select 'with tmp(table_name, row_number) as (' from dual 
    union all 
    select 'select '''||table_name||''',count(*) from '||table_name||' union  ' from USER_TABLES 
    union all
    select 'select '''',0 from dual) select table_name,row_number from tmp order by row_number desc ;' from dual;
    

    Copy the entire result and execute

    SQL state [99999]; error code [17004]; Invalid column type: 1111 With Spring SimpleJdbcCall

    I had this problem, and turns out the problem was that I had used

    new SimpleJdbcCall(jdbcTemplate)
        .withProcedureName("foo")
    

    instead of

    new SimpleJdbcCall(jdbcTemplate)
        .withFunctionName("foo")
    

    Rewrite left outer join involving multiple tables from Informix to Oracle

    I'm guessing that you want something like

    SELECT tab1.a, tab2.b, tab3.c, tab4.d
      FROM table1 tab1 
           JOIN table2 tab2 ON (tab1.fg = tab2.fg)
           LEFT OUTER JOIN table4 tab4 ON (tab1.ss = tab4.ss)
           LEFT OUTER JOIN table3 tab3 ON (tab4.xya = tab3.xya and tab3.desc = 'XYZ')
           LEFT OUTER JOIN table5 tab5 on (tab4.kk = tab5.kk AND
                                           tab3.dd = tab5.dd)
    

    Oracle PL/SQL - Raise User-Defined Exception With Custom SQLERRM

    declare
       z exception;
    
    begin
       if to_char(sysdate,'day')='sunday' then
         raise z;
       end if;
    
       exception 
         when z then
            dbms_output.put_line('to day is sunday');
    end;
    

    "Cannot create an instance of OLE DB provider" error as Windows Authentication user

    Similar situation for following configuration:

    • Windows Server 2012 R2 Standard
    • MS SQL server 2008 (tested also SQL 2012)
    • Oracle 10g client (OracleDB v8.1.7)
    • MSDAORA provider
    • Error ID: 7302

    My solution:

    • Install 32bit MS SQL Server (64bit MSDAORA doesn't exist)
    • Install 32bit Oracle 10g 10.2.0.5 patch (set W7 compatibility on setup.exe)
    • Restart SQL services
    • Check Allow in process in MSDAORA provider
    • Test linked oracle server connection

    Oracle get previous day records

    Im a bit confused about this part "TO_DATE(TO_CHAR(CURRENT_DATE, 'YYYY-MM-DD'),'YYYY-MM-DD')". What were you trying to do with this clause ? The format that you are displaying in your result is the default format when you run the basic query of getting date from DUAL. Other than that, i did this in your query and it retrieved the previous day 'SELECT (CURRENT_DATE - 1) FROM Dual'. Do let me know if it works out for you and if not then do tell me about the problem. Thanks and all the best.

    How to increase buffer size in Oracle SQL Developer to view all records?

    Tools-> Preferences -> Database ->Worksheet

    Enter desired size in "Max rows to print in a script"

    Save changes.

    Bulk Insert into Oracle database: Which is better: FOR Cursor loop or a simple Select?

    You can use:

    Bulk collect along with FOR ALL that is called Bulk binding.

    Because PL/SQL forall operator speeds 30x faster for simple table inserts.

    BULK_COLLECT and Oracle FORALL together these two features are known as Bulk Binding. Bulk Binds are a PL/SQL technique where, instead of multiple individual SELECT, INSERT, UPDATE or DELETE statements are executed to retrieve from, or store data in, at table, all of the operations are carried out at once, in bulk. This avoids the context-switching you get when the PL/SQL engine has to pass over to the SQL engine, then back to the PL/SQL engine, and so on, when you individually access rows one at a time. To do bulk binds with INSERT, UPDATE, and DELETE statements, you enclose the SQL statement within a PL/SQL FORALL statement. To do bulk binds with SELECT statements, you include the BULK COLLECT clause in the SELECT statement instead of using INTO.

    It improves performance.

    Check table exist or not before create it in Oracle

    My solution is just compilation of best ideas in thread, with a little improvement. I use both dedicated procedure (@Tomasz Borowiec) to facilitate reuse, and exception handling (@Tobias Twardon) to reduce code and to get rid of redundant table name in procedure.

    DECLARE
    
        PROCEDURE create_table_if_doesnt_exist(
            p_create_table_query VARCHAR2
        ) IS
        BEGIN
            EXECUTE IMMEDIATE p_create_table_query;
        EXCEPTION
            WHEN OTHERS THEN
            -- suppresses "name is already being used" exception
            IF SQLCODE = -955 THEN
                NULL; 
            END IF;
        END;
    
    BEGIN
        create_table_if_doesnt_exist('
            CREATE TABLE "MY_TABLE" (
                "ID" NUMBER(19) NOT NULL PRIMARY KEY,
                "TEXT" VARCHAR2(4000),
                "MOD_TIME" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            )
        ');
    END;
    /
    

    Get table name by constraint name

    SELECT owner, table_name
      FROM dba_constraints
     WHERE constraint_name = <<your constraint name>>
    

    will give you the name of the table. If you don't have access to the DBA_CONSTRAINTS view, ALL_CONSTRAINTS or USER_CONSTRAINTS should work as well.

    libclntsh.so.11.1: cannot open shared object file.

    Cron does not load the user's profile when running a task and you have to include the profile in your shell script explicitly.

    Example documentation

    How to correctly set the ORACLE_HOME variable on Ubuntu 9.x?

    This is the right way to clear this error.

    export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 sqlplus / as sysdba

    String to date in Oracle with milliseconds

    I don't think you can use fractional seconds with to_date or the DATE type in Oracle. I think you need to_timestamp which returns a TIMESTAMP type.

    SQL How to Select the most recent date item

    Assuming your RDBMS know window functions and CTE and USER_ID is the patient's id:

    WITH TT AS (
        SELECT *, ROW_NUMBER() OVER(PARTITION BY USER_ID ORDER BY DOCUMENT_DATE DESC) AS N
        FROM test_table
    )
    SELECT *
    FROM TT
    WHERE N = 1;
    

    I assumed you wanted to sort by DOCUMENT_DATE, you can easily change that if wanted. If your RDBMS doesn't know window functions, you'll have to do a join :

    SELECT *
    FROM test_table T1
    INNER JOIN (SELECT USER_ID, MAX(DOCUMENT_DATE) AS maxDate
                FROM test_table
                GROUP BY USER_ID) T2
        ON T1.USER_ID = T2.USER_ID
            AND T1.DOCUMENT_DATE = T2.maxDate;
    

    It would be good to tell us what your RDBMS is though. And this query selects the most recent date for every patient, you can add a condition for a given patient.

    DECODE( ) function in SQL Server

    Just for completeness (because nobody else posted the most obvious answer):

    Oracle:

    DECODE(PC_SL_LDGR_CODE, '02', 'DR', 'CR')
    

    MSSQL (2012+):

    IIF(PC_SL_LDGR_CODE='02', 'DR', 'CR')
    

    The bad news:

    DECODE with more than 4 arguments would result in an ugly IIF cascade

    LISTAGG in Oracle to return distinct values

    If you do not need a particular order of concatenated values, and the separator can be a comma, you can do:

    select col1, stragg(distinct col2)
      from table
     group by col1
    

    Number of rows affected by an UPDATE in PL/SQL

    SQL%ROWCOUNT can also be used without being assigned (at least from Oracle 11g).

    As long as no operation (updates, deletes or inserts) has been performed within the current block, SQL%ROWCOUNT is set to null. Then it stays with the number of line affected by the last DML operation:

    say we have table CLIENT

    create table client (
      val_cli integer
     ,status varchar2(10)
    )
    /
    

    We would test it this way:

    begin
      dbms_output.put_line('Value when entering the block:'||sql%rowcount);
    
      insert into client 
                select 1, 'void' from dual
      union all select 4, 'void' from dual
      union all select 1, 'void' from dual
      union all select 6, 'void' from dual
      union all select 10, 'void' from dual;  
      dbms_output.put_line('Number of lines affected by previous DML operation:'||sql%rowcount);
    
      for val in 1..10
        loop
          update client set status = 'updated' where val_cli = val;
          if sql%rowcount = 0 then
            dbms_output.put_line('no client with '||val||' val_cli.');
          elsif sql%rowcount = 1 then
            dbms_output.put_line(sql%rowcount||' client updated for '||val);
          else -- >1
            dbms_output.put_line(sql%rowcount||' clients updated for '||val);
          end if;
      end loop;  
    end;
    

    Resulting in:

    Value when entering the block:
    Number of lines affected by previous DML operation:5
    2 clients updated for 1
    no client with 2 val_cli.
    no client with 3 val_cli.
    1 client updated for 4
    no client with 5 val_cli.
    1 client updated for 6
    no client with 7 val_cli.
    no client with 8 val_cli.
    no client with 9 val_cli.
    1 client updated for 10
    

    how to insert date and time in oracle?

    Try this:

    ...(to_date('2011/04/22 08:30:00', 'yyyy/mm/dd hh24:mi:ss'));

    In Oracle, is it possible to INSERT or UPDATE a record through a view?

    YES, you can Update and Insert into view and that edit will be reflected on the original table....
    BUT
    1-the view should have all the NOT NULL values on the table
    2-the update should have the same rules as table... "updating primary key related to other foreign key.. etc"...

    How to generate entire DDL of an Oracle schema (scriptable)?

    You can spool the schema out to a file via SQL*Plus and dbms_metadata package. Then replace the schema name with another one via sed. This works for Oracle 10 and higher.

    sqlplus<<EOF
    set long 100000
    set head off
    set echo off
    set pagesize 0
    set verify off
    set feedback off
    spool schema.out
    
    select dbms_metadata.get_ddl(object_type, object_name, owner)
    from
    (
        --Convert DBA_OBJECTS.OBJECT_TYPE to DBMS_METADATA object type:
        select
            owner,
            --Java object names may need to be converted with DBMS_JAVA.LONGNAME.
            --That code is not included since many database don't have Java installed.
            object_name,
            decode(object_type,
                'DATABASE LINK',      'DB_LINK',
                'JOB',                'PROCOBJ',
                'RULE SET',           'PROCOBJ',
                'RULE',               'PROCOBJ',
                'EVALUATION CONTEXT', 'PROCOBJ',
                'CREDENTIAL',         'PROCOBJ',
                'CHAIN',              'PROCOBJ',
                'PROGRAM',            'PROCOBJ',
                'PACKAGE',            'PACKAGE_SPEC',
                'PACKAGE BODY',       'PACKAGE_BODY',
                'TYPE',               'TYPE_SPEC',
                'TYPE BODY',          'TYPE_BODY',
                'MATERIALIZED VIEW',  'MATERIALIZED_VIEW',
                'QUEUE',              'AQ_QUEUE',
                'JAVA CLASS',         'JAVA_CLASS',
                'JAVA TYPE',          'JAVA_TYPE',
                'JAVA SOURCE',        'JAVA_SOURCE',
                'JAVA RESOURCE',      'JAVA_RESOURCE',
                'XML SCHEMA',         'XMLSCHEMA',
                object_type
            ) object_type
        from dba_objects 
        where owner in ('OWNER1')
            --These objects are included with other object types.
            and object_type not in ('INDEX PARTITION','INDEX SUBPARTITION',
               'LOB','LOB PARTITION','TABLE PARTITION','TABLE SUBPARTITION')
            --Ignore system-generated types that support collection processing.
            and not (object_type = 'TYPE' and object_name like 'SYS_PLSQL_%')
            --Exclude nested tables, their DDL is part of their parent table.
            and (owner, object_name) not in (select owner, table_name from dba_nested_tables)
            --Exclude overflow segments, their DDL is part of their parent table.
            and (owner, object_name) not in (select owner, table_name from dba_tables where iot_type = 'IOT_OVERFLOW')
    )
    order by owner, object_type, object_name;
    
    spool off
    quit
    EOF
    
    cat schema.out|sed 's/OWNER1/MYOWNER/g'>schema.out.change.sql
    

    Put everything in a script and run it via cron (scheduler). Exporting objects can be tricky when advanced features are used. Don't be surprised if you need to add some more exceptions to the above code.

    Java JDBC - How to connect to Oracle using Service Name instead of SID

    When using dag instead of thin, the syntax below pointing to service name worked for me. The jdbc:thin solutions above did not work.

    jdbc:dag:oracle://HOSTNAME:1521;ServiceName=SERVICE_NAME
    

    Oracle Date TO_CHAR('Month DD, YYYY') has extra spaces in it

    SQL> -- original . . .
    SQL> select
      2  to_char( sysdate, 'Day "the" Ddth "of" Month, yyyy' ) dt
      3  from dual;
    
    DT
    ----------------------------------------
    Friday    the 13th of May      , 2016
    
    SQL>
    SQL> -- collapse repeated spaces . . .
    SQL> select
      2  regexp_replace(
      3      to_char( sysdate, 'Day "the" Ddth "of" Month, yyyy' ),
      4      '  * *', ' ') datesp
      5  from dual;
    
    DATESP
    ----------------------------------------
    Friday the 13th of May , 2016
    
    SQL>
    SQL> -- and space before commma . . .
    SQL> select
      2  regexp_replace(
      3      to_char( sysdate, 'Day "the" Ddth "of" Month, yyyy' ),
      4      '  *(,*) *', '\1 ') datesp
      5  from dual;
    
    DATESP
    ----------------------------------------
    Friday the 13th of May, 2016
    
    SQL>
    SQL> -- space before punctuation . . .
    SQL> select
      2  regexp_replace(
      3      to_char( sysdate, 'Day "the" Ddth "of" Month, yyyy' ),
      4      '  *([.,/:;]*) *', '\1 ') datesp
      5  from dual;
    
    DATESP
    ----------------------------------------
    Friday the 13th of May, 2016
    

    Oracle: is there a tool to trace queries, like Profiler for sql server?

    alter system set timed_statistics=true
    

    --or

    alter session set timed_statistics=true --if want to trace your own session
    

    -- must be big enough:

    select value from v$parameter p
    where name='max_dump_file_size' 
    

    -- Find out sid and serial# of session you interested in:

     select sid, serial# from v$session
     where ...your_search_params...
    

    --you can begin tracing with 10046 event, the fourth parameter sets the trace level(12 is the biggest):

     begin
        sys.dbms_system.set_ev(sid, serial#, 10046, 12, '');
     end;
    

    --turn off tracing with setting zero level:

    begin
       sys.dbms_system.set_ev(sid, serial#, 10046, 0, '');
    end;
    

    /*possible levels: 0 - turned off 1 - minimal level. Much like set sql_trace=true 4 - bind variables values are added to trace file 8 - waits are added 12 - both bind variable values and wait events are added */

    --same if you want to trace your own session with bigger level:

    alter session set events '10046 trace name context forever, level 12';
    

    --turn off:

    alter session set events '10046 trace name context off';
    

    --file with raw trace information will be located:

     select value from v$parameter p
     where name='user_dump_dest'
    

    --name of the file(*.trc) will contain spid:

     select p.spid from v$session s, v$process p
     where s.paddr=p.addr
     and ...your_search_params...
    

    --also you can set the name by yourself:

    alter session set tracefile_identifier='UniqueString'; 
    

    --finally, use TKPROF to make trace file more readable:

    C:\ORACLE\admin\databaseSID\udump>
    C:\ORACLE\admin\databaseSID\udump>tkprof my_trace_file.trc output=my_file.prf
    TKPROF: Release 9.2.0.1.0 - Production on Wed Sep 22 18:05:00 2004
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    C:\ORACLE\admin\databaseSID\udump>
    

    --to view state of trace file use:

    set serveroutput on size 30000;
    declare
      ALevel binary_integer;
    begin
      SYS.DBMS_SYSTEM.Read_Ev(10046, ALevel);
      if ALevel = 0 then
        DBMS_OUTPUT.Put_Line('sql_trace is off');
      else
        DBMS_OUTPUT.Put_Line('sql_trace is on');
      end if;
    end;
    /
    

    Just kind of translated http://www.sql.ru/faq/faq_topic.aspx?fid=389 Original is fuller, but anyway this is better than what others posted IMHO

    Oracle - Insert New Row with Auto Incremental ID

    To get an auto increment number you need to use a sequence in Oracle. (See here and here).

    CREATE SEQUENCE my_seq;
    
    SELECT my_seq.NEXTVAL FROM DUAL; -- to get the next value
    
    -- use in a trigger for your table demo
    CREATE OR REPLACE TRIGGER demo_increment 
    BEFORE INSERT ON demo
    FOR EACH ROW
    
    BEGIN
      SELECT my_seq.NEXTVAL
      INTO   :new.id
      FROM   dual;
    END;
    /
    

    How to kill all active and inactive oracle sessions for user

    inactive session the day before kill

    _x000D_
    _x000D_
    begin_x000D_
        for i in (select * from v$session where status='INACTIVE' and (sysdate-PREV_EXEC_START)>1)_x000D_
        LOOP_x000D_
            EXECUTE IMMEDIATE(q'{ALTER SYSTEM KILL SESSION '}'||i.sid||q'[,]'  ||i.serial#||q'[']'||' IMMEDIATE');_x000D_
        END LOOP;_x000D_
    end;
    _x000D_
    _x000D_
    _x000D_

    How can I solve ORA-00911: invalid character error?

    I encountered the same thing lately. it was just due to spaces when copying a script from a document to sql developer. I had to remove the spaces and the script ran.

    How to find which version of Oracle is installed on a Linux server (In terminal)

    As the user running the Oracle Database one can also try $ORACLE_HOME/OPatch/opatch lsinventory which shows the exact version and patches installed.

    For example this is a quick oneliner which should only return the version number:

    $ORACLE_HOME/OPatch/opatch lsinventory | awk '/^Oracle Database/ {print $NF}'
    

    How to return multiple rows from the stored procedure? (Oracle PL/SQL)

    You may use Oracle pipelined functions

    Basically, when you would like a PLSQL (or java or c) routine to be the «source» of data -- instead of a table -- you would use a pipelined function.

    Simple Example - Generating Some Random Data
    How could you create N unique random numbers depending on the input argument?

    create type array
    as table of number;
    
    
    create function  gen_numbers(n in number default null)
    return array
    PIPELINED
    as
    begin
      for i in 1 .. nvl(n,999999999)
      loop
         pipe row(i);
     end loop;
     return;
    end;
    

    Suppose we needed three rows for something. We can now do that in one of two ways:

    select * from TABLE(gen_numbers(3));
    

    COLUMN_VALUE


           1
           2
           3
    

    or

    select * from TABLE(gen_numbers)
     where rownum <= 3;
    

    COLUMN_VALUE


           1
           2
           3
    

    pipelied Functions1 pipelied Functions2

    Re-order columns of table in Oracle

    Look at the package DBMS_Redefinition. It will rebuild the table with the new ordering. It can be done with the table online.

    As Phil Brown noted, think carefully before doing this. However there is overhead in scanning the row for columns and moving data on update. Column ordering rules I use (in no particular order):

    • Group related columns together.
    • Not NULL columns before null-able columns.
    • Frequently searched un-indexed columns first.
    • Rarely filled null-able columns last.
    • Static columns first.
    • Updateable varchar columns later.
    • Indexed columns after other searchable columns.

    These rules conflict and have not all been tested for performance on the latest release. Most have been tested in practice, but I didn't document the results. Placement options target one of three conflicting goals: easy to understand column placement; fast data retrieval; and minimal data movement on updates.

    How can I confirm a database is Oracle & what version it is using SQL?

    Run this SQL:

    select * from v$version;
    

    And you'll get a result like:

    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for Solaris: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    

    Creating new table with SELECT INTO in SQL

    The syntax for creating a new table is

    CREATE TABLE new_table
    AS
    SELECT *
      FROM old_table
    

    This will create a new table named new_table with whatever columns are in old_table and copy the data over. It will not replicate the constraints on the table, it won't replicate the storage attributes, and it won't replicate any triggers defined on the table.

    SELECT INTO is used in PL/SQL when you want to fetch data from a table into a local variable in your PL/SQL block.

    Cleanest way to build an SQL string in Java

    Google provides a library called the Room Persitence Library which provides a very clean way of writing SQL for Android Apps, basically an abstraction layer over underlying SQLite Database. Bellow is short code snippet from the official website:

    @Dao
    public interface UserDao {
        @Query("SELECT * FROM user")
        List<User> getAll();
    
        @Query("SELECT * FROM user WHERE uid IN (:userIds)")
        List<User> loadAllByIds(int[] userIds);
    
        @Query("SELECT * FROM user WHERE first_name LIKE :first AND "
               + "last_name LIKE :last LIMIT 1")
        User findByName(String first, String last);
    
        @Insert
        void insertAll(User... users);
    
        @Delete
        void delete(User user);
    }
    

    There are more examples and better documentation in the official docs for the library.

    There is also one called MentaBean which is a Java ORM. It has nice features and seems to be pretty simple way of writing SQL.

    Calculate difference between 2 date / times in Oracle SQL

    (TO_DATE(:P_comapre_date_1, 'dd-mm-yyyy hh24:mi') - TO_DATE(:P_comapre_date_2, 'dd-mm-yyyy hh24:mi'))*60*60*24 sum_seconds,
             (TO_DATE(:P_comapre_date_1, 'dd-mm-yyyy hh24:mi') - TO_DATE(:P_comapre_date_2, 'dd-mm-yyyy hh24:mi'))*60*24 sum_minutes,
             (TO_DATE(:P_comapre_date_1, 'dd-mm-yyyy hh24:mi') - TO_DATE(:P_comapre_date_2, 'dd-mm-yyyy hh24:mi'))*24 sum_hours,
             (TO_DATE(:P_comapre_date_1, 'dd-mm-yyyy hh24:mi') - TO_DATE(:P_comapre_date_2, 'dd-mm-yyyy hh24:mi')) sum_days 
    

    How can you tell if a value is not numeric in Oracle?

    SELECT DECODE(REGEXP_COUNT(:value,'\d'),LENGTH(:value),'Y','N') AS is_numeric FROM dual;
    

    There are many ways but this one works perfect for me.

    Explicitly set column value to null SQL Developer

    It is clear that most people who haven't used SQL Server Enterprise Manager don't understand the question (i.e. Justin Cave).

    I came upon this post when I wanted to know the same thing.

    Using SQL Server, when you are editing your data through the MS SQL Server GUI Tools, you can use a KEYBOARD SHORTCUT to insert a NULL rather than having just an EMPTY CELL, as they aren't the same thing. An empty cell can have a space in it, rather than being NULL, even if it is technically empty. The difference is when you intentionally WANT to put a NULL in a cell rather than a SPACE or to empty it and NOT using a SQL statement to do so.

    So, the question really is, how do I put a NULL value in the cell INSTEAD of a space to empty the cell?

    I think the answer is, that the way the Oracle Developer GUI works, is as Laniel indicated above, And THAT should be marked as the answer to this question.

    Oracle Developer seems to default to NULL when you empty a cell the way the op is describing it.

    Additionally, you can force Oracle Developer to change how your null cells look by changing the color of the background color to further demonstrate when a cell holds a null:

    Tools->Preferences->Advanced->Display Null Using Background Color

    or even the VALUE it shows when it's null:

    Tools->Preferences->Advanced->Display Null Value As

    Hope that helps in your transition.

    How to kill a running SELECT statement

    If you want to stop process you can kill it manually from task manager onother side if you want to stop running query in DBMS you can stop as given here for ms sqlserver T-SQL STOP or ABORT command in SQL Server Hope it helps you

    Using the passwd command from within a shell script

    This is the definitive answer for a teradata node admin.

    Go to your /etc/hosts file and create a list of IP's or node names in a text file.

    SMP007-1
    SMP007-2
    SMP007-3
    

    Put the following script in a file.

    #set a password across all nodes
    printf "User ID: "
    read MYUSERID
    printf "New Password: "
    read MYPASS
    
    while read -r i; do
        echo changing password on "$i"
        ssh root@"$i" sudo echo "$MYUSERID":"$MYPASS" | chpasswd
        echo password changed on "$i"
    done< /usr/bin/setpwd.srvrs
    

    Okay I know I've broken a cardinal security rule with ssh and root but I'll let you security folks deal with it.

    Now put this in your /usr/bin subdir along with your setpwd.srvrs config file.

    When you run the command it prompts you one time for the User ID then one time for the password. Then the script traverses all nodes in the setpwd.srvrs file and does a passwordless ssh to each node, then sets the password without any user interaction or secondary password validation.

    Does Java have a path joining method?

    This concerns Java versions 7 and earlier.

    To quote a good answer to the same question:

    If you want it back as a string later, you can call getPath(). Indeed, if you really wanted to mimic Path.Combine, you could just write something like:

    public static String combine (String path1, String path2) {
        File file1 = new File(path1);
        File file2 = new File(file1, path2);
        return file2.getPath();
    }
    

    How do I add images in laravel view?

    If Image folder location is public/assets/img/default.jpg. You can try in view

       <img src="{{ URL::to('/assets/img/default.jpg') }}">
    

    Remove the string on the beginning of an URL

    Either manually, like

    var str = "www.test.com",
        rmv = "www.";
    
    str = str.slice( str.indexOf( rmv ) + rmv.length );
    

    or just use .replace():

    str = str.replace( rmv, '' );
    

    Log4Net configuring log level

    Use threshold.

    For example:

       <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <threshold value="WARN"/>
            <param name="File" value="File.log" />
            <param name="AppendToFile" value="true" />
            <param name="RollingStyle" value="Size" />
            <param name="MaxSizeRollBackups" value="10" />
            <param name="MaximumFileSize" value="1024KB" />
            <param name="StaticLogFileName" value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="Header" value="[Server startup]&#13;&#10;" />
                <param name="Footer" value="[Server shutdown]&#13;&#10;" />
                <param name="ConversionPattern" value="%d %m%n" />
            </layout>
        </appender>
        <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
            <threshold value="ERROR"/>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread]- %message%newline" />
            </layout>
        </appender>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
            <threshold value="INFO"/>
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%d [%thread] %m%n" />
            </layout>
        </appender>
    

    In this example all INFO and above are sent to Console, all WARN are sent to file and ERRORs are sent to the Event-Log.

    How to check identical array in most efficient way?

    You could compare String representations so:

    array1.toString() == array2.toString()
    array1.toString() !== array3.toString()
    

    but that would also make

    array4 = ['1',2,3,4,5]
    

    equal to array1 if that matters to you

    `&mdash;` or `&#8212;` is there any difference in HTML output?

    Could be that using the numeral code is more universal, as it's a direct reference to a character in the html entity table, but I guess they both work everywhere. The first notation is just massively easier to remember for a lot of characters.

    PHPExcel - creating multiple sheets by iteration

    You dont need call addSheet() method. After creating sheet, it already add to excel. Here i fixed some codes:

        //First sheet
        $sheet = $objPHPExcel->getActiveSheet();
    
        //Start adding next sheets
        $i=0;
        while ($i < 10) {
    
          // Add new sheet
          $objWorkSheet = $objPHPExcel->createSheet($i); //Setting index when creating
    
          //Write cells
          $objWorkSheet->setCellValue('A1', 'Hello'.$i)
                       ->setCellValue('B2', 'world!')
                       ->setCellValue('C1', 'Hello')
                       ->setCellValue('D2', 'world!');
    
          // Rename sheet
          $objWorkSheet->setTitle("$i");
    
          $i++;
        }
    

    error while loading shared libraries: libncurses.so.5:

    If you are absolutely sure that libncurses, aka ncurses, is installed, as in you've done a successful 'ls' of the library, then perhaps you are running a 64 bit Linux operating system and only have the 64 bit libncurses installed, when the program that is running (adb) is 32 bit.

    If so, a 32 bit program can't link to a 64 bit library (and won't located it anyway), so you might have to install libcurses, or ncurses (32 bit version). Likewise, if you are running a 64 bit adb, perhaps your ncurses is 32 bit (a possible but less likely scenario).

    How do I clear my local working directory in Git?

    To switch to another branch, discarding all uncommitted changes (e.g. resulting from Git's strange handling of line endings):

    git checkout -f <branchname>
    

    I had a working copy with hundreds of changed files (but empty git diff --ignore-space-at-eol) which I couldn't get rid off with any of the commands I read here, and git checkout <branchname> won't work, either - unless given the -f (or --force) option.

    In UML class diagrams, what are Boundary Classes, Control Classes, and Entity Classes?

    These are class stereotypes used in analysis.

    • boundary classes are ones at the boundary of the system - the classes that you or other systems interact with

    • entity classes classes are your typical business entities like "person" and "bank account"

    • control classes implement some business logic or other

    Moving Git repository content to another repository preserving history

    I used the below method to migrate my GIT Stash to GitLab by maintaining all branches and commit history.

    Clone the old repository to local.

    git clone --bare <STASH-URL>
    

    Create an empty repository in GitLab.

    git push --mirror <GitLab-URL>
    

    How to sort an array of integers correctly

    var numArray = [140000, 104, 99];
    numArray = numArray.sort((a,b) => a-b);
    alert(numArray)
    

    printf() formatting for hex

    The "0x" counts towards the eight character count. You need "%#010x".

    Note that # does not append the 0x to 0 - the result will be 0000000000 - so you probably actually should just use "0x%08x" anyway.

    How can I replace a regex substring match in Javascript?

    I think the simplest way to achieve your goal is this:

    var str   = 'asd-0.testing';
    var regex = /(asd-)(\d)(\.\w+)/;
    var anyNumber = 1;
    var res = str.replace(regex, `$1${anyNumber}$3`);
    

    Batch - Echo or Variable Not Working

    Try the following (note that there should not be a space between the VAR, =, and GREG).

    SET VAR=GREG
    ECHO %VAR%
    PAUSE
    

    Stopping python using ctrl+c

    Pressing Ctrl + c while a python program is running will cause python to raise a KeyboardInterrupt exception. It's likely that a program that makes lots of HTTP requests will have lots of exception handling code. If the except part of the try-except block doesn't specify which exceptions it should catch, it will catch all exceptions including the KeyboardInterrupt that you just caused. A properly coded python program will make use of the python exception hierarchy and only catch exceptions that are derived from Exception.

    #This is the wrong way to do things
    try:
      #Some stuff might raise an IO exception
    except:
      #Code that ignores errors
    
    #This is the right way to do things
    try:
      #Some stuff might raise an IO exception
    except Exception:
      #This won't catch KeyboardInterrupt
    

    If you can't change the code (or need to kill the program so that your changes will take effect) then you can try pressing Ctrl + c rapidly. The first of the KeyboardInterrupt exceptions will knock your program out of the try block and hopefully one of the later KeyboardInterrupt exceptions will be raised when the program is outside of a try block.

    How to implement history.back() in angular.js

    Ideally use a simple directive to keep controllers free from redundant $window

    app.directive('back', ['$window', function($window) {
            return {
                restrict: 'A',
                link: function (scope, elem, attrs) {
                    elem.bind('click', function () {
                        $window.history.back();
                    });
                }
            };
        }]);
    

    Use like this:

    <button back>Back</button>
    

    Bootstrap modal: close current, open new

    In first modal:

    replace modal dismiss link in footer with close link below.

    <div class="modal-footer">
          <a href="#"  data-dismiss="modal" class="btn btn-primary" data-toggle="modal" data-target="#second_model_id">Close</a>
    </div>
    

    In second modal:

    Then second modal replace top div with below div tag.

    <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="add text for disabled people here" aria-hidden="true" id="second_model_id">
    

    How to join two tables by multiple columns in SQL?

    You would basically want something along the lines of:

    SELECT e.*, v.Score
      FROM Evaluation e
    LEFT JOIN Value v
    ON v.CaseNum = e.CaseNum AND
    v.FileNum = e.FileNum AND
    v.ActivityNum = e.ActivityNum;
    

    Opening database file from within SQLite command-line shell

    I wonder why no one was able to get what the question actually asked. It stated What is the command within the SQLite shell tool to specify a database file?

    A sqlite db is on my hard disk E:\ABCD\efg\mydb.db. How do I access it with sqlite3 command line interface? .open E:\ABCD\efg\mydb.db does not work. This is what question asked.

    I found the best way to do the work is

    • copy-paste all your db files in 1 directory (say E:\ABCD\efg\mydbs)
    • switch to that directory in your command line
    • now open sqlite3 and then .open mydb.db

    This way you can do the join operation on different tables belonging to different databases as well.

    Get DataKey values in GridView RowCommand

    you can just do this:

    string id = GridName.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString();
    

    Plotting a python dict in order of key values

    Python dictionaries are unordered. If you want an ordered dictionary, use collections.OrderedDict

    In your case, sort the dict by key before plotting,

    import matplotlib.pylab as plt
    
    lists = sorted(d.items()) # sorted by key, return a list of tuples
    
    x, y = zip(*lists) # unpack a list of pairs into two tuples
    
    plt.plot(x, y)
    plt.show()
    

    Here is the result. enter image description here

    Use table name in MySQL SELECT "AS"

    SELECT field1, field2, 'Test' AS field3 FROM Test; // replace with simple quote '

    Convert python datetime to epoch with strftime

    import time
    from datetime import datetime
    now = datetime.now()
    
    time.mktime(now.timetuple())
    

    How to iterate object keys using *ngFor

    You have to create custom pipe.

    import { Injectable, Pipe } from '@angular/core';
    @Pipe({
       name: 'keyobject'
    })
    @Injectable()
    export class Keyobject {
    
    transform(value, args:string[]):any {
        let keys = [];
        for (let key in value) {
            keys.push({key: key, value: value[key]});
        }
        return keys;
    }}
    

    And then use it in your *ngFor

    *ngFor="let item of data | keyobject"
    

    TypeError: $(...).modal is not a function with bootstrap Modal

    I resolved this issue in Laravel by modifing the line below in resources\assets\js\bootstrap.js

    window.$ = window.jQuery = require('jquery/dist/jquery.slim');
    

    to

    window.$ = window.jQuery = require('jquery/dist/jquery');
    

    Integrate ZXing in Android Studio

    I was integrating ZXING into an Android application and there were no good sources for the input all over, I will give you a hint on what worked for me - because it turned out to be very easy.

    There is a real handy git repository that provides the zxing android library project as an AAR archive.

    All you have to do is add this to your build.gradle

    repositories {
        jcenter()
    }
    
    dependencies {
        implementation 'com.journeyapps:zxing-android-embedded:3.0.2@aar'
        implementation 'com.google.zxing:core:3.2.0'
    }
    

    and Gradle does all the magic to compile the code and makes it accessible in your app.

    To start the Scanner afterwards, use this class/method: From the Activity:

    new IntentIntegrator(this).initiateScan(); // `this` is the current Activity
    

    From a Fragment:

    IntentIntegrator.forFragment(this).initiateScan(); // `this` is the current Fragment
    // If you're using the support library, use IntentIntegrator.forSupportFragment(this) instead.
    

    There are several customizing options:

    IntentIntegrator integrator = new IntentIntegrator(this);
    integrator.setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES);
    integrator.setPrompt("Scan a barcode");
    integrator.setCameraId(0);  // Use a specific camera of the device
    integrator.setBeepEnabled(false);
    integrator.setBarcodeImageEnabled(true);
    integrator.initiateScan();
    

    They have a sample-project and are providing several integration examples:

    If you already visited the link you going to see that I just copy&pasted the code from the git README. If not, go there to get some more insight and code examples.

    How do you split and unsplit a window/view in Eclipse IDE?

    This is possible with the menu items Window>Editor>Toggle Split Editor.

    Current shortcut for splitting is:

    Azerty keyboard:

    • Ctrl + _ for split horizontally, and
    • Ctrl + { for split vertically.

    Qwerty US keyboard:

    • Ctrl + Shift + - (accessing _) for split horizontally, and
    • Ctrl + Shift + [ (accessing {) for split vertically.

    MacOS - Qwerty US keyboard:

    • + Shift + - (accessing _) for split horizontally, and
    • + Shift + [ (accessing {) for split vertically.

    On any other keyboard if a required key is unavailable (like { on a german Qwertz keyboard), the following generic approach may work:

    • Alt + ASCII code + Ctrl then release Alt

    Example: ASCII for '{' = 123, so press 'Alt', '1', '2', '3', 'Ctrl' and release 'Alt', effectively typing '{' while 'Ctrl' is pressed, to split vertically.

    Example of vertical split:

    https://bugs.eclipse.org/bugs/attachment.cgi?id=238285

    PS:

    • The menu items Window>Editor>Toggle Split Editor were added with Eclipse Luna 4.4 M4, as mentioned by Lars Vogel in "Split editor implemented in Eclipse M4 Luna"
    • The split editor is one of the oldest and most upvoted Eclipse bug! Bug 8009
    • The split editor functionality has been developed in Bug 378298, and will be available as of Eclipse Luna M4. The Note & Newsworthy of Eclipse Luna M4 will contain the announcement.

    How do I check if an object has a specific property in JavaScript?

    Showing how to use this answer

    const object= {key1: 'data', key2: 'data2'};
    
    Object.keys(object).includes('key1') //returns true
    

    We can use indexOf as well, I prefer includes

    Uninstall all installed gems, in OSX?

    First make sure you have at least gem version 2.1.0

    gem update --system
    gem --version
    # 2.6.4
    

    To uninstall simply run:

    gem uninstall --all
    

    You may need to use the sudo command:

    sudo gem uninstall --all
    

    How create a new deep copy (clone) of a List<T>?

    You need to create new Book objects then put those in a new List:

    List<Book> books_2 = books_1.Select(book => new Book(book.title)).ToList();
    

    Update: Slightly simpler... List<T> has a method called ConvertAll that returns a new list:

    List<Book> books_2 = books_1.ConvertAll(book => new Book(book.title));
    

    Creating a very simple linked list

    The selected answer doesn't have an iterator; it is more basic, but perhaps not as useful.

    Here is one with an iterator/enumerator. My implementation is based on Sedgewick's bag; see http://algs4.cs.princeton.edu/13stacks/Bag.java.html

    void Main()
    {
        var b = new Bag<string>();
        b.Add("bike");
        b.Add("erasmus");
        b.Add("kumquat");
        b.Add("beaver");
        b.Add("racecar");
        b.Add("barnacle");
    
        foreach (var thing in b)
        {
            Console.WriteLine(thing);
        }
    }
    
    // Define other methods and classes here
    
    public class Bag<T> : IEnumerable<T>
    {
        public Node<T> first;// first node in list
    
        public class Node<T>
        {
            public T item;
            public Node<T> next;
    
            public Node(T item)
            {
                this.item = item;
            }
        }
    
    
        public void Add(T item)
        {
            Node<T> oldFirst = first;
            first = new Node<T>(item);
            first.next = oldFirst;
        }
    
        IEnumerator IEnumerable.GetEnumerator()
        {
            return GetEnumerator();
        }
    
        public IEnumerator<T> GetEnumerator()
        {
            return new BagEnumerator<T>(this);
        }
    
        public class BagEnumerator<V> : IEnumerator<T>
        {
            private Node<T> _head;
            private Bag<T> _bag;
            private Node<T> _curNode;
    
    
            public BagEnumerator(Bag<T> bag)
            {
    
                _bag = bag;
                _head = bag.first;
                _curNode = default(Node<T>);
    
            }
    
            public T Current
            {
                get { return _curNode.item; }
            }
    
    
            object IEnumerator.Current
            {
                get { return Current; }
            }
    
            public bool MoveNext()
            {
                if (_curNode == null)
                {
                    _curNode = _head;
                    if (_curNode == null)
                    return false;
                    return true;
                }
                if (_curNode.next == null)
                return false;
                else
                {
                    _curNode = _curNode.next;
                    return true;
                }
    
            }
    
            public void Reset()
            {
                _curNode = default(Node<T>); ;
            }
    
    
            public void Dispose()
            {
            }
        }
    }
    

    Qt: resizing a QLabel containing a QPixmap while keeping its aspect ratio

    I just use contentsMargin to fix the aspect ratio.

    #pragma once
    
    #include <QLabel>
    
    class AspectRatioLabel : public QLabel
    {
    public:
        explicit AspectRatioLabel(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
        ~AspectRatioLabel();
    
    public slots:
        void setPixmap(const QPixmap& pm);
    
    protected:
        void resizeEvent(QResizeEvent* event) override;
    
    private:
        void updateMargins();
    
        int pixmapWidth = 0;
        int pixmapHeight = 0;
    };
    
    #include "AspectRatioLabel.h"
    
    AspectRatioLabel::AspectRatioLabel(QWidget* parent, Qt::WindowFlags f) : QLabel(parent, f)
    {
    }
    
    AspectRatioLabel::~AspectRatioLabel()
    {
    }
    
    void AspectRatioLabel::setPixmap(const QPixmap& pm)
    {
        pixmapWidth = pm.width();
        pixmapHeight = pm.height();
    
        updateMargins();
        QLabel::setPixmap(pm);
    }
    
    void AspectRatioLabel::resizeEvent(QResizeEvent* event)
    {
        updateMargins();
        QLabel::resizeEvent(event);
    }
    
    void AspectRatioLabel::updateMargins()
    {
        if (pixmapWidth <= 0 || pixmapHeight <= 0)
            return;
    
        int w = this->width();
        int h = this->height();
    
        if (w <= 0 || h <= 0)
            return;
    
        if (w * pixmapHeight > h * pixmapWidth)
        {
            int m = (w - (pixmapWidth * h / pixmapHeight)) / 2;
            setContentsMargins(m, 0, m, 0);
        }
        else
        {
            int m = (h - (pixmapHeight * w / pixmapWidth)) / 2;
            setContentsMargins(0, m, 0, m);
        }
    }
    

    Works perfectly for me so far. You're welcome.

    How to edit one specific row in Microsoft SQL Server Management Studio 2008?

    The menu location seems to have changed to:

    Query Designer --> Pane --> SQL

    Run an Ansible task only when the variable contains a specific string

    If variable1 is a string, and you are searching for a substring in it, this should work:

    when: '"value" in variable1'
    

    if variable1 is an array or dict instead, in will search for the exact string as one of its items.

    How do I PHP-unserialize a jQuery-serialized form?

    Simply do this

    $get = explode('&', $_POST['seri']); // explode with and
    
    foreach ($get as $key => $value) {
        $need[substr($value, 0 , strpos($value, '='))] =  substr(
            $value, 
            strpos( $value, '=' ) + 1 
        );
    }
    
    // access your query param name=ddd&email=aaaaa&username=wwwww&password=wwww&password=eeee
    var_dump($need['name']);
    

    Trigger css hover with JS

    If you bind events to the onmouseover and onmouseout events in Jquery, you can then trigger that effect using mouseenter().

    What are you trying to accomplish?

    How to calculate an angle from three points?

    In Objective-C you could do this by

    float xpoint = (((atan2((newPoint.x - oldPoint.x) , (newPoint.y - oldPoint.y)))*180)/M_PI);
    

    Or read more here

    How do you right-justify text in an HTML textbox?

    Using inline styles:

    <input type="text" style="text-align: right"/>
    

    or, put it in a style sheet, like so:

    <style>
       .rightJustified {
            text-align: right;
        }
    </style>
    

    and reference the class:

    <input type="text" class="rightJustified"/>
    

    Laravel - Route::resource vs Route::controller

    For route controller method we have to define only one route. In get or post method we have to define the route separately.

    And the resources method is used to creates multiple routes to handle a variety of Restful actions.

    Here the Laravel documentation about this.

    Simple pthread! C++

    This worked for me:

    #include <iostream>
    #include <pthread.h>
    using namespace std;
    
    void* print_message(void*) {
    
        cout << "Threading\n";
    }
    
    int main() {
    
        pthread_t t1;
    
        pthread_create(&t1, NULL, &print_message, NULL);
        cout << "Hello";
    
        // Optional.
        void* result;
        pthread_join(t1,&result);
        // :~
    
        return 0;
    }
    

    RegEx for validating an integer with a maximum length of 10 characters

    Don't forget that integers can be negative:

    ^\s*-?[0-9]{1,10}\s*$
    

    Here's the meaning of each part:

    • ^: Match must start at beginning of string
    • \s: Any whitespace character
      • *: Occurring zero or more times
    • -: The hyphen-minus character, used to denote a negative integer
      • ?: May or may not occur
    • [0-9]: Any character whose ASCII code (or Unicode code point) is between '0' and '9'
      • {1,10}: Occurring at least one, but not more than ten times
    • \s: Any whitespace character
      • *: Occurring zero or more times
    • $: Match must end at end of string

    This ignores leading and trailing whitespace and would be more complex if you consider commas acceptable or if you need to count the minus sign as one of the ten allowed characters.

    Select query to remove non-numeric characters

    You can create SQL CLR scalar function in order to be able to use regular expressions like replace patterns.

    Here you can find example of how to create such function.

    Having such function will solve the issue with just the following lines:

    SELECT [dbo].[fn_Utils_RegexReplace] ('AB ABCDE # 123', '[^0-9]', '');
    SELECT [dbo].[fn_Utils_RegexReplace] ('ABCDE# 123', '[^0-9]', '');
    SELECT [dbo].[fn_Utils_RegexReplace] ('AB: ABC# 123', '[^0-9]', '');
    

    More important, you will be able to solve more complex issues as the regular expressions will bring a whole new world of options directly in your T-SQL statements.

    How to send SMS in Java

    We also love Java in Wavecell, but this question can be answered without language-specific details since we have a REST API which will cover most of your needs:

    curl -X "POST" https://api.wavecell.com/sms/v1/amazing_hq/single \
        -u amazing:1234512345 \
        -H "Content-Type: application/json" \
        -d $'{ "source": "AmazingDev", "destination": "+6512345678", "text": "Hello, World!" }'
    

    Look at this questions if you have problems with sending HTTP requests in Java:

    For specific cases you can also consider using the SMPP API and already mentioned JSMPP library will help with that.

    How to Get Element By Class in JavaScript?

    jQuery handles this easy.

    let element = $(.myclass);
    element.html("Some string");
    

    It changes all the .myclass elements to that text.

    How can I know when an EditText loses focus?

    Kotlin way

    editText.setOnFocusChangeListener { _, hasFocus ->
        if (!hasFocus) {  }
    }
    

    Python pandas: fill a dataframe row by row

    If your input rows are lists rather than dictionaries, then the following is a simple solution:

    import pandas as pd
    list_of_lists = []
    list_of_lists.append([1,2,3])
    list_of_lists.append([4,5,6])
    
    pd.DataFrame(list_of_lists, columns=['A', 'B', 'C'])
    #    A  B  C
    # 0  1  2  3
    # 1  4  5  6
    

    You need to use a Theme.AppCompat theme (or descendant) with this activity

    I was getting this same problem. Because i was creating custom navigation drawer. But i forget to mention theme in my manifest like this

    android:theme="@style/Theme.AppCompat.NoActionBar"
    

    As soon i added the above the theme to my manifest it resolved the problem.

    Unable to execute dex: Multiple dex files define

    ULTRA simple solution and finest:

    Remove everything in Right Click Main Project's Folder -> Properties -> Java Build Path except Android X.Y (where X.Y is the version in android). Clean, and Build. Done!

    Make sure before of that to have a single android-support-v4.jar.

    Illegal access: this web application instance has been stopped already

    I suspect that this occurs after an attempt to undeploy your app. Do you ever kill off that thread that you've initialised during the init() process ? I would do this in the corresponding destroy() method.

    Convert js Array() to JSon object for use with JQuery .ajax

    When using the data on the server, your characters can reach with the addition of slashes eg if string = {"hello"} comes as string = {\ "hello \"} to solve the following function can be used later to use json decode.

    <?php
    function stripslashes_deep($value)
    {
        $value = is_array($value) ?
                    array_map('stripslashes_deep', $value) :
                    stripslashes($value);
    
        return $value;
    }
    
    $array = $_POST['jObject'];
    $array = stripslashes_deep($array);
    
    $data = json_decode($array, true);
    print_r($data);
    ?>
    

    Scatter plot and Color mapping in Python

    Here is an example

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.random.rand(100)
    y = np.random.rand(100)
    t = np.arange(100)
    
    plt.scatter(x, y, c=t)
    plt.show()
    

    Here you are setting the color based on the index, t, which is just an array of [1, 2, ..., 100]. enter image description here

    Perhaps an easier-to-understand example is the slightly simpler

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.arange(100)
    y = x
    t = x
    plt.scatter(x, y, c=t)
    plt.show()
    

    enter image description here

    Note that the array you pass as c doesn't need to have any particular order or type, i.e. it doesn't need to be sorted or integers as in these examples. The plotting routine will scale the colormap such that the minimum/maximum values in c correspond to the bottom/top of the colormap.

    Colormaps

    You can change the colormap by adding

    import matplotlib.cm as cm
    plt.scatter(x, y, c=t, cmap=cm.cmap_name)
    

    Importing matplotlib.cm is optional as you can call colormaps as cmap="cmap_name" just as well. There is a reference page of colormaps showing what each looks like. Also know that you can reverse a colormap by simply calling it as cmap_name_r. So either

    plt.scatter(x, y, c=t, cmap=cm.cmap_name_r)
    # or
    plt.scatter(x, y, c=t, cmap="cmap_name_r")
    

    will work. Examples are "jet_r" or cm.plasma_r. Here's an example with the new 1.5 colormap viridis:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.arange(100)
    y = x
    t = x
    fig, (ax1, ax2) = plt.subplots(1, 2)
    ax1.scatter(x, y, c=t, cmap='viridis')
    ax2.scatter(x, y, c=t, cmap='viridis_r')
    plt.show()
    

    enter image description here

    Colorbars

    You can add a colorbar by using

    plt.scatter(x, y, c=t, cmap='viridis')
    plt.colorbar()
    plt.show()
    

    enter image description here

    Note that if you are using figures and subplots explicitly (e.g. fig, ax = plt.subplots() or ax = fig.add_subplot(111)), adding a colorbar can be a bit more involved. Good examples can be found here for a single subplot colorbar and here for 2 subplots 1 colorbar.

    Creating CSS Global Variables : Stylesheet theme management

    You will either need LESS or SASS for the same..

    But here is another alternative which I believe will work out in CSS3..

    http://css3.bradshawenterprises.com/blog/css-variables/

    Example :

     :root {
        -webkit-var-beautifulColor: rgba(255,40,100, 0.8);
        -moz-var-beautifulColor: rgba(255,40,100, 0.8);
        -ms-var-beautifulColor: rgba(255,40,100, 0.8);
        -o-var-beautifulColor: rgba(255,40,100, 0.8);
        var-beautifulColor: rgba(255,40,100, 0.8);
     }
      .example1 h1 {
        color: -webkit-var(beautifulColor);
        color: -moz-var(beautifulColor);
        color: -ms-var(beautifulColor);
        color: -o-var(beautifulColor);
        color: var(beautifulColor);
     }
    

    fatal: Not a valid object name: 'master'

    You need to commit at least one time on master before creating a new branch.

    How to insert a new key value pair in array in php?

    Try this:

    foreach($array as $k => $obj) { 
        $obj->{'newKey'} = "value"; 
    }
    

    boundingRectWithSize for NSAttributedString returning wrong size

    textView.textContainerInset = UIEdgeInsetsZero;
    NSString *string = @"Some string";
    NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:12.0f], NSForegroundColorAttributeName:[UIColor blackColor]};
    NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:string attributes:attributes];
    [textView setAttributedText:attributedString];
    CGRect textViewFrame = [textView.attributedText boundingRectWithSize:CGSizeMake(CGRectGetWidth(self.view.frame)-8.0f, 9999.0f) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) context:nil];
    NSLog(@"%f", ceilf(textViewFrame.size.height));
    

    Works on all fonts perfectly!

    How to use a class from one C# project with another C# project

    Say your class in project 2 is called MyClass.

    Obviously, first reference your project 2 under references in project 1 then

    using namespaceOfProject2;
    
    // for the class calling bit:
    
    namespaceOfProject2.MyClass project2Class = new namespaceOfProject2.MyClass();
    

    so whenever you want to reference that class you type project2Class. Plus make sure that class is public too.

    How do I initialize a dictionary of empty lists in Python?

    Passing [] as second argument to dict.fromkeys() gives a rather useless result – all values in the dictionary will be the same list object.

    In Python 2.7 or above, you can use a dicitonary comprehension instead:

    data = {k: [] for k in range(2)}
    

    In earlier versions of Python, you can use

    data = dict((k, []) for k in range(2))
    

    Palindrome check in Javascript

    recursion only index compare:

    const isPalindrome = (str, start = 0, end = str.length - 1) => {
        if (start >= end) {
            return true;
        }
    
        if (str[start] === str[end]) {
            return isPalindrome(str, start + 1, end - 1);
        }
    
        return false;
    };
    
    

    How to copy a file to another path?

    Yes. It will work: FileInfo.CopyTo Method

    Use this method to allow or prevent overwriting of an existing file. Use the CopyTo method to prevent overwriting of an existing file by default.

    All other responses are correct, but since you asked for FileInfo, here's a sample:

    FileInfo fi = new FileInfo(@"c:\yourfile.ext");
    fi.CopyTo(@"d:\anotherfile.ext", true); // existing file will be overwritten
    

    Read data from a text file using Java

    public class FilesStrings {
    
    public static void main(String[] args) throws FileNotFoundException, IOException {
        FileInputStream fis = new FileInputStream("input.txt");
        InputStreamReader input = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(input);
        String data;
        String result = new String();
    
        while ((data = br.readLine()) != null) {
            result = result.concat(data + " ");
        }
    
        System.out.println(result);
    

    Android Studio: /dev/kvm device permission denied

    I am using ubuntu 18.04. I was facing the same problem. I run this piece of command in terminal and problem is resolved.

    sudo chown $USER /dev/kvm
    

    the above command is for all the user present in your system.

    If you want to give access to only a specific user then run this command

    sudo chown UserNameHere /dev/kvm
    

    Unable to specify the compiler with CMake

    I had similar problem as Pietro,

    I am on Window 10 and using "Git Bash". I tried to execute >>cmake -G "MinGW Makefiles", but I got the same error as Pietro.

    Then, I tried >>cmake -G "MSYS Makefiles", but realized that I need to set my environment correctly.

    Make sure set a path to C:\MinGW\msys\1.0\bin and check if you have gcc.exe there. If gcc.exe is not there then you have to run C:/MinGW/bin/mingw-get.exe and install gcc from MSYS.

    After that it works fine for me

    How to place two divs next to each other?

    In material UI and react.js you can use the grid

    <Grid
      container
      direction="row"
      justify="center"
      alignItems="center"
    >
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
        <Grid item xs>
          <Paper className={classes.paper}>xs</Paper>
        </Grid>
    
    </Grid>
    

    XPath test if node value is number

    I'm not trying to provide a yet another alternative solution, but a "meta view" to this problem.

    Answers already provided by Oded and Dimitre Novatchev are correct but what people really might mean with phrase "value is a number" is, how would I say it, open to interpretation.

    In a way it all comes to this bizarre sounding question: "how do you want to express your numeric values?"

    XPath function number() processes numbers that have

    • possible leading or trailing whitespace
    • preceding sign character only on negative values
    • dot as an decimal separator (optional for integers)
    • all other characters from range [0-9]

    Note that this doesn't include expressions for numerical values that

    • are expressed in exponential form (e.g. 12.3E45)
    • may contain sign character for positive values
    • have a distinction between positive and negative zero
    • include value for positive or negative infinity

    These are not just made up criteria. An element with content that is according to schema a valid xs:float value might contain any of the above mentioned characteristics. Yet number() would return value NaN.

    So answer to your question "How i can check with XPath if a node value is number?" is either "Use already mentioned solutions using number()" or "with a single XPath 1.0 expression, you can't". Think about the possible number formats you might encounter, and if needed, write some kind of logic for validation/number parsing. Within XSLT processing, this can be done with few suitable extra templates, for example.

    PS. If you only care about non-zero numbers, the shortest test is

    <xsl:if test="number(myNode)">
        <!-- myNode is a non-zero number -->
    </xsl:if>
    

    Reading/Writing a MS Word file in PHP

    Source gotten from

    Use following class directly to read word document

    class DocxConversion{
        private $filename;
    
        public function __construct($filePath) {
            $this->filename = $filePath;
        }
    
        private function read_doc() {
            $fileHandle = fopen($this->filename, "r");
            $line = @fread($fileHandle, filesize($this->filename));   
            $lines = explode(chr(0x0D),$line);
            $outtext = "";
            foreach($lines as $thisline)
              {
                $pos = strpos($thisline, chr(0x00));
                if (($pos !== FALSE)||(strlen($thisline)==0))
                  {
                  } else {
                    $outtext .= $thisline." ";
                  }
              }
             $outtext = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)]/","",$outtext);
            return $outtext;
        }
    
        private function read_docx(){
    
            $striped_content = '';
            $content = '';
    
            $zip = zip_open($this->filename);
    
            if (!$zip || is_numeric($zip)) return false;
    
            while ($zip_entry = zip_read($zip)) {
    
                if (zip_entry_open($zip, $zip_entry) == FALSE) continue;
    
                if (zip_entry_name($zip_entry) != "word/document.xml") continue;
    
                $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
    
                zip_entry_close($zip_entry);
            }// end while
    
            zip_close($zip);
    
            $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content);
            $content = str_replace('</w:r></w:p>', "\r\n", $content);
            $striped_content = strip_tags($content);
    
            return $striped_content;
        }
    
     /************************excel sheet************************************/
    
    function xlsx_to_text($input_file){
        $xml_filename = "xl/sharedStrings.xml"; //content file name
        $zip_handle = new ZipArchive;
        $output_text = "";
        if(true === $zip_handle->open($input_file)){
            if(($xml_index = $zip_handle->locateName($xml_filename)) !== false){
                $xml_datas = $zip_handle->getFromIndex($xml_index);
                $xml_handle = DOMDocument::loadXML($xml_datas, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
                $output_text = strip_tags($xml_handle->saveXML());
            }else{
                $output_text .="";
            }
            $zip_handle->close();
        }else{
        $output_text .="";
        }
        return $output_text;
    }
    
    /*************************power point files*****************************/
    function pptx_to_text($input_file){
        $zip_handle = new ZipArchive;
        $output_text = "";
        if(true === $zip_handle->open($input_file)){
            $slide_number = 1; //loop through slide files
            while(($xml_index = $zip_handle->locateName("ppt/slides/slide".$slide_number.".xml")) !== false){
                $xml_datas = $zip_handle->getFromIndex($xml_index);
                $xml_handle = DOMDocument::loadXML($xml_datas, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
                $output_text .= strip_tags($xml_handle->saveXML());
                $slide_number++;
            }
            if($slide_number == 1){
                $output_text .="";
            }
            $zip_handle->close();
        }else{
        $output_text .="";
        }
        return $output_text;
    }
    
    
        public function convertToText() {
    
            if(isset($this->filename) && !file_exists($this->filename)) {
                return "File Not exists";
            }
    
            $fileArray = pathinfo($this->filename);
            $file_ext  = $fileArray['extension'];
            if($file_ext == "doc" || $file_ext == "docx" || $file_ext == "xlsx" || $file_ext == "pptx")
            {
                if($file_ext == "doc") {
                    return $this->read_doc();
                } elseif($file_ext == "docx") {
                    return $this->read_docx();
                } elseif($file_ext == "xlsx") {
                    return $this->xlsx_to_text();
                }elseif($file_ext == "pptx") {
                    return $this->pptx_to_text();
                }
            } else {
                return "Invalid File Type";
            }
        }
    
    }
    
    $docObj = new DocxConversion("test.docx"); //replace your document name with correct extension doc or docx 
    echo $docText= $docObj->convertToText();
    

    Refresh a page using JavaScript or HTML

    You can also use

    <input type="button" value = "Refresh" onclick="history.go(0)" />
    

    It works fine for me.

    Creating an array of objects in Java

    The genaral form to declare a new array in java is as follows:

    type arrayName[] = new type[numberOfElements];

    Where type is a primitive type or Object. numberOfElements is the number of elements you will store into the array and this value can’t change because Java does not support dynamic arrays (if you need a flexible and dynamic structure for holding objects you may want to use some of the Java collections).

    Lets initialize an array to store the salaries of all employees in a small company of 5 people:

    int salaries[] = new int[5];

    The type of the array (in this case int) applies to all values in the array. You can not mix types in one array.

    Now that we have our salaries array initialized we want to put some values into it. We can do this either during the initialization like this:

    int salaries[] = {50000, 75340, 110500, 98270, 39400};

    Or to do it at a later point like this:

    salaries[0] = 50000;
    salaries[1] = 75340;
    salaries[2] = 110500;
    salaries[3] = 98270;
    salaries[4] = 39400;
    

    More visual example of array creation: enter image description here

    To learn more about Arrays, check out the guide.

    Update multiple rows with different values in a single SQL query

    Something like this might work for you:

    "UPDATE myTable SET ... ;
     UPDATE myTable SET ... ;
     UPDATE myTable SET ... ;
     UPDATE myTable SET ... ;"
    

    If any of the posX or posY values are the same, then they could be combined into one query

    UPDATE myTable SET posX='39' WHERE id IN('2','3','40');
    

    How to list containers in Docker

    docker ps -s will show the size of running containers only.

    To check the size of all containers use docker ps -as

    How to stop BackgroundWorker correctly

    MY example . DoWork is below:

        DoLengthyWork();
    
        //this is never executed
        if(bgWorker.CancellationPending)
        {
            MessageBox.Show("Up to here? ...");
            e.Cancel = true;
        }
    

    inside DoLenghtyWork :

    public void DoLenghtyWork()
    {
        OtherStuff();
        for(int i=0 ; i<10000000; i++) 
        {  int j = i/3; }
    }
    

    inside OtherStuff() :

    public void OtherStuff()
    {
        for(int i=0 ; i<10000000; i++) 
        {  int j = i/3; }
    }
    

    What you want to do is modify both DoLenghtyWork and OtherStuff() so that they become:

    public void DoLenghtyWork()
    {
        if(!bgWorker.CancellationPending)
        {              
            OtherStuff();
            for(int i=0 ; i<10000000; i++) 
            {  
                 int j = i/3; 
            }
        }
    }
    
    public void OtherStuff()
    {
        if(!bgWorker.CancellationPending)
        {  
            for(int i=0 ; i<10000000; i++) 
            {  
                int j = i/3; 
            }
        }
    }
    

    Dynamically change bootstrap progress bar value when checkboxes checked

    Try this maybe :

    Bootply : http://www.bootply.com/106527

    Js :

    $('input').on('click', function(){
      var valeur = 0;
      $('input:checked').each(function(){
           if ( $(this).attr('value') > valeur )
           {
               valeur =  $(this).attr('value');
           }
      });
      $('.progress-bar').css('width', valeur+'%').attr('aria-valuenow', valeur);    
    });
    

    HTML :

     <div class="progress progress-striped active">
            <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">
            </div>
        </div>
    <div class="row tasks">
            <div class="col-md-6">
              <p><span>Identify your campaign audience.</span>Who are we talking to here? Understand your buyer persona before launching into a campaign, so you can target them correctly.</p>
            </div>
            <div class="col-md-2">
              <label>2014-01-29</label>
            </div>
            <div class="col-md-2">
              <input name="progress" class="progress" type="checkbox" value="10">
            </div>
            <div class="col-md-2">
              <input name="done" class="done" type="checkbox" value="20">
            </div>
          </div><!-- tasks -->
    
    <div class="row tasks">
            <div class="col-md-6">
              <p><span>Set your goals + benchmarks</span>Having SMART goals can help you be
    sure that you’ll have tangible results to share with the world (or your
    boss) at the end of your campaign.</p>
            </div>
            <div class="col-md-2">
              <label>2014-01-25</label>
            </div>
            <div class="col-md-2">
              <input name="progress" class="progress" type="checkbox" value="30">
            </div>
            <div class="col-md-2">
              <input name="done" class="done" type="checkbox" value="40">
            </div>
          </div><!-- tasks -->
    

    Css

    .tasks{
        background-color: #F6F8F8;
        padding: 10px;
        border-radius: 5px;
        margin-top: 10px;
    }
    .tasks span{
        font-weight: bold;
    }
    .tasks input{
        display: block;
        margin: 0 auto;
        margin-top: 10px;
    }
    .tasks a{
        color: #000;
        text-decoration: none;
        border:none;
    }
    .tasks a:hover{
        border-bottom: dashed 1px #0088cc;
    }
    .tasks label{
        display: block;
        text-align: center;
    }
    

    _x000D_
    _x000D_
    $(function(){_x000D_
    $('input').on('click', function(){_x000D_
      var valeur = 0;_x000D_
      $('input:checked').each(function(){_x000D_
           if ( $(this).attr('value') > valeur )_x000D_
           {_x000D_
               valeur =  $(this).attr('value');_x000D_
           }_x000D_
      });_x000D_
      $('.progress-bar').css('width', valeur+'%').attr('aria-valuenow', valeur);    _x000D_
    });_x000D_
    _x000D_
    });
    _x000D_
    .tasks{_x000D_
     background-color: #F6F8F8;_x000D_
     padding: 10px;_x000D_
     border-radius: 5px;_x000D_
     margin-top: 10px;_x000D_
    }_x000D_
    .tasks span{_x000D_
     font-weight: bold;_x000D_
    }_x000D_
    .tasks input{_x000D_
     display: block;_x000D_
     margin: 0 auto;_x000D_
     margin-top: 10px;_x000D_
    }_x000D_
    .tasks a{_x000D_
     color: #000;_x000D_
     text-decoration: none;_x000D_
     border:none;_x000D_
    }_x000D_
    .tasks a:hover{_x000D_
     border-bottom: dashed 1px #0088cc;_x000D_
    }_x000D_
    .tasks label{_x000D_
     display: block;_x000D_
     text-align: center;_x000D_
    }
    _x000D_
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>_x000D_
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>_x000D_
    _x000D_
     <div class="progress progress-striped active">_x000D_
            <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">_x000D_
            </div>_x000D_
        </div>_x000D_
    <div class="row tasks">_x000D_
            <div class="col-md-6">_x000D_
              <p><span>Identify your campaign audience.</span>Who are we talking to here? Understand your buyer persona before launching into a campaign, so you can target them correctly.</p>_x000D_
            </div>_x000D_
            <div class="col-md-2">_x000D_
              <label>2014-01-29</label>_x000D_
            </div>_x000D_
            <div class="col-md-2">_x000D_
              <input name="progress" class="progress" type="checkbox" value="10">_x000D_
            </div>_x000D_
            <div class="col-md-2">_x000D_
              <input name="done" class="done" type="checkbox" value="20">_x000D_
            </div>_x000D_
          </div><!-- tasks -->_x000D_
    _x000D_
    <div class="row tasks">_x000D_
            <div class="col-md-6">_x000D_
              <p><span>Set your goals + benchmarks</span>Having SMART goals can help you be_x000D_
    sure that you’ll have tangible results to share with the world (or your_x000D_
    boss) at the end of your campaign.</p>_x000D_
            </div>_x000D_
            <div class="col-md-2">_x000D_
              <label>2014-01-25</label>_x000D_
            </div>_x000D_
            <div class="col-md-2">_x000D_
              <input name="progress" class="progress" type="checkbox" value="30">_x000D_
            </div>_x000D_
            <div class="col-md-2">_x000D_
              <input name="done" class="done" type="checkbox" value="40">_x000D_
            </div>_x000D_
          </div><!-- tasks -->
    _x000D_
    _x000D_
    _x000D_

    Creating a copy of a database in PostgreSQL

    PostgreSQL 9.1.2:

    $ CREATEDB new_db_name -T orig_db_name -O db_user;
    

    How to sort a list/tuple of lists/tuples by the element at a given index?

    In order to sort a list of tuples (<word>, <count>), for count in descending order and word in alphabetical order:

    data = [
    ('betty', 1),
    ('bought', 1),
    ('a', 1),
    ('bit', 1),
    ('of', 1),
    ('butter', 2),
    ('but', 1),
    ('the', 1),
    ('was', 1),
    ('bitter', 1)]
    

    I use this method:

    sorted(data, key=lambda tup:(-tup[1], tup[0]))
    

    and it gives me the result:

    [('butter', 2),
    ('a', 1),
    ('betty', 1),
    ('bit', 1),
    ('bitter', 1),
    ('bought', 1),
    ('but', 1),
    ('of', 1),
    ('the', 1),
    ('was', 1)]
    

    Spring Boot and multiple external configuration files

    Take a look at the PropertyPlaceholderConfigurer, I find it clearer to use than annotation.

    e.g.

    @Configuration
    public class PropertiesConfiguration {
    
    
        @Bean
        public PropertyPlaceholderConfigurer properties() {
            final PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
    //        ppc.setIgnoreUnresolvablePlaceholders(true);
            ppc.setIgnoreResourceNotFound(true);
    
            final List<Resource> resourceLst = new ArrayList<Resource>();
    
            resourceLst.add(new ClassPathResource("myapp_base.properties"));
            resourceLst.add(new FileSystemResource("/etc/myapp/overriding.propertie"));
            resourceLst.add(new ClassPathResource("myapp_test.properties"));
            resourceLst.add(new ClassPathResource("myapp_developer_overrides.properties")); // for Developer debugging.
    
            ppc.setLocations(resourceLst.toArray(new Resource[]{}));
    
            return ppc;
        }
    

    Using textures in THREE.js

    Without Error Handeling

    //Load background texture
     new THREE.TextureLoader();
    loader.load('https://images.pexels.com/photos/1205301/pexels-photo-1205301.jpeg' , function(texture)
                {
                 scene.background = texture;  
                });
    

    With Error Handling

    // Function called when download progresses
    var onProgress = function (xhr) {
      console.log((xhr.loaded / xhr.total * 100) + '% loaded');
    };
    
    // Function called when download errors
    var onError = function (error) {
      console.log('An error happened'+error);
    };
    
    //Function  called when load completes.
    var onLoad = function (texture) {
      var objGeometry = new THREE.BoxGeometry(30, 30, 30);
      var objMaterial = new THREE.MeshPhongMaterial({
        map: texture,
        shading: THREE.FlatShading
      });
    
      var boxMesh = new THREE.Mesh(objGeometry, objMaterial);
      scene.add(boxMesh);
    
      var render = function () {
        requestAnimationFrame(render);
        boxMesh.rotation.x += 0.010;
        boxMesh.rotation.y += 0.010;
          sphereMesh.rotation.y += 0.1;
        renderer.render(scene, camera);
      };
    
      render();
    }
    
    
    //LOAD TEXTURE and on completion apply it on box
    var loader = new THREE.TextureLoader();
        loader.load('https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/1920px-The_Earth_seen_from_Apollo_17.jpg', 
                    onLoad, 
                    onProgress, 
                    onError);
    

    Result:

    enter image description here

    https://codepen.io/hiteshsahu/pen/jpGLpq/

    How to delete an array element based on key?

    this looks like PHP to me. I'll delete if it's some other language.

    Simply unset($arr[1]);

    How to get text box value in JavaScript

    If it is in a form then it would be:

    <form name="jojo">
    <input name="jobtitle">
    </form>
    

    Then you would say in javascript:

    var val= document.jojo.jobtitle.value
    
    document.formname.elementname
    

    Client to send SOAP request and receive response

    I got this simple solution here:

    Sending SOAP request and receiving response in .NET 4.0 C# without using the WSDL or proxy classes:

    class Program
        {
            /// <summary>
            /// Execute a Soap WebService call
            /// </summary>
            public static void Execute()
            {
                HttpWebRequest request = CreateWebRequest();
                XmlDocument soapEnvelopeXml = new XmlDocument();
                soapEnvelopeXml.LoadXml(@"<?xml version=""1.0"" encoding=""utf-8""?>
                    <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">
                      <soap:Body>
                        <HelloWorld xmlns=""http://tempuri.org/"" />
                      </soap:Body>
                    </soap:Envelope>");
    
                using (Stream stream = request.GetRequestStream())
                {
                    soapEnvelopeXml.Save(stream);
                }
    
                using (WebResponse response = request.GetResponse())
                {
                    using (StreamReader rd = new StreamReader(response.GetResponseStream()))
                    {
                        string soapResult = rd.ReadToEnd();
                        Console.WriteLine(soapResult);
                    }
                }
            }
            /// <summary>
            /// Create a soap webrequest to [Url]
            /// </summary>
            /// <returns></returns>
            public static HttpWebRequest CreateWebRequest()
            {
                HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(@"http://localhost:56405/WebService1.asmx?op=HelloWorld");
                webRequest.Headers.Add(@"SOAP:Action");
                webRequest.ContentType = "text/xml;charset=\"utf-8\"";
                webRequest.Accept = "text/xml";
                webRequest.Method = "POST";
                return webRequest;
            }
    
            static void Main(string[] args)
            {
                Execute();
            }
        }
    

    How do I deal with certificates using cURL while trying to access an HTTPS url?

    It seems your curl points to a non-existing file with CA certs or similar.

    For the primary reference on CA certs with curl, see: https://curl.haxx.se/docs/sslcerts.html

    How to check if $_GET is empty?

    Easy.

    if (empty($_GET)) {
        // $_GET is empty
    }
    

    Blue and Purple Default links, how to remove?

    By default link color is blue and the visited color is purple. Also, the text-decoration is underlined and the color is blue. If you want to keep the same color for visited, hover and focus then follow below code-

    For example color is: #000

    a:visited, a:hover, a:focus {
        text-decoration: none;
        color: #000;
    }
    

    If you want to use a different color for hover, visited and focus. For example Hover color: red visited color: green and focus color: yellow then follow below code

       a:hover {
            color: red;
        }
        a:visited {
            color: green;
        }
        a:focus {
            color: yellow;
        }
    

    NB: good practice is to use color code.

    How can I flush GPU memory using CUDA (physical reset is unavailable)

    for the ones using python:

    import torch, gc
    gc.collect()
    torch.cuda.empty_cache()
    

    Testing if a checkbox is checked with jQuery

    If you want integer value of checked or not, try:

    $("#ans:checked").length
    

    Passing data between different controller action methods

    HTTP and redirects

    Let's first recap how ASP.NET MVC works:

    1. When an HTTP request comes in, it is matched against a set of routes. If a route matches the request, the controller action corresponding to the route will be invoked.
    2. Before invoking the action method, ASP.NET MVC performs model binding. Model binding is the process of mapping the content of the HTTP request, which is basically just text, to the strongly typed arguments of your action method

    Let's also remind ourselves what a redirect is:

    An HTTP redirect is a response that the webserver can send to the client, telling the client to look for the requested content under a different URL. The new URL is contained in a Location header that the webserver returns to the client. In ASP.NET MVC, you do an HTTP redirect by returning a RedirectResult from an action.

    Passing data

    If you were just passing simple values like strings and/or integers, you could pass them as query parameters in the URL in the Location header. This is what would happen if you used something like

    return RedirectToAction("ActionName", "Controller", new { arg = updatedResultsDocument });
    

    as others have suggested

    The reason that this will not work is that the XDocument is a potentially very complex object. There is no straightforward way for the ASP.NET MVC framework to serialize the document into something that will fit in a URL and then model bind from the URL value back to your XDocument action parameter.

    In general, passing the document to the client in order for the client to pass it back to the server on the next request, is a very brittle procedure: it would require all sorts of serialisation and deserialisation and all sorts of things could go wrong. If the document is large, it might also be a substantial waste of bandwidth and might severely impact the performance of your application.

    Instead, what you want to do is keep the document around on the server and pass an identifier back to the client. The client then passes the identifier along with the next request and the server retrieves the document using this identifier.

    Storing data for retrieval on the next request

    So, the question now becomes, where does the server store the document in the meantime? Well, that is for you to decide and the best choice will depend upon your particular scenario. If this document needs to be available in the long run, you may want to store it on disk or in a database. If it contains only transient information, keeping it in the webserver's memory, in the ASP.NET cache or the Session (or TempData, which is more or less the same as the Session in the end) may be the right solution. Either way, you store the document under a key that will allow you to retrieve the document later:

    int documentId = _myDocumentRepository.Save(updatedResultsDocument);
    

    and then you return that key to the client:

    return RedirectToAction("UpdateConfirmation", "ApplicationPoolController ", new { id = documentId });
    

    When you want to retrieve the document, you simply fetch it based on the key:

     public ActionResult UpdateConfirmation(int id)
     {
          XDocument doc = _myDocumentRepository.GetById(id);
    
          ConfirmationModel model = new ConfirmationModel(doc);
    
          return View(model);
     }
    

    Difference between Constructor and ngOnInit

    The constructor is a method in JavaScript and is considered as a feature of the class in es6 .When the class is instantiated it immediately runs the constructor whether it is used in Angular framework or not.So it is called by JavaScript engine and Angular has no control on that.

    import {Component} from '@angular/core';
    @Component({})
    class CONSTRUCTORTEST {
    
    //This is called by Javascript not the Angular.
         constructor(){
            console.log("view constructor initialised");
         }
    }
    

    The "ConstructorTest" class is instantiated below;So it internally calls the constructor(All these happens by JavaScript(es6) no Angular).

    new CONSTRUCTORTEST();
    

    That is why there is ngOnInit lifecycle hook in Angular.ngOnInit renders when Angular has finished initialising the component.

    import {Component} from '@angular/core';
    @Component({})
    class NGONINITTEST implements onInit{
       constructor(){}
       //ngOnInit calls by Angular
       ngOnInit(){
         console.log("Testing ngOnInit");
       }
    }
    

    First we instantiate the class as below which happen to immediate runs of constructor method.

    let instance = new NGONINITTEST();
    

    ngOnInit is called by Angular when necessary as below:

    instance.ngOnInit();
    

    But you may ask why we are using constructor in Angular?

    The answer is dependencies injections.As it is mentioned before, constructor calls by JavaScript engine immediately when the class is instantiated (before calling ngOnInit by Angular), so typescript helps us to get the type of the dependencies are defined in the constructor and finally tells Angular what type of dependencies we want to use in that specific component.

    How to get PID by process name?

    you can also use pgrep, in prgep you can also give pattern for match

    import subprocess
    child = subprocess.Popen(['pgrep','program_name'], stdout=subprocess.PIPE, shell=True)
    result = child.communicate()[0]
    

    you can also use awk with ps like this

    ps aux | awk '/name/{print $2}'
    

    Not showing placeholder for input type="date" field

    try my solution. I use 'required' attribute to get know whether input is filled and if not I show the text from attribute 'placeholder'

    //HTML
    <input required placeholder="Date" class="textbox-n" type="date" id="date">
    
    //CSS
    input[type="date"]:not(:valid):before {
       content: attr(placeholder);
       // style it like it real placeholder
    }
    

    How to view table contents in Mysql Workbench GUI?

    All the answers above are great. Only one thing is missing, be sure to drag the grey buttons to see the table (step number 2):

    enter image description here

    How to resize array in C++?

    The size of an array is static in C++. You cannot dynamically resize it. That's what std::vector is for:

    std::vector<int> v; // size of the vector starts at 0
    
    v.push_back(10); // v now has 1 element
    v.push_back(20); // v now has 2 elements
    v.push_back(30); // v now has 3 elements
    
    v.pop_back(); // removes the 30 and resizes v to 2
    
    v.resize(v.size() - 1); // resizes v to 1
    

    Alternative to a goto statement in Java

    Java doesn't have goto, because it makes the code unstructured and unclear to read. However, you can use break and continue as civilized form of goto without its problems.


    Jumping forward using break -

    ahead: {
        System.out.println("Before break");
        break ahead;
        System.out.println("After Break"); // This won't execute
    }
    // After a line break ahead, the code flow starts from here, after the ahead block
    System.out.println("After ahead");
    

    Output:

    Before Break
    After ahead
    

    Jumping backward using continue

    before: {
        System.out.println("Continue");
        continue before;
    }
    

    This will result in an infinite loop as every time the line continue before is executed, the code flow will start again from before.

    How to pass props to {this.props.children}

    Some reason React.children was not working for me. This is what worked for me.

    I wanted to just add a class to the child. similar to changing a prop

     var newChildren = this.props.children.map((child) => {
     const className = "MenuTooltip-item " + child.props.className;
        return React.cloneElement(child, { className });
     });
    
     return <div>{newChildren}</div>;
    

    The trick here is the React.cloneElement. You can pass any prop in a similar manner

    What does request.getParameter return?

    Both if (one.length() > 0) {} and if (!"".equals(one)) {} will check against an empty foo parameter, and an empty parameter is what you'd get if the the form is submitted with no value in the foo text field.

    If there's any chance you can use the Expression Language to handle the parameter, you could access it with empty param.foo in an expression.

    <c:if test='${not empty param.foo}'>
        This page code gets rendered.
    </c:if>
    

    How to dynamically build a JSON object with Python?

    There is already a solution provided which allows building a dictionary, (or nested dictionary for more complex data), but if you wish to build an object, then perhaps try 'ObjDict'. This gives much more control over the json to be created, for example retaining order, and allows building as an object which may be a preferred representation of your concept.

    pip install objdict first.

    from objdict import ObjDict
    
    data = ObjDict()
    data.key = 'value'
    json_data = data.dumps()
    

    How to split a string content into an array of strings in PowerShell?

    Remove the spaces from the original string and split on semicolon

    $address = "[email protected]; [email protected]; [email protected]"
    $addresses = $address.replace(' ','').split(';')
    

    Or all in one line:

    $addresses = "[email protected]; [email protected]; [email protected]".replace(' ','').split(';')
    

    $addresses becomes:

    @('[email protected]','[email protected]','[email protected]')
    

    Installing pip packages to $HOME folder

    You can specify the -t option (--target) to specify the destination directory. See pip install --help for detailed information. This is the command you need:

    pip install -t path_to_your_home package-name
    

    for example, for installing say mxnet, in my $HOME directory, I type:

    pip install -t /home/foivos/ mxnet
    

    Can't resolve module (not found) in React.js

    I had a similar issue.

    Cause:

    import HomeComponent from "components/HomeComponent";
    

    Solution:

    import HomeComponent from "./components/HomeComponent";
    

    NOTE: ./ was before components. You can read @Zac Kwan's post above on how to use import

    FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

    if your JVM Cli is: -agentlib:jdwp=transport=dt_socket,address=60000,server=n,suspend=n and JDK version is 7, change "server=n" to "server=y" will be OK.

    How to pass a callback as a parameter into another function

    You can use JavaScript CallBak like this:

    var a;
    
    function function1(callback) {
     console.log("First comeplete");
     a = "Some value";
     callback();
    }
    function function2(){
     console.log("Second comeplete:", a);
    }
    
    
    function1(function2);
    

    Or Java Script Promise:

    let promise = new Promise(function(resolve, reject) { 
      // do function1 job
      let a = "Your assign value"
      resolve(a);
    });
    
    promise.then(             
    
    function(a) {
     // do function2 job with function1 return value;
     console.log("Second comeplete:", a);
    },
    function(error) { 
     console.log("Error found");
    });
    

    Set the absolute position of a view

    Just to add to Andy Zhang's answer above, if you want to, you can give param to rl.addView, then make changes to it later, so:

    params = new RelativeLayout.LayoutParams(30, 40);
    params.leftMargin = 50;
    params.topMargin = 60;
    rl.addView(iv, params);
    

    Could equally well be written as:

    params = new RelativeLayout.LayoutParams(30, 40);
    rl.addView(iv, params);
    params.leftMargin = 50;
    params.topMargin = 60;
    

    So if you retain the params variable, you can change the layout of iv at any time after adding it to rl.

    Google Geocoding API - REQUEST_DENIED

    Google is returning a very useful error message, which helps to correct the issue!

    Dim Request         As New XMLHTTP30
    Dim Results         As New DOMDocument30
    Dim StatusNode      As IXMLDOMNode
    Request.Open "GET", "https://maps.googleapis.com/maps/api/geocode/xml?" _
      & "&address=xxx", False
    Request.Send
    Results.LoadXML Request.responseText
    Set StatusNode = Results.SelectSingleNode("//status")
    Select Case UCase(StatusNode.Text)
        Case "REQUEST_DENIED"
              Debug.Print StatusNode.NextSibling.nodeTypedValue
        ... 
    

    Error Message Examples

    Message 1: Requests to this API must be over SSL. Load the API with "https://" instead of "http://".

    Message 2: Server denied the request: You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please ...

    hibernate could not get next sequence value

    I seem to recall having to use @GeneratedValue(strategy = GenerationType.IDENTITY) to get Hibernate to use 'serial' columns on PostgreSQL.

    Replace image src location using CSS

    You can use a background image

    _x000D_
    _x000D_
    .application-title img {_x000D_
      width:200px;_x000D_
      height:200px;_x000D_
      box-sizing:border-box;_x000D_
      padding-left: 200px;_x000D_
      /*width of the image*/_x000D_
      background: url(http://lorempixel.com/200/200/city/2) left top no-repeat;_x000D_
    }
    _x000D_
    <div class="application-title">_x000D_
      <img src="http://lorempixel.com/200/200/city/1/">_x000D_
    </div><br />_x000D_
    Original Image: <br />_x000D_
    _x000D_
    <img src="http://lorempixel.com/200/200/city/1/">
    _x000D_
    _x000D_
    _x000D_

    Python regex to match dates

    As the question title asks for a regex that finds many dates, I would like to propose a new solution, although there are many solutions already.

    In order to find all dates of a string that are in this millennium (2000 - 2999), for me it worked the following:

    dates = re.findall('([1-9]|1[0-9]|2[0-9]|3[0-1]|0[0-9])(.|-|\/)([1-9]|1[0-2]|0[0-9])(.|-|\/)(20[0-9][0-9])',dates_ele)
    
    dates = [''.join(dates[i]) for i in range(len(dates))]
    

    This regex is able to find multiple dates in the same string, like bla Bla 8.05/2020 \n BLAH bla15/05-2020 blaa. As one could observe, instead of / the date can have . or -, not necessary at the same time.

    Some explaining

    More specifically it can find dates of format day , moth year. Day is an one digit integer or a zero followed by one digit integer or 1 or 2 followed by an one digit integer or a 3 followed by 0 or 1. Month is an one digit integer or a zero followed by one digit integer or 1 followed by 0, 1, or 2. Year is the number 20 followed by any number between 00 and 99.

    Useful notes

    One can add more date splitting symbols by adding | symbol at the end of both (.|-|\/). For example for adding -- one would do (.|-|\/|--)

    To have years outside of this millennium one has to modify (20[0-9][0-9]) to ([0-9][0-9][0-9][0-9])

    MongoDB logging all queries

    I wrote a script that will print out the system.profile log in real time as queries come in. You need to enable logging first as stated in other answers. I needed this because I'm using Windows Subsystem for Linux, for which tail still doesn't work.

    https://github.com/dtruel/mongo-live-logger

    Using ORDER BY and GROUP BY together

    If you really don't care about which timestamp you'll get and your v_id is always the same for a given m_i you can do the following:

    select m_id, v_id, max(timestamp) from table
    group by m_id, v_id
    order by timestamp desc
    

    Now, if the v_id changes for a given m_id then you should do the following

    select t1.* from table t1
    left join table t2 on t1.m_id = t2.m_id and t1.timestamp < t2.timestamp
    where t2.timestamp is null
    order by t1.timestamp desc
    

    How to use XPath in Python?

    PyXML works well.

    You didn't say what platform you're using, however if you're on Ubuntu you can get it with sudo apt-get install python-xml. I'm sure other Linux distros have it as well.

    If you're on a Mac, xpath is already installed but not immediately accessible. You can set PY_USE_XMLPLUS in your environment or do it the Python way before you import xml.xpath:

    if sys.platform.startswith('darwin'):
        os.environ['PY_USE_XMLPLUS'] = '1'
    

    In the worst case you may have to build it yourself. This package is no longer maintained but still builds fine and works with modern 2.x Pythons. Basic docs are here.

    Pull is not possible because you have unmerged files, git stash doesn't work. Don't want to commit

    I've had the same error and I solve it with: git merge -s recursive -X theirs origin/master

    Change image source with JavaScript

    Hi i tried to integrate with your code.

    Can you have a look at this?

    Thanks M.S

    _x000D_
    _x000D_
    <!DOCTYPE html>_x000D_
    <html>_x000D_
    <head>_x000D_
    _x000D_
    <!--TODO: need to integrate this code into the project to change images added 05/21/2016:-->_x000D_
    _x000D_
    <script type="text/javascript">_x000D_
        function changeImage(a) {_x000D_
            document.getElementById("img").src=a;_x000D_
        }_x000D_
    </script>_x000D_
    _x000D_
    _x000D_
     _x000D_
    <title> Fluid Selection </title>_x000D_
    <!-- css -->_x000D_
     <link rel="stylesheet" href="bootstrap-3/css/bootstrap.min.css">_x000D_
     <link rel="stylesheet" href="css/main.css">_x000D_
    <!-- end css -->_x000D_
    <!-- Java script files -->_x000D_
    <!-- Date.js date os javascript helper -->_x000D_
        <script src="js/date.js"> </script>_x000D_
    _x000D_
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->_x000D_
     <script src="js/jquery-2.1.1.min.js"></script>_x000D_
    _x000D_
    <!-- Include all compiled plugins (below), or include individual files as needed -->_x000D_
     <script src="bootstrap-3/js/bootstrap.min.js"> </script>_x000D_
     <script src="js/library.js"> </script>_x000D_
     <script src="js/sfds.js"> </script>_x000D_
     <script src="js/main.js"> </script>_x000D_
    _x000D_
    <!-- End Java script files -->_x000D_
    _x000D_
    <!--added on 05/28/2016-->_x000D_
    _x000D_
    <style>_x000D_
    /* The Modal (background) */_x000D_
    .modal {_x000D_
        display: none; /* Hidden by default */_x000D_
        position: fixed; /* Stay in place */_x000D_
        z-index:40001; /* High z-index to ensure it appears above all content */ _x000D_
        padding-top: 100px; /* Location of the box */_x000D_
        left: 0;_x000D_
        top: 0;_x000D_
        width: 100%; /* Full width */_x000D_
        height: 100%; /* Full height */_x000D_
        overflow: auto; /* Enable scroll if needed */_x000D_
       _x000D_
        background-color: rgba(0,0,0,0.9); /* Black w/ opacity */_x000D_
    }_x000D_
    _x000D_
    /* Modal Content */_x000D_
    .modal-content {_x000D_
        position: relative;_x000D_
        background-color: #fefefe;_x000D_
        margin: auto;_x000D_
        padding: 0;_x000D_
        border: 1px solid #888;_x000D_
        width: 40%;_x000D_
        box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);_x000D_
        -webkit-animation-name: animatetop;_x000D_
        -webkit-animation-duration: 0.4s;_x000D_
        animation-name: animatetop;_x000D_
        animation-duration: 0.4s_x000D_
     opacity:.5; /* Sets opacity so it's partly transparent */ -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; _x000D_
     /* IE     _x000D_
     transparency */ filter:alpha(opacity=50); /* More IE transparency */ z-index:40001; } _x000D_
    }_x000D_
    _x000D_
    /* Add Animation */_x000D_
    @-webkit-keyframes animatetop {_x000D_
        from {top:-300px; opacity:0} _x000D_
        to {top:0; opacity:1}_x000D_
    }_x000D_
    _x000D_
    @keyframes animatetop {_x000D_
        from {top:-300px; opacity:0}_x000D_
        to {top:0; opacity:1}_x000D_
    }_x000D_
    _x000D_
    /* The Close Button */_x000D_
    .close {_x000D_
        _x000D_
    }_x000D_
    _x000D_
    .close:hover,_x000D_
    .close:focus {_x000D_
        color: #000;_x000D_
        text-decoration: none;_x000D_
        cursor:pointer;_x000D_
    }_x000D_
    _x000D_
    /* The Close Button */_x000D_
    .close2 {_x000D_
        _x000D_
    }_x000D_
    _x000D_
    _x000D_
    .close2:focus {_x000D_
        color: #000;_x000D_
        text-decoration: none;_x000D_
        cursor:pointer;_x000D_
    }_x000D_
    _x000D_
    .modal-header {_x000D_
     color: #000;_x000D_
        padding: 2px 16px;_x000D_
     }_x000D_
    _x000D_
    .modal-body {padding: 2px 16px;}_x000D_
     _x000D_
     _x000D_
    }_x000D_
    _x000D_
    .modal-footer {_x000D_
        padding: 2px 16px;_x000D_
        background-color: #000099;_x000D_
        color: white;_x000D_
    }_x000D_
    _x000D_
    _x000D_
    </style>_x000D_
    _x000D_
    <script>_x000D_
     $(document).ready(function() {_x000D_
     _x000D_
     _x000D_
      $("#water").click(function(event){_x000D_
       var $this= $(this);_x000D_
       if($this.hasClass('clicked')){_x000D_
        $this.removeClass('clicked');_x000D_
        SFDS.setFluidType(0);_x000D_
        $this.find('h3').text('Select the H20 Fluid Type');_x000D_
        }else{_x000D_
         SFDS.setFluidType(1);_x000D_
         $this.addClass('clicked');_x000D_
         $this.find('h3').text('H20 Selected');_x000D_
    _x000D_
       }_x000D_
      });_x000D_
      _x000D_
      $("#saline").click(function(event){_x000D_
       var $this= $(this);_x000D_
       if($this.hasClass('clicked')){_x000D_
        $this.removeClass('clicked');_x000D_
        SFDS.setFluidType(0);_x000D_
        $this.find('h3').text('Select the NaCL Fluid Type');_x000D_
        }else{_x000D_
         SFDS.setFluidType(1);_x000D_
         $this.addClass('clicked');_x000D_
         $this.find('h3').text('NaCL Selected');_x000D_
         _x000D_
      _x000D_
      _x000D_
       }_x000D_
      });_x000D_
      _x000D_
     });_x000D_
    </script>_x000D_
    </head>_x000D_
    <body>_x000D_
    <div class="container-fluid">_x000D_
     <header>_x000D_
      <div class="row">_x000D_
       <div class="col-xs-6">_x000D_
        <div id="date"><span class="date_time"></span></div>_x000D_
       </div>_x000D_
       <div class="col-xs-6">_x000D_
        <div id="time" class="text-right"><span class="date_time"></span></div>_x000D_
       </div>_x000D_
      </div>_x000D_
     </header>_x000D_
    _x000D_
     <div class="row">_x000D_
      <div class="col-md-offset-1 col-sm-3 col-xs-8 col-xs-offset-2 col-sm-offset-0">_x000D_
       <div id="fluid" class="main_button center-block">_x000D_
        <div class="large_circle_button, main_img"> _x000D_
         <h2>Select<br>Fluid</h2>_x000D_
         <img class="center-block large_button_image" src="images/dropwater.png" alt=""/> _x000D_
        </div>_x000D_
        <h1></h1>_x000D_
       </div>_x000D_
      </div>_x000D_
      <div class=" col-md-6 col-sm-offset-1 col-sm-8 col-xs-12">_x000D_
       <div class="row">_x000D_
        <div class="col-xs-12">_x000D_
         <div id="water" class="large_rectangle_button">_x000D_
          <div class="label_wrapper">_x000D_
           <h3>Sterile<br>Water</h3>_x000D_
          </div>_x000D_
          <div id="thumb_img" class="image_wrapper">_x000D_
           <img src="images/dropsterilewater.png" alt="Sterile Water" class="sterile_water_image" onclick='changeImage("images/dropsterilewater.png");'>_x000D_
          </div>_x000D_
          <img src="images/checkmark.png" class="button_checkmark" width="96" height="88">_x000D_
         </div>_x000D_
        </div>_x000D_
        <div class="col-xs-12">_x000D_
         <div id="saline" class="large_rectangle_button">_x000D_
          <div class="label_wrapper">_x000D_
           <h3>Sterile<br>0.9% NaCL</h3>_x000D_
          </div>_x000D_
          <div class="image_wrapper">_x000D_
           <img src="images/cansterilesaline.png" alt= "Sterile Saline" class="sterile_salt_image" onclick='changeImage("images/imagecansterilesaline.png");'>_x000D_
          </div>_x000D_
          <img src="images/checkmark.png" class="button_checkmark" width="96" height="88">_x000D_
    _x000D_
         </div>_x000D_
        </div>_x000D_
        <div class="col-xs-12">_x000D_
         <div class="small_rectangle_button">_x000D_
          _x000D_
          <!-- Trigger/Open The Modal -->_x000D_
          <div id="myBtn" class="label_wrapper">_x000D_
           <h3>Change<br>Cartridge</h3>_x000D_
          </div>_x000D_
          <div class="image_wrapper">_x000D_
           <img src="images/changecartridge.png" alt="" class="change_cartrige_image" />_x000D_
          </div>_x000D_
         </div>_x000D_
        </div>_x000D_
        _x000D_
         <!-- The Modal -->_x000D_
         <div id="myModal" class="modal">_x000D_
    _x000D_
           <!-- Modal content -->_x000D_
           <div class="modal-content">_x000D_
          <div class="modal-header">_x000D_
            <span class="close"><img src="images/x-icon.png"></span>_x000D_
            <h2>Change Cartridge Instructions</h2>_x000D_
          </div>_x000D_
          <div class="modal-body">_x000D_
            <h4>Lorem ipsum dolor sit amet, dicant nonumes volutpat cu eum, in nulla molestie vim, nec probo option iracundia ut. Tale inermis scripserit ne cum, his no errem minimum commune, usu accumsan omnesque in. Eu has nihil dolor debitis, ad nobis impedit per. Dicat mnesarchum quo at, debet abhorreant consectetuer sea te, postea adversarium et eos. At alii dicit his, liber tantas suscipit sea in, id pri erat probatus. Vel nostro periculis dissentiet te, ut ubique noster vix. Id honestatis disputationi vel, ne vix assum constituam.</h4>                                                   _x000D_
                               <a href="#"><img src="images/video-icon.png" alt="click here for video"> </a>_x000D_
                               <a href="#close2" title="Close" class="close2"><img src="images/cancel-icon.png" alt="Cancel"></a>_x000D_
    _x000D_
                              _x000D_
          </div>_x000D_
          <div class="modal-footer">_x000D_
            <h4></h4>_x000D_
          </div>_x000D_
           </div>_x000D_
    _x000D_
         </div>_x000D_
         _x000D_
         <!--for comparison-->_x000D_
    _x000D_
    _x000D_
         _x000D_
    _x000D_
         _x000D_
         <script>_x000D_
         // Get the modal_x000D_
         var modal = document.getElementById('myModal');_x000D_
    _x000D_
         // Get the button that opens the modal_x000D_
         var btn = document.getElementById("myBtn");_x000D_
    _x000D_
         // Get the <span> element that closes the modal_x000D_
         var span = document.getElementsByClassName("close")[0];_x000D_
         _x000D_
    _x000D_
         // When the user clicks the button, open the modal _x000D_
         btn.onclick = function() {_x000D_
          modal.style.display = "block";_x000D_
         }_x000D_
    _x000D_
         // When the user clicks on <span> (x), close the modal_x000D_
         span.onclick = function() {_x000D_
          modal.style.display = "none";_x000D_
         }_x000D_
    _x000D_
         // When the user clicks anywhere outside of the modal, close it_x000D_
         window.onclick = function(event) {_x000D_
          if (event.target == modal) {_x000D_
           modal.style.display = "none";_x000D_
          }_x000D_
          _x000D_
          _x000D_
         }_x000D_
         </script>_x000D_
                        _x000D_
    _x000D_
        _x000D_
        _x000D_
        _x000D_
        _x000D_
        _x000D_
       </div>_x000D_
      </div>_x000D_
     </div>_x000D_
    </div>_x000D_
    <footer class="footer navbar-fixed-bottom">_x000D_
     <div class="container-fluid">_x000D_
      <div class="row cols-bottom">_x000D_
       <div class="col-sm-3">_x000D_
        <a href="main.html">_x000D_
        <div class="small_circle_button">     _x000D_
         <img src="images/buttonback.png" alt="back to home" class="settings"/> <!--  width="49" height="48" -->_x000D_
        </div>_x000D_
       </div></a><div class=" col-sm-6">_x000D_
        <div id="stop_button" >_x000D_
         <img src="images/stop.png" alt="stop" class="center-block stop_button" /> <!-- width="140" height="128" -->_x000D_
        </div>_x000D_
         _x000D_
       </div><div class="col-sm-3">_x000D_
        <div id="parker" class="pull-right">_x000D_
         <img src="images/parkerlogo.png" alt="parkerlogo" /> <!-- width="131" height="65" -->_x000D_
        </div>_x000D_
       </div>_x000D_
      </div>_x000D_
     </div>_x000D_
    </footer>_x000D_
    _x000D_
    _x000D_
    </body>_x000D_
    </html>
    _x000D_
    _x000D_
    _x000D_

    How do I timestamp every ping result?

    Try this:

    ping www.google.com | while read endlooop; do echo "$(date): $endlooop"; done
    

    It returns something like:

    Wednesday 18 January  09:29:20 AEDT 2017: PING www.google.com (216.58.199.36) 56(84) bytes of data.
    Wednesday 18 January  09:29:20 AEDT 2017: 64 bytes from syd09s12-in-f36.1e100.net (216.58.199.36): icmp_seq=1 ttl=57 time=2.86 ms
    Wednesday 18 January  09:29:21 AEDT 2017: 64 bytes from syd09s12-in-f36.1e100.net (216.58.199.36): icmp_seq=2 ttl=57 time=2.64 ms
    Wednesday 18 January  09:29:22 AEDT 2017: 64 bytes from syd09s12-in-f36.1e100.net (216.58.199.36): icmp_seq=3 ttl=57 time=2.76 ms
    Wednesday 18 January  09:29:23 AEDT 2017: 64 bytes from syd09s12-in-f36.1e100.net (216.58.199.36): icmp_seq=4 ttl=57 time=1.87 ms
    Wednesday 18 January  09:29:24 AEDT 2017: 64 bytes from syd09s12-in-f36.1e100.net (216.58.199.36): icmp_seq=5 ttl=57 time=2.45 ms
    

    How can I find all the subsets of a set, with exactly n elements?

    Here's a function that gives you all subsets of the integers [0..n], not just the subsets of a given length:

    from itertools import combinations, chain
    
    def allsubsets(n):
        return list(chain(*[combinations(range(n), ni) for ni in range(n+1)]))
    

    so e.g.

    >>> allsubsets(3)
    [(), (0,), (1,), (2,), (0, 1), (0, 2), (1, 2), (0, 1, 2)]
    

    RegEx to extract all matches from string using RegExp.exec

    If you're able to use matchAll here's a trick:

    Array.From has a 'selector' parameter so instead of ending up with an array of awkward 'match' results you can project it to what you really need:

    Array.from(str.matchAll(regexp), m => m[0]);
    

    If you have named groups eg. (/(?<firstname>[a-z][A-Z]+)/g) you could do this:

    Array.from(str.matchAll(regexp), m => m.groups.firstName);
    

    "Conversion to Dalvik format failed with error 1" on external JAR

    This error was being caused for me due to several files I had excluded from the build path being deleted, but not removed from the exclusion list.

    Project -> Properites -> Java Build Path -> Source tab -> project/src folder -> double click on Excluded -> Remove any files that no longer exist in the project.

    Android Studio Gradle: Error:Execution failed for task ':app:processDebugGoogleServices'. > No matching client found for package

    This happened to me when my package name wasn't represented in the google-services.json file I downloaded. Open your google-services.json file and make sure there is a client_info object that has a package name that corresponds to your manifests package name.

    In googleservices.json:

    "client": [
      {
        "client_info": {
        "mobilesdk_app_id": "my-app-id",
        "android_client_info": {
          "package_name": "com.me.android.test.myapp"
      }
    

    and in your manifest:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.me.android.test.myapp" >
    

    You may need to recreate a new google-services.json for your project, which you can create here: https://developers.google.com/mobile/add?platform=android&cntapi=gcm

    How to add an element to Array and shift indexes?

    Following code will insert the element at specified position and shift the existing elements to move next to new element.

    public class InsertNumInArray {
    
    public static void main(String[] args) {
        int[] inputArray = new int[] { 10, 20, 30, 40 };
        int inputArraylength = inputArray.length;
        int tempArrayLength = inputArraylength + 1;
        int num = 50, position = 2;
        int[] tempArray = new int[tempArrayLength];
    
        for (int i = 0; i < tempArrayLength; i++) {
            if (i != position && i < position)
                tempArray[i] = inputArray[i];
            else if (i == position)
                tempArray[i] = num;
            else
                tempArray[i] = inputArray[i-1];
        }
    
          inputArray = tempArray;
    
        for (int number : inputArray) {
            System.out.println("Number is: " + number);
        }
    }
    }
    

    Using json_encode on objects in PHP (regardless of scope)

    for an array of objects, I used something like this, while following the custom method for php < 5.4:

    $jsArray=array();
    
    //transaction is an array of the class transaction
    //which implements the method to_json
    
    foreach($transactions as $tran)
    {
        $jsArray[]=$tran->to_json();
    }
    
    echo json_encode($jsArray);
    

    Inserting values into tables Oracle SQL

    INSERT
    INTO    Employee 
            (emp_id, emp_name, emp_address, emp_state, emp_position, emp_manager)
    SELECT  '001', 'John Doe', '1 River Walk, Green Street', state_id, position_id, manager_id
    FROM    dual
    JOIN    state s
    ON      s.state_name = 'New York'
    JOIN    positions p
    ON      p.position_name = 'Sales Executive'
    JOIN    manager m
    ON      m.manager_name = 'Barry Green'
    

    Note that but a single spelling mistake (or an extra space) will result in a non-match and nothing will be inserted.

    How to 'bulk update' with Django?

    Consider using django-bulk-update found here on GitHub.

    Install: pip install django-bulk-update

    Implement: (code taken directly from projects ReadMe file)

    from bulk_update.helper import bulk_update
    
    random_names = ['Walter', 'The Dude', 'Donny', 'Jesus']
    people = Person.objects.all()
    
    for person in people:
        r = random.randrange(4)
        person.name = random_names[r]
    
    bulk_update(people)  # updates all columns using the default db
    

    Update: As Marc points out in the comments this is not suitable for updating thousands of rows at once. Though it is suitable for smaller batches 10's to 100's. The size of the batch that is right for you depends on your CPU and query complexity. This tool is more like a wheel barrow than a dump truck.

    PHP create key => value pairs within a foreach

    In PHP >= 5.3 it can be done like this:

    $offerArray = array_map(function($value) {
        return $value[4];
    }, $offer);
    

    CSS Selector "(A or B) and C"?

    I found success using the :is() selector:

    *:is(.a, .b).c{...}
    

    How to get text of an element in Selenium WebDriver, without including child element text?

    Here's a general solution:

    def get_text_excluding_children(driver, element):
        return driver.execute_script("""
        return jQuery(arguments[0]).contents().filter(function() {
            return this.nodeType == Node.TEXT_NODE;
        }).text();
        """, element)
    

    The element passed to the function can be something obtained from the find_element...() methods (i.e. it can be a WebElement object).

    Or if you don't have jQuery or don't want to use it you can replace the body of the function above above with this:

    return self.driver.execute_script("""
    var parent = arguments[0];
    var child = parent.firstChild;
    var ret = "";
    while(child) {
        if (child.nodeType === Node.TEXT_NODE)
            ret += child.textContent;
        child = child.nextSibling;
    }
    return ret;
    """, element) 
    

    I'm actually using this code in a test suite.

    How to set cursor to input box in Javascript?

    You have not provided enough code to help You likely submit the form and reload the page OR you have an object on the page like an embedded PDF that steals the focus.

    Here is the canonical plain javascript method of validating a form It can be improved with onubtrusive JS which will remove the inline script, but this is the starting point DEMO

    function validate(formObj) {
      document.getElementById("errorMsg").innerHTML = "";    
      var quantity = formObj.quantity;
      if (isNaN(quantity)) {
        quantity.value="";
        quantity.focus();
        document.getElementById("errorMsg").innerHTML = "Only numeric value is allowed";
        return false;
      }
      return true; // allow submit
    }   
    

    Here is the HTML

    <form onsubmit="return validate(this)">
        <input type="text" name="quantity" value="" />
        <input type="submit" />
    </form>    
    <span id="errorMsg"></span>
    

    How to count string occurrence in string?

    You could try this

    let count = s.length - s.replace(/is/g, "").length;
    

    Remove Rows From Data Frame where a Row matches a String

    I had a column(A) in a data frame with 3 values in it (yes, no, unknown). I wanted to filter only those rows which had a value "yes" for which this is the code, hope this will help you guys as well --

    df <- df [(!(df$A=="no") & !(df$A=="unknown")),]
    

    How to change progress bar's progress color in Android

    For a horizontal style ProgressBar I use:

    import android.widget.ProgressBar;
    import android.graphics.drawable.GradientDrawable;
    import android.graphics.drawable.ClipDrawable;
    import android.view.Gravity;
    import android.graphics.drawable.Drawable;
    import android.graphics.drawable.LayerDrawable;
    
    public void setColours(ProgressBar progressBar,
                            int bgCol1, int bgCol2, 
                            int fg1Col1, int fg1Col2, int value1,
                            int fg2Col1, int fg2Col2, int value2)
      {
        //If solid colours are required for an element, then set
        //that elements Col1 param s the same as its Col2 param
        //(eg fg1Col1 == fg1Col2).
    
        //fgGradDirection and/or bgGradDirection could be parameters
        //if you require other gradient directions eg LEFT_RIGHT.
    
        GradientDrawable.Orientation fgGradDirection
            = GradientDrawable.Orientation.TOP_BOTTOM;
        GradientDrawable.Orientation bgGradDirection
            = GradientDrawable.Orientation.TOP_BOTTOM;
    
        //Background
        GradientDrawable bgGradDrawable = new GradientDrawable(
                bgGradDirection, new int[]{bgCol1, bgCol2});
        bgGradDrawable.setShape(GradientDrawable.RECTANGLE);
        bgGradDrawable.setCornerRadius(5);
        ClipDrawable bgclip = new ClipDrawable(
                bgGradDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);     
        bgclip.setLevel(10000);
    
        //SecondaryProgress
        GradientDrawable fg2GradDrawable = new GradientDrawable(
                fgGradDirection, new int[]{fg2Col1, fg2Col2});
        fg2GradDrawable.setShape(GradientDrawable.RECTANGLE);
        fg2GradDrawable.setCornerRadius(5);
        ClipDrawable fg2clip = new ClipDrawable(
                fg2GradDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);        
    
        //Progress
        GradientDrawable fg1GradDrawable = new GradientDrawable(
                fgGradDirection, new int[]{fg1Col1, fg1Col2});
        fg1GradDrawable.setShape(GradientDrawable.RECTANGLE);
        fg1GradDrawable.setCornerRadius(5);
        ClipDrawable fg1clip = new ClipDrawable(
                fg1GradDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);        
    
        //Setup LayerDrawable and assign to progressBar
        Drawable[] progressDrawables = {bgclip, fg2clip, fg1clip};
        LayerDrawable progressLayerDrawable = new LayerDrawable(progressDrawables);     
        progressLayerDrawable.setId(0, android.R.id.background);
        progressLayerDrawable.setId(1, android.R.id.secondaryProgress);
        progressLayerDrawable.setId(2, android.R.id.progress);
    
        //Copy the existing ProgressDrawable bounds to the new one.
        Rect bounds = progressBar.getProgressDrawable().getBounds();
        progressBar.setProgressDrawable(progressLayerDrawable);     
        progressBar.getProgressDrawable().setBounds(bounds);
    
        // setProgress() ignores a change to the same value, so:
        if (value1 == 0)
            progressBar.setProgress(1);
        else
            progressBar.setProgress(0);
        progressBar.setProgress(value1);
    
        // setSecondaryProgress() ignores a change to the same value, so:
        if (value2 == 0)
            progressBar.setSecondaryProgress(1);
        else
            progressBar.setSecondaryProgress(0);
        progressBar.setSecondaryProgress(value2);
    
        //now force a redraw
        progressBar.invalidate();
      }
    

    An example call would be:

      setColours(myProgressBar, 
              0xff303030,   //bgCol1  grey 
              0xff909090,   //bgCol2  lighter grey 
              0xff0000FF,   //fg1Col1 blue 
              0xffFFFFFF,   //fg1Col2 white
              50,           //value1
              0xffFF0000,   //fg2Col1 red 
              0xffFFFFFF,   //fg2Col2 white
              75);          //value2
    

    If you don't need the 'secondary progress' simply set value2 to value1.

    Retrieve specific commit from a remote Git repository

    This works best:

    git fetch origin specific_commit
    git checkout -b temp FETCH_HEAD
    

    name "temp" whatever you want...this branch might be orphaned though

    Export to CSV using MVC, C# and jQuery

    With MVC you can simply return a file like this:

    public ActionResult ExportData()
    {
        System.IO.FileInfo exportFile = //create your ExportFile
        return File(exportFile.FullName, "text/csv", string.Format("Export-{0}.csv", DateTime.Now.ToString("yyyyMMdd-HHmmss")));
    }
    

    Bootstrap Carousel : Remove auto slide

    You just need to add one more attribute to your DIV tag which is

    data-interval="false"
    

    no need to touch JS!

    How to do a JUnit assert on a message in a logger

    Here is a simple and efficient Logback solution.
    It doesn't require to add/create any new class.
    It relies on ListAppender : a whitebox logback appender where log entries are added in a public List field that we could so use to make our assertions.

    Here is a simple example.

    Foo class :

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class Foo {
    
        static final Logger LOGGER = LoggerFactory.getLogger(Foo .class);
    
        public void doThat() {
            LOGGER.info("start");
            //...
            LOGGER.info("finish");
        }
    }
    

    FooTest class :

    import org.slf4j.LoggerFactory;
    import ch.qos.logback.classic.Level;
    import ch.qos.logback.classic.Logger;
    import ch.qos.logback.classic.spi.ILoggingEvent;
    import ch.qos.logback.core.read.ListAppender;
    
    public class FooTest {
    
        @Test
        void doThat() throws Exception {
            // get Logback Logger 
            Logger fooLogger = (Logger) LoggerFactory.getLogger(Foo.class);
    
            // create and start a ListAppender
            ListAppender<ILoggingEvent> listAppender = new ListAppender<>();
            listAppender.start();
    
            // add the appender to the logger
            // addAppender is outdated now
            fooLogger.addAppender(listAppender);
    
            // call method under test
            Foo foo = new Foo();
            foo.doThat();
    
            // JUnit assertions
            List<ILoggingEvent> logsList = listAppender.list;
            assertEquals("start", logsList.get(0)
                                          .getMessage());
            assertEquals(Level.INFO, logsList.get(0)
                                             .getLevel());
    
            assertEquals("finish", logsList.get(1)
                                           .getMessage());
            assertEquals(Level.INFO, logsList.get(1)
                                             .getLevel());
        }
    }
    

    JUnit assertions don't sound very adapted to assert some specific properties of the list elements.
    Matcher/assertion libraries as AssertJ or Hamcrest appears better for that :

    With AssertJ it would be :

    import org.assertj.core.api.Assertions;
    
    Assertions.assertThat(listAppender.list)
              .extracting(ILoggingEvent::getMessage, ILoggingEvent::getLevel)
              .containsExactly(Tuple.tuple("start", Level.INFO), Tuple.tuple("finish", Level.INFO));
    

    HTTP 401 - what's an appropriate WWW-Authenticate header value?

    When indicating HTTP Basic Authentication we return something like:

    WWW-Authenticate: Basic realm="myRealm"
    

    Whereas Basic is the scheme and the remainder is very much dependent on that scheme. In this case realm just provides the browser a literal that can be displayed to the user when prompting for the user id and password.

    You're obviously not using Basic however since there is no point having session expiry when Basic Auth is used. I assume you're using some form of Forms based authentication.

    From recollection, Windows Challenge Response uses a different scheme and different arguments.

    The trick is that it's up to the browser to determine what schemes it supports and how it responds to them.

    My gut feel if you are using forms based authentication is to stay with the 200 + relogin page but add a custom header that the browser will ignore but your AJAX can identify.

    For a really good User + AJAX experience, get the script to hang on to the AJAX request that found the session expired, fire off a relogin request via a popup, and on success, resubmit the original AJAX request and carry on as normal.

    Avoid the cheat that just gets the script to hit the site every 5 mins to keep the session alive cause that just defeats the point of session expiry.

    The other alternative is burn the AJAX request but that's a poor user experience.

    How to uncheck a checkbox in pure JavaScript?

    Recommended, without jQuery:

    Give your <input> an ID and refer to that. Also, remove the checked="" part of the <input> tag if you want the checkbox to start out unticked. Then it's:

    document.getElementById("my-checkbox").checked = true;
    

    Pure JavaScript, with no Element ID (#1):

    var inputs = document.getElementsByTagName('input');
    
    for(var i = 0; i<inputs.length; i++){
    
      if(typeof inputs[i].getAttribute === 'function' && inputs[i].getAttribute('name') === 'copyNewAddrToBilling'){
    
        inputs[i].checked = true;
    
        break;
    
      }
    }
    

    Pure Javascript, with no Element ID (#2):

    document.querySelectorAll('.text input[name="copyNewAddrToBilling"]')[0].checked = true;
    
    document.querySelector('.text input[name="copyNewAddrToBilling"]').checked = true;
    

    Note that the querySelectorAll and querySelector methods are supported in these browsers: IE8+, Chrome 4+, Safari 3.1+, Firefox 3.5+ and all mobile browsers.

    If the element may be missing, you should test for its existence, e.g.:

    var input = document.querySelector('.text input[name="copyNewAddrToBilling"]');
    if (!input) { return; }
    

    With jQuery:

    $('.text input[name="copyNewAddrToBilling"]').prop('checked', true);
    

    Rails 4: assets not loading in production

    I was able to solve this problem by changing: config.assets.compile = false to
    config.assets.compile = true in /config/environments/production.rb

    Update (June 24, 2018): This method creates a security vulnerability if the version of Sprockets you're using is less than 2.12.5, 3.7.2, or 4.0.0.beta8

    How to force reloading php.ini file?

    You also can use graceful restart the apache server with service apache2 reload or apachectl -k graceful. As the apache doc says:

    The USR1 or graceful signal causes the parent process to advise the children to exit after their current request (or to exit immediately if they're not serving anything). The parent re-reads its configuration files and re-opens its log files. As each child dies off the parent replaces it with a child from the new generation of the configuration, which begins serving new requests immediately.

    Finding the number of non-blank columns in an Excel sheet using VBA

    Jean-François Corbett's answer is perfect. To be exhaustive I would just like to add that with some restrictons you could also use UsedRange.Columns.Count or UsedRange.Rows.Count.
    The problem is that UsedRange is not always updated when deleting rows/columns (at least until you reopen the workbook).

    Selecting pandas column by location

    Two approaches that come to mind:

    >>> df
              A         B         C         D
    0  0.424634  1.716633  0.282734  2.086944
    1 -1.325816  2.056277  2.583704 -0.776403
    2  1.457809 -0.407279 -1.560583 -1.316246
    3 -0.757134 -1.321025  1.325853 -2.513373
    4  1.366180 -1.265185 -2.184617  0.881514
    >>> df.iloc[:, 2]
    0    0.282734
    1    2.583704
    2   -1.560583
    3    1.325853
    4   -2.184617
    Name: C
    >>> df[df.columns[2]]
    0    0.282734
    1    2.583704
    2   -1.560583
    3    1.325853
    4   -2.184617
    Name: C
    

    Edit: The original answer suggested the use of df.ix[:,2] but this function is now deprecated. Users should switch to df.iloc[:,2].

    Resize image proportionally with CSS?

    image_tag("/icons/icon.gif", height: '32', width: '32') I need to set height: '50px', width: '50px' to image tag and this code works from first try note I tried all the above code but no luck so this one works and here is my code from my _nav.html.erb:
    <%= image_tag("#{current_user.image}", height: '50px', width: '50px') %>

    jQuery Keypress Arrow Keys

    You should use .keydown() because .keypress() will ignore "Arrows", for catching the key type use e.which

    Press the result screen to focus (bottom right on fiddle screen) and then press arrow keys to see it work.

    Notes:

    1. .keypress() will never be fired with Shift, Esc, and Delete but .keydown() will.
    2. Actually .keypress() in some browser will be triggered by arrow keys but its not cross-browser so its more reliable to use .keydown().

    More useful information

    1. You can use .which Or .keyCode of the event object - Some browsers won't support one of them but when using jQuery its safe to use the both since jQuery standardizes things. (I prefer .which never had a problem with).
    2. To detect a ctrl | alt | shift | META press with the actual captured key you should check the following properties of the event object - They will be set to TRUE if they were pressed:
    3. Finally - here are some useful key codes ( For a full list - keycode-cheatsheet ):

      • Enter: 13
      • Up: 38
      • Down: 40
      • Right: 39
      • Left: 37
      • Esc: 27
      • SpaceBar: 32
      • Ctrl: 17
      • Alt: 18
      • Shift: 16

    Abstract Class:-Real Time Example

    I use often abstract classes in conjuction with Template method pattern.
    In main abstract class I wrote the skeleton of main algorithm and make abstract methods as hooks where suclasses can make a specific implementation; I used often when writing data parser (or processor) that need to read data from one different place (file, database or some other sources), have similar processing step (maybe small differences) and different output.
    This pattern looks like Strategy pattern but it give you less granularity and can degradated to a difficult mantainable code if main code grow too much or too exceptions from main flow are required (this considerations came from my experience).
    Just a small example:

    abstract class MainProcess {
      public static class Metrics {
        int skipped;
        int processed;
        int stored;
        int error;
      }
      private Metrics metrics;
      protected abstract Iterator<Item> readObjectsFromSource();
      protected abstract boolean storeItem(Item item);
      protected Item processItem(Item item) {
        /* do something on item and return it to store, or null to skip */
        return item;
      }
      public Metrics getMetrics() {
        return metrics;
      }
      /* Main method */
      final public void process() {
        this.metrics = new Metrics();
        Iterator<Item> items = readObjectsFromSource();
        for(Item item : items) {
          metrics.processed++;
          item = processItem(item);
          if(null != item) {
    
            if(storeItem(item))
              metrics.stored++;
            else
              metrics.error++;
          }
          else {
            metrics.skipped++;
          }
        }
      } 
    }
    
    class ProcessFromDatabase extends MainProcess {
      ProcessFromDatabase(String query) {
        this.query = query;
      }
      protected Iterator<Item> readObjectsFromSource() {
        return sessionFactory.getCurrentSession().query(query).list();
      }
      protected boolean storeItem(Item item) {
        return sessionFactory.getCurrentSession().saveOrUpdate(item);
      }
    }
    

    Here another example.

    How to drop columns using Rails migration

    Generate a migration to remove a column such that if it is migrated (rake db:migrate), it should drop the column. And it should add column back if this migration is rollbacked (rake db:rollback).

    The syntax:

    remove_column :table_name, :column_name, :type

    Removes column, also adds column back if migration is rollbacked.

    Example:

    remove_column :users, :last_name, :string
    

    Note: If you skip the data_type, the migration will remove the column successfully but if you rollback the migration it will throw an error.

    Place cursor at the end of text in EditText

    The question is old and answered, but I think it may be useful to have this answer if you want to use the newly released DataBinding tools for Android, just set this in your XML :

    <data>
        <variable name="stringValue" type="String"/>
    </data>
    ...
    <EditText
            ...
            android:text="@={stringValue}"
            android:selection="@{stringValue.length()}"
            ...
    />
    

    Changing the action of a form with JavaScript/jQuery

    I agree with Paolo that we need to see more code. I tested this overly simplified example and it worked. This means that it is able to change the form action on the fly.

    <script type="text/javascript">
    function submitForm(){
        var form_url = $("#openid_form").attr("action");
        alert("Before - action=" + form_url);   
        //changing the action to google.com
        $("#openid_form").attr("action","http://google.com");
        alert("After - action = "+$("#openid_form").attr("action"));
        //submit the form
        $("#openid_form").submit();
    }
    </script>
    
    
    <form id="openid_form" action="test.html">
        First Name:<input type="text" name="fname" /><br/>
        Last Name: <input type="text" name="lname" /><br/>
        <input type="button" onclick="submitForm()" value="Submit Form" />
    </form>
    

    EDIT: I tested the updated code you posted and found a syntax error in the declaration of providers_large. There's an extra comma. Firefox ignores the issue, but IE8 throws an error.

    var providers_large = {
        google: {
            name: 'Google',
            url: 'https://www.google.com/accounts/o8/id'
        },
        facebook: {
            name: 'Facebook',
            form_url: 'http://wikipediamaze.rpxnow.com/facebook/start?token_url=http://www.wikipediamaze.com/Accounts/Logon'
        },  //<-- Here's the problem. Remove that comma
    
    };
    

    Do Java arrays have a maximum size?

    This is (of course) totally VM-dependent.

    Browsing through the source code of OpenJDK 7 and 8 java.util.ArrayList, .Hashtable, .AbstractCollection, .PriorityQueue, and .Vector, you can see this claim being repeated:

    /**
     * Some VMs reserve some header words in an array.
     * Attempts to allocate larger arrays may result in
     * OutOfMemoryError: Requested array size exceeds VM limit
     */
    private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
    

    which is added by Martin Buchholz (Google) on 2010-05-09; reviewed by Chris Hegarty (Oracle).

    So, probably we can say that the maximum "safe" number would be 2 147 483 639 (Integer.MAX_VALUE - 8) and "attempts to allocate larger arrays may result in OutOfMemoryError".

    (Yes, Buchholz's standalone claim does not include backing evidence, so this is a calculated appeal to authority. Even within OpenJDK itself, we can see code like return (minCapacity > MAX_ARRAY_SIZE) ? Integer.MAX_VALUE : MAX_ARRAY_SIZE; which shows that MAX_ARRAY_SIZE does not yet have a real use.)

    SQLite with encryption/password protection

    You can use SQLite's function creation routines (PHP manual):

    $db_obj->sqliteCreateFunction('Encrypt', 'MyEncryptFunction', 2);
    $db_obj->sqliteCreateFunction('Decrypt', 'MyDecryptFunction', 2);

    When inserting data, you can use the encryption function directly and INSERT the encrypted data or you can use the custom function and pass unencrypted data:

    $insert_obj = $db_obj->prepare('INSERT INTO table (Clear, Encrypted) ' .
     'VALUES (:clear, Encrypt(:data, "' . $passwordhash_str . '"))');

    When retrieving data, you can also use SQL search functionality:

    $select_obj = $db_obj->prepare('SELECT Clear, ' .
     'Decrypt(Encrypted, "' . $passwordhash_str . '") AS PlainText FROM table ' .
     'WHERE PlainText LIKE :searchterm');

    String to byte array in php

    PHP has no explicit byte type, but its string is already the equivalent of Java's byte array. You can safely write fputs($connection, "The quick brown fox …"). The only thing you must be aware of is character encoding, they must be the same on both sides. Use mb_convert_encoding() when in doubt.

    Python: Get the first character of the first string in a list?

    Get the first character of a bare python string:

    >>> mystring = "hello"
    >>> print(mystring[0])
    h
    >>> print(mystring[:1])
    h
    >>> print(mystring[3])
    l
    >>> print(mystring[-1])
    o
    >>> print(mystring[2:3])
    l
    >>> print(mystring[2:4])
    ll
    

    Get the first character from a string in the first position of a python list:

    >>> myarray = []
    >>> myarray.append("blah")
    >>> myarray[0][:1]
    'b'
    >>> myarray[0][-1]
    'h'
    >>> myarray[0][1:3]
    'la'
    

    Many people get tripped up here because they are mixing up operators of Python list objects and operators of Numpy ndarray objects:

    Numpy operations are very different than python list operations.

    Wrap your head around the two conflicting worlds of Python's "list slicing, indexing, subsetting" and then Numpy's "masking, slicing, subsetting, indexing, then numpy's enhanced fancy indexing".

    These two videos cleared things up for me:

    "Losing your Loops, Fast Numerical Computing with NumPy" by PyCon 2015: https://youtu.be/EEUXKG97YRw?t=22m22s

    "NumPy Beginner | SciPy 2016 Tutorial" by Alexandre Chabot LeClerc: https://youtu.be/gtejJ3RCddE?t=1h24m54s

    Get a list of resources from classpath directory

    So in terms of the PathMatchingResourcePatternResolver this is what is needed in the code:

    @Autowired
    ResourcePatternResolver resourceResolver;
    
    public void getResources() {
      resourceResolver.getResources("classpath:config/*.xml");
    }
    

    Resolving IP Address from hostname with PowerShell

    Working one liner if you want a single result from the collection:

    $ipAddy = [System.Net.Dns]::GetHostAddresses("yahoo.com")[0].IPAddressToString; 
    

    hth

    How to get absolute path to file in /resources folder of your project

    Create the classLoader instance of the class you need, then you can access the files or resources easily. now you access path using getPath() method of that class.

     ClassLoader classLoader = getClass().getClassLoader();
     String path  = classLoader.getResource("chromedriver.exe").getPath();
     System.out.println(path);
    

    Generate HTML table from 2D JavaScript array

    Here's a function that will use the dom instead of string concatenation.

    function createTable(tableData) {
      var table = document.createElement('table');
      var tableBody = document.createElement('tbody');
    
      tableData.forEach(function(rowData) {
        var row = document.createElement('tr');
    
        rowData.forEach(function(cellData) {
          var cell = document.createElement('td');
          cell.appendChild(document.createTextNode(cellData));
          row.appendChild(cell);
        });
    
        tableBody.appendChild(row);
      });
    
      table.appendChild(tableBody);
      document.body.appendChild(table);
    }
    
    createTable([["row 1, cell 1", "row 1, cell 2"], ["row 2, cell 1", "row 2, cell 2"]]);
    

    MySQL combine two columns into one column

    table:

    ---------------------
    | column1 | column2 |
    ---------------------
    |   abc   |   xyz   |
    ---------------------
    

    In Oracle:

    SELECT column1 || column2 AS column3
    FROM table_name;
    

    Output:

    table:

    ---------------------
    | column3           |
    ---------------------
    | abcxyz            |
    ---------------------
    

    If you want to put ',' or '.' or any string within two column data then you may use:

    SELECT column1 || '.' || column2 AS column3
    FROM table_name;
    

    Output:

    table:

    ---------------------
    | column3           |
    ---------------------
    | abc.xyz           |
    ---------------------
    

    Making a <button> that's a link in HTML

    Use javascript:

    <button onclick="window.location.href='/css_page.html'">CSS page</button>
    

    You can always style the button in css anyaways. Hope it helped!

    Good luck!

    Uncaught SyntaxError: Unexpected token u in JSON at position 0

    For me, that happened because I had an empty component in my page -

    <script type="text/x-magento-init">
       {
       ".page.messages": {
           "Magento_Ui/js/core/app": []        
          }
       }
    

    Deleting this piece of code resolved the issue.

    How to send and receive JSON data from a restful webservice using Jersey API

    Your use of @PathParam is incorrect. It does not follow these requirements as documented in the javadoc here. I believe you just want to POST the JSON entity. You can fix this in your resource method to accept JSON entity.

    @Path("/hello")
    public class Hello {
    
      @POST
      @Produces(MediaType.APPLICATION_JSON)
      @Consumes(MediaType.APPLICATION_JSON)
      public JSONObject sayPlainTextHello(JSONObject inputJsonObj) throws Exception {
    
        String input = (String) inputJsonObj.get("input");
        String output = "The input you sent is :" + input;
        JSONObject outputJsonObj = new JSONObject();
        outputJsonObj.put("output", output);
    
        return outputJsonObj;
      }
    }
    

    And, your client code should look like this:

      ClientConfig config = new DefaultClientConfig();
      Client client = Client.create(config);
      client.addFilter(new LoggingFilter());
      WebResource service = client.resource(getBaseURI());
      JSONObject inputJsonObj = new JSONObject();
      inputJsonObj.put("input", "Value");
      System.out.println(service.path("rest").path("hello").accept(MediaType.APPLICATION_JSON).post(JSONObject.class, inputJsonObj));
    

    <SELECT multiple> - how to allow only one item selected?

    Why don't you want to remove the multiple attribute? The entire purpose of that attribute is to specify to the browser that multiple values may be selected from the given select element. If only a single value should be selected, remove the attribute and the browser will know to allow only a single selection.

    Use the tools you have, that's what they're for.

    CSS background image to fit height, width should auto-scale in proportion

    try

    .something { 
        background: url(images/bg.jpg) no-repeat center center fixed; 
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -100;  
    }
    

    how to stop a loop arduino

    The three options that come to mind:

    1st) End void loop() with while(1)... or equally as good... while(true)

    void loop(){
        //the code you want to run once here, 
        //e.g., If (blah == blah)...etc.
    
        while(1)        //last line of main loop
    }
    

    This option runs your code once and then kicks the Ard into an endless "invisible" loop. Perhaps not the nicest way to go, but as far as outside appearances, it gets the job done.
    The Ard will continue to draw current while it spins itself in an endless circle... perhaps one could set up a sort of timer function that puts the Ard to sleep after so many seconds, minutes, etc., of looping... just a thought... there are certainly various sleep libraries out there... see e.g., Monk, Programming Arduino: Next Steps, pgs., 85-100 for further discussion of such.

    2nd) Create a "stop main loop" function with a conditional control structure that makes its initial test fail on a second pass.
    This often requires declaring a global variable and having the "stop main loop" function toggle the value of the variable upon termination. E.g.,

    boolean stop_it = false;         //global variable
    
    void setup(){
        Serial.begin(9600); 
        //blah...
    }
    
    boolean stop_main_loop(){        //fancy stop main loop function
    
        if(stop_it == false){   //which it will be the first time through
    
            Serial.println("This should print once.");
    
           //then do some more blah....you can locate all the
           // code you want to run once here....eventually end by 
           //toggling the "stop_it" variable ... 
        }
        stop_it = true; //...like this
        return stop_it;   //then send this newly updated "stop_it" value
                         // outside the function
    }
    
    void loop{ 
    
        stop_it = stop_main_loop();     //and finally catch that updated 
                                        //value and store it in the global stop_it 
                                        //variable, effectively 
                                        //halting the loop  ...
    }
    

    Granted, this might not be especially pretty, but it also works.
    It kicks the Ard into another endless "invisible" loop, but this time it's a case of repeatedly checking the if(stop_it == false) condition in stop_main_loop() which of course fails to pass every time after the first time through.

    3rd) One could once again use a global variable but use a simple if (test == blah){} structure instead of a fancy "stop main loop" function.

    boolean start = true;                  //global variable
    
    void setup(){
    
          Serial.begin(9600);
    }
    
    void loop(){
    
          if(start == true){           //which it will be the first time through
    
    
    
               Serial.println("This should print once.");       
    
               //the code you want to run once here, 
               //e.g., more If (blah == blah)...etc.
    
         }
    
    start = false;                //toggle value of global "start" variable
                                  //Next time around, the if test is sure to fail.
    }
    

    There are certainly other ways to "stop" that pesky endless main loop but these three as well as those already mentioned should get you started.

    Repeat String - Javascript

    People overcomplicate this to a ridiculous extent or waste performance. Arrays? Recursion? You've got to be kidding me.

    function repeat (string, times) {
      var result = ''
      while (times-- > 0) result += string
      return result
    }
    

    Edit. I ran some simple tests to compare with the bitwise version posted by artistoex / disfated and a bunch of other people. The latter was only marginally faster, but orders of magnitude more memory-efficient. For 1000000 repeats of the word 'blah', the Node process went up to 46 megabytes with the simple concatenation algorithm (above), but only 5.5 megabytes with the logarithmic algorithm. The latter is definitely the way to go. Reposting it for the sake of clarity:

    function repeat (string, times) {
      var result = ''
      while (times > 0) {
        if (times & 1) result += string
        times >>= 1
        string += string
      }
      return result
    }
    

    HTML image not showing in Gmail

    My issue was similar. This is what my experience has been on testing the IMG tag on gmail (assuming most of the organization's would have a dev qa and prod server.)

    I had to send emails to customers on their personal email id's and we could see that gmail would add something of its own like following to src attribute of img tag. Now when we were sending these images from our dev environment they would never render on gmail and we were always curious why?

    https://ci7.googleusercontent.com/proxy/AEF54znasdUhUYhuHuHuhHkHfT7u2w5zsOnWJ7k1MwrKe8pP69hY9W9eo8_n6-tW0KdSIaG4qaBEbcXue74nbVBysdfqweAsNNmmmJyTB-JQzcgn1j=s0-d-e2-ft#https://www.prodserver.com/Folder1/Images/OurImage.PNG
    

    so an image sent to my gmail id as following never worked for me

    <img src="https://ci7.googleuser....Blah.Blah..https://devserver.com/Folder1/Images/OurImage.PNG">
    

    and our dev server we can't render this image by hitting following URL on Chrome(or any browser).

    https://www.devserver.com/folder1/folder2/myactualimage.jpg
    

    now as long as the src has www on it worked all the time and we didnt had to add any other attributes.

    <img src="https://www.**prodserver**.com/folder1/folder2/myactualimage.jpg">
    

    Assign keyboard shortcut to run procedure

    The problem that I had with the above is that I wanted to associate a short cut key with a macro in an xlam which has no visible interface. I found that the folllowing worked

    To associate a short cut key with a macro

    In Excel (not VBA) on the Developer Tab click Macros - no macros will be shown Type the name of the Sub The Options button should then be enabled Click it Ctrl will be the default Hold down Shift and press the letter you want eg Shift and A will associate Ctrl-Shift-A with the Sub

    How to export and import a .sql file from command line with options?

    If you're already running the SQL shell, you can use the source command to import data:

    use databasename;
    source data.sql;
    

    Changing the selected option of an HTML Select element

    I used this after updating a register and changed the state of request via ajax, then I do a query with the new state in the same script and put it in the select tag element new state to update the view.

    var objSel = document.getElementById("selectObj");
    objSel.selectedIndex = elementSelected;
    

    I hope this is useful.

    Can't ping a local VM from the host

    On top of using a bridged connection, I had to turn on Find Devices and Content on the VM's Windows Server 2012 control panel network settings. Hope this helps somebody as none the other answers worked to ping the VM machine.

    Is there a concise way to iterate over a stream with indices in Java 8?

    If you need the index in the forEach then this provides a way.

      public class IndexedValue {
    
        private final int    index;
        private final Object value;
    
        public IndexedValue(final int index, final Object value) { 
            this.index = index;
            this.value = value;
        }
    
        public int getIndex() {
            return index;
        }
    
        public Object getValue() {
            return value;
        }
    }
    

    Then use it as follows.

    @Test
    public void withIndex() {
        final List<String> list = Arrays.asList("a", "b");
        IntStream.range(0, list.size())
                 .mapToObj(index -> new IndexedValue(index, list.get(index)))
                 .forEach(indexValue -> {
                     System.out.println(String.format("%d, %s",
                                                      indexValue.getIndex(),
                                                      indexValue.getValue().toString()));
                 });
    }
    

    Rails 4 image-path, image-url and asset-url no longer work in SCSS files

    In case anyone arrives looking for how to generate a relative path from the rails console

    ActionView::Helpers::AssetTagHelper
    image_path('my_image.png')
    => "/images/my_image.png"
    

    Or the controller

    include ActionView::Helpers::AssetTagHelper
    image_path('my_image.png')
    => "/images/my_image.png"
    

    How to set ID using javascript?

    Do you mean like this?

    var hello1 = document.getElementById('hello1');
    hello1.id = btoa(hello1.id);
    

    To further the example, say you wanted to get all elements with the class 'abc'. We can use querySelectorAll() to accomplish this:

    HTML

    <div class="abc"></div>
    <div class="abc"></div>
    

    JS

    var abcElements = document.querySelectorAll('.abc');
    
    // Set their ids
    for (var i = 0; i < abcElements.length; i++)
        abcElements[i].id = 'abc-' + i;
    

    This will assign the ID 'abc-<index number>' to each element. So it would come out like this:

    <div class="abc" id="abc-0"></div>
    <div class="abc" id="abc-1"></div>
    

    To create an element and assign an id we can use document.createElement() and then appendChild().

    var div = document.createElement('div');
    div.id = 'hello1';
    
    var body = document.querySelector('body');
    body.appendChild(div);
    

    Update

    You can set the id on your element like this if your script is in your HTML file.

    <input id="{{str(product["avt"]["fto"])}}" >
    <span>New price :</span>
    <span class="assign-me">
    
    <script type="text/javascript">
        var s = document.getElementsByClassName('assign-me')[0];
        s.id = btoa({{str(produit["avt"]["fto"])}});
    </script>
    

    Your requirements still aren't 100% clear though.

    How do I rotate text in css?

    In your case, it's the best to use rotate option from transform property as mentioned before. There is also writing-mode property and it works like rotate(90deg) so in your case, it should be rotated after it's applied. Even it's not the right solution in this case but you should be aware of this property.

    Example:

    writing-mode:vertical-rl;
    

    More about transform: https://kolosek.com/css-transform/

    More about writing-mode: https://css-tricks.com/almanac/properties/w/writing-mode/

    How to disable scrolling in UITableView table when the content fits on the screen

    I think you want to set

    tableView.alwaysBounceVertical = NO;
    

    How to calculate a logistic sigmoid function in Python?

    Tensorflow includes also a sigmoid function: https://www.tensorflow.org/versions/r1.2/api_docs/python/tf/sigmoid

    import tensorflow as tf
    
    sess = tf.InteractiveSession()
    x = 0.458
    y = tf.sigmoid(x)
    
    u = y.eval()
    print(u)
    # 0.6125396
    

    How to configure Chrome's Java plugin so it uses an existing JDK in the machine

    Starting with Version 42, released April 14, 2015, Chrome blocks all NPAPI plugins, including Java. Until September 2015 there will be a way around this, by going to chrome://flags/#enable-npapi and clicking on Enable. After that, you will have to use the IE tab extension to run the Direct-X version of the Java plugin.

    In C#, what's the difference between \n and \r\n?

    They are just \r\n and \n are variants.

    \r\n is used in windows

    \n is used in mac and linux

    java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex

    My understanding is that there are duplicate references to the same API (Likely different version numbers). It should be reasonably easy to debug when building from the command line.

    Try ./gradlew yourBuildVariantName --debug from the command line.

    The offending item will be the first failure. An example might look like:

    14:32:29.171 [INFO] [org.gradle.api.Task] INPUT: /Users/mydir/Documents/androidApp/BaseApp/build/intermediates/exploded-aar/theOffendingAAR/libs/google-play-services.jar
    
    14:32:29.171 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':BaseApp:packageAllyourBuildVariantNameClassesForMultiDex'
    
    14:32:29.172 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :BaseApp:packageAllyourBuildVariantNameClassesForMultiDex FAILED'
    

    In the case above, the aar file that I'd included in my libs directory (theOffendingAAR) included the Google Play Services jar (yes the whole thing. yes I know.) file whilst my BaseApp build file utilised location services:

    compile 'com.google.android.gms:play-services-location:6.5.87'
    

    You can safely remove the offending item from your build file(s), clean and rebuild (repeat if necessary).

    Using Java to find substring of a bigger string using Regular Expression

    I think your regular expression would look like:

    /FOO\[(.+)\]/
    

    Assuming that FOO going to be constant.

    So, to put this in Java:

    Pattern p = Pattern.compile("FOO\\[(.+)\\]");
    Matcher m = p.matcher(inputLine);
    

    right click context menu for datagridview

    Use the CellMouseDown event on the DataGridView. From the event handler arguments you can determine which cell was clicked. Using the PointToClient() method on the DataGridView you can determine the relative position of the pointer to the DataGridView, so you can pop up the menu in the correct location.

    (The DataGridViewCellMouseEvent parameter just gives you the X and Y relative to the cell you clicked, which isn't as easy to use to pop up the context menu.)

    This is the code I used to get the mouse position, then adjust for the position of the DataGridView:

    var relativeMousePosition = DataGridView1.PointToClient(Cursor.Position);
    this.ContextMenuStrip1.Show(DataGridView1, relativeMousePosition);
    

    The entire event handler looks like this:

    private void DataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
    {
        // Ignore if a column or row header is clicked
        if (e.RowIndex != -1 && e.ColumnIndex != -1)
        {
            if (e.Button == MouseButtons.Right)
            {
                DataGridViewCell clickedCell = (sender as DataGridView).Rows[e.RowIndex].Cells[e.ColumnIndex];
    
                // Here you can do whatever you want with the cell
                this.DataGridView1.CurrentCell = clickedCell;  // Select the clicked cell, for instance
    
                // Get mouse position relative to the vehicles grid
                var relativeMousePosition = DataGridView1.PointToClient(Cursor.Position);
    
                // Show the context menu
                this.ContextMenuStrip1.Show(DataGridView1, relativeMousePosition);
            }
        }
    }
    

    Entity Framework (EF) Code First Cascade Delete for One-to-Zero-or-One relationship

    You could also disable the cascade delete convention in global scope of your application by doing this:

    modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>()
    modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>()
    

    How do I count the number of rows and columns in a file using bash?

    Alternatively to count columns, count the separators between columns. I find this to be a good balance of brevity and ease to remember. Of course, this won't work if your data include the column separator.

    head -n1 myfile.txt | grep -o " " | wc -l
    

    Uses head -n1 to grab the first line of the file. Uses grep -o to to count all the spaces, and output each space found on a new line. Uses wc -l to count the number of lines.

    curl: (35) SSL connect error

    If you are using curl versions curl-7.19.7-46.el6.x86_64 or older. Please provide an option as -k1 (small K1).

    How do I enumerate through a JObject?

    JObjects can be enumerated via JProperty objects by casting it to a JToken:

    foreach (JProperty x in (JToken)obj) { // if 'obj' is a JObject
        string name = x.Name;
        JToken value = x.Value;
    }
    

    If you have a nested JObject inside of another JObject, you don't need to cast because the accessor will return a JToken:

    foreach (JProperty x in obj["otherObject"]) { // Where 'obj' and 'obj["otherObject"]' are both JObjects
        string name = x.Name;
        JToken value = x.Value;
    }
    

    How to make asynchronous HTTP requests in PHP

    You can use non-blocking sockets and one of pecl extensions for PHP:

    You can use library which gives you an abstraction layer between your code and a pecl extension: https://github.com/reactphp/event-loop

    You can also use async http-client, based on the previous library: https://github.com/reactphp/http-client

    See others libraries of ReactPHP: http://reactphp.org

    Be careful with an asynchronous model. I recommend to see this video on youtube: http://www.youtube.com/watch?v=MWNcItWuKpI

    Transform only one axis to log10 scale with ggplot2

    Another solution using scale_y_log10 with trans_breaks, trans_format and annotation_logticks()

    library(ggplot2)
    
    m <- ggplot(diamonds, aes(y = price, x = color))
    
    m + geom_boxplot() +
      scale_y_log10(
        breaks = scales::trans_breaks("log10", function(x) 10^x),
        labels = scales::trans_format("log10", scales::math_format(10^.x))
      ) +
      theme_bw() +
      annotation_logticks(sides = 'lr') +
      theme(panel.grid.minor = element_blank())
    

    What is "stdafx.h" used for in Visual Studio?

    "Stdafx.h" is a precompiled header.It include file for standard system include files and for project-specific include files that are used frequently but are changed infrequently.which reduces compile time and Unnecessary Processing.

    Precompiled Header stdafx.h is basically used in Microsoft Visual Studio to let the compiler know the files that are once compiled and no need to compile it from scratch. You can read more about it

    http://www.cplusplus.com/articles/1TUq5Di1/

    https://docs.microsoft.com/en-us/cpp/ide/precompiled-header-files?view=vs-2017

    Can I invoke an instance method on a Ruby module without including it?

    As I understand the question, you want to mix some of a module's instance methods into a class.

    Let's begin by considering how Module#include works. Suppose we have a module UsefulThings that contains two instance methods:

    module UsefulThings
      def add1
        self + 1
      end
      def add3
        self + 3
      end
    end
    
    UsefulThings.instance_methods
      #=> [:add1, :add3]
    

    and Fixnum includes that module:

    class Fixnum
      def add2
        puts "cat"
      end
      def add3
        puts "dog"
      end
      include UsefulThings
    end
    

    We see that:

    Fixnum.instance_methods.select { |m| m.to_s.start_with? "add" }
      #=> [:add2, :add3, :add1] 
    1.add1
    2 
    1.add2
    cat
    1.add3
    dog
    

    Were you expecting UsefulThings#add3 to override Fixnum#add3, so that 1.add3 would return 4? Consider this:

    Fixnum.ancestors
      #=> [Fixnum, UsefulThings, Integer, Numeric, Comparable,
      #    Object, Kernel, BasicObject] 
    

    When the class includes the module, the module becomes the class' superclass. So, because of how inheritance works, sending add3 to an instance of Fixnum will cause Fixnum#add3 to be invoked, returning dog.

    Now let's add a method :add2 to UsefulThings:

    module UsefulThings
      def add1
        self + 1
      end
      def add2
        self + 2
      end
      def add3
        self + 3
      end
    end
    

    We now wish Fixnum to include only the methods add1 and add3. Is so doing, we expect to get the same results as above.

    Suppose, as above, we execute:

    class Fixnum
      def add2
        puts "cat"
      end
      def add3
        puts "dog"
      end
      include UsefulThings
    end
    

    What is the result? The unwanted method :add2 is added to Fixnum, :add1 is added and, for reasons I explained above, :add3 is not added. So all we have to do is undef :add2. We can do that with a simple helper method:

    module Helpers
      def self.include_some(mod, klass, *args)
        klass.send(:include, mod)
        (mod.instance_methods - args - klass.instance_methods).each do |m|
          klass.send(:undef_method, m)
        end
      end
    end
    

    which we invoke like this:

    class Fixnum
      def add2
        puts "cat"
      end
      def add3
        puts "dog"
      end
      Helpers.include_some(UsefulThings, self, :add1, :add3)
    end
    

    Then:

    Fixnum.instance_methods.select { |m| m.to_s.start_with? "add" }
      #=> [:add2, :add3, :add1] 
    1.add1
    2 
    1.add2
    cat
    1.add3
    dog
    

    which is the result we want.

    Scheduling recurring task in Android

    I am not sure but as per my knowledge I share my views. I always accept best answer if I am wrong .

    Alarm Manager

    The Alarm Manager holds a CPU wake lock as long as the alarm receiver's onReceive() method is executing. This guarantees that the phone will not sleep until you have finished handling the broadcast. Once onReceive() returns, the Alarm Manager releases this wake lock. This means that the phone will in some cases sleep as soon as your onReceive() method completes. If your alarm receiver called Context.startService(), it is possible that the phone will sleep before the requested service is launched. To prevent this, your BroadcastReceiver and Service will need to implement a separate wake lock policy to ensure that the phone continues running until the service becomes available.

    Note: The Alarm Manager is intended for cases where you want to have your application code run at a specific time, even if your application is not currently running. For normal timing operations (ticks, timeouts, etc) it is easier and much more efficient to use Handler.

    Timer

    timer = new Timer();
    
        timer.scheduleAtFixedRate(new TimerTask() {
    
            synchronized public void run() {
    
                \\ here your todo;
                }
    
            }, TimeUnit.MINUTES.toMillis(1), TimeUnit.MINUTES.toMillis(1));
    

    Timer has some drawbacks that are solved by ScheduledThreadPoolExecutor. So it's not the best choice

    ScheduledThreadPoolExecutor.

    You can use java.util.Timer or ScheduledThreadPoolExecutor (preferred) to schedule an action to occur at regular intervals on a background thread.

    Here is a sample using the latter:

    ScheduledExecutorService scheduler =
        Executors.newSingleThreadScheduledExecutor();
    
    scheduler.scheduleAtFixedRate
          (new Runnable() {
             public void run() {
                // call service
             }
          }, 0, 10, TimeUnit.MINUTES);
    

    So I preferred ScheduledExecutorService

    But Also think about that if the updates will occur while your application is running, you can use a Timer, as suggested in other answers, or the newer ScheduledThreadPoolExecutor. If your application will update even when it is not running, you should go with the AlarmManager.

    The Alarm Manager is intended for cases where you want to have your application code run at a specific time, even if your application is not currently running.

    Take note that if you plan on updating when your application is turned off, once every ten minutes is quite frequent, and thus possibly a bit too power consuming.

    How to disable Django's CSRF validation?

    The answer might be inappropriate, but I hope it helps you

    class DisableCSRFOnDebug(object):
        def process_request(self, request):
            if settings.DEBUG:
                setattr(request, '_dont_enforce_csrf_checks', True)
    

    Having middleware like this helps to debug requests and to check csrf in production servers.

    How do I get a file extension in PHP?

    You can try also this:

     pathinfo(basename($_FILES["fileToUpload"]["name"]), PATHINFO_EXTENSION)
    

    Encrypt and Decrypt in Java

    Here is a solution using the javax.crypto library and the apache commons codec library for encoding and decoding in Base64 that I was looking for:

    import java.security.spec.KeySpec;
    import javax.crypto.Cipher;
    import javax.crypto.SecretKey;
    import javax.crypto.SecretKeyFactory;
    import javax.crypto.spec.DESedeKeySpec;
    import org.apache.commons.codec.binary.Base64;
    
    public class TrippleDes {
    
        private static final String UNICODE_FORMAT = "UTF8";
        public static final String DESEDE_ENCRYPTION_SCHEME = "DESede";
        private KeySpec ks;
        private SecretKeyFactory skf;
        private Cipher cipher;
        byte[] arrayBytes;
        private String myEncryptionKey;
        private String myEncryptionScheme;
        SecretKey key;
    
        public TrippleDes() throws Exception {
            myEncryptionKey = "ThisIsSpartaThisIsSparta";
            myEncryptionScheme = DESEDE_ENCRYPTION_SCHEME;
            arrayBytes = myEncryptionKey.getBytes(UNICODE_FORMAT);
            ks = new DESedeKeySpec(arrayBytes);
            skf = SecretKeyFactory.getInstance(myEncryptionScheme);
            cipher = Cipher.getInstance(myEncryptionScheme);
            key = skf.generateSecret(ks);
        }
    
    
        public String encrypt(String unencryptedString) {
            String encryptedString = null;
            try {
                cipher.init(Cipher.ENCRYPT_MODE, key);
                byte[] plainText = unencryptedString.getBytes(UNICODE_FORMAT);
                byte[] encryptedText = cipher.doFinal(plainText);
                encryptedString = new String(Base64.encodeBase64(encryptedText));
            } catch (Exception e) {
                e.printStackTrace();
            }
            return encryptedString;
        }
    
    
        public String decrypt(String encryptedString) {
            String decryptedText=null;
            try {
                cipher.init(Cipher.DECRYPT_MODE, key);
                byte[] encryptedText = Base64.decodeBase64(encryptedString);
                byte[] plainText = cipher.doFinal(encryptedText);
                decryptedText= new String(plainText);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return decryptedText;
        }
    
    
        public static void main(String args []) throws Exception
        {
            TrippleDes td= new TrippleDes();
    
            String target="imparator";
            String encrypted=td.encrypt(target);
            String decrypted=td.decrypt(encrypted);
    
            System.out.println("String To Encrypt: "+ target);
            System.out.println("Encrypted String:" + encrypted);
            System.out.println("Decrypted String:" + decrypted);
    
        }
    
    }
    

    Running the above program results with the following output:

    String To Encrypt: imparator
    Encrypted String:FdBNaYWfjpWN9eYghMpbRA==
    Decrypted String:imparator
    

    How to check ASP.NET Version loaded on a system?

    I had same problem to find a way to check whether ASP.NET 4.5 is on the Server. Because v4.5 is in place replace to v4.0, if you look at c:\windows\Microsoft.NET\Framework, you will not see v4.5 folder. Actually there is a simple way to see the version installed in the machine. Under Windows Server 2008 or Windows 7, just go to control panel -> Programs and Features, you will find "Microsoft .NET Framework 4.5" if it is installed.

    How do I get monitor resolution in Python?

    In Windows, you can also use ctypes with GetSystemMetrics():

    import ctypes
    user32 = ctypes.windll.user32
    screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
    

    so that you don't need to install the pywin32 package; it doesn't need anything that doesn't come with Python itself.

    For multi-monitor setups, you can retrieve the combined width and height of the virtual monitor:

    import ctypes
    user32 = ctypes.windll.user32
    screensize = user32.GetSystemMetrics(78), user32.GetSystemMetrics(79)
    

    How to do what head, tail, more, less, sed do in Powershell?

    If you need to query large (or small) log files on Windows, the best tool I have found is Microsoft's free Log Parser 2.2. You can call it from PowerShell if you want and it will do all the heavy lifting for you, and very fast too.

    ActiveRecord: size vs count

    tl;dr

    • If you know you won't be needing the data use count.
    • If you know you will use or have used the data use length.
    • If you don't know what you are doing, use size...

    count

    Resolves to sending a Select count(*)... query to the DB. The way to go if you don't need the data, but just the count.

    Example: count of new messages, total elements when only a page is going to be displayed, etc.

    length

    Loads the required data, i.e. the query as required, and then just counts it. The way to go if you are using the data.

    Example: Summary of a fully loaded table, titles of displayed data, etc.

    size

    It checks if the data was loaded (i.e. already in rails) if so, then just count it, otherwise it calls count. (plus the pitfalls, already mentioned in other entries).

    def size
      loaded? ? @records.length : count(:all)
    end
    

    What's the problem?

    That you might be hitting the DB twice if you don't do it in the right order (e.g. if you render the number of elements in a table on top of the rendered table, there will be effectively 2 calls sent to the DB).

    Can I grep only the first n lines of a file?

    grep "pattern" <(head -n 10 filename)
    

    Replace new line/return with space using regex

    You May use first split and rejoin it using white space. it will work sure.

    String[] Larray = L.split("[\\n]+");
    L = "";
    for(int i = 0; i<Larray.lengh; i++){
       L = L+" "+Larray[i];  
    }
    

    Select method in List<t> Collection

    I have used a script but to make a join, maybe I can help you

    string Email = String.Join(", ", Emails.Where(i => i.Email != "").Select(i => i.Email).Distinct());